Operating Systems

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Operating Systems as PDF for free.

More details

  • Words: 21,138
  • Pages: 68
ÊåöÜëáéï

7

Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí KÔé åßíáé ôï Ëåéôïõñãéêü Óýóôçìá (ËÓ) KÇ ÄïìÞ êáé ç éåñáñ÷ßá ôïõ ËÓ KÊáôçãïñßåò ËÓ K¢ëëá ËåéôïõñãéêÜ ÓõóôÞìáôá KÓýãêñéóç åðßäïóçò ËÓ

178

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÅéóáãùãÞ

ÊÜèå óýóôçìá õðïëïãéóôÞ ðåñéëáìâÜíåé õëéêü (hardware) êáé ëïãéóìéêü (software). Ôï ëïãéóìéêü äéáêñßíåôáé óå ëïãéóìéêü ôïõ óõóôÞìáôïò (system software) êáé óå ëïãéóìéêü åöáñìïãþí (applications software). Ôï Ëåéôïõñãéêü Óýóôçìá (ËÓ) åßíáé ôï ðéï óçìáíôéêü ôìÞìá ôïõ ëïãéóìéêïý óõóôÞìáôïò êáé óõíïäåýåé êÜèå óýã÷ñïíï óýóôçìá õðïëïãéóôÞ. Ôï ËÓ ëåéôïõñãåß óáí óýíäåóìïò áíÜìåóá óôï ÷ñÞóôç êáé óôï õëéêü êáé ðáñÝ÷åé ôï ðåñéâÜëëïí óôï ïðïßï ï ÷ñÞóôçò ìðïñåß íá áíáðôýîåé êáé íá åêôåëÝóåé ôá ðñïãñÜììáôÜ ôïõ. Ãéá ôçí êáôáíüçóç ôçò Ýííïéáò ôùí ËÓ èá ðáñáôåèïýí ôá äéÜöïñá åßäç ëåéôïõñãéêþí óõóôçìÜôùí áðü ôçí áñ÷éêÞ ìïñöÞ ôïõò ìÝ÷ñé ôç óçìåñéíÞ. Ôá åßäç áõôÜ áðïôåëïýí ôáõôü÷ñïíá êáé óôÜäéá åîÝëéîçò ôùí ËÓ, üðïõ äéáêñßíåôáé ç åíóùìÜôùóç íÝùí ÷áñáêôçñéóôéêþí ãéá ôçí áíôéìåôþðéóç ðñïâëçìÜôùí ôïõ õëéêïý êáé ôç âåëôßùóç ôçò áðüäïóçò. Äéäáêôéêïß óôü÷ïé

Ìå ôçí ïëïêëÞñùóç ôïõ Êåöáëáßïõ áõôïý èá ìðïñåßôå: J Íá ïñßæåôå ôï ËÓ êáé íá ðåñéãñÜöåôå ôïõò âáóéêïýò óêïðïýò ôïõ. J Íá ãíùñßæåôå ôï åðßðåäï éåñáñ÷ßáò ôïõ ËÓ óå Ýíá óýã÷ñïíï Óýóôçìá Ç/Õ êáé íá ðåñéãñÜöåôå ôç âáóéêÞ äïìÞ åíüò ôõðéêïý ËÓ. J Íá áíáöÝñåôå êáé íá ðåñéãñÜöåôå ôéò êõñéüôåñåò êáôçãïñßåò ËÓ. ÐñïåñùôÞóåéò

Óôï êåöÜëáéï áõôü áðáíôþíôáé åñùôÞìáôá üðùò: ü Ðïéá ÷áñáêôçñéóôéêÜ öáßíåôáé íá Ý÷åé áðü ôçí ðëåõñÜ ôïõ áðëïý ÷ñÞóôç Ýíá ËÓ; ü Ðïéá åßíáé ôá åðßðåäá éåñáñ÷ßáò åíüò ËÓ; ü Ðïéåò åßíáé ïé óçìáíôéêüôåñåò êáôçãïñßåò ËÓ êáé ðïéá ôá ðñïóäéïñéóôéêÜ ÷áñáêôçñéóôéêÜ ôïõò;

Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí

179

7.1 Ôé åßíáé ôï Ëåéôïõñãéêü Óýóôçìá Óå êÜèå óýóôçìá õðïëïãéóôÞ äéáêñßíïõìå äýï ìÝñç, ôï õëéêü Þ ìç÷áíéêü ìÝñïò (hardware) êáé ôï ëïãéóìéêü (software). ÓÕÓÔÇÌÁ ÕÐÏËÏÃÉÓÔÇ ÕËÉÊÏ

ËÏÃÉÓÌÉÊÏ

Ëïãéóìéêü óõóôÞìáôïò

Ëïãéóìéêü åöáñìïãþí

Ó÷Þìá 7.1 Óõíéóôþóåò ÓõóôÞìáôïò ÕðïëïãéóôÞ

Ôï õëéêü áðïôåëåßôáé áðü üëåò ôéò óõóêåõÝò ôïõ õðïëïãéóôÞ (ÊÌÅ, ìíÞìç, äßóêïé, åêôõðùôÝò ê.ëð.) ðïõ ìåëåôÞèçêáí óôá ðñïçãïýìåíá êåöÜëáéá ôïõ âéâëßïõ. Ôï ëïãéóìéêü äéáêñßíåôáé óå ëïãéóìéêü óõóôÞìáôïò (system software) êáé óå ëïãéóìéêü åöáñìïãþí (aplications software). Ôï ëïãéóìéêü óõóôÞìáôïò áó÷ïëåßôáé ìå ôç äéá÷åßñéóç ôïõ õðïëïãéóôÞ, åíþ ôï ëïãéóìéêü åöáñìïãþí åðéëýåé ðñïâëÞìáôá ôùí ÷ñçóôþí. Ôï ðéï óçìáíôéêü ôìÞìá ôïõ ëïãéóìéêïý óõóôÞìáôïò åßíáé ôï Ëåéôïõñãéêü óýóôçìá (ËÓ) êáé óõíïäåýåé êÜèå óýã÷ñïíï óýóôçìá õðïëïãéóôÞ (Computer System).

Ôï ëåéôïõñãéêü óýóôçìá Ôï ëåéôïõñãéêü óýóôçìá (ËÓ) (Operating System -OS) åßíáé Ýíá ïëïêëçñùìÝíï óýíïëï ðñïãñáììÜôùí ðïõ ÷ñçóéìïðïéåßôáé ãéá ôç äéá÷åßñéóç ôùí ðüñùí (ÊÌÅ, ìíÞìç, äßóêïé, óõóêåõÝò åéóüäïõ - åîüäïõ ê.ëð.) ôïõ õðïëïãéóôÞ êáèþò åðßóçò êáé ãéá ôç äçìéïõñãßá åíüò ðåñéâÜëëïíôïò åðéêïéíùíßáò ôïõ ÷ñÞóôç ìå ôïí õðïëïãéóôÞ. ¸íá ËÓ Ý÷åé äýï âáóéêïýò óêïðïýò: Ï ðñþôïò âáóéêüò óêïðüò åíüò ëåéôïõñãéêïý óõóôÞìáôïò åßíáé ç äéåõêüëõíóç ôïõ ÷ñÞóôç óôçí åðéêïéíùíßá ôïõ ìå ôïí õðïëïãéóôÞ. Ç äéåõêüëõíóç áõôÞ åðéôõã÷Üíåôáé ìå ôç äçìéïõñãßá åíüò ðåñéâÜëëïíôïò åðéêïéíùíßáò (åíüò öëïéïý -shell). Ôï ðåñéâÜëëïí áõôü ìåóïëáâåß áíÜìåóá óôï ÷ñÞóôç êáé ôïí õðïëïãéóôÞ êáé áðáëëÜóóåé ôïí ðñþôï áðü ôçí áíÜãêç íá ãíùñßæåé ìå ëåðôïìÝñåéá ôï õëéêü ðïõ äéáèÝôåé ï äåýôåñïò. Ï ÷ñÞóôçò, ìå ôéò åíôïëÝò ôïõ êáé ôá ðñïãñÜììáôá åöáñìïãþí ðïõ ÷ñçóéìïðïéåß, åðéêåíôñþíåôáé óå áõôü ðïõ ðñÝðåé íá ãßíåé, ãéá íá ëýóåé Ýíá ðñüâëçìÜ ôïõ. Óôç óõíÝ÷åéá ôï ËÓ áíáëáìâÜíåé íá õðáãïñåýóåé óôï õëéêü ôïõ õðïëïãéóôÞ ôéò åíÝñãåéåò ðïõ èá ðñÝðåé íá ãßíïõí ãéá ôç ëýóç ôïõ ðñïâëÞìáôïò. (Ó÷Þìá 7.2) Ãéá ðáñÜäåéãìá, ï ÷ñÞóôçò äßíåé ìéá åíôïëÞ ãéá ôçí áíôéãñáöÞ åíüò áñ÷åßïõ áðü ôï óêëçñü äßóêï óôç äéóêÝôá. Ôï ËÓ áíáãíùñßæåé ôçí åíôïëÞ ôïõ ÷ñÞóôç, áíáæçôÜ ôï áñ÷åßï óôï äßóêï, åíôïðßæåé ôç èÝóç ôïõ, åëÝã÷åé áí õðÜñ÷åé äéóêÝôá êáé áí áõôÞ Ý÷åé åëåýèåñï ÷þñï êáé áñ÷ßæåé ôç ìåôáöïñÜ ôïõ áñ÷åßïõ åíüôçôá - åíüôçôá áðü ôï äßóêï ðñïò ôç äéóêÝôá.

Ó÷Þìá 7.2 Åðßðåäá åíüò óõóôÞìáôïò õðïëïãéóôÞ

180

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Óôéò ðñþôåò ãåíéÝò ôùí õðïëïãéóôþí, ï ÷ñÞóôçò Þôáí áíáãêáóìÝíïò íá ãñÜøåé ï ßäéïò -êáé ìÜëéóôá óå ãëþóóá ìç÷áíÞò- üëåò ôéò áðáéôïýìåíåò ñïõôßíåò åîõðçñÝôçóçò êÜèå ëåéôïõñãßáò ôïõ õðïëïãéóôÞ ãéá ôçí åðßëõóç åíüò ðñïâëÞìáôïò. Ï äåýôåñïò óêïðüò åíüò ëåéôïõñãéêïý óõóôÞìáôïò åßíáé ç áîéüðéóôç êáé ç áðïäïôéêÞ ëåéôïõñãßá ôïõ óõóôÞìáôïò ôïõ õðïëïãéóôÞ. ¸íá óýóôçìá õðïëïãéóôÞ Ý÷åé ðïëëïýò õëéêïýò ðüñïõò (ÊÌÅ, ÌíÞìç, Äßóêïõò, åêôõðùôÝò). ÅðåéäÞ ìðïñåß íá õðÜñîïõí ðñïãñÜììáôá ôá ïðïßá æçôïýí ôçí ßäéá ÷ñïíéêÞ ðåñßïäï ôç ÷ñÞóç ôùí ßäéùí ðüñùí, ôï ËÓ áíáëáìâÜíåé ôç äéáíïìÞ áõôþí ôùí ðüñùí óôá ðñïãñÜììáôá, Ýôóé þóôå íá åðéôõã÷Üíåôáé ç êáëýôåñç áîéïðïßçóÞ ôïõò. Åðßóçò ôï ËÓ åëÝã÷åé ôçí åêôÝëåóç (execution) ôùí ðñïãñáììÜôùí ôùí ÷ñçóôþí áðïôñÝðïíôáò ëÜèç êáé áêáôÜëëçëç ÷ñÞóç ôïõ Ç/Õ.

Óå Ýíá ËÓ ç åõêïëßá óôç ÷ñÞóç êáé ç áðïäïôéêüôçôá åßíáé ìåñéêÝò öïñÝò áëëçëïóõãêñïõüìåíïé óôü÷ïé.

Ôá ËÓ êáôáóêåõÜæïíôáé åßôå áðü ôïí êáôáóêåõáóôÞ ôïõ õðïëïãéóôÞ (áõôü óõìâáßíåé óõíÞèùò óå ìåãÜëá óõóôÞìáôá Ç/Õ) åßôå áðü áíåîÜñôçôïõò êáôáóêåõáóôÝò ëïãéóìéêïý. Ôï ëåéôïõñãéêü óýóôçìá áðïèçêåýåôáé óôï óêëçñü äßóêï ôïõ õðïëïãéóôÞ êáé ãéá íá åêôåëåóôåß -üðùò üëá ôá ðñïãñÜììáôá- èá ðñÝðåé íá öïñôùèåß óôçí êýñéá ìíÞìç. Ìå ôçí åêêßíçóç ôïõ õðïëïãéóôÞ öïñôþíåôáé óôç ìíÞìç, óýìöùíá ìå ôéò åíôïëÝò åíüò åéäéêïý ðñïãñÜììáôïò ðïõ âñßóêåôáé óå ìíÞìç ROM, óõíÞèùò ìüíï Ýíá ôìÞìá ôïõ ëåéôïõñãéêïý óõóôÞìáôïò. Ôï âáóéêü áõôü ôìÞìá ðáñáìÝíåé óôç ìíÞìç êáé åêôåëåßôáé óõíÝ÷åéá, êáèüëç ôç äéÜñêåéá ðïõ ï õðïëïãéóôÞò åßíáé óå ëåéôïõñãßá. Ôï ôìÞìá áõôü äçìéïõñãåß ôï ðåñéâÜëëïí åðéêïéíùíßáò ôïõ ÷ñÞóôç êáé áíáëáìâÜíåé íá öïñôþóåé óôçí êýñéá ìíÞìç êáé ôá Üëëá ðñïãñÜììáôá ôïõ ËÓ áíÜëïãá ìå ôéò åíÝñãåéåò êáé ôéò áíÜãêåò ôïõ ÷ñÞóôç. Ôá ËÓ ðáëáéüôåñá Þôáí ãñáììÝíá, óõíÞèùò óå óõìâïëéêÞ ãëþóóá (assembly) ãéá ëüãïõò ðïõ ó÷åôßæïíôáé ìå ôïí êáëýôåñï Ýëåã÷ï ôïõ õëéêïý êáé ôçí ôá÷ýôçôá åêôÝëåóçò. Ôá óýã÷ñïíá ËÓ óõíÞèùò áêïëïõèïýí ìéá ìéêôÞ ôå÷íéêÞ. Ôï ìåãáëýôåñï ôìÞìá ôïõò (ãéá ëüãïõò åõêïëßáò) åßíáé ãñáììÝíï óå êÜðïéá ãëþóóá õøçëïý åðéðÝäïõ, üðùò ç C, áëëÜ åîáêïëïõèïýí íá äéáôçñïýí ïñéóìÝíá ôìÞìáôá ôïõò óå óõìâïëéêÞ ãëþóóá.

Êýñéåò åñãáóßåò åíüò óýã÷ñïíïõ ëåéôïõñãéêïý óõóôÞìáôïò Ïé êýñéåò åñãáóßåò åíüò óýã÷ñïíïõ ëåéôïõñãéêïý óõóôÞìáôïò ðåñéëçðôéêÜ åßíáé: 1. Äéá÷åßñéóç äéåñãáóéþí (×ñïíïðñïãñáììáôéóôÞò-Scheduler) Äçìéïõñãßá êáé äéáãñáöÞ ôùí äéåñãáóéþí ôùí ÷ñçóôþí êáé ôïõ óõóôÞìáôïò ×ñïíïðñïãñáììáôéóìüò ôùí äéåñãáóéþí ÄéáôÞñçóç éóôïñéêïý ãéá ôçí êáôÜóôáóç ôùí äéåñãáóéþí ÅðéôñÝðåé ôçí åóùôåñéêÞ åðéêïéíùíßá ôùí äéåñãáóéþí 2. Äéá÷åßñéóç ìíÞìçò Åê÷þñçóç ìíÞìçò Ðñïóôáóßá ôïõ ÷þñïõ ìíÞìçò ôùí ðñïãñáììÜôùí Óåëéäïðïßçóç (Paging)

Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí

181

ÁíôáëëáãÞ (Swapping) ÉäåáôÞ ìíÞìç 3. Äéá÷åßñéóç áñ÷åßùí Äéá÷åßñéóç ÷þñïõ äßóêïõ ÓõíôÞñçóç äïìÞò êáôáëüãùí (directory) ÁóöÜëåéá áñ÷åßùí ¸ëåã÷ïò ðñïóâÜóåùí áíÜãíùóçò êáé åããñáöÞò 4. Äéá÷åßñéóç óõóêåõþí Åßóïäïõ/Åîüäïõ Ïäçãïß óõóêåõþí Óêëçñïß äßóêïé ÔåñìáôéêÜ

7.2 Ç ÄïìÞ êáé ç Éåñáñ÷ßá ôïõ ËÓ ¸íá ËÓ áðïôåëåßôáé áðü ôá ðáñáêÜôù ôìÞìáôá: á) Ôïí ÐõñÞíá (Kernel). Åßíáé ôï êõñéüôåñï ôìÞìá åíüò ËÓ. Ôï ôìÞìá áõôü öïñôþíåôáé ðñþôï óôçí êýñéá ìíÞìç êáé åêôåëåßôáé óõíÝ÷åéá êáè’ üëç ôç äéÜñêåéá ëåéôïõñãßáò ôïõ õðïëïãéóôÞ. Ôá ðñïãñÜììáôá åöáñìïãþí åðéêïéíùíïýí ìå áõôüí ìÝóá áðü Ýíá êáèïñéóìÝíï óýíïëï êëÞóåùí. Ï ðõñÞíáò åßíáé ï êýñéïò õðåýèõíïò ãéá ôç óõíåñãáóßá ôïõ ëïãéóìéêïý ìå ôï õëéêü ôïõ õðïëïãéóôÞ. â) Ôï Óýóôçìá Áñ÷åßùí (File System). Åßíáé ôï ôìÞìá ôïõ ËÓ ôï ïðïßï äéá÷åéñßæåôáé ôá áñ÷åßá (ïíïìáôïäïóßá, êáôá÷þñéóç, áíÜêôçóç ê.ëð.) êáé öñïíôßæåé åðßóçò ãéá ôç äéÜèåóÞ ôïõò óôïõò ÷ñÞóôåò. ã) Ôï ÄéåñìçíåõôÞ Åíôïëþí (Command Interpreter) Þ Öëïéü (Shell). Åßíáé ôï ôìÞìá ðïõ áíáëáìâÜíåé íá äÝ÷åôáé êáé íá äßíåé óôï óýóôçìá ôïõ õðïëïãéóôÞ ôéò áðáéôÞóåéò (åíôïëÝò) ôïõ ÷ñÞóôç, êáèþò åðßóçò êáé íá ìåôáöÝñåé óôï ÷ñÞóôç ìçíýìáôá áðü ôï óýóôçìá. Ôï ôìÞìá áõôü äçìéïõñãåß ôï ðåñéâÜëëïí åðéêïéíùíßáò ÷ñÞóôç - õðïëïãéóôÞ. Ôá ËÓ áíÜëïãá ìå ôç öéëïóïößá êáôáóêåõÞò ôïõò, áêïëïõèïýí êÜðïéá äïìÞ. Äýï áðü ôéò êõñéüôåñåò äïìÝò ôùí ËÓ åßíáé ç ÌïíïëéèéêÞ êáé ç ÓôñùìáôïðïéçìÝíç.

ÌïíïëéèéêÞ äïìÞ ËÓ Ôá ðñþôá ëåéôïõñãéêÜ óõóôÞìáôá áêïëïõèïýóáí ôç ìïíïëéèéêÞ äïìÞ (Monolithic Structure). ÁõôÜ ôá ËÓ åß÷áí õëïðïéçèåß ìå Ýíá óýíïëï ðñïãñáììÜôùí-äéáäéêáóéþí, ïé ïðïßåò åðéêïéíùíïýóáí ìåôáîý ôïõò äéåêðåñáéþíùíôáò üëåò ôéò ëåéôïõñãßåò ôïõ. Ç äïìÞ áõôÞ óÞìåñá èåùñåßôáé îåðåñáóìÝíç êáé äå ÷ñçóéìïðïéåßôáé.

Ôá óýã÷ñïíá ËÓ Ý÷ïõí áöáéñÝóåé ëåéôïõñãßåò åëÝã÷ïõ óõóêåõþí áðï ôïí ðõñÞíá Ýôóé þóôå áõôüò íá Ý÷åé ìéêñü ìÝãåèïò êáé íá åßíáé ðéï ãñÞãïñïò. Ï Ýëåã÷ïò ôùí óõóêåõþí Ý÷åé áíáôåèåß óå åéäéêÜ ðñïãñÜììáôá ðïõ ïíïìÜæïíôáé ïäçãïß óõóêåõþí.

182

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÓôñùìáôïðïéçìÝíç äïìÞ ËÓ Ôá óýã÷ñïíá ËÓ áêïëïõèïýí ôç óôñùìáôïðïéçìÝíç äïìÞ. Ç äïìÞ áõôÞ áðïôåëåßôáé áðü Ýíá óýíïëï åðéðÝäùí (layers) ôá ïðïßá áêïëïõèïýí ìéá éåñáñ÷ßá. ÊÜèå åðßðåäï åêôåëåß ìéá óõãêåêñéìÝíç åñãáóßá êáé åðéêïéíùíåß ìüíï ìå ôï áìÝóùò áíþôåñï Þ ôï êáôþôåñï åðßðåäï ôïõ. Ôá õøçëüôåñá åðßðåäá äåí áó÷ïëïýíôáé êáèüëïõ ìå ôïí ôñüðï ðïõ ôá êáôþôåñá åðßðåäá áóêïýí ôï Ýñãï ôïõò. Ôï áíþôáôï åðßðåäï ôçò éåñáñ÷ßáò åðéêïéíùíåß ìå ôïõò ÷ñÞóôåò, åíþ ôï êáôþôáôï ìå ôï õëéêü ôïõ õðïëïãéóôÞ. ¸ôóé, óôá êáôþôåñá åðßðåäá ãßíåôáé ç äéá÷åßñéóç ôçò ìíÞìçò êáé ôçò åðéêïéíùíßáò ìå ôéò ðåñéöåñåéáêÝò óõóêåõÝò ôïõ õðïëïãéóôÞ. Óôá áíþôåñá åðßðåäá ãßíåôáé ç äéá÷åßñéóç ôùí ðñïãñáììÜôùí åöáñìïãþí ðïõ åêôåëïýí ïé ÷ñÞóôåò. Ôá ðñïãñÜììáôá ôùí ÷ñçóôþí åðéêïéíùíïýí ìå ôï ËÓ ìÝóá áðü åéäéêÝò äéáäéêáóßåò ðïõ ïíïìÜæïíôáé êëÞóåéò óõóôÞìáôïò (systems calls). Óôç óõíÝ÷åéá ôá êáôþôåñá åðßðåäá áíáëáìâÜíïõí ôçí åîõðçñÝôçóç áõôþí ôùí êëÞóåùí.

Ó÷Þìá 7.3 ÓôñùìáôïðïéçìÝíç äïìÞ ËÓ

7.3 Êáôçãïñßåò Ëåéôïõñãéêþí ÓõóôçìÜôùí Ôá ëåéôïõñãéêÜ óõóôÞìáôá áêïëïýèçóáí ôçí ôå÷íïëïãéêÞ åîÝëéîç ôçò áñ÷éôåêôïíéêÞò ôùí õðïëïãéóôþí êáé áíáðôý÷èçêáí ðáñÜëëçëá ìå áõôïýò. Ïé êõñéüôåñåò êáôçãïñßåò ËÓ, óýìöùíá ìå ôç ÷ñïíïëïãéêÞ óåéñÜ ðïõ ðáñïõóéÜóôçêáí, åßíáé ïé ðáñáêÜôù.

7.3.1 ËåéôïõñãéêÜ ÓõóôÞìáôá ïìáäéêÞò åðåîåñãáóßáò (BatchSystems Processing) Óôá ðñþôá óõóôÞìáôá Ç/Õ ôç äåêáåôßá ôïõ 50 ïé õðïëïãéóôÝò Þôáí ìç÷áíÝò ôåñÜóôéåò óå üãêï ïé ïðïßåò åíåñãïðïéïýíôáí ìÝóù ìéáò óõóêåõÞò åëÝã÷ïõ (console).

183

Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí

Ïé ÷ñÞóôåò äåí åðéêïéíùíïýóáí áð’ åõèåßáò ìå ôïí õðïëïãéóôÞ, áëëÜ ìÝóù åíüò äéá÷åéñéóôÞ.Ïé ÷ñÞóôåò åôïßìáæáí ìéá åñãáóßá (job) ç ïðïßá áðïôåëïýíôáí áðü ôï ðñüãñáììá, ôá äåäïìÝíá ôïõ ðñïãñÜììáôïò êáé êÜðïéåò ðëçñïöïñßåò åëÝã÷ïõ êáé ôçí ðáñÝäéäáí óôïí õðåýèõíï ôïõ óõóôÞìáôïò õðïëïãéóôÞ. Ç åñãáóßá óõíÞèùò Þôáí êùäéêïðïéçìÝíç óå ìïñöÞ äéÜôñçôùí êáñôþí. Ï õðåýèõíïò ôïõ óõóôÞìáôïò õðïëïãéóôÞ ïìáäïðïéïýóå ôéò åñãáóßåò ôùí ÷ñçóôþí, ó÷çìÜôéæå ìéá óåéñÜ áðü ðáñüìïéåò åñãáóßåò êáé ôñïöïäïôïýóå ôïí õðïëïãéóôÞ. Ï õðïëïãéóôÞò åðåîåñãáæüôáí ôéò åñãáóßåò áõôÝò ìå ôç óåéñÜ ôñïöïäïóßáò ôïõò êáé Ýãñáöå ôá áðïôåëÝóìáôá óå ìáãíçôéêÝò ôáéíßåò åßôå ôá ôýðùíå óå ÷áñôß. Óôç óõíÝ÷åéá, ôá áðïôåëÝóìáôá åðÝóôñåöáí óôïõò ÷ñÞóôåò, ãéá íá ôá áîéïëïãÞóïõí. Ôï óçìáíôéêüôåñï ÷áñáêôçñéóôéêü ôùí óõóôçìÜôùí ÏìáäéêÞò Åðåîåñãáóßáò åßíáé üôé äåí õðÞñ÷å áëëçëåðßäñáóç ìåôáîý ôïõ ÷ñÞóôç êáé ôçò åñãáóßáò, åíù ç åñãáóßá âñéóêüôáí óå åêôÝëåóç. Ç åñãáóßá ðñïåôïéìÜæåôáé êáé õðïâÜëëåôáé, åíþ ôï áðïôÝëåóìá åìöáíßæåôáé ìåôÜ ôç ìåóïëÜâçóç êÜðïéïõ ÷ñïíéêïý äéáóôÞìáôïò (þñåò Þ êáé çìÝñåò). Ôï ÷ñïíéêü äéÜóôçìá ìåôáîý ôçò õðïâïëÞò ôçò åñãáóßáò êáé ôçò ïëïêëÞñùóçò ôçò ïíïìÜæåôáé ÷ñüíïò ðåñÜôùóçò Þ áíáêýêëùóçò (turnaround time). Ôá êýñéá ìåéïíåêôÞìáôá áõôïý ôïõ ËÓ Þôáí: • ÕðÞñ÷å õðïáðáó÷üëçóç ôùí óõóêåõþí êáé êõñßùò ôçò ÊÌÅ. ¸íá ëåéôïõñãéêü óýóôçìá ïìáäéêÞò åðåîåñãáóßáò ìðïñïýóå íá åêôåëÝóåé ìüíï ìßá åñãáóßá (ðñüãñáììá) êÜèå öïñÜ. ¼ôáí îåêéíïýóå ôçí åêôÝëåóç ìéáò åñãáóßáò, Ýðñåðå ðñþôá íá ôåëåéþóåé áõôÞ, ãéá íá îåêéíÞóåé ç åêôÝëåóç ôçò åðüìåíçò. ÅðåéäÞ ìéá åñãáóßá äåí ìðïñåß íá áðáó÷ïëåß ôáõôü÷ñïíá üëåò ôéò óõóêåõÝò, ôï áðïôÝëåóìá Þôáí ç õðïáðáó÷üëçóç ôùí óõóêåõþí. Ãéá ðáñÜäåéãìá, ç ÊÌÅ ðåñßìåíå Üðñáêôç, ìÝ÷ñé íá ôåëåéþóåé ç åêôýðùóç ôùí áðïôåëåóìÜôùí. • Ï ÷ñüíïò ðåñÜôùóçò Þôáí ìåãÜëïò. Ãéá íá ïëïêëçñùèåß ìéá åñãáóßá, áíåîÜñôçôá áí Þôáí ìéêñÞ Þ ìåãÜëç, èá Ýðñåðå íá ðåñéìÝíåé íá ôåëåéþóïõí üëåò ïé åñãáóßåò ðïõ Þôáí ìðñïóôÜ áðü áõôÞí. Åðßóçò, óõ÷íÜ ôá áðïôåëÝóìáôá Þôáí äéáèÝóéìá óôïõò ÷ñÞóôåò, ìüíï üôáí åß÷å ïëïêëçñùèåß ç åêôÝëåóç üëçò ôçò ïìÜäáò ôùí åñãáóéþí. Ôï áðïôÝëåóìá Þôáí ï ìåãÜëïò ÷ñüíïò ðåñÜôùóçò êÜèå åñãáóßáò. Ôï ðëåïíÝêôçìá áõôïý ôïõ ËÓ Þôáí ç áðëüôçôÜ ôïõ. Óå êÜèå ÷ñïíéêÞ óôéãìÞ ìüíï ìßá åñãáóßá õðÞñ÷å óôç ìíÞìç ôïõ õðïëïãéóôÞ êáé ç êýñéá áðïóôïëÞ ôïõ ËÓ Þôáí íá ìåôáöÝñåé ôïí Ýëåã÷ï áðü ôç ìéá åñãáóßá óôçí åðüìåíç. Áí êáé áõôü ôï ËÓ åßíáé áñêåôÜ ðáëéü, ïõñÝò áðü åñãáóßåò ÷ñçóéìïðïéïýíôáé áêüìá êáé óÞìåñá. Ãéá ðáñÜäåéãìá, óôéò åêôõðþóåéò åããñÜöùí. Óå Ýíá óýã÷ñïíï ËÓ Ýíáò ÷ñÞóôçò ìðïñåß íá æçôÞóåé ìéá åêôýðùóç ôáõôü÷ñïíá (Þ ó÷åäüí ôáõôü÷ñïíá) ìå ðïëëïýò Üëëïõò ÷ñÞóôåò. Ïé áéôÞóåéò ôùí ÷ñçóôþí ãéá åêôõðþóåéò ôïðïèåôïýíôáé óå ìéá óåéñÜ (ìéá ïõñÜ) áíÜëïãá ìå ôï ÷ñüíï ðïõ õðïâëÞèçêáí êáé åîõðçñåôïýíôáé ìå ôç óåéñÜ ðïõ Ý÷ïõí ôïðïèåôçèåß.

Ëåéôïõñãéêü Óýóôçìá

åñãáóßá ÷ñÞóôç

Ó÷Þìá 7.4 Ç êåíôñéêÞ (êýñéá) ìíÞìç óôá óõóôÞìáôá ïìáäéêÞò åðåîåñãáóßáò

184

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

7.3.2 ËåéôïõñãéêÜ ÓõóôÞìáôá ðïëõðñïãñáììáôéóìïý (Multiprogramming) Ë å éôï õ ñ ã éêü Óýóôçìá

Ðñüãñáììá 1 Ðñüãñáììá 2 Ðñüãñáììá 3

Ðñüãñáììá 4

Ðñüãñáììá 5

Ó÷Þìá 7.5 Ó÷çìáôéêÞ áíáðáñÜóôáóç ôçò êåíôñéêÞò ìíÞìçò óå Ýíá óýóôçìá ðïëõðñïãñáììáôéóìïý

Áõôü ôï ëåéôïõñãéêü óýóôçìá åðéôñÝðåé ôï äéá÷ùñéóìü ôçò êýñéáò ìíÞìçò óå ôìÞìáôá, óå êáèÝíá áðü ôá ïðïßá ìðïñåß íá ôïðïèåôçèåß Ýíá äéáöïñåôéêü ðñüãñáììá. Ôá ðñïãñÜììáôá áõôÜ ìðïñïýí íá åêôåëïýíôáé ôáõôü÷ñïíá, áñêåß ôï êáèÝíá áðü áõôÜ íá ÷ñçóéìïðïéåß ìßá äéáöïñåôéêÞ óõóêåõÞ ôïõ õðïëïãéóôÞ. Ãéá ðáñÜäåéãìá, Ýíá ðñüãñáììá åêôåëåß õðïëïãéóìïýò ìå ôçí ÊÌÅ, Ýíá äåýôåñï äéáâÜæåé äåäïìÝíá áðü ôï äßóêï, åíþ Ýíá ôñßôï ôõðþíåé óôïí åêôõðùôÞ. Ç åðéêïéíùíßá ôùí ðñïãñáììÜôùí ìå ôçí ÊÌÅ ãßíåôáé ìå ôçí áðïóôïëÞ åéäéêþí óçìÜôùí äéáêïðÞò (interrups). ¼ôáí Ýíá ðñüãñáììá, ðïõ åîõðçñåôåßôáé áðü ôçí ÊÌÅ, æçôÞóåé ìéá ëåéôïõñãßá åéóüäïõ/åîüäïõ (ð.÷ åêôýðùóç), ôüôå óôÝëíåé Ýíá êáôÜëëçëï óÞìá äéáêïðÞò óôçí ÊÌÅ. Ç ÊÌÅ äéáêüðôåé ôçí åîõðçñÝôçóç áõôïý ôïõ ðñïãñÜììáôïò êáé åîõðçñåôåß êÜðïéï Üëëï. Ôï êýñéï ðëåïíÝêôçìá áõôïý ôïõ ËÓ åßíáé ç ðáñÜëëçëç áîéïðïßçóç ôùí äéáöüñùí óõóêåõþí ôïõ õðïëïãéóôÞ. Ôï áðïôÝëåóìá åßíáé ç ìåßùóç ôïõ ÷ñüíïõ ðïõ áõôÝò ðáñáìÝíïõí áíåíåñãÝò êáé ç áýîçóç ôçò áðüäïóçò ôïõ óõóôÞìáôïò õðïëïãéóôÞ. Åðßóçò, õðÜñ÷åé ìåßùóç ôïõ ÷ñüíïõ áíáêýêëùóçò ôùí äéáöüñùí ðñïãñáììÜôùí, ãéáôß Ýíá ðñüãñáììá äåí ðåñéìÝíåé íá ôåëåéþóåé ôï ðñïçãïýìåíü ôïõ, áëëÜ ÷ñçóéìïðïéåß ðáñÜëëçëá ìå áõôü ôéò óõóêåõÝò ôïõ õðïëïãéóôÞ. Ôï ìåéïíÝêôçìá áõôïý ôïõ ËÓ åßíáé ç ðïëõðëïêüôçôÜ ôïõ. Ãéá ðáñÜäåéãìá, ðñÝðåé íá õðÜñ÷ïõí åéäéêÝò ôå÷íéêÝò ðñïóôáóßáò ôïõ ÷þñïõ êÜèå ðñïãñÜììáôïò áðü åðéäñÜóåéò ðïõ ìðïñïýí íá ðñïÝëèïõí áðü ôçí åêôÝëåóç åíüò Üëëïõ ðñïãñÜììáôïò.

7.3.3 ËåéôïõñãéêÜ ÓõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ (Time-Sharing) Ôá ëåéôïõñãéêÜ óõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ ÷ñçóéìïðïéïýí ìéá ôå÷íéêÞ ðáñüìïéá ìå áõôÞ ôïõ ðïëõðñïãñáììáôéóìïý. ¸ôóé êáé óå áõôü ôï ËÓ óôçí êýñéá ìíÞìç ôïõ õðïëïãéóôÞ õðÜñ÷åé Ýíá óýíïëï ðñïãñáììÜôùí ôá ïðïßá ðåñéìÝíïõí íá åîõðçñåôçèïýí áðü ôçí ÊÌÅ. ÅðéðëÝïí üìùò ôï ËÓ äéáèÝôåé Ýíáí ÷ñïíïäñïìïëïãçôÞ ï ïðïßïò ìå ôç âïÞèåéá åíüò åéäéêïý êõêëþìáôïò ðïõ ïíïìÜæåôáé ÷ñïíéóôÞò (timer), áíáëáìâÜíåé íá êáôáíåßìåé ôï ÷ñüíï ôçò ÊÌÅ óå üóá ðñïãñÜììáôá åßíáé Ýôïéìá ãéá åêôÝëåóç. ÄçëáäÞ ç ÊÌÅ åîõðçñåôåß äéáäï÷éêÜ üëá ôá ðñïãñÜììáôá äéáèÝôïíôáò óå êáèÝíá áðü áõôÜ Ýíá ïñéóìÝíï ðïóü ÷ñüíïõ. Áõôü ôï ÷ñïíéêü äéÜóôçìá ïíïìÜæåôáé êâÜíôï ÷ñüíïõ (time quantum) êáé óõíÞèùò åßíáé ìåñéêÜ äÝêáôá ôïõ äåõôåñïëÝðôïõ. ÐáñáóôáôéêÜ ç ëåéôïõñãßá áõôïý ôïõ ËÓ ãßíåôáé ùò åîÞò: Ç ÊÌÅ äéáôßèåôáé óôï ðñþôï ðñüãñáììá êáé áñ÷ßæåé ç åêôÝëåóÞ ôïõ. Ìüëéò ðåñÜóåé Ýíá ïñéóìÝíï ÷ñïíéêü äéÜóôçìá (ôï êâÜíôï ÷ñüíïõ) ï ÷ñïíéóôÞò ðáñÜãåé Ýíá óÞìá äéáêïðÞò, ç ÊÌÅ óôáìáôÜ ôçí åêôÝëåóç ôïõ ðñïãñÜììáôïò áõôïý êáé ï ÷ñïíïäñïìïëïãçôÞò áíáëáìâÜíåé ôç äéÜèåóÞ ôçò óôï åðüìåíï ðñüãñáììá. ÌÝóá óå Ýíá êáèïñéóìÝíï ÷ñïíéêü äéÜóôçìá ç ÊÌÅ èá Ý÷åé åîõðçñåôÞóåé üëá ôá ðñïãñÜììáôá êáé èá åðéóôñÝøåé óôï áñ÷éêü. Áõôü ôï ÷ñïíéêü äéÜóôçìá ïíïìÜæåôáé ðåñßïäïò êáé óõìâïëßæåôáé ìå ôï Ô.

Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí

185

Ç åêôÝëåóÞ ôïõ ðñþôïõ ðñïãñÜììáôïò èá óõíå÷éóôåß, üôáí ôåëåéþóåé ç äéáíïìÞ ÷ñüíïõ ðïõ äéáôßèåôáé óå üëá ôá õðüëïéðá ðñïãñÜììáôá. Ìå ôïí ôñüðï áõôüí åîõðçñåôïýíôáé üëá ôá ðñïãñÜììáôá. Áí êÜðïéï ðñüãñáììá äå æçôÜ åîõðçñÝôçóç áðü ôçí ÊÌÅ Þ ôåëåéþóåé ðñéí ôç ëÞîç ôïõ ÷ñüíïõ ðïõ ôïõ äéáôßèåôáé, ôüôå áñ÷ßæåé ç åîõðçñÝôçóç ôïõ åðüìåíïõ ðñïãñÜììáôïò. Ôá óõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ õëïðïéÞèçêáí ôç äåêáåôßá ôïõ 70 êáé åðÝôñåøáí ôç äéáëïãéêÞ ÷ñÞóç åíüò óõóôÞìáôïò õðïëïãéóôÞ áðü ðïëëïýò ÷ñÞóôåò. ÊÜèå ÷ñÞóôçò ìðïñåß íá Ý÷åé Ýíá ôåñìáôéêü (ïèüíç êáé ðëçêôñïëüãéï) óõíäåìÝíï ìå ôïí õðïëïãéóôÞ êáé íá åðéêïéíùíåß äéáëïãéêÜ ìå áõôüí. ÅðåéäÞ, ï ìåãáëýôåñïò ÷ñüíïò ôçò åðéêïéíùíßáò êáôáíáëþíåôáé óôçí ðëçêôñïëüãçóç êáé ôçí åìöÜíéóç áðïôåëåóìÜôùí óôçí ïèüíç (Åßóïäïò - ¸îïäïò) ç ÊÌÅ åíáëëÜóóåôáé ãñÞãïñá êáé åîõðçñåôåß ôïí êÜèå ÷ñÞóôç Ýôóé, þóôå êáèÝíáò áðü áõôïýò íá Ý÷åé ôçí åíôýðùóç üôé Ý÷åé óôç äéÜèåóÞ ôïõ ïëüêëçñï ôïí õðïëïãéóôÞ. Ôï êýñéï ðëåïíÝêôçìá áõôïý ôïõ ËÓ åßíáé ç åîáóöÜëéóç üôé êÜèå ðñüãñáììá èá åîõðçñåôçèåß ìÝóá óå Ýíá ëïãéêü ÷ñïíéêü äéÜóôçìá. Ôáõôü÷ñïíá äéáôçñåß ôá ðëåïíåêôÞìáôá ôïõ ðïëõðñïãñáììáôéóìïý, äçëáäÞ ôçí áýîçóç ôçò áðüäïóçò ëüãù ðáñÜëëçëçò ÷ñÞóçò ôùí óõóêåõþí êáé ôç ìåßùóç ôïõ ÷ñüíïõ ðåñÜôùóçò ôùí ðñïãñáììÜôùí. Ôï ìåéïíÝêôçìÜ ôïõ åßíáé ç áõîçìÝíç ðïëõðëïêüôçôÜ ôïõ. Ãéá ðáñÜäåéãìá, üôáí ç ÊÌÅ ìåôáâáßíåé áðü Ýíá ðñüãñáììá óå Ýíá Üëëï, èá ðñÝðåé, üôáí åðéóôñÝøåé óôï ðñþôï íá ìðïñåß íá óõíå÷ßóåé ôçí åðåîåñãáóßá ôïõ áðü ôï óçìåßï áêñéâþò ðïõ åß÷å óôáìáôÞóåé. Áõôü óõíåðÜãåôáé üôé ôï óýóôçìá èá ðñÝðåé íá áðïèçêåýåé ïñéóìÝíåò ðëçñïöïñßåò ãéá ôï ðñüãñáììá ðïõ åãêáôáëåßðåé, ãéá íá ìðïñåß, üôáí îáíáãõñßóåé óå áõôü, íá óõíå÷ßóåé ôçí åðåîåñãáóßá ôïõ.

7.4 ¢ëëá ËåéôïõñãéêÜ ÓõóôÞìáôá Ôá ôñßá ËÓ ðïõ áíáöÝñèçóáí áðïôÝëåóáí óôáèìïýò óôçí éóôïñßá ôùí ëåéôïõñãéêþí óõóôçìÜôùí. ¼ëá ôá ËÓ ðïõ áêïëïýèçóáí åêìåôáëëåýôçêáí ôá ÷áñáêôçñéóôéêÜ ôïõò êáé ôá ðëåïíåêôÞìáôá ðïõ ðñïóÝöåñáí. Åðßóçò, ç áíÜðôõîç ôçò ôå÷íïëïãßáò óå ôïìåßò üðùò ôá äßêôõá, ç ýðáñîç ðïëëþí åðåîåñãáóôþí óå Ýíá óýóôçìá ê.ëð. ïäÞãçóå óå íÝá åîåëéãìÝíá êáé ðïëýðëïêá ËÓ ôá ïðïßá åêìåôáëëåýïíôáé ôá íÝá ÷áñáêôçñéóôéêÜ ôïõ õëéêïý. ÏñéóìÝíá áðü ôá íåüôåñá ËÓ åßíáé:

ÓõóôÞìáôá ðïëõåðåîåñãáóßáò (Multiprocessor Systems) Ôá ËÓ ðïëõåðåîåñãáóßáò áðåõèýíïíôáé óå õðïëïãéóôÝò ðïõ äéáèÝôïõí ðåñéóóüôåñïõò áðü Ýíáí åðåîåñãáóôÝò. ÁõôÜ ôá ëåéôïõñãéêÜ óõóôÞìáôá ÷ñçóéìïðïéïýí ðïëõðñïãñáììáôéóìü êáé êáôáìåñéóìü ÷ñüíïõ, áëëÜ åðéðëÝïí Ý÷ïõí ôç äõíáôüôçôá êáôáíïìÞò ôïõ Ýñãïõ ôçò åðåîåñãáóßáò óôïõò äéáèÝóéìïõò åðåîåñãáóôÝò. Óå áõôÜ ôá ËÓ ãßíåôáé ðñáãìáôéêÞ ðáñÜëëçëç åðåîåñãáóßá ðñïãñáììÜôùí, áöïý, ãéá ðáñÜäåéãìá, êÜèå åðåîåñãáóôÞò ìðïñåß íá åîõðçñåôåß Ýíá äéáöïñåôéêü ðñüãñáììá.

ÓÞìåñá, ï êáôáìåñéóìüò ÷ñüíïõ ÷ñçóéìïðïéåßôáé êáé óå ðñïóùðéêïýò õðïëïãéóôÝò êáé óå óõóôÞìáôá ðïëëþí ÷ñçóôþí (multiuser)

186

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÓõóôÞìáôá äéêôýùí (Network Operating Systems) Ôá ËÓ äéêôýùí ÷ñçóéìïðïéïýíôáé óå äßêôõá ðñïóùðéêþí õðïëïãéóôþí. ÊÜèå õðïëïãéóôÞò ôñÝ÷åé ôï äéêü ôïõ ôïðéêü ËÓ, áëëÜ ïé ÷ñÞóôåò ãíùñßæïõí ôçí ýðáñîç ôùí Üëëùí õðïëïãéóôþí. Ôï ËÓ äéêôýïõ ðáñÝ÷åé óôïõò ÷ñÞóôåò ôç äõíáôüôçôá åðéêïéíùíßáò êáé ìåôáöïñÜò äåäïìÝíùí áðü õðïëïãéóôÞ óå õðïëïãéóôÞ.

KáôáíåìçìÝíá ÓõóôÞìáôá (Distributed Systems) Ôá êáôáíåìçìÝíá ËÓ áðåõèýíïíôáé óå äßêôõá õðïëïãéóôþí ðïõ åðéêïéíùíïýí ìå ãñáììÝò õøçëÞò ôá÷ýôçôáò. Ӓ Ýíá ôÝôïéï äßêôõï ïé õðïëïãéóôÝò ðïõ ôï áðïôåëïýí ìðïñïýí íá äéáöÝñïõí ïõóéáóôéêÜ ôüóï óôï ìÝãåèïò üóï êáé óôéò äõíáôüôçôåò, áëëÜ ïé ÷ñÞóôåò ôïõ äåí åßíáé áíáãêáßï íá ãíùñßæïõí ôçí êáôáíïìÞ ôïõ äéêôýïõ. ¸íá êáôáíåìçìÝíï ËÓ åìöáíßæåôáé óå êÜèå ÷ñÞóôç óáí Ýíá ðáñáäïóéáêü óýóôçìá åíüò åðåîåñãáóôÞ, áëëÜ ç åðåîåñãáóßá ôùí ðñïãñáììÜôùí êáé ç áðïèÞêåõóç ôùí áñ÷åßùí ìðïñåß íá ãßíåôáé óå ïðïéïäÞðïôå õðïëïãéóôÞ ôïõ äéêôýïõ (óå üðïéïí åßíáé äéáèÝóéìïò). Ôá ðñáãìáôéêÜ êáôáíåìçìÝíá ËÓ åßíáé ðïëý ðïëýðëïêá êáé äýóêïëá óôçí õëïðïßçóÞ ôïõò.

ÓõóôÞìáôá ðñáãìáôéêïý ÷ñüíïõ (Real-Time Systems) Ìéá Üëëç ìïñöÞ ËÓ åßíáé ôá óõóôÞìáôá ðñáãìáôéêïý ÷ñüíïõ (real-time Systems). Ôá ËÓ ðñáãìáôéêïý ÷ñüíïõ åßíáé åéäéêïý óêïðïý êáé ÷ñçóéìïðïéïýíôáé, üôáí õðÜñ÷ïõí áõóôçñÝò ÷ñïíéêÝò áðáéôÞóåéò ãéá ôçí ïëïêëÞñùóç ìéáò ëåéôïõñãßáò ôïõ õðïëïãéóôÞ. Ôá óõóôÞìáôá áõôÜ ÷ñçóéìïðïéïýíôáé óõ÷íÜ ãéá ôïí Ýëåã÷ï Üëëùí ìïíÜäùí, üðùò, ãéá ðáñÜäåéãìá, âéïìç÷áíéêþí ìïíÜäùí ðáñáãùãÞò. ¸íá ËÓ ðñáãìáôéêïý ÷ñüíïõ Ý÷åé óáöþò ïñéóìÝíïõò ÷ñïíéêïýò ðåñéïñéóìïýò. Óå Ýíá ôÝôïéï óýóôçìá åßíáé ïõóéáóôéêÞò óçìáóßáò ç åðåîåñãáóßá íá ãßíåé ìÝóá ó’ áõôïýò ôïõò ÷ñïíéêïýò ðåñéïñéóìïýò. ¸íá óýóôçìá ðñáãìáôéêïý ÷ñüíïõ èåùñåßôáé üôé ëåéôïõñãåß óùóôÜ, ìüíï üôáí åðéóôñÝöåé ôï óùóôü áðïôÝëåóìá ìÝóá óôïõò áõóôçñïýò ÷ñïíéêïýò ðåñéïñéóìïýò ðïõ Ý÷ïõí ðñïêáèïñéóôåß. Áõôü, óå áíôßèåóç ìå ôá óõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ, üðïõ ç ãñÞãïñç áðüêñéóç ôïõ óõóôÞìáôïò åßíáé áðëÜ åðéèõìçôÞ êáé ôá óõóôÞìáôá ïìáäéêÞò åðåîåñãáóßáò, üðïõ äåí õðÜñ÷ïõí êáèüëïõ ÷ñïíéêïß ðåñéïñéóìïß. ÉóôïñéêÜ ç åîÝëéîç ôùí ËÓ áêïëïýèçóå ôçí åîÝëéîç ôçò áñ÷éôåêôïíéêÞò ôùí õðïëïãéóôþí êáé ãéá ôï ëüãï áõôü ôá ËÓ ìðïñïýí íá êáôçãïñéïðïéçèïýí óå ãåíéÝò áíôßóôïé÷åò ìå ôéò ãåíéÝò ôùí õðïëïãéóôþí. 1ç ÃåíéÜ 1945-1955

Ïé õðïëïãéóôÝò ÷ñçóéìïðïéïýí äéáêüðôåò êáé ëõ÷íßåò êåíïý. Äåí õðÜñ÷åé ïõóéáóôéêÜ ËÓ

2ç ÃåíéÜ 1955-1965

Ïé õðïëïãéóôÝò ÷ñçóéìïðïéïýí ôñáíæßóôïñ. Åìöáíßæïíôáé ôá ËÓ ïìáäéêÞò åðåîåñãáóßáò.

3ç ÃåíéÜ 1965-1980

ËÓ Ðïëõðñïãñáììáôéóìïý êáé Êáôáìåñéóìïý ×ñüíïõ.

Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí

×ñÞóç éäåáôÞò (åéêïíéêÞò) ìíÞìçò. Ðïëõåðåîåñãáóßá. 4ç ÃåíéÜ áðü 1980 ìÝ÷ñé óÞìåñá

ÅìöÜíéóç ðñïóùðéêþí õðïëïãéóôþí êáé óôáèìþí åñãáóßáò (ËÓ MS-DOS, UNIX). ¾ðáñîç ðáñÜëëçëùí óõóôçìÜôùí, äéêôýùí õðïëïãéóôþí êáé êáôáíåìçìÝíùí óõóôçìÜôùí.

7.5 Óýãêñéóç åðßäïóçò ËÓ Ìå ôï ðáñÜäåéãìá ðïõ áêïëïõèåß èá öáíåß ìå ðáñáóôáôéêü ôñüðï ç ëåéôïõñãßá ôñéþí ËÓ (ÏìáäéêÞò Åðåîåñãáóßáò, Ðïëõðñïãñáììáôéóìïý êáé Êáôáìåñéóìïý ×ñüíïõ) êáèþò êáé ç äéáöïñÜ óôéò åðéäüóåéò ðïõ ðñïóöÝñïõí. Ãéá ôéò áíÜãêåò ôïõ ðáñáäåßãìáôïò èåùñïýìå üôé õðÜñ÷ïõí ôñßá Ýôïéìá ãéá åêôÝëåóç ðñïãñÜììáôá, ãéá ôá ïðïßá ãíùñßæïõìå ôéò áðáéôÞóåéò ôïõò óå ÷ñüíï åðåîåñãáóßáò (áðáó÷üëçóç ÊÌÅ), êáèþò êáé ôï ÷ñüíï ãéá ôéò ëåéôïõñãßåò åéóüäïõ åîüäïõ. Ôá ðñïãñÜììáôá Ý÷ïõí êáôÜ óåéñÜ ôéò ðáñáêÜôù áíÜãêåò (óå ÷ñïíéêÝò ìïíÜäåò). ÊÌÅ

Äßóêïò

ÅêôõðùôÞò

Óýíïëï

Ðñüãñ.1

3

2

2

7

Ðñüãñ.2

3

4

1

8

Ðñüãñ.3

2

2

3

7

Óýíïëï

8

8

6

22

Ìéá ðáñáóôáôéêÞ åêôÝëåóç ôùí ðñïãñáììÜôùí áõôþí óå Ýíá ËÓ ÏìáäéêÞò Åðåîåñãáóßáò åßíáé: ×ñüíïò 1 2 3 ÊÌÅ

4 5 6 7

1 1 1

Äßóêïò

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 2 2

1 1

ÅêôõðùôÞò

3 3 2 2 2 2

1 1

3 2

3 3 3 3

Ç åêôÝëåóç óå ËÓ Ðïëõðñïãñáììáôéóìïý ×ñüíïò ÊÌÅ Äßóêïò ÅêôõðùôÞò

1 2 3

4 5 6 7

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

1 1 1

2 2 2 3

3

1 1

2 2 2 3 3

2 1 1

2

3 3

3

187

188

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Ç åêôÝëåóç óå ËÓ Êáôáìåñéóìïý ×ñüíïõ ×ñüíïò ÊÌÅ

1 2 3

4 5 6 7

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

1 2 3

1 2 3 1

2

Äßóêïò

3

3 1 1 2 2 2

ÅêôõðùôÞò

3 3 3 1 1 2 Ôá áðïôåëÝóìáôá ôùí ôñéþí åêôåëÝóåùí óõíïøßæïíôáé óôïí ðßíáêá 7.1. Ðßíáêáò 7.1

Óõíïëéêüò áíåíåñãüò ÷ñüíïò 44

ÔÝëïò Ðñïãñ. 1

ÔÝëïò Ðñïãñ. 2

ÔÝëïò Ðñïãñ. 3

ÏìáäéêÞ Åðåîåñãáóßá

Óõíïëéêüò ÷ñüíïò åêôÝëåóçò 22

7

15

22

Ðïëõðñïãñáììáôéóìüò

15

23

7

11

15

Êáôáìåñéóìüò ×ñüíïõ

14

20

10

13

11

Ìðïñïýìå íá ðáñáôçñÞóïõìå üôé ï óõíïëéêüò ÷ñüíïò åêôÝëåóçò êáé ôùí ôñéþí ðñïãñáììÜôùí åßíáé áñêåôÜ ìéêñüôåñïò óôçí ðåñßðôùóç ôùí ËÓ ðïëõðñïãñáììáôéóìïý êáé êáôáìåñéóìÝíïõ ÷ñüíïõ áð´ ü,ôé óôçí ðåñßðôùóç åðåîåñãáóßáò êáôÜ äåóìßäåò.Ôï ßäéï óõìâáßíåé êáé ìå ôï ÷ñüíï ðïõ ïé ìïíÜäåò ÊÌÅ êáé Åéóüäïõ - Åîüäïõ Þôáí áíåíåñãÝò. Óõíåðþò, ôá óõóôÞìáôá áõôÜ ðñïóöÝñïõí ìéá ðïëý êáëýôåñç áîéïðïßçóç ôùí ìïíÜäùí ôïõ óõóôÞìáôïò ìå Üìåóç åðßðôùóç óôçí áðüäïóç ôïõ óõóôÞìáôïò. Ôï ðáñÜäåéãìá áõôÞò ôçò ðáñáãñÜöïõ åßíáé ðïëý áðëïðïéçìÝíï áöïý ç ðñáãìáôéêÞ óõìðåñéöïñÜ åíüò ðñïãñÜììáôïò åßíáé ðïëýðëïêç ìå óõíå÷åßò áíáöïñÝò óôçí ÊÌÅ êáé óå óõóêåõÝò Åéóüäïõ - Åîüäïõ. Óå ðñáãìáôéêÝò óõíèÞêåò Ý÷åé áðïäåé÷èåß üôé ôá óõóôÞìáôá Êáôáìåñéóìïý ×ñüíïõ Ý÷ïõí êáëýôåñç áðüäïóç áðü ôá Üëëá äýï. Åðßóçò, åßíáé êáé ðéï “äßêáéá”, äçëáäÞ áíôéìåôùðßæïõí ìå ôïí ßäéï ôñüðï üëá ôá ðñïãñÜììáôá åßôå åßíáé ìéêñÜ åßôå åßíáé ìåãÜëá. Ôï áðïôÝëåóìá åßíáé íá ôåñìáôßæïõí ðñþôá ôá ðñïãñÜììáôá ðïõ Ý÷ïõí ìéêñÝò áðáéôÞóåéò, åíþ ôá ìåãÜëá íá êáèõóôåñïýí. Ôá ðñïãñÜììáôá ðïõ Ý÷ïõí ðáñüìïéåò áðáéôÞóåéò ôåëåéþíïõí óôïí ßäéï ðåñßðïõ ÷ñüíï. Ôï ôåëåõôáßï öáéíüìåíï ìðïñåß íá ðáñáôçñçèåß êáé óôï ðáñÜäåéãìá ðïõ ÷ñçóéìïðïéÞèçêå. Óôçí ðåñßðôùóç ËÓ Êáôáìåñéóìïý ×ñüíïõ ç äéáöïñÜ ôåñìáôéóìïý ôùí ôñéþí ðñïãñáììÜôùí åßíáé ìüëéò 3 ÷ñïíéêÝò ìïíÜäåò êáé ðïëý ðéï ìéêñÞ áðü ôç äéáöïñÜ ðïõ ðáñïõóéÜæïõí ôá Üëëá äýï ËÓ.

Áíáêåöáëáßùóç Ôï ËÓ åßíáé Ýíá óýíïëï ðñïãñáììÜôùí ðïõ óêïðü Ý÷åé: á) ôç äéá÷åßñéóç ôùí ðüñùí ôïõ óõóôÞìáôïò ôïõ õðïëïãéóôÞ. â) ôç äçìéïõñãßá åíüò ðåñéâÜëëïíôïò åðéêïéíùíßáò ìå ôï ÷ñÞóôç êáé ôá ðñïãñÜììáôá ôïõ. ¸íá ËÓ áðïôåëåßôáé áðü ôñßá êýñéá ìÝñç ôïí ðõñÞíá, ôï óýóôçìá áñ÷åßùí, ôï öëïéü.

Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí

Ôá óýã÷ñïíá ËÓ áêïëïõèïýí ìéá óôñùìáôïðïéçìÝíç äïìÞ, üðïõ ôï êÜèå åðßðåäï åêôåëåß ìßá óõãêåêñéìÝíç åñãáóßá. Ïé ÷ñÞóôåò êáé ôá ðñïãñÜììáôÜ ôïõò åðéêïéíùíïýí ìüíï ìå ôá áíþôåñá åðßðåäá, åíþ ôá êáôþôåñá åðéêïéíùíïýí ìå ôï õëéêü. Ôá ËÓ áêïëïýèçóáí ôçí åîÝëéîç ôùí õðïëïãéóôþí êáé éóôïñéêÜ ôá êõñéüôåñá áðü áõôÜ åßíáé ôá ËÓ ÏìáäéêÞò Åðåîåñãáóßáò. Ðïëõðñïãñáììáôéóìïý êáé Êáôáìåñéóìïý ×ñüíïõ. Íåþôåñá ËÓ åßíáé ôá óõóôÞìáôá Ðïëõåðåîåñãáóßáò, Äéêôýùí, ÊáôáíåìçìÝíùí óõóôçìÜôùí êáé Ðñáãìáôéêïý ×ñüíïõ. Ôá ËÓ Êáôáìåñéóìïý ×ñüíïõ åðéôõã÷Üíïõí êáëýôåñç áðüäïóç óå ó÷Ýóç ìå ôá ËÓ ÏìáäéêÞò Åðåîåñãáóßáò êáé Ðïëõðñïãñáììáôéóìïý.

ÅñùôÞóåéò/Äñáóôçñéüôçôåò/ÈÝìáôá ãéá óõæÞôçóç 1. Ôé åßíáé Ýíá ËÓ; 2. Ðïéoé åßíáé ïé âáóéêïß óêïðïß åíüò Ëåéôïõñãéêïý ÓõóôÞìáôïò; 3. Óå Ýíá ðåñéâÜëëïí ðïëõðñïãñáììáôéóìïý êáé êáôáìåñéóìïý ÷ñüíïõ áñêåôïß ÷ñÞóôåò ìïéñÜæïíôáé ôï óýóôçìá ôáõôü÷ñïíá. Áõôü ìðïñåß íá Ý÷åé ùò áðïôÝëåóìá ðïëëÜ ðñïâëÞìáôá áóöÜëåéáò. ÁíáöÝñåôå äýï áðï áõôÜ. 4. Ðïéï åßíáé ôï óçìáíôéêüôåñï ðëåïíÝêôçìá ôïõ ðïëëõðñïãñáììáôéóìïý; 5. Äþóôå Ýíá ðëåïíÝêôçìá ôùí óõóôçìÜôùí ðïëõåðåîåñãáóßáò. 6. Ðïéá åßíáé ôá óçìáíôéêüôåñá ÷áñáêôçñéóôéêÜ ôùí ðáñáêÜôù ôýðùí ËÓ: á. Äåóìßäùí(Batch) - â. Êáôáìåñéóìïý ÷ñüíïõ (Time Sharing) - ã. Ðñáãìáôéêïý ÷ñüíïõ(Real Time) - ä. ÊáôáíåìçìÝíá(Distributed)

Âéâëéïãñáößá 1. Ì.Ð. ÌðåêÜêïò, ÅéóáãùãÞ óôçí ðëçñïöïñéêÞ, Åêäüóåéò Å. ÌðÝíïõ 1999 2. Á. Silberschatz - P. B. Calvin, Operating Systems Concepts, Addison-Wesley, 1998. 3. É. Ê. ÊÜâïõñá, ÓõóôÞìáôá Õðïëïãéóôþí ÉÉ, ËåéôïõñãéêÜ óõóôÞìáôá, ÊëåéäÜñéèìïò 1996 4. Á. S. Tanenbaum, Óýã÷ñïíá ËåéôïõñãéêÜ ÓõóôÞìáôá, Eêäüóåéò Ðáðáóùôçñßïõ, Ôüìïò Á êáé Â, 1993/1994. 5. Á. Ì. Lister - R. D. Eager, Fundamentals of Operating Systems, Macmillan Education LTD, 1988.

Äéåõèýíóåéò äéáäéêôýïõ http://phoenix.ucr.edu/mis/bsad170/Lectures/Lect8/sld008.htm Ï êüìâïò áõôüò ðñïóöÝñåé ìéá óåéñÜ áðü äåëôßá ó÷åôéêÜ ìå ôï ôé åßíáé Ýíá ëåéôïõñãéêü óýóôçìá êáèþò êáé ôéò ëåéôïõñãßåò ðïõ åðéôåëåß. http://www.cs.umsl.edu/~sanjiv/cs376/intro.html ÅéóáãùãÞ óôá ëåéôïõñãéêÜ óõóôÞìáôá.

189

190

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ËÝîåéò êëåéäéÜ Êáôáìåñéóìüò ÷ñüíïõ .................................................................... Time sharing ÊáôáíåìçìÝíá óõsôÞìáôá ................................................ Distributed Systems ÏìáäéêÞ åðåîåñãáóßá ............................................................ Batch Processing Ðïëõåðåîåñãáóßá ..................................................................... Multiprocessing Ðïëõðñïãñáììáôéóìüò ......................................................... Multiprogramming ÓõóôÞìáôá ðñáãìáôéêïý ÷ñüíïõ .......................................... Real time systems ×ñïíéóôÞò ................................................................................................. Timer

ÊåöÜëáéï

8

Äéåñãáóßåò u u u u u u u u

Ç Ýííïéá êáé ôï ìïíôÝëï ôçò äéåñãáóßáò ÊáôáóôÜóåéò êáé Êýêëïò ÆùÞò Äéåñãáóéþí ÓõíèÞêåò Áíôáãùíéóìïý êáé ÄéáäéåñãáóéáêÞ åðéêïéíùíßá Áìïéâáßïò Áðïêëåéóìüò êáé Êñßóéìá ÔìÞìáôá Äéåñãáóéþí Áðëïß Ìç÷áíéóìïß Áìïéâáßïõ Áðïêëåéóìïý Eíåñãüò ÁíáìïíÞ êáé Áðåíåñãïðïßçóç-Áöýðíéóç Óçìáôïöïñåßò ×ñïíïäñïìïëüãçóç ÅðåîåñãáóôÞ

192

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÅéóáãùãÞ

Óôï êåöÜëáéï áõôü èá áó÷ïëçèïýìå ìå ôï ìïíôÝëï ôùí äéåñãáóéþí ôï ïðïßï ìáò âïçèÜ óôçí êáôáíüçóç ôçò ëåéôïõñãßáò åíüò õðïëïãéóôéêïý óõóôÞìáôïò. Ôï ìïíôÝëï Ýììåóá ìáò âïçèÜ íá êáôáíïÞóïõìå êáé ó÷åäéáóôéêÜ èÝìáôá ðïõ áöïñïýí ôçí ÊÌÅ. Óôçí áñ÷Þ ôïõ êåöáëáßïõ èá ìåëåôÞóïõìå ôçí Ýííïéá êáé ôï ìïíôÝëï ôçò äéåñãáóßáò. Èá ãíùñßóïõìå âáóéêïýò ìç÷áíéóìïýò ðïõ óõíôåëïýí óôçí õëïðïßçóç êáé ôç äéá÷åßñéóç ôùí äéåñãáóéþí áðü ôï óýóôçìá êáé èá åîåôÜóïõìå ðñïâëÞìáôá ðïõ äçìéïõñãïýíôáé óå óõóôÞìáôá ðïõ õðïóôçñßæïõí ðïëëÝò ôáõôü÷ñïíåò äéåñãáóßåò. Óôç óõíÝ÷åéá èá ìåëåôÞóïõìå ìç÷áíéóìïýò ðïõ åããõþíôáé ôçí ïñèÞ ëåéôïõñãßá óõóôçìÜôùí ìå ðïëëÝò ôáõôü÷ñïíåò äéåñãáóßåò. Èá áó÷ïëçèïýìå ôüóï ìå áðëïýò, üóï êáé ìå ðéï óýíèåôïõò êáé éó÷õñïýò ìç÷áíéóìïýò åðéêïéíùíßáò, óõíåñãáóßáò êáé óõã÷ñïíéóìïý ôùí äéåñãáóéþí óå Ýíá óýóôçìá. ÔÝëïò, èá äïýìå ðþò ïé ìç÷áíéóìïß áõôïß äßíïõí åðáñêåßò ëýóåéò óå óõíçèéóìÝíá ðñïâëÞìáôá äéáäéåñãáóéáêÞò óõíåñãáóßáò. Óôï ôåëåõôáßï ìÝñïò ôïõ êåöáëáßïõ èá ìáò áðáó÷ïëÞóåé ï ôñüðïò ìå ôïí ïðïßï ðñáãìáôïðïéåßôáé ç ôáõôü÷ñïíç åîõðçñÝôçóç äéåñãáóéþí óå Ýíá óýóôçìá ðïëõðñïãñáììáôéóìïý. Èá ìåëåôÞóïõìå áëãüñéèìïõò ðïõ ïñßæïõí ôç äéáäï÷Þ ôùí äéåñãáóéþí óôçí ÊÌÅ êáé èá åîåôÜóïõìå ôéò ðáñáìÝôñïõò ôùí áëãüñéèìùí áõôþí ðïõ åðçñåÜæïõí ôçí áðüäïóç ôùí óõóôçìÜôùí. Äéäáêôéêïß óôü÷ïé

Ìå ôçí ïëïêëÞñùóç ôïõ êåöáëáßïõ, èá ìðïñåßôå íá ðåñéãñÜöåôå êáé íá áíáëýåôå: t ôçí Ýííïéá ôçò äéåñãáóßáò, t ôïí ôñüðï äçìéïõñãßáò êáé ôïí êýêëï æùÞò ôçò êáèþò êáé ôç âáóéêÞ äéá÷åßñéóç ôùí äéåñãáóéþí áðü ôï óýóôçìá t èá Ý÷åôå áöïìïéþóåé ôçí áíÜãêç ôçò äéáäéåñãáóéáêÞò åðéêïéíùíßáò. t èá ìðïñåßôå íá ðåñéãñÜøåôå ìå ôïõò êõñéüôåñïõò ìç÷áíéóìïýò áëëçëåðßäñáóçò, óõíåñãáóßáò êáé óõã÷ñïíéóìïý ôùí äéåñãáóéþí ïé ïðïßïé åîáóöáëßæïõí óôï óýóôçìá ôç äõíáôüôçôá íá ëåéôïõñãåß ïñèÜ êáé áðïäïôéêÜ. ÐñïåñùôÞóåéò

Óôï êåöÜëáéï áõôü áðáíôþíôáé åñùôÞìáôá üðùò: ü Ôé åßíáé ïé äéåñãáóßåò êáé ôé åßíáé ôï ìïíôÝëï äéåñãáóéþí; ü Ðïéåò åßíáé ïé êáôáóôÜóåéò ìéáò äéåñãáóßáò êáé ðþò áõôÝò ìåôáâÜëëïíôáé; ü Ðþò ãßíåôáé ç õëïðïßçóç êáé ðþò ç äéá÷åßñéóç ôùí äéåñãáóéþí; ü Ðïéá ðñïâëÞìáôá åìöáíßæïíôáé óå óõóôÞìáôá ìå ðïëëÝò ðáñÜëëçëåò äéåñãáóßåò; ü Ðþò ëýíïíôáé ôá ðñïâëÞìáôá äéá÷åßñéóçò ôùí ðïëëþí ðáñÜëëçëùí äéåñãáóéþí;

Äéåñãáóßåò

8.1 Ç Ýííïéá êáé ôï ìïíôÝëï ôçò äéåñãáóßáò Ôá óýã÷ñïíá óõóôÞìáôá õðïëïãéóôþí åßíáé óå èÝóç íá åêôåëïýí ôáõôü÷ñïíá Ýíá ìåãÜëï áñéèìü åñãáóéþí åíüò Þ ðåñéóóüôåñùí ÷ñçóôþí. ÐáñÜëëçëá ìå ôéò åñãáóßåò ôùí ÷ñçóôþí, ôï óýóôçìá óõ÷íÜ åêôåëåß êáé åóùôåñéêÝò åñãáóßåò äéá÷åßñéóçò êáé óõã÷ñïíéóìïý. ¸íá ôõðéêü óýóôçìá ìðïñåß óôï ßäéï äéÜóôçìá íá äéáâÜæåé áðü Ýíá äßóêï, íá åêôåëåß êÜðïéïõò ðïëýðëïêïõò õðïëïãéóìïýò, íá ìåôáöÝñåé äåäïìÝíá ìÝóù äéêôýïõ êáé íá åêôõðþíåé Ýíá ó÷Ýäéï óå êÜðïéïí åêôõðùôÞ. Ӓ Ýíá óýóôçìá êáôáìåñéóìïý ÷ñüíïõ (time-sharing system), ç ÊÌÅ äéáôßèåôáé äéáäï÷éêÜ óå äéáöïñåôéêÜ ðñïãñÜììáôá ãéá ôçí åêôÝëåóç êÜðïéïõ ìéêñïý ìÝñïõò ôïõ êáèåíüò ãéá êÜðïéá ÷éëéïóôÜ ôïõ äåõôåñïëÝðôïõ. Óôïõò ÷ñÞóôåò ôïõ óõóôÞìáôïò, ç ôá÷åßá áõôÞ åíáëëáãÞ ôùí ðñïãñáììÜôùí óôçí ÊÌÅ äßíåé ôçí øåõäáßóèçóç ôçò ôáõôü÷ñïíçò åðåîåñãáóßáò. ÖõóéêÜ êÜèå óôéãìÞ ìüíï Ýíá ðñüãñáììá åßíáé åíåñãü óå êÜèå ÊÌÅ ôïõ óõóôÞìáôïò. Ç øåõäáßóèçóç ôçò ôáõôü÷ñïíçò åêôÝëåóçò ðñïãñáììÜôùí óå ìéá ÊÌÅ óõ÷íÜ áðïêáëåßôáé øåõäïðáñáëëçëéóìüò (pseudoparallelism) óå áíôßèåóç ìå ôïí ðñáãìáôéêü ðáñáëëçëéóìü, üðïõ óôï óýóôçìá åêôåëïýíôáé ðáñÜëëçëá ðñïãñÜììáôá óå ðåñéóóüôåñåò ôçò ìßáò ÊÌÅ. Ç ðïëõðëïêüôçôá ôùí óçìåñéíþí óõóôçìÜôùí ìáò Ý÷åé ïäçãÞóåé óôç äçìéïõñãßá ôçò Ýííïéáò êáé ôïõ ìïíôÝëïõ ôçò äéåñãáóßáò, ìå ôç âïÞèåéá ôçò ïðïßáò ìðïñïýìå íá ìåëåôÞóïõìå, íá ó÷åäéÜóïõìå êáé íá äéá÷åéñéóôïýìå ó÷åôéêÜ åýêïëá üëá ôá óõóôÞìáôá õðïëïãéóôþí. Óýìöùíá ìå ôï ìïíôÝëï ôçò äéåñãáóßáò (process model), üëá ôá åêôåëïýìåíá ðñïãñÜììáôá óôï óýóôçìá, ìáæß êáé ôï ßäéï ôï ËÓ, áðïôåëïýí Ýíá óýíïëï áðü óåéñéáêÝò äéåñãáóßåò (sequencial processes).

Ìéá äéåñãáóßá (process) åßíáé Ýíá ðñüãñáììá óå åêôÝëåóç. Óå áíôßèåóç ìå ôï ðñüãñáììá, ôï ïðïßï åßíáé êÜôé óôáôéêü, ç äéåñãáóßá åßíáé ìéá ïíôüôçôá äõíáìéêÞ êáé ðåñéëáìâÜíåé êáé Üëëá óôïé÷åßá åêôüò áðü ôï ðñüãñáììá. Ãéá ðáñÜäåéãìá, ìéá óõíôáãÞ öáãçôïý åßíáé Ýíá ðñüãñáììá. Ôï åã÷åéñßäéï ôùí ðñþôùí âïçèåéþí åßíáé Ýíá Üëëï ðñüãñáììá. ¼ôáí üìùò óõãêåíôñþóåôå ôá õëéêÜ ôçò óõíôáãÞò êáé îåêéíÞóåôå íá öôéÜ÷íåôå ôï öáãçôü, ôüôå: t Ç óõíôáãÞ åßíáé ôï ðñüãñáììá, ï áëãüñéèìïò äçëáäÞ ðïõ èá äþóåôå ãéá ôç äçìéïõñãßá ôïõ öáãçôïý. t Åóåßò åßóôå åêåßíïò ðïõ èá åêôåëÝóåé ôç óõíôáãÞ, ôï ðñüãñáììá äçëáäÞ. Åßóôå ôï áíôßóôïé÷ï ôçò ÊÌÅ. t Ôá õëéêÜ ôçò óõíôáãÞò, ôá ïðïßá ÷ñçóéìïðïéåßôå, åßíáé ôá äåäïìÝíá åéóüäïõ (input data). t Ç äéáäéêáóßá åêôÝëåóçò ôçò óõíôáãÞò (ðñïãñÜììáôïò) áðü åóÜò (ÊÌÅ) ìå ÷ñÞóç ôùí õëéêþí (äåäïìÝíùí åéóüäïõ) ãéá ôçí ðáñáãùãÞ ôïõ öáãçôïý (äåäïìÝíá åîüäïõ) åßíáé ç äéåñãáóßá. t Ôï öáãçôü ðïõ èá öôéÜîåôå åßíáé ôï áðïôÝëåóìá (ç Ýîïäïò) ôçò äéåñãáóßáò. Áí ôþñá ÷ñåéáóôåß íá äéáêüøåôå ôçí åíáó÷üëçóÞ óáò ìå ôçí åêôÝëåóç ôçò óõíôáãÞò, ãéá íá áêïëïõèÞóåôå ôéò ïäçãßåò ôïõ åã÷åéñéäßïõ ðñþôùí âïçèåéþí, ãéáôß êáÞêáôå, ôüôå: t Áðïèçêåýåôå óôç ìíÞìç óáò ôï óçìåßï óôï ïðïßï åß÷å öèÜóåé ç åêôÝëåóç ôçò

193

194

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

óõíôáãÞò (ç ÊÌÅ öõëÜóóåé ôçí êáôÜóôáóç ôçò äéåñãáóßáò ðïõ äéáêüðôåôáé). t Áñ÷ßæåôå íá åêôåëåßôå ôï ðñüãñáììá “ðáñï÷Þ ðñþôùí âïçèåéþí óå ðåñßðôùóç åëáöñïý åãêáýìáôïò”. ÐÜëé åßóôå ôï áíÜëïãï ôçò ÊÌÅ, ôï åã÷åéñßäéï åßíáé ôï ðñüãñáììá, ç áëïéöÞ åãêáýìáôïò åßíáé ôï äåäïìÝíï åéóüäïõ, êáé ôï öñïíôéóìÝíï óáò êáìÝíï ÷Ýñé åßíáé ç Ýîïäïò ôçò äéåñãáóßáò. ¸÷åôå ðåñÜóåé óå ìéá Üëëç äéåñãáóßá. t Ìüëéò öñïíôßóåôå ôï ÷Ýñé óáò, óõíå÷ßæåôå ôçí åêôÝëåóç ôçò óõíôáãÞò, áí äåí Ý÷åôå öèÜóåé ðïëý áñãÜ (åõôõ÷þò óôï óýóôçìá äåí êáßãåôáé ïýôå êáôáóôñÝöåôáé êáìéÜ äéåñãáóßá áðü ìüíç ôçò). ¼ðùò êáé óôï öõóéêü êüóìï, Ýôóé êáé óå Ýíá óýóôçìá õðïëïãéóôÞ, åêôüò áðü ðåñéðôþóåéò êáôáóôÜóåùí áíÜãêçò, üðïõ ç åíåñãÞ äéåñãáóßá äéáêüðôåôáé ðñïò åîõðçñÝôçóç êÜðïéáò Üëëçò ìå õøçëüôåñç ðñïôåñáéüôçôá, ç ÊÌÅ áó÷ïëåßôáé äéáäï÷éêÜ ìå ðïëëÝò äéåñãáóßåò ðïõ ðåñéìÝíïõí åîõðçñÝôçóç. Ç ìÝèïäïò ìå ôçí ïðïßá ãßíåôáé ç äéáäï÷Þ ôùí äéåñãáóéþí óôçí ÊÌÅ ïíïìÜæåôáé áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò (scheduling algorithm) êáé ç äéáäï÷Þ ôùí äéåñãáóéþí óôçí ÊÌÅ ïíïìÜæåôáé ðïëõðñïãñáììáôéóìüò (multiprogramming).

Ó÷Þìá 8.1 Ðïëõðñïãñáììáôéóìüò. Ç ÊÌÅ äéáôßèåôáé äéáäï÷éêÜ óôéò äéåñãáóßåò ôïõ óõóôÞìáôïò, åîõðçñåôþíôáò êÜèå ìßá áðü áõôÝò ãéá ïñéóìÝíï ÷ñïíéêü äéÜóôçìá.

Ôï ìïíôÝëï ôùí äéåñãáóéþí, óýìöùíá ìå ôï ïðïßï ïôéäÞðïôå áðáó÷ïëåß ôçí ÊÌÅ ôïõ óõóôÞìáôïò åßíáé äéåñãáóßá, ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ôçí áíÜëõóç, ó÷åäßáóç êáé äéá÷åßñéóç êÜèå óõóôÞìáôïò õðïëïãéóôÞ. Ôï ìïíôÝëï âñßóêåé åöáñìïãÞ êáé óå óõóôÞìáôá ðïõ äåí åðéôñÝðïõí ôçí ôáõôü÷ñïíç åðåîåñãáóßá äéåñãáóéþí, üðùò ôï ËÓ MS-DOS. Óôá óõóôÞìáôá áõôÜ õðÜñ÷ïõí äéáêïðÝò (interrupts) ðïõ áíáóôÝëëïõí ôçí åêôåëïýìåíç äéåñãáóßá, ãéá íá åîõðçñåôÞóïõí óõìâÜíôá óçìáíôéêÜ ãéá ôï óýóôçìá, üðùò ç åããñáöÞ óå áñ÷åßï (äéáêïðÝò äßóêïõ), ç åíçìÝñùóç ôçò ïèüíçò Þ ç åêôýðùóç. Áí èåùñÞóïõìå ôïõò åîõðçñåôçôÝò ôùí äéáêïðþí áõôþí ùò äéåñãáóßåò (äéåñãáóßåò äßóêïõ, ïèüíçò, óåéñéáêþí èõñþí ê.á.), ôüôå ìðïñïýìå íá ìåëåôÞóïõìå êáé áõôü ôï óýóôçìá ìå âÜóç ôï ìïíôÝëï äéåñãáóéþí.

Äéåñãáóßåò

ÅëáöñéÝò Äéåñãáóßåò - ÍÞìáôá Óå Ýíá ËÓ êáôáìåñéóìïý ÷ñüíïõ, êÜèå óôéãìÞ åêôåëïýíôáé ðïëëÜ ðñïãñÜììáôá, åßôå ôïõ ËÓ åßôå ôùí ÷ñçóôþí. ÊÜèå ðñüãñáììá åßíáé ãéá ôï ËÓ ôïõëÜ÷éóôïí ìßá äéåñãáóßá. Ìðïñåß üìùò êáé Ýíá ðñüãñáììá íá åêôåëåß åñãáóßåò ðáñÜëëçëá, üðùò ôï ðñüãñáììá êñÜôçóçò åéóéôçñßùí óôá ãñáöåßá ìéáò áåñïðïñéêÞò åôáéñåßáò. Óôïí êåíôñéêü õðïëïãéóôÞ ôçò åôáéñåßáò åêôåëïýíôáé ðïëëÝò åöáñìïãÝò êáé ìéá áðü áõôÝò åßíáé ôï ðñüãñáììá êñÜôçóçò åéóéôçñßùí. Ç åôáéñåßá Ý÷åé ðïëëïýò ðñÜêôïñåò ðïõ ÷ñçóéìïðïéïýí ôï ðñüãñáììá êáé êÜíïõí êñáôÞóåéò ôáõôü÷ñïíá. Ôï ðñüãñáììá êñáôÞóåùí åßíáé ÷ùñéóìÝíï óå ôìÞìáôá ðïõ åêôåëïýíôáé ðáñÜëëçëá êáé ôï êÜèå Ýíá áðü áõôÜ åîõðçñåôåß Ýíáí ðñÜêôïñá. Ôï êÜèå ôìÞìá èá ìðïñïýóå íá åßíáé ìéá äéåñãáóßá. ¼ìùò ç åíáëëáãÞ ôùí ôìçìÜôùí ôïõ ßäéïõ ðñïãñÜììáôïò óôçí ÊÌÅ ôïõ õðïëïãéóôÞ Ý÷åé ìéá éäéáéôåñüôçôá óå ó÷Ýóç ìå ôçí åíáëëáãÞ äéáöïñåôéêþí ðñïãñáììÜôùí óôçí ÊÌÅ: Ôá áíåîÜñôçôá ôìÞìáôá ôïõ ðñïãñÜììáôïò ÷ñçóéìïðïéïýí üëá ìéá êïéíÞ ðåñéï÷Þ ôçò ìíÞìçò (ð.÷. ôéò ßäéåò ìåôáâëçôÝò üðùò ï áñéèìüò ôùí åëåýèåñùí åéóéôçñßùí), åíþ áõôü äåí óõìâáßíåé ìåôáîý äéáöïñåôéêþí ðñïãñáììÜôùí. Ãéá ôï ëüãï áõôü, ïé åíÝñãåéåò ðïõ áðáéôïýíôáé ãéá ôçí åíáëëáãÞ ôìçìÜôùí ðñïãñÜììáôïò óôçí ÊÌÅ åßíáé Üëëåò êáé ãåíéêÜ áðëïýóôåñåò áðü ôéò åíÝñãåéåò ðïõ ðñÝðåé íá êÜíåé ôï ËÓ ãéá åíáëëáãÞ ðñïãñáììÜôùí (äéåñãáóéþí) óôçí ÊÌÅ. Ãéá ôçí áðïäïôéêüôåñç ëåéôïõñãßá ôïõ ËÓ, ôá ôìÞìáôá ðñïãñáììÜôùí ðïõ åêôåëïýíôáé ðáñÜëëçëá óõíÞèùò äåí õëïðïéïýíôáé ùò äéåñãáóßåò, áëëÜ ùò åëáöñéÝò äéåñãáóßåò (lightweight processes) Þ íÞìáôá åêôÝëåóçò (execution threads) Þ áðëÜ íÞìáôá (threads). Ôá íÞìáôá Ý÷ïõí ðïëëÝò ïìïéüôçôåò ìå ôéò äéåñãáóßåò áëëÜ êáé äýï äéáöïñÝò: t ¸÷ïõí üëá ðñüóâáóç óå ìéá êïéíÞ ðåñéï÷Þ ôçò ìíÞìçò t Ç äéáäéêáóßá åíáëëáãÞò ôïõò óôçí ÊÌÅ åßíáé áðëïýóôåñç áðü ôçí áíôßóôïé÷ç äéáäéêáóßá åíáëëáãÞò äéáäéêáóéþí. Ìðïñïýìå íá ðïõìå ãåíéêÜ üôé ôá äéáöïñåôéêÜ ðñïãñÜììáôá ðïõ åêôåëïýíôáé ðáñÜëëçëá óå Ýíá õðïëïãéóôÞ åßíáé äéåñãáóßåò êáé ôá áíåîÜñôçôá ôìÞìáôá åíüò ðñïãñÜììáôïò ðïõ åêôåëïýíôáé ðáñÜëëçëá óôïí õðïëïãéóôÞ åßíáé íÞìáôá. Ôá ðñïãñÜììáôá ðïõ ìðïñïýí íá äéáéñåèïýí óå íÞìáôá ïíïìÜæïíôáé ôáõôü÷ñïíá ðñïãñÜììáôá (concurrent programs).

Áðåéêüíéóç äéåñãáóéþí Åíáò ðïëý êáëüò ôñüðïò ãéá íá áðåéêïíßóïõìå ôáõôü÷ñïíá ðñïãñÜììáôá åßíáé íá ÷ñçóéìïðïéÞóïõìå ôï ãñÜöï ðñïâáäßóìáôïò (precedence graph). ×ñçóéìïðïéþíôáò Ýíá ôÝôïéï ãñÜöï ìðïñïýìå íá áíáðáñáóôÞóïõìå Ýíá ðñüãñáììá êáé íá äïýìå ðïéá ôìÞìáôÜ ôïõ ìðïñïýí íá åêôåëåóèïýí ðáñÜëëçëá êáé ðïéá ðñÝðåé íá ðåñéìÝíïõí ìÝ÷ñé íá ïëïêëçñùèïýí êÜðïéá Üëëá.

ÐáñÜäåéãìá 1. Áò ðÜñïõìå ãéá ðáñÜäåéãìá ôçí ðñïåôïéìáóßá ìéáò ðïäïóöáéñéêÞò ïìÜäáò ãéá ôï ðñùôÜèëçìá. ÁõôÞ áðïôåëåßôáé áðü ôá åîÞò óôÜäéá: Ïé ðáßêôåò îåêéíïýí áôïìéêÝò ðñïðïíÞóåéò öõóéêÞò êáôÜóôáóçò. ÐáñÜëëçëá, ç ïìÜäá åðéëÝãåé íÝïõò ðáßêôåò ãéá ìåôáãñáöÞ. Áöïý áðïêôçèïýí üóïé åðéëåãïýí, ç ïìÜäá îåêéíÜ ïìáäéêÝò

195

196

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ðñïðïíÞóåéò. Ï ðñïðïíçôÞò ìåëåôÜ ôéò ôáêôéêÝò ðáé÷íéäéïý. Áöïý êáôáëÞîåé óôéò êáëýôåñåò, ç ïìÜäá îåêéíÜ ðñïðïíÞóåéò óôéò óõãêåêñéìÝíåò ôáêôéêÝò. Óôç óõíÝ÷åéá, áöïý åðéëåãïýí ïìÜäåò áíôßðáëïé, ç ïìÜäá äßíåé öéëéêÜ ðáé÷íßäéá, þóôå íá åßíáé Ýôïéìç ãéá ôï ðñùôÜèëçìá. Ãéá íá ïñãáíþóåé ï ðñïðïíçôÞò ôçí åñãáóßá ôïõ ðñÝðåé íá ãíùñßæåé üëá ôá óôÜäéá ôçò ðñïåôïéìáóßáò, üðùò åðßóçò êáé íá îÝñåé ðïéá ðñÝðåé íá Ý÷ïõí ïëïêëçñùèåß, ãéá íá îåêéíÞóïõí ôá åðüìåíá. Ãéá ðáñÜäåéãìá, ðñÝðåé íá îÝñåé ïôé ðñÝðåé ðñþôá íá Ý÷åé êÜíåé üëåò ôéò ìåôáãñáöÝò ðñéí îåêéíÞóåé ïìáäéêÝò ðñïðïíÞóåéò. ¸íáò ãñÜöïò áðïôåëåßôáé áðü êüìâïõò (vertices) êáé áêìÝò (edges). ÊÜèå áêìÞ óõíäÝåé äýï êüìâïõò êáé ìðïñåß íá Ý÷åé Þ íá ìçí Ý÷åé êáôåýèõíóç. Ïôáí ìéá áêìÞ Ý÷åé êáôåýèõíóç áðü ôïí Ýíá êüìâï óôïí Üëëï, ôüôå ïíïìÜæåôáé êáôåõèõíüìåíç áêìÞ (directed edge). ¼ôáí ïé áêìÝò åíüò ãñÜöïõ åßíáé êáôåõèõíüìåíåò, ôüôå ï ãñÜöïò ïíïìÜæåôáé êáôåõèõíüìåíïò ãñÜöïò (directed graph). ÓõíÞèùò óå Ýíá ãñÜöï äå óõíáíôÜìå êáé êáôåèõíüìåíåò êáé ìç êáôåõèõíüìåíåò áêìÝò. ÐáñÜäåéãìá åíüò ãñÜöïõ åßíáé ôï ïäéêü äßêôõï ðïõ öáßíåôáé óôï ó÷Þìá ðïõ áêïëïõèåß. (Ó÷Þìá 8.2).

Ó÷Þìá 8.2.

Óôï ó÷Þìá, ïé ðüëåéò åßíáé ïé êüìâïé ôïõ ãñÜöïõ êáé ïé äñüìïé åßíáé ïé áêìÝò. Ïëïé ïé äñüìïé åßíáé äéðëÞò êáôåýèõíóçò. Áí êÜðïéïé Þôáí ìïíüäñïìïé, ôüôå èá Ýðñåðå óôçí áðåéêüíéóç ôïõ ãñÜöïõ íá áíôéêáôáóôÞóïõìå üëïõò ôïõò äñüìïõò äéðëÞò êáôåýèõíóçò ìå äýï ìïíüäñïìïõò ôïí êáèÝíá. Óôçí ðåñßðôùóç áõôÞ, ï ãñÜöïò èá Þôáí êáôåõèõíüìåíïò. Ðáñáôçñåßóôå üôé óôïí ãñÜöï ôïõ ïäéêïý äéêôýïõ ìðïñïýìå íá êÜíïõìå êýêëïõò äéáó÷ßæïíôÜò ôïí. Ìðïñïýìå äçëáäÞ íá êÜíïõìå ôç äéáäñïìÞ Êüñéíèï -> Ôñßðïëç -> ÍÜõðëéï -> Êüñéíèï êáôáëÞãïíôáò Ýôóé óôïí êüìâï áðüðïõ îåêéíÞóáìå. Ï ãñÜöïò áõôüò ïíïìÜæåôáé êõêëéêüò. ¸íáò ãñÜöïò ðïõ äåí ðåñéÝ÷åé êýêëïõò ïíïìÜæåôáé áêõêëéêüò (acyckic).

ÐáñÜäåéãìá 2. Ï ãñÜöïò ðïõ ðåñéãñÜöåé ôï ðñüãñáììá ðñïåôïéìáóßáò ôçò ïìÜäáò ìáò ãéá ôï ðñùôÜèëçìá öáßíåôáé óôï Ó÷Þìá 8.3. Ðáñáôçñåßóôå üôé åßíáé êáôåõèõíüìåíïò êáé áêõêëéêüò.

Äéåñãáóßåò

197

Ó÷Þìá 8.3.

Áí õðÞñ÷å ìéá áêìÞ ìå êáôåýèõíóç áðü ôçí «ïìáäéêÞ ðñïðüíçóç» óôéò «ìåôáãñáöÝò», ôüôå èá Ýðñåðå ç ðñïðüíçóç íá ãßíåé ìåôÜ ôéò ìåôáãñáöÝò, ïé ïðïßåò èá ðñÝðåé íá ãßíïõí ìåôÜ ôçí ïìáäéêÞ ðñïðüíçóç ðïõ ðñÝðåé íá ãßíåé ìåôÜ ôéò ìåôáãñáöÝò ê.ï.ê. Óôçí ðåñßðôùóç áõôÞ ç ðñïåôïéìáóßá äå èá ïëïêëçñùíüôáí ðïôÝ.

ÐáñÜäåéãìá 3: ÊáôáóêåõÞ ãñÜöïõ ðñïâáäßóìáôïò Åóôù ôï ðñüãñáììá ðïõ õðïëïãßæåé ôç ìáèçìáôéêÞ Ýêöñáóç Y = a / b + (c – d)/e. Áò ôçí áíáëýóïõìå óå ìåñéêÜ áðïôåëÝóìáôá: t Y1 = a / b t Y2 = ( c – d ) t Y3 = Y2 / e t Y = Y1 + Y3 Áíôéóôïé÷ïýìå ôïí õðïëïãéóìü êáèåíüò åíäéÜìåóïõ áðïôåëÝóìáôïò óå ìéá äéåñãáóßá. Áðåéêïíßæïõìå ôéò äéåñãáóßåò áõôÝò ùò êüìâïõò óå ãñÜöï. Ïôáí ìéá äéåñãáóßá áðáéôåß ôçí ïëïêëÞñùóç ìéáò Üëëçò ðñßí áðü áõôÞí, ôüôå óõíäÝïõìå ôéò äéåñãáóßåò ìå áêìÞ. Ç öïñÜ ôçò áêìÞò åßíáé áðü ôç äéåñãáóßá ðïõ ðñïçãåßôáé óå áõôÞ ðïõ áêïëïõèåß. Ï ãñÜöïò ðïõ ðñïêýðôåé öáßíåôáé óôï Ó÷Þìá 8.4:

Ó÷Þìá 8.4.

Ãéá íá ìðïñåß Ýíáò ãñÜöïò íá ðåñéãñÜøåé Ýíá ôáõôü÷ñïíï ðñüãñáììá êáé íá ïñßóåé ôç óåéñÜ åêôÝëåóçò ôùí íçìÜôùí Þ ôùí äéåñãáóéþí ôïõ, áõôüò ðñÝðåé íá åßíáé êáôåõèõíüìåíïò êáé áêõêëéêüò. ÌÜëéóôá, óå Ýíá ãñÜöï ðñïâáäßóìáôïò, äýï äéåñãáóßåò ìðïñïýí íá åêôåëåóèïýí ðáñÜëëçëá, áí äåí õðÜñ÷åé äéáäñïìÞ ðïõ íá óõíäÝåé Üìåóá Þ Ýììåóá ôéò äéåñãáóßåò áõôÝò.

198

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Áðü ôï ãñÜöï öáßíåôáé åýêïëá ïôé ïé äéåñãáóßåò Õ1 êáé Õ2 ìðïñïýí íá åêôåëåóèïýí ðáñÜëëçëá, áöïý äåí õðÜñ÷åé ôñüðïò íá ìåôáâïýìå áðü ôç ìéá óôçí Üëëç (êáé ëïãéêü åßíáé áöïý ïé ðñÜîåéò õðïëïãéóìïý ôùí Õ1 êáé Õ2 åßíáé åíôåëþò áíåîÜñôçôåò). Áíôßèåôá, ï õðïëïãéóìüò (äéåñãáóßá) Õ3 ðñÝðåé íá åêôåëåóèåß áöïý ïëïêëçñùèåß ï õðïëïãéóìüò (äéåñãáóßá) Õ2. Ðáñáôçñåßóôå üôé õðÜñ÷åé ôñüðïò ìåôÜâáóçò áðü ôçí Õ2 óôçí Õ3. Åðßóçò ç äéåñãáóßá Õ ðñÝðåé íá åêôåëåóèåß ìåôÜ ôéò Õ1 êáé Õ2. Ðñïöáíþò ç Õ åêôåëåßôáé ìåôÜ êáé ôçí Õ2, áöïý ïé äýï êüìâïé óõíäÝïíôáé (ìå ôï ìïíïðÜôé Õ2 -> Õ3 -> Õ) Ïé ãñÜöïé ðñïâáäßóìáôïò âïçèïýí éäéáßôåñá óôçí áíÜëõóç ðñïãñáììÜôùí, áëëÜ äõóôõ÷þò äåí ìðïñïýí íá ÷ñçóéìïðïéçèïýí áðü ôéò êïéíÝò ãëþóóåò ðñïãñáììáôéóìïý. Óå áõôÝò ÷ñçóéìïðïéïýìå óõíÞèùò ôéò åíôïëÝò parbegin (parallel begin) êáé parend (parallel end), ðïõ ðñïôÜèçêáí ôï 1965 áðü ôïí Dijkstra. Ç ÷ñÞóç ôïõò åßíáé åíôåëþò áíÜëïãç ìå ôç ÷ñÞóç ôùí åíôïëþí begin … end óôç ãëþóóá pascal. Ïðùò óôçí Pascal ïé åíôïëÝò ìåôáîý ôïõ begin êáé ôïõ end ÷ùñßæïíôáé ìå «;» êáé åêôåëïýíôáé óåéñéáêÜ, Ýôóé êáé ïé åíôïëÝò ðïõ âñßóêïíôáé ìåôáîý ôïõ parbegin êáé ôïõ parend ÷ùñßæïíôáé ìå ôï óýìâïëï «||» êáé åêôåëïýíôáé ðáñÜëëçëá. Ïëç ç ïìÜäá åíôïëþí ìÝóá óôï parbegin…parend îåêéíÜ íá åêôåëåßôáé ôáõôü÷ñïíá, åíþ ç åêôÝëåóç ôçò ïìÜäáò åíôïëþí ôåëåéþíåé üôáí ôåëåéþóïõí üëåò. Ï óõìâïëéóìüò áõôüò Ý÷åé ôï ðëåïíÝêôçìá ïôé êÜíåé ôá ðñïãñÜììáôá åõáíÜãíùóôá êáé êáôáíïçôÜ, äõóôõ÷þò üìùò äåí ìðïñåß íá ðåñéãñÜøåé üëïõò ôïõò ãñÜöïõò ðñïâáäßóìáôïò.

ÐáñÜäåéãìá 4. ÊáôáóêåõÞ ðñïãñÜììáôïò áðü ãñÜöï ðñïâáäßóìáôïò Ôï ðñüãñáììá ôïõ ðáñáäåßãìáôïò 3 äßíåôáé óôïí ðßíáêá ðïõ áêïëïõèåß ãñáììÝíï ìå óõìâïëéóìü parbegin…parend. Óôçí áñéóôåñÞ óôÞëç ôïõ ðßíáêá öáßíåôáé ôï ðñüãñáììá ãñáììÝíï óå pascal ðïõ åêôåëåßôáé ÷ùñßò ðáñáëëçëéóìü. Ðßíáêáò 8.1

begin

begin

Y1 = a / b ;

parbegin

Y2 = ( c – d ) ;

Y1 = a / b ||

Y3 = Y2 / e ;

begin

Y = Y1 + Y3 ;

Y2 = ( c – d ) ;

End

Y3 = Y2 / e ; End ; parend ; Y = Y1 + Y3 ; End

ÐáñÜäåéãìá 5. parbegin…parend

Áíôéóôïß÷éóç

ãñÜöïõ

êáé

óõìâïëéóìïý

Èá äïýìå ïôé áðü Ýíá ãñÜöï ðñïâáäßóìáôïò ìðïñïýí íá ðñïêýøïõí ðïëëÜ ðñïãñÜììáôá ìå óõìâïëéóìü parbegin…parend. Ôá ðñïãñÜììáôá áõôÜ äéáöÝñïõí óå ðïëõðëïêüôçôá áëëÜ êáé óôï ÷ñüíï ïëïêëÞñùóÞò ôïõò. Ï ãñÜöïò ðïõ êáëïýìáóôå íá õëïðïéÞóïõìå åßíáé ï áêüëïõèïò:

Äéåñãáóßåò

Óôïí ðßíáêá 8.2 ðïõ áêïëïõèåß äßíïíôáé äéáöïñåôéêÜ ðñïãñÜììáôá (ìå ôçí ßäéá ëåéôïõñãßá). Ãéá ôï êáèÝíá óçìåéþíïõìå ôá ðëåïíåêôÞìáôá êáé ôá ìåéïíåêôÞìáôÜ ôïõ. Ðßíáêáò 8.2

Parbegin a || b || d parend; c; e;

(+) Áðëüò êþäéêáò. (-) H c ðåñéìÝíåé ôçí ïëïêëçñùóç ôçò d åíþ äåí áðáéôåßôáé

Parbegin a || b parend;

(+) Ó÷åôéêÜ áðëüò êþäéêáò (-) Ç d ðåñé-

Parbegin c || d parend; e;

ìÝíåé ôçí ïëïêëÞñùóç ôùí a êáé b åíþ äåí áðáéôåßôáé

Parbegin

(-) Óýíèåôïò êþäéêáò (+) Êáëýôåñïò

Begin

ðáñáëëçëéóìüò.

Parbegin a || b parend ; c end || d parend; e; Ï ðáñáëëçëéóìüò ðïõ åðéôõã÷Üíåôáé ìå ôï ôñßôï ðñüãñáììá áöÞíåôáé ùò Üóêçóç. Åîçãåßóôå ôé áêñéâþò óõìâáßíåé êáé ãéáôß ôï ôñßôï ðñüãñáììá õðåñôåñåß ôùí Üëëùí äýï.

8.2 ÊáôáóôÜóåéò êáé Êýêëïò ÆùÞò Äéåñãáóéþí Óå üëá ôá ëåéôïõñãéêÜ óõóôÞìáôá ðïõ õðïóôçñßæïõí ôçí Ýííïéá ôçò äéåñãáóßáò õðÜñ÷ïõí äéáäéêáóßåò ãéá ôç äçìéïõñãßá êáé ôç äéá÷åßñéóç ôùí äéåñãáóéþí áõôþí. Óå óõóôÞìáôá ðïõ åêôåëïýí ìüíï ìßá êáèïñéóìÝíç åöáñìïãÞ, üëåò ïé äéåñãáóßåò äçìéïõñãïýíôáé áõôüìáôá ìå ôçí Ýíáñîç ôçò åêôåëïýìåíçò åöáñìïãÞò. Áíôßèåôá, óå óõóôÞìáôá ìå ðïëëïýò ÷ñÞóôåò êáé ðëÞèïò åöáñìïãþí, ðïõ ìðïñïýí íá åßíáé åíåñãÝò óå êÜèå ÷ñïíéêÞ óôéãìÞ, õðÜñ÷ïõí óõãêåêñéìÝíïé ìç÷áíéóìïß äõíáìéêÞò äçìéïõñãßáò êáé äéá÷åßñéóçò äéåñãáóéþí. Ãéá ðáñÜäåéãìá, óôï ËÓ UNIX, ìéá äéåñãáóßá äçìéïõñãåß ìéá íÝá äéåñãáóßá áêñéâÝò áíôßãñáöü ôçò, ìå ÷ñÞóç êáôÜëëçëçò êëÞóçò óõóôÞìáôïò (system call). Ïé äýï äéåñãáóßåò, ãïíÝáò (ç êáëïýóá) êáé ðáéäß (ç êáëïýìåíç), åêôåëïýíôáé ðáñÜëëçëá. Óôï ËÓ WINDOWS NT ìéá äéåñãáóßá ìðïñåß åðßóçò ìå êëÞóç óõóôÞìáôïò íá äçìéïõñãÞóåé ìéá íÝá äéåñãáóßá, ç åêôÝëåóç ôçò ïðïßáò ðñáãìáôïðïéåßôáé áíåîÜñôçôá áðü ôçí åêôÝëåóç ôçò êáëïýóáò äéåñãáóßáò.

199

200

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Ðáñáäåßãìáôá äçìéïõñãßáò íÝùí äéåñãáóéþí, åßôå áðü ôï ëåéôïõñãéêü åßôå áðü ôï ÷ñÞóôç åßôå áðü êÜðïéá Üëëç äéåñãáóßá, óõíáíôÜìå ðïëëÜ. ÅíäåéêôéêÜ åßíáé ôá áêüëïõèá: t Äýï ÷ñÞóôåò êÜèïíôáé óå äýï ôåñìáôéêÜ åíüò óõóôÞìáôïò êáé áñ÷ßæïõí íá åñãÜæïíôáé. Ôï ëåéôïõñãéêü óýóôçìá Ý÷åé åêêéíÞóåé ôïõëÜ÷éóôïí äýï äéåñãáóßåò ðïõ áíôéóôïé÷ïýí óôïõò öëïéïýò ôïõ ËÓ ìå ôïõò ïðïßïõò áëëçëåðéäñïýí ïé ÷ñÞóôåò. t ¸íáò ÷ñÞóôçò ÷ñçóéìïðïéåß ìéá äéáëïãéêÞ åöáñìïãÞ ãéá ôç ó÷åäßáóç åíüò êôéñßïõ. Óå êÜðïéï óçìåßï êáé åíþ ï ÷ñÞóôçò ó÷åäéÜæåé, ç åöáñìïãÞ (ðïõ åßíáé äéåñãáóßá) ðñÝðåé íá ðñáãìáôïðïéÞóåé óçìáíôéêïýò õðïëïãéóìïýò. Ç åöáñìïãÞ-äéåñãáóßá äçìéïõñãåß ìéá íÝá äéåñãáóßá ðïõ åêôåëåß ôïõò õðïëïãéóìïýò, åíþ ç äéåñãáóßá ó÷åäßáóçò óõíå÷ßæåé íá åßíáé åíåñãÞ (ãéá íá ó÷åäéÜæåé ï ÷ñÞóôçò). ÊÜèå óôéãìÞ ìéá äéåñãáóßá ìðïñåß, áíÜëïãá ìå ôéò óõíèÞêåò ðïõ åðéêñáôïýí óôï óýóôçìá ôç äåäïìÝíç óôéãìÞ, áëëÜ êáé ìå ôéò áðáéôÞóåéò ôçò äéåñãáóßáò óå ðüñïõò óõóôÞìáôïò êáé óå äåäïìÝíá áðü Üëëåò äéåñãáóßåò, íá âñßóêåôáé óå ìßá áðü ôéò ðéï êÜôù êáôáóôÜóåéò: 1. Åêôåëïýìåíç (running). Ç äéåñãáóßá åêôåëåßôáé, áðáó÷ïëåß äçëáäÞ ðñáãìáôéêÜ ôçí ÊÌÅ. 2. ¸ôïéìç (runnable, ready). Ç äéåñãáóßá Ý÷åé äéáêïðåß ðñïóùñéíÜ ãéá íá ãßíåé åêôåëïýìåíç êÜðïéá Üëëç äéåñãáóßá. Ìüëéò ôçò äïèåß ç åíôïëÞ áðü ôï óýóôçìá, ìðïñåß íá óõíå÷ßóåé ôçí åêôÝëåóÞ ôçò.

Ó÷Þìá 8.5 Ìéá äéåñãáóßá ìðïñåß íá åßíáé åêôåëïýìåíç, Ýôïéìç Þ õðü áíáóôïëÞ. Ïé äõíáôÝò ìåôáâÜóåéò áðü êáôÜóôáóç óå êáôÜóôáóç óçìåéþíïíôáé ìå âÝëç.

3. Õðü áíáóôïëÞ (blocked). Ç äéåñãáóßá Ý÷åé äéáêïðåß ðñïóùñéíÜ åðåéäÞ áäõíáôåß íá óõíå÷ßóåé ôçí åêôÝëåóÞ ôçò ëüãù åîùôåñéêïý (áðü áõôÞ) óõìâÜíôïò. Ç ìåôáâïëÞ ôçò êáôÜóôáóçò ìéáò äéåñãáóßáò ðñáãìáôïðïéåßôáé ìå âÜóç ïñéóìÝíïõò êáíüíåò êáé ðñïêáëåßôáé åßôå áðü ôçí ßäéá ôç äéåñãáóßá åßôå áðü ôï ËÓ, Üìåóá Þ Ýììåóá (ìÝóù ôïõ ÷ñÞóôç). Ïé äõíáôÝò ìåôáâïëÝò åßíáé: á. Áðü åêôåëïýìåíç óå õðü áíáóôïëÞ. Ðñáãìáôïðïéåßôáé üôáí ç äéåñãáóßá, åíþ åêôåëåßôáé, áðïöáóßæåé üôé äå ìðïñåß íá óõíå÷ßóåé. ÐáñÜäåéãìá åßíáé ç äéåñãáóßá ðïõ áíáìÝíåé åßóïäï/Ýîïäï, ðñüóâáóç óå ìç äéáèÝóéìç ôç óõãêåêñéìÝíç óôéãìÞ ðåñéï÷Þ ìíÞìçò Þ äåäïìÝíá áðü Üëëç äéåñãáóßá. â. Áðü õðü áíáóôïëÞ óå Ýôïéìç. Ôï åîùôåñéêü óõìâÜí, ç áíáìïíÞ ôïõ ïðïßïõ

Äéåñãáóßåò

201

áíÜãêáóå ôç äéåñãáóßá íá áíáóôáëåß ðñáãìáôïðïéåßôáé. Ç äéåñãáóßá ìðïñåß êáôÜ óõíÝðåéá íá åêôåëåóôåß, ãßíåôáé äçëáäÞ Ýôïéìç. Áí äåí õðÜñ÷åé åêôåëïýìåíç äéåñãáóßá óôï óýóôçìá, áìÝóùò ìåôÜ ôç ìåôÜâáóç 2 ðñáãìáôïðïéåßôáé ç ìåôÜâáóç 3. ã. Áðü Ýôïéìç óå åêôåëïýìåíç. Ðñáãìáôïðïéåßôáé ìå åíôïëÞ ôïõ ËÓ êáé óõãêåêñéìÝíá ôïõ ìÝñïõò ôïõ, ðïõ ïíïìÜæåôáé ÷ñïíïäñïìïëïãçôÞò äéåñãáóéþí. Ôï ËÓ áðïöáóßæåé, üôé ç åêôåëïýìåíç äéåñãáóßá Ý÷åé êáôáíáëþóåé áñêåôü ÷ñüíï ôçò ÊÌÅ êáé åßíáé êáéñüò íá åêôåëåóèåß êÜðïéá Üëëç äéåñãáóßá. Ôï óýóôçìá åðéëÝãåé ìå êÜðïéïí áëãüñéèìï ìéá Ýôïéìç äéåñãáóßá (Ýóôù ôçí Á) êáé ôçò äßíåé ÷ñüíï åðåîåñãáóßáò. Ç äéåñãáóßá Á Ýãéíå áðü Ýôïéìç åêôåëïýìåíç. ä. Áðü åêôåëïýìåíç óå Ýôïéìç. Ðñáãìáôïðïéåßôáé êáé áõôÞ ìå åíôïëÞ ôïõ ÷ñïíïäñïìïëïãçôÞ äéåñãáóéþí. Ôï ËÓ áðïöáóßæåé, üôé ç åêôåëïýìåíç äéåñãáóßá Á Ý÷åé êáôáíáëþóåé áñêåôü ÷ñüíï ôçò ÊÌÅ, åðéëÝãåé ôç íÝá äéåñãáóßá ðñïò åêôÝëåóç êáé ìåôáôñÝðåé ôçí åêôåëïýìåíç äéåñãáóßá Á óå Ýôïéìç. Ìå ôïí ôñüðï áõôü, ç äéåñãáóßá Á ðåñéìÝíåé íá óõíå÷ßóåé ôçí åêôÝëåóÞ ôçò áñãüôåñá, áöïý åîõðçñåôçèïýí êáé Üëëåò äéåñãáóßåò. Ç ëïãéêÞ êáé ï ìç÷áíéóìüò ìå ôïí ïðïßï êáôáíÝìåôáé ï ÷ñüíïò áðáó÷üëçóçò ôçò ÊÌÅ óôéò Ýôïéìåò äéåñãáóßåò, áëëÜ êáé ç åðéëïãÞ ôçò Ýôïéìçò äéåñãáóßáò, ðïõ êÜèå öïñÜ ãßíåôáé åêôåëïýìåíç áðü ôï ÷ñïíïäñïìïëïãçôÞ äéåñãáóéþí, åßíáé óçìáíôéêüôáôï ìÝñïò ôïõ ËÓ êáé èá åîåôáóôåß óôç óõíÝ÷åéá. Åêôüò áðü ôéò ìåôáâÜóåéò ìåôáîý êáôáóôÜóåùí, óçìáíôéêü åßíáé íá ãíùñßæïõìå üôé óôï ìïíôÝëï ôùí äéåñãáóéþí, êÜèå óôéãìÞ, ìðïñïýí íá óõìâïýí äýï áêüìç ãåãïíüôá: t Äçìéïõñãßá ìéáò íÝáò äéåñãáóßáò. Ôï ËÓ, Ýíáò ÷ñÞóôçò Þ ìéá åêôåëïýìåíç äéåñãáóßá ìðïñïýí íá äçìéïõñãÞóïõí ìéá íÝá äéåñãáóßá. Ç íÝá äéåñãáóßá èá åßíáé Üìåóá Ýôïéìç. t ÁðïìÜêñõíóç ìéáò äéåñãáóßáò áðü ôï óýóôçìá. Ìéá åêôåëïýìåíç äéåñãáóßá, ìüëéò ïëïêëçñùèåß, áðïìáêñýíåôáé áðü ôï óýóôçìá (áöïý äåí áðáéôåß ðéá êáìéÜ åðåîåñãáóßá). Óôçí ðåñßðôùóç áõôÞ Ý÷ïõìå ïìáëü ôåñìáôéóìü äéåñãáóßáò. ÁðïìÜêñõíóç äéåñãáóéþí ìðïñåß íá ðñáãìáôïðïéçèåß êáé áðü ôï ÷ñÞóôç, ôï ëåéôïõñãéêü Þ áðü Üëëç äéåñãáóßá ìå êëÞóç óôï ËÓ, áêüìá êáé áí ç äéåñãáóßá äåí Ý÷åé ïëïêëçñùèåß. Óôçí ðåñßðôùóç áõôÞ Ý÷ïõìå ìç ïìáëü ôåñìáôéóìü äéåñãáóßáò. Áðü ôç óôéãìÞ ðïõ äçìéïõñãåßôáé ìéá äéåñãáóßá êáé ìÝ÷ñé íá ïëïêëçñùèåß Þ íá ôåñìáôéóèåß âßáéá, ï êýêëïò æùÞò ôçò áðïôåëåßôáé áðü åíáëëáãÝò åðåîåñãáóßáò áðü ôçí ÊÌÅ, ðïõ ïíïìÜæïíôáé åêñÞîåéò ÊÌÅ (CPU bursts) êáé áðü áíáìïíÝò ãéá ôçí ðåñÜôùóç åñãáóéþí Åéóüäïõ/Åîüäïõ (Å/Å) ðïõ ïíïìÜæïíôáé åêñÞîåéò Å/Å (I/O bursts) (Ó÷Þìá 8.6).

Ó÷Þìá 8.6

Óå Ýíá óýóôçìá ðïëõðñïãñáììáôéóìïý ïíïìÜæïõìå ðáñÜëëçëåò Þ ôáõôü÷ñïíåò äéåñãáóßåò (parallel processes) ôï óýíïëï ôùí åêôåëÝóéìùí êáé ôùí åêôåëïýìåíùí äéåñãáóéþí óôéò ÊÌÅ ôïõ óõóôÞìáôïò

202

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Ïé äéåñãáóßåò ìðïñïýí íá êáôçãïñéïðïéçèïýí áíÜëïãá ìå ôï óõíïëéêü ÷ñüíï ðïõ êáôáíáëþíïõí óå åêñÞîåéò ôçò ìéáò Þ ôçò Üëëçò ìïñöÞò. ¸ôóé, äéáêñßíïíôáé óå t äéåñãáóßåò ðñïóáíáôïëéóìÝíåò óôçí ÊÌÅ (CPU bound) üôáí áðáéôïýí êõñßùò åêñÞîåéò ÊÌÅ êáé óå t äéåñãáóßåò ðñïóáíáôïëéóìÝíåò óôçí Å/Å (É/Ï bound) üôáí áðáéôïýí êõñßùò åêñÞîåéò Å/Å.

ÌåôáãùãÞ ðåñéâÜëëïíôïò ÊÜèå öïñÜ ðïõ ôï ËÓ áëëÜæåé ôç äéåñãáóßá ðïõ åêôåëåßôáé óôçí ÊÌÅ ðñÝðåé íá êñáôÞóåé üëåò ôéò ðëçñïöïñßåò ó÷åôéêÝò ìå ôç äéåñãáóßá ðïõ áðÝñ÷åôáé áðü ôçí ÊÌÅ óå êÜðïéï óçìåßï, þóôå áõôÝò íá åßíáé äéáèÝóéìåò ãéá ôç ìåëëïíôéêÞ óõíÝ÷éóç ôçò åêôÝëåóÞò ôçò. Ãéá ôï óêïðü áõôü ôï ËÓ ôçñåß óôç ìíÞìç ìéá äïìÞ üðïõ áðïèçêåýåé üëåò ôéò ðëçñïöïñßåò ãéá üëåò ôéò äéåñãáóßåò ðïõ åßíáé Ýôïéìåò Þ õðü áíáóôïëÞ. ¼ôáí ìéá áðü áõôÝò ãßíåé åêôåëïýìåíç, ôï ËÓ äéáâÜæåé áðü ôç äïìÞ üëá ôá óôïé÷åßá ðïõ åßíáé áðáñáßôçôá ãéá ôç óõíÝ÷éóç åêôÝëåóçò ôçò äéåñãáóßáò. Ôï óýíïëï ôùí ðëçñïöïñéþí ðïõ áðïèçêåýïíôáé óôç ìíÞìç ãéá ôç äéåñãáóßá ïíïìÜæåôáé Óýíïëï ÅëÝã÷ïõ Äéåñãáóßáò – ÓÅÄ (Process Control Block – PCB). Óôçí ðåñßðôùóç ôùí íçìÜôùí, ôï óýíïëï ôùí ðëçñïöïñéþí ðïõ áðïèçêåýïíôáé óôç ìíÞìç ïíïìÜæåôáé Óýíïëï ÅëÝã÷ïõ ÍÞìáôïò – ÓÅÍ (Thread Control Block – TCB).

Ç åíáëëáãÞ ôùí äéåñãáóéþí êáé íçìÜôùí óôçí ÊÌÅ ïíïìÜæåôáé ìåôáãùãÞ ðåñéâÜëëïíôïò (context switching) êáé äéáöÝñåé áíÜëïãá ìå ôï, áí åíáëëÜóóïíôáé óôçí ÊÌÅ äéåñãáóßåò Þ íÞìáôá. Ïé ðëçñïöïñßåò ðïõ êñáôïýíôáé êáôÜ ôçí ìåôáãùãÞ ðåñéâÜëëïíôïò ãéá ôç äéåñãáóßá ðïõ áðü åêôåëÝóéìç ãßíåôáé Ýôïéìç Þ õðü áíáóôïëÞ åßíáé: t Ç åðüìåíç åíôïëÞ ôïõ ðñïãñÜììáôïò ðïõ èá åêôåëÝóåé ç äéåñãáóßá üôáí îáíáãßíåé åêôåëïýìåíç t Ç êáôÜóôáóç ôçò ÊÌÅ (äçëáäÞ ôá ðåñéå÷üìåíá üëùí ôùí êáôá÷ùñçôþí ôçò) þóôå áõôÞ íá åðáíáöåñèåß, üôáí ç äéåñãáóßá îáíáãßíåé åêôåëïýìåíç t ¼ëá ôá åíäéÜìåóá áðïôåëÝóìáôá ðïõ Ý÷åé õðïëïãßóåé ç äéåñãáóßá, þóôå áõôÜ íá åßíáé ðÜëé äéáèÝóéìá, üôáí ç äéåñãáóßá îáíáãßíåé åêôåëïýìåíç Ôç äéáäéêáóßá ìåôáãùãÞò ðåñéâÜëëïíôïò ôç óõíáíôÜìå êáèçìåñéíÜ êáé óôç æùÞ ìáò óå áðëÝò Þ ðïëýðëïêåò ìïñöÝò. Ìéá áðëÞ ðåñßðôùóç åßíáé, üôáí äéáâÜæïõìå Ýíá âéâëßï êáé êÜðïéá óôéãìÞ ôï áöÞíïõìå ãéá íá áó÷ïëçèïýìå ìå êÜôé Üëëï. Ôïðïèåôïýìå ôï óåëéäïäåßêôç óôç óåëßäá ðïõ ìåßíáìå, þóôå áñãüôåñá íá óõíå÷ßóïõìå áðü ôç óåëßäá áõôÞ. Ìéá ðéï óýíèåôç ðåñßðôùóç åßíáé óå åóôéáôüñéï ìå ôï óåñâéôüñï ðïõ åîõðçñåôåß ðåëÜôåò. ¸ñ÷åôáé êáé ðáßñíåé ôçí ðáñáããåëßá ìáò ôçí ïðïßá ãñÜöåé óôï ìðëïêÜêé ôïõ. Óôç óõíÝ÷åéá (ìåôáãùãÞ ðåñéâÜëëïíôïò), ðÜåé êáé ðáßñíåé ôá ðéÜôá ìéáò Üëëçò ðáñáããåëßáò êáé ôá ðáñáäßäåé óôï ôñáðÝæé. ¾óôåñá (ìåôáãùãÞ ðåñéâÜëëïíôïò), âãÜæåé ôçí ðáñáããåëßá ìáò áðü ôçí ôóÝðç êáé ðáñáäßäåé ôï ÷áñôÜêé óôçí êïõæßíá. Áñãüôåñá (ìåôáãùãÞ ðåñéâÜëëïíôïò), õðïëïãßæåé ôï ëïãáñéáóìü ãéá ìéá ðáñÝá ðïõ öåýãåé. Ðñéí üìùò ôïí äþóåé ôïí åéäïðïéïýí áðü ôçí êïõæßíá (ìåôáãùãÞ ðåñéâÜëëïíôïò), áðü üðïõ ðçãáßíåé êáé ìáò öÝñíåé ôçí ðáñáããåëßá ìáò. Åõôõ÷þò êáôÜ ôçí ôåëåõôáßá áëëáãÞ åñãáóßáò (ìåôáãùãÞ ðåñéâÜëëïíôïò) åß÷å êñáôÞóåé ôï ÷áñôÜêé ôïõ ëïãáñéáóìïý ôçò ðáñÝáò ðïõ öåýãåé, ïðüôå ôåëéêÜ äßíåé êáé óå áõôïýò ôï ëïãáñéáóìü.

Äéåñãáóßåò

203

8.3 ÓõíèÞêåò Áíôáãùíéóìïý êáé ÄéáäéåñãáóéáêÞ Åðéêïéíùíßá ÐáñÜäåéãìá Èåùñåßóôå Ýíá óýóôçìá õðïëïãéóôÞ óôï ïðïßï åßíáé åêôåëÝóéìåò ðïëëÝò äéåñãáóßåò. Äýï áðü áõôÝò, ç Á êáé ç Â, ìüëéò ãßíïõí åêôåëïýìåíåò èá åêôõðþóïõí Ýíá áñ÷åßï, ç Á ôï ÁÁ êáé ç  ôï ÂÂ. Ôï óýóôçìá, ãéá ôçí åîõðçñÝôçóç ôùí åêôõðþóåùí, ôçñåß ìéá ïõñÜ óôç ìíÞìç, óôçí ïðïßá êÜèå äéåñãáóßá ôïðïèåôåß ôï üíïìá ôïõ ðñïò åêôýðùóç áñ÷åßïõ ôçò. Ï ÷åéñéóìüò ôçò ïõñÜò ãßíåôáé ìå äýï ìåôáâëçôÝò, ôçí out êáé ôçí in. H ìåôáâëçôÞ out ðåñéÝ÷åé ôç äéåýèõíóç óôçí ïõñÜ óôçí ïðïßá âñßóêåôáé ôï ðñþôï ðñïò åêôýðùóç áñ÷åßï êáé ç in ôç äéåýèõíóç óôçí ïðïßá èá ôïðïèåôçèåß ôï íÝï ðñïò åêôýðùóç áñ÷åßï. Ðñïöáíþò, ïé èÝóåéò ôçò ïõñÜò áðü ôçí out ìÝ÷ñé êáé ôçí in-1 ðåñéÝ÷ïõí ïíüìáôá áñ÷åßùí ãéá åêôýðùóç. Ðáñáêïëïõèåßóôå ìéá ðéèáíÞ áêïëïõèßá ãåãïíüôùí óôï óýóôçìá: 1. Ç äéåñãáóßá Á ãßíåôáé åêôåëïýìåíç. 2. Ç äéåñãáóßá Á äéáâÜæåé ôç ìåôáâëçôÞ in ãéá íá äåé óå ðïéá èÝóç ôçò ïõñÜò èá áðïèçêåýóåé ôï üíïìá ôïõ áñ÷åßïõ ÁÁ, ôï ïðïßï èá ðñÝðåé íá åêôõðùèåß. Óýìöùíá ìå ôçí êáôÜóôáóç ôïõ óõóôÞìáôïò (Ó÷Þìá 8.7), äéáâÜæåé ôçí ôéìÞ 9. 3. Ðñéí ðñïëÜâåé ç äéåñãáóßá Á íá áðïèçêåýóåé ôï üíïìá ôïõ áñ÷åßïõ ÁÁ óôçí ïõñÜ êáé ðñéí åíçìåñþóåé êÜðïéá ìåôáâëçôÞ, ï ÷ñïíïäñïìïëïãçôÞò ôïõ óõóôÞìáôïò ôç ìåôáôñÝðåé (ãéá ïðïéïäÞðïôå ëüãï, üðùò áßôçóç äéáêïðÞò áðü êÜðïéá óõóêåõÞ, ëÞîç ÷ñüíïõ åêôÝëåóÞò ôçò, ê.ëð.) óå Ýôïéìç. Ç êáôÜóôáóç ôçò Á ìáæß ìå üëç ôçí êáôÜóôáóç ôïõ óõóôÞìáôïò (êáé ôçí ôéìÞ 9 ãéá ôç ìåôáâëçôÞ in) öõëÜóóåôáé óôï ÓÅÄ. 4. Ç äéåñãáóßá  ãßíåôáé åêôåëïýìåíç (åðåéäÞ Ýôóé áðïöÜóéóå ï ÷ñïíïäñïìïëïãçôÞò). 5. Ç äéåñãáóßá  äéáâÜæåé ôç ìåôáâëçôÞ in, ãéá íá äåé óå ðïéá èÝóç ôçò ïõñÜò èá áðïèçêåýóåé ôï üíïìá ôïõ áñ÷åßïõ ÂÂ, ôï ïðïßï èá ðñÝðåé íá åêôõðùèåß. Óýìöùíá ìå ôçí êáôÜóôáóç ôïõ óõóôÞìáôïò (Ó÷Þìá 8.7), äéáâÜæåé ôçí ôéìÞ 9. 6. Ç äéåñãáóßá  áëëÜæåé ôçí ôéìÞ ôçò ìåôáâëçôÞò in óå 9+1=10 êáé ôïðïèåôåß óôç èÝóç 9 ôçò ïõñÜò ôï üíïìá áñ÷åßïõ ÂÂ. Óôç óõíÝ÷åéá åêôåëåß Üëëåò åíôïëÝò ôçò. 7. Ç äéåñãáóßá Á ãßíåôáé åêôåëïýìåíç (åðåéäÞ Ýôóé áðïöÜóéóå ï ÷ñïíïäñïìïëïãçôÞò). 8. Ç äéåñãáóßá Á óõíå÷ßæåé ôçí åêôÝëåóÞ ôçò áðü ôï óçìåßï äéáêïðÞò ôçò. ÁõîÜíåé ôçí ôéìÞ ðïõ ãíùñßæåé ãéá ôç ìåôáâëçôÞ in (åß÷å äéáâÜóåé in=9), ôçí êÜíåé 9+1=10 êáé ôïðïèåôåß óôç èÝóç 9 ôçò ïõñÜò ôï üíïìá ôïõ áñ÷åßïõ ÁÁ. Óôç óõíÝ÷åéá åêôåëåß Üëëåò åñãáóßåò.

×ñïíïäñïìïëïãçôÞò åßíáé ôï õðïóýóôçìá ôïõ ËÓ ðïõ áëëÜæåé êáé åëÝã÷åé ôçí êáôÜóôáóç ôùí äéåñãáóéþí óôï óýóôçìá.

204

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Ó÷Þìá 8.7 ÊáôÜóôáóç ôçò ïõñÜò åêôõðþóåùí óôï óýóôçìá. Äýï äéåñãáóßåò ðñïóðåëáýíïõí ôáõôü÷ñïíá ìéá äéáìïéñáæüìåíç ðåñéï÷Þ ìíÞìçò (ìåôáâëçôÞ in êáé ïõñÜ åêôýðùóçò)

Ôß Ý÷åé óõìâåß; Ôï üíïìá ôïõ áñ÷åßïõ  Ý÷åé ÷áèåß áðü ôçí ïõñÜ, áöïý óôç èÝóç 9 õðÜñ÷åé ôï üíïìá ÁÁ. Ç ïõñÜ åßíáé åóùôåñéêÜ óõíåðÞò êáé äåí ðáñáôçñåß êÜðïéï óöÜëìá. Ôï åðüìåíï áñ÷åßï èá ôïðïèåôçèåß óôçí êåíÞ èÝóç 10. ÁðëÜ ôï áñ÷åßï  äå èá ôõðùèåß ðïôÝ, êáé êáíÝíáò äå èá ëÜâåé ìÞíõìá ãéá ôï ãåãïíüò áõôü. Ôï ðñüâëçìá, ðïõ ïíïìÜæåôáé “ðñüâëçìá êñßóéìïõ ôìÞìáôïò” äçìéïõñãåßôáé, åðåéäÞ óôï äéÜóôçìá áíÜìåóá óôçí áíÜãíùóç ôçò äéáìïéñáæüìåíçò ìåôáâëçôÞò in áðü ôçí Á êáé óôçí åíçìÝñùóÞ ôçò ìå ôéìÞ áõîçìÝíç êáôÜ 1, Ýôóé þóôå íá äåóìåõôåß ç èÝóç 9, ç Á óôáìáôÜ êáé ç  ðñáãìáôïðïéåß ôçí ßäéá äéáäéêáóßá. H Á äåí åíçìåñþíåôáé ðïôÝ ãéá ôç íÝá ôéìÞ ôçò ìåôáâëçôÞò in. Ôï öáéíüìåíï ðïõ ðåñéãñÜøáìå åßíáé äõíáôü íá åìöáíéóôåß óå êÜèå ðåñßðôùóç ðïõ äéåñãáóßåò ðñïóðåëáýíïõí ôçí ßäéá ðåñéï÷Þ ìíÞìçò.

Ïé óõíèÞêåò êáôÜ ôéò ïðïßåò äýï ïé ðåñéóóüôåñåò äéåñãáóßåò äéáìïéñÜæïíôáé ôçí ßäéá ðåñéï÷Þ ìíÞìçò êáé ôï ôåëéêü áðïôÝëåóìá ôùí åíåñãåéþí ôïõò åîáñôÜôáé, åíþ äåí ðñÝðåé, áðü ôç óåéñÜ êáé ôï ÷ñüíï åêôÝëåóÞò ôïõò ïíïìÜæïíôáé óõíèÞêåò áíôáãùíéóìïý (race conditions). ÓõíèÞêåò áíôáãùíéóìïý ìðïñïýí íá åìöáíéóèïýí, üôáí ðáñÜëëçëåò äéåñãáóßåò ÷ñçóéìïðïéïýí êïéíïýò ðüñïõò. Êïéíïß Þ ìïéñáæüìåíïé ðüñïé (shared resources) åßíáé üëïé ïé ðüñïé ôïõ óõóôÞìáôïò, üðùò ð.÷. ç ìíÞìç, ü äßóêïò ê.ëð., ðïõ äéáôßèåíôáé ðñïò áíÜãíùóç Þ åããñáöÞ óôéò äéåñãáóßåò. Åßíáé ðñïöáíÝò üôé óå Ýíá óýóôçìá äåí ðñÝðåé íá åìöáíßæïíôáé óõíèÞêåò áíôáãùíéóìïý, áöïý ðñïêáëïýí ôçí åìöÜíéóç óïâáñþí óöáëìÜôùí. Ôï ÷åéñüôåñï áðïôÝëåóìÜ ôïõò åßíáé ðùò ôá ðñïâëÞìáôá ðïõ ðñïêáëïýí åìöáíßæïíôáé ôõ÷áßá, áöïý åîáñôþíôáé êáèáñÜ áðü ìéá ãåíéêÜ Üãíùóôç óåéñÜ óôçí åêôÝëåóç ôùí äéåñãáóéþí êáé Üãíùóôç äéÜñêåéá åêôÝëåóçò êÜèå äéåñãáóßáò. Ãéá íá ôï äéáðéóôþóåôå, åîåôÜóôå ôï ðáñÜäåéãìÜ ìáò, óôï ïðïßï üìùò ôï ãåãïíüò 8 ðñáãìáôïðïéåßôáé ðñéí ôï

Äéåñãáóßåò

ãåãïíüò 5 (ç  äéáêüðôåôáé ðñéí öèÜóåé óôï óçìåßï íá äéáâÜóåé ôçí ìåôáâëçôÞ In êáé ç Á îáíáãßíåôáé åêôåëïýìåíç). Äåßôå ðùò êáé ôï ÁÁ, êáé ôï  èá ôõðùèïýí. Ç áíÜãêç íá áðïöåýãåôáé ç åìöÜíéóç óõíèçêþí áíôáãùíéóìïý óôï óýóôçìá åßíáé Ýíáò áðü ôïõò óçìáíôéêüôåñïõò ëüãïõò ãéá ôçí ýðáñîç óôï óýóôçìá ìç÷áíéóìþí åðéêïéíùíßáò ìåôáîý äéåñãáóéþí. Ç åðéêïéíùíßá áõôÞ, ïíïìÜæåôáé äéáäéåñãáóéáêÞ åðéêïéíùíßá (InterProcess Communication - IPC).

Êõñéüôåñïò óôü÷ïò ôçò åßíáé íá åîáóöáëßóåé ôçí áêåñáéüôçôá äåäïìÝíùí (data integrity) óå ðåñéðôþóåéò üðïõ ðáñÜëëçëåò äéåñãáóßåò ÷ñçóéìïðïéïýí êïéíïýò ðüñïõò óôï óýóôçìá. Åêôüò áðü ôçí áíôéìåôþðéóç óõíèçêþí áíôáãùíéóìïý, ç åðéêïéíùíßá äéåñãáóéþí åßíáé åðéèõìçôÞ êáé óå Üëëåò ðåñéðôþóåéò, üðùò êáôáóôÜóåéò üðïõ ç Ýîïäïò ìéáò äéåñãáóßáò áðïôåëåß åßóïäï ìéáò Üëëçò Þ ðåñéðôþóåéò ðïõ ç óõíÝ÷éóç ìéáò äéåñãáóßáò áðáéôåß åßóïäï áðü ôçí Ýîïäï êÜðïéáò Üëëçò.

8.4 Áìïéâáßïò Áðïêëåéóìüò êáé Êñßóéìá ÔìÞìáôá Äéåñãáóéþí Ãéá íá áðïöýãïõìå ôçí åìöÜíéóç óõíèçêþí áíôáãùíéóìïý, ðñÝðåé íá åîáóöáëßóïõìå üôé ðïôÝ äýï ðáñÜëëçëåò äéåñãáóßåò äåí èá åðé÷åéñÞóïõí ôáõôü÷ñïíá ðñüóâáóç óå äéáìïéñáæüìåíåò ðåñéï÷Ýò ìíÞìçò Þ ãåíéêüôåñá óå äéáìïéñáæüìåíïõò ðüñïõò ôïõ óõóôÞìáôïò.

Ï áðïêëåéóìüò ìéáò äéåñãáóßáò áðü êÜðïéá åíÝñãåéá, ç ïðïßá ôáõôü÷ñïíá åðéôåëåßôáé áðü êÜðïéá Üëëç äéåñãáóßá, ïíïìÜæåôáé áìïéâáßïò áðïêëåéóìüò (mutual exclusion). Óôï ðáñÜäåéãìá ôçò ðñïçãïýìåíçò åíüôçôáò, èá åß÷áìå áìïéâáßï áðïêëåéóìü, áí ôï óýóôçìá áðáãüñåõå óôç äéåñãáóßá  íá äéáâÜóåé ôçí ôéìÞ ôçò ìåôáâëçôÞò in, ðñïôïý ç äéåñãáóßá Á äéáâÜóåé ôç ìåôáâëçôÞ in êáé ôçí åíçìåñþóåé ìå ôç íÝá ôéìÞ (äåóìåýïíôáò Ýôóé ôç èÝóç 9 óôçí ïõñÜ åêôýðùóçò, þóôå ç  íá ãñÜøåé óôç èÝóç 10 êáé íá ìç ÷áèåß êáììéÜ åêôýðùóç). ÅîåôÜæïíôáò ôéò äéåñãáóßåò, äéáðéóôþíïõìå üôé êáôÜ ôçí åêôÝëåóÞ êÜèå ìéáò, áõôÞ: t åßôå áó÷ïëåßôáé ìå åóùôåñéêïýò õðïëïãéóìïýò ÷ñçóéìïðïéþíôáò áðïêëåéóôéêÜ äéêïýò ôçò ðüñïõò. t åßôå ðñïóðåëáýíåé êáé ÷ñçóéìïðïéåß äéáìïéñáæüìåíåò ðåñéï÷Ýò ìíÞìçò êáé äéáìïéñáæüìåíïõò ðüñïõò ôïõ óõóôÞìáôïò. Óôçí ðñþôç ðåñßðôùóç, ç äéåñãáóßá äåí ìðïñåß íá ðñïêáëÝóåé ðïôÝ óõíèÞêåò áíôáãùíéóìïý. Óôç äåýôåñç ðåñßðôùóç üìùò, åßíáé äõíáôüí, ç äéåñãáóßá íá äçìéïõñãÞóåé ôéò óõíèÞêåò áõôÝò óôï óýóôçìá.

ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá åêôåëåß ìÝñïò ôïõ ðñïãñÜììáôüò ôçò, óôï ïðïßï ðñïóðåëáýíåé äéáìïéñáæüìåíåò ðåñéï÷Ýò ìíÞìçò êáé ðüñïõò ôïõ óõóôÞìáôïò, ëÝìå üôé ç äéåñãáóßá áõôÞ Ý÷åé åéóÝëèåé óå êñßóéìï ôìÞìá ôçò (critical section). ÊáôÜ ôçí åêôÝëåóÞ ôçò, êÜèå äéåñãáóßá åéóÝñ÷åôáé åíáëëÜî óå êñßóéìá êáé ìç êñßóéìá ôìÞìáôá ôçò. Áí ôï óýóôçìá åîáóöáëßóåé üôé ðïôÝ äýï ðáñÜëëçëåò äéåñ-

205

206

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ãáóßåò äåí âñßóêïíôáé ôáõôü÷ñïíá óå êñßóéìï ôìÞìá ôïõò, ôüôå Ý÷åé åîáóöáëßóåé áìïéâáßï áðïêëåéóìü êáé óõíåðþò Ý÷åé áðïêëåßóåé ôçí åìöÜíéóç óõíèçêþí áíôáãùíéóìïý. Ç åîáóöÜëéóç åêôÝëåóçò åíüò ìüíï êñßóéìïõ ôìÞìáôïò êÜèå óôéãìÞ óôï óýóôçìá, áðïôåëåß ìéá ðñïûðüèåóç ãéá ôç óùóôÞ ëåéôïõñãßá ôïõ óõóôÞìáôïò. Äåí åßíáé ç ìüíç. Ãéá ôç óùóôÞ êáé áðïäïôéêÞ åðéêïéíùíßá êáé óõíåñãáóßá ôùí ðáñÜëëçëùí äéåñãáóéþí åíüò óõóôÞìáôïò, ðñÝðåé íá éêáíïðïéïýíôáé ïé áêüëïõèåò ôÝóóåñéò óõíèÞêåò (äéáôõðþèçêáí áðü ôï Dijkstra ôï 1965): 1. Äýï äéåñãáóßåò äå âñßóêïíôáé ðïôÝ ôáõôü÷ñïíá óôá êñßóéìá ôìÞìáôÜ ôïõò (áìïéâáßïò áðïêëåéóìüò). 2. Áí ìéá äéåñãáóßá äå âñßóêåôáé óå êñßóéìï ôìÞìá ôçò, ôüôå äåí åðéôñÝðåôáé íá áíáóôåßëëåé Üëëåò äéåñãáóßåò. 3. Áðáãïñåýïíôáé ïé õðïèÝóåéò óå üôé áöïñÜ óôçí ôá÷ýôçôá êáé óôï ðëÞèïò ôùí åðåîåñãáóôþí óôï óýóôçìá. 4. Áðáãïñåýåôáé óå êÜèå äéåñãáóßá íá ðåñéìÝíåé åð’ áüñéóôï ãéá íá åéóÝëèåé óôï êñßóéìï ôìÞìá ôçò. Ïé óõíèÞêåò 2 êáé 4 ðñïöõëÜóóïõí ôï óýóôçìá áðü ôï áäéÝîïäï (deadlock) Þ áëëéþò ôï áìïéâáßï ìðëïêÜñéóìá (mutual blocking), üðïõ üëåò ïé äéåñãáóßåò åìðïäßæïõí ç ìéá ôçí Üëëç íá åêôåëÝóåé ôï êñßóéìï ôìÞìá ôçò, åíþ ìßá áðü áõôÝò èá ìðïñïýóå íá ôï åêôåëÝóåé. ¸÷ïíôáò ïñßóåé ôï êñßóéìï ôìÞìá ôùí äéåñãáóéþí, ìðïñïýìå íá ðïýìå üôé: á. ÓõíèÞêåò áíôáãùíéóìïý åßíáé ïé óõíèÞêåò ðïõ åìöáíßæïíôáé óôï óýóôçìá, üôáí äýï ðáñÜëëçëåò äéåñãáóßåò ôáõôü÷ñïíá åéóÝñ÷ïíôáé óå êñßóéìï ôìÞìá ôïõò. â. Áìïéâáßïò áðïêëåéóìüò åßíáé ç áðáãüñåõóç óå ìéá äéåñãáóßá íá åéóÝëèåé óå êñßóéìï ôìÞìá ôçò, üôáí êÜðïéá Üëëç äéåñãáóßá âñßóêåôáé Þäç óå äéêü ôçò êñßóéìï ôìÞìá.

8.5 Áðëïß Ìç÷áíéóìïß Áìïéâáßïõ Áðïêëåéóìïý Óôçí ðáñïýóá åíüôçôá èá åîåôÜóïõìå äýï ìç÷áíéóìïýò ðïõ åðéôõã÷Üíïõí ôïí áìïéâáßï áðïêëåéóìü ôáõôü÷ñïíùí äéåñãáóéþí óå Ýíá óýóôçìá. Åêôüò áðü ôïõò ìç÷áíéóìïýò ôçò áðåíåñãïðïßçóçò äéáêïðþí êáé ôçò åíôïëÞò TSL (Test and Set Lock – Äïêßìáóå êáé èÝóå êëåßäùìá), éäéáßôåñá ãíùóôÞ åßíáé êáé ç ëýóç ôïõ Peterson, ç ïðïßá ðåñéãñÜöåôáé åêôåíþò óôç âéâëéïãñáößá ðïõ äßíåôáé óôï ôÝëïò ôïõ êåöáëáßïõ.

8.5.1 Áðåíåñãïðïßçóç äéáêïðþí Ìéá áðëÞ ëýóç ãéá ôçí åðéôõ÷ßá áìïéâáßïõ áðïêëåéóìïý åßíáé ç áðåíåñãïðïßçóç ôùí äéáêïðþí (interrupts) ôïõ óõóôÞìáôïò, êÜèå öïñÜ ðïõ ìéá äéåñãáóßá åéóÝñ÷åôáé óå êñßóéìï ôìÞìá ôçò. Ï ìç÷áíéóìüò áõôüò åããõÜôáé üôé, áí ìéá äéåñãáóßá ìðåé óå êñßóéìï ôìÞìá, ôüôå ç åêôÝëåóç ôïõ ôìÞìáôïò áõôïý èá ïëïêëçñùèåß, áöïý ôï óýóôçìá äå èá ìðïñåß íá äéáêüøåé ôçí åêôÝëåóç ôçò äéåñãáóßáò. Ìüëéò ïëïêëçñùèåß ôï êñßóéìï ôìÞìá, ïé äéáêïðÝò ôïõ óõóôÞìáôïò åíåñãïðïéïýíôáé îáíÜ.

Äéåñãáóßåò

Ç ëýóç áõôÞ ðáñïõóéÜæåé, åêôüò ôïõ ðëåïíåêôÞìáôïò ôçò áðëüôçôáò, óïâáñÜ ìåéïíåêôÞìáôá: t Ç åíåñãïðïßçóç/áðåíåñãïðïßçóç ôùí äéáêïðþí ôïõ óõóôÞìáôïò åßíáé åõèýíç ôùí äéåñãáóéþí. Åíþ áõôü ìðïñåß íá åßíáé áðïäåêôü ãéá ôéò äéåñãáóßåò ôïõ ðõñÞíá ôïõ óõóôÞìáôïò, èåùñåßôáé ìç áðïäåêôü ãéá ôéò äéåñãáóßåò ÷ñçóôþí. Ï ëüãïò åßíáé üôé, áí ìéá äéåñãáóßá ÷ñÞóôç äåí åíåñãïðïéåß/áðåíåñãïðïéåß óùóôÜ ôéò äéáêïðÝò ôïõ óõóôÞìáôïò, ôï óýóôçìá ìðïñåß íá êáôáññåýóåé, ãåãïíüò ðïõ åßíáé áðáñÜäåêôï. t Áí ôï óýóôçìá ðåñéëáìâÜíåé ðåñéóóüôåñåò ôçò ìéáò ÌÅ (ìïíÜäåò åðåîåñãáóßáò), ôüôå ç áðåíåñãïðïßçóç ôùí äéáêïðþí ðñáãìáôïðïéåßôáé ìüíï óôçí ÌÅ ðïõ åêôåëåß ôç äéåñãáóßá, ðïõ åéóÝñ÷åôáé óå êñßóéìï ôìÞìá. Åßíáé äõíáôüí Üëëåò äéåñãáóßåò íá åéóÝëèïõí óå êñßóéìá ôìÞìáôá êáôÜ ôçí åêôÝëåóÞ ôïõò óå Üëëåò ÌÅ ôïõ óõóôÞìáôïò. Ç áðåíåñãïðïßçóç ôùí äéáêïðþí üëùí ôùí ÌÅ, üôáí óå ìßá áðü áõôÝò åéóÝñ÷åôáé äéåñãáóßá ãéá åêôÝëåóç êñßóéìïõ ôìÞìáôïò, åßíáé Ýíá éäéáßôåñá óýíèåôï ðñüâëçìá, ðåñéóóüôåñï ßóùò êáé áðü ôï ðñüâëçìá ôïõ áìïéâáßïõ áðïêëåéóìïý. Óáí óõìðÝñáóìá, ìðïñïýìå íá ðïýìå üôé ï ìç÷áíéóìüò áðåíåñãïðïßçóçò äéáêïðþí, åíþ ìðïñåß íá åßíáé áðëüò êáé óõ÷íÜ âïëéêüò ãéá ôçí ðåñßðôùóç äéåñãáóéþí ôïõ ðõñÞíá ôïõ ËÓ, åßíáé ãåíéêÜ ìç áðïäåêôüò ãéá ÷ñÞóç áðü äéåñãáóßåò ÷ñçóôþí. Ãéá ôï ëüãï áõôü, óðÜíéá ðñïôéìÜôáé ðñïò õëïðïßçóç óå óýã÷ñïíá óõóôÞìáôá.

8.5.2 Ç ÅíôïëÞ TSL Ï ìç÷áíéóìüò TSL áðáéôåß ôç óõíäñïìÞ åéäéêïý õëéêïý. Ôï óýóôçìá ðáñÝ÷åé ìéá åíôïëÞ, ôçí “¸ëåãîå êáé ÈÝóå Êëåßäùìᔠ(Test and Set Lock), ìå ôçí ïðïßá ç ÊÌÅ äéáâÜæåé ôï ðåñéå÷üìåíï ìéáò èÝóçò ìíÞìçò êáé áðïèçêåýåé óôç èÝóç áõôÞ ìç ìçäåíéêÞ ôéìÞ. Ç áíÜãíùóç êáé ç åããñáöÞ óôç ìíÞìç ãßíïíôáé áäéáßñåôá, åíþ ôáõôü÷ñïíá êáé üóï äéáñêåß ç åêôÝëåóç ôçò åíôïëÞò, áðïêëåßåôáé êáé ç ðñüóâáóç ïðïéïõäÞðïôå Üëëïõ åðåîåñãáóôÞ óôç óõãêåêñéìÝíç èÝóç ìíÞìçò. Ï óõã÷ñïíéóìüò äéåñãáóéþí êáé ï áìïéâáßïò áðïêëåéóìüò åðéôõã÷Üíïíôáé óôï óýóôçìá ìÝóù ìéáò äéáìïéñáæüìåíçò ìåôáâëçôÞò flag. Ï ìç÷áíéóìüò ëåéôïõñãåß ùò åîÞò: t ¼ôáí ç ìåôáâëçôÞ Ý÷åé ôçí ôéìÞ 0, ôüôå êáìéÜ äéåñãáóßá äå âñßóêåôáé óå êñßóéìï ôìÞìá ôçò. ¼ôáí ç ìåôáâëçôÞ Ý÷åé ôéìÞ 1, ôüôå êÜðïéá äéåñãáóßá óôï óýóôçìá âñßóêåôáé óå êñßóéìï ôìÞìá ôçò. t ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá èÝëåé íá ìðåé óå êñßóéìï ôìÞìá, ÷ñçóéìïðïéåß ôçí åíôïëÞ TSL êáé åëÝã÷åé ôçí ôéìÞ ôçò flag. Áí ôç âñåé 0, áõôüìáôá ôç èÝôåé 1 êáé ìðáßíåé óôï êñßóéìï ôìÞìá ôçò. Áí ôç âñåé 1, äåí åéóÝñ÷åôáé óôï êñßóéìï ôìÞìá, ðáñÜ åðáíáëáìâÜíåé ôïí Ýëåã÷ï. t ¼ôáí ìéá äéåñãáóßá ïëïêëçñþóåé ôï êñßóéìï ôìÞìá ôçò, ôüôå ìå ìéá áðëÞ åíôïëÞ èÝôåé ôçí ôéìÞ ôçò flag óå 0. Åßíáé ðñïöáíÝò üôé ðïôÝ äýï äéåñãáóßåò äå èá âñßóêïíôáé ôáõôü÷ñïíá óå êñßóéìá ôìÞìáôÜ ôïõò. Ç áäéáßñåôç åêôÝëåóç áíÜãíùóçò êáé åããñáöÞò áðü êáé ðñïò ôç flag êáé ï áðïêëåéóìüò ôçò ìåôáâëçôÞò áðü üëïõò ôïõò Üëëïõò åðåîåñãáóôÝò ôïõ óõóôÞìáôïò, ðïõ ðåôõ÷áßíåé ç åíôïëÞ TSL, åããõÜôáé, üôé ðïôÝ äåí ðñüêåéôáé ìéá äéåñãáóßá íá ðñïóðåëÜóåé ôç flag, åíþ áõôÞ ðñïóðåëáýíåôáé Þäç áðü êÜðïéá Üëëç.

207

208

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

8.6 Åíåñãüò ÁíáìïíÞ êáé Áðåíåñãïðïßçóç-Áöýðíéóç Ï ìç÷áíéóìüò TSL ðïõ åîåôÜóáìå óôçí åíüôçôá 8.5 Ý÷åé ìéá óïâáñÞ áôÝëåéá. ÊÜèå äéåñãáóßá ðïõ èÝëåé íá åéóÝëèåé óå êñßóéìï ôìÞìá ôçò, åëÝã÷åé óõíå÷þò ôçí ôéìÞ ìéáò äéáìïéñáæüìåíçò ìåôáâëçôÞò ìÝ÷ñé íá âñåé óå áõôÞí ôçí ôéìÞ ðïõ èá ôçò åðéôñÝøåé íá åéóÝëèåé óôï êñßóéìï ôìÞìá ôçò. ¼ëåò ïé äéåñãáóßåò ðïõ áíáìÝíïõí, êáôáíáëþíïõí ÷ñüíï óå ÌÅ ôïõ óõóôÞìáôïò, áöïý åêôåëïýí Ýíá âñü÷ï ðïõ ðåñéëáìâÜíåé ôïí Ýëåã÷ï ôçò ìåôáâëçôÞò. Ïé äéåñãáóßåò áõôÝò, üóï ðåñéìÝíïõí äåí ðáñÜãïõí êáíÝíá Ýñãï.

Ï åðáíáëáìâáíüìåíïò Ýëåã÷ïò ôçò äéáìïéñáæüìåíçò ìåôáâëçôÞò ïíïìÜæåôáé åíåñãüò áíáìïíÞ (busy waiting) êáé åßíáé ðñïöáíÝò üôé óðáôáëÜ ÷ñüíï ôïõ åðåîåñãáóôÞ (åêôåëþíôáò óõíå÷þò ôïí Ýëåã÷ï ôçò äéáìïéñáæüìåíçò ìåôáâëçôÞò) Óôç óõíÝ÷åéá, èá åîåôÜóïõìå ôï ìç÷áíéóìü óçìáôïöïñÝùí, ï ïðïßïò áíáãêÜæåé ôéò äéåñãáóßåò ðïõ èÝëïõí íá åéóÝëèïõí óå êñßóéìá ôìÞìáôá íá áðåíåñãïðïéïýíôáé áíôß íá êáôáíáëþíïõí ÷ñüíï ôçò ÊÌÅ, åíþ ðåñéìÝíïõí.

8.7 Óçìáôïöïñåßò Ï ìç÷áíéóìüò ôùí óçìáôïöïñÝùí, áðïôåëåß Ýíáí áðü ôïõò ðéï áðïäïôéêïýò êáé ðéï äéáäåäïìÝíïõò ìç÷áíéóìïýò äéáäéåñãáóéáêÞò óõíåñãáóßáò. ¢ëëïé áíÜëïãïé ìç÷áíéóìïß, ðïõ ÷ñçóéìïðïéïýíôáé êáé ïé ïðïßïé êáëýðôïíôáé óôçí ðñïôåéíüìåíç âéâëéïãñáößá, åßíáé áõôïß ôùí ðáñáêïëïõèçôþí, ôùí ìåôñçôþí óõìâÜíôùí êáé ôçò áíôáëëáãÞò ìçíõìÜôùí. Áðïäåéêíýåôáé üôé üëïé ïé ìç÷áíéóìïß áõôïß åßíáé åíôåëþò éóïäýíáìïé. Áò åîåôÜóïõìå ìéá åôáéñåßá ìå ðïëëïýò åñãáæüìåíïõò, ðïõ ìïéñÜæïíôáé äýï ôçëåöùíéêÝò ãñáììÝò, ìßá ãéá ôïðéêÜ ôçëåöùíÞìáôá êáé ìßá ãéá õðåñáóôéêÜ. ÊÜèå åñãáæüìåíïò Ý÷åé ìéá ôçëåöùíéêÞ óõóêåõÞ óõíäåäåìÝíç êáé óôéò äýï ãñáììÝò. ÊÜèå óõóêåõÞ Ý÷åé äýï ëáìðÜêéá, Ýíá ãéá êÜèå ãñáììÞ. ¼ôáí ìéá ãñáììÞ åßíáé åëåýèåñç, ôüôå ôï áíôßóôïé÷ï ëáìðÜêé óå üëåò ôéò óõóêåõÝò åßíáé óâçóôü. ¼ôáí åßíáé êáôåéëçìÝíç, ôï áíôßóôïé÷ï ëáìðÜêé åßíáé áíáììÝíï óå üëåò ôéò óõóêåõÝò. ÅðéðëÝïí, ôï óýóôçìá Ý÷åé ñõèìéóôåß, Ýôóé þóôå êáíÝíáò íá ìçí ìðïñåß íá áêïýóåé óõíïìéëßá Üëëïõ, áí óçêþóåé ôï áêïõóôéêü åíþ ç ãñáììÞ åßíáé êáôåéëçìÝíç. Ïôáí êÜðïéïò èÝëåé íá ôçëåöùíÞóåé, åîåôÜæåé ôï ëáìðÜêé ôçò ãñáììÞò ðïõ èÝëåé íá äåóìåýóåé (áíÜëïãá ìå ôï ôçëåöþíçìá ðïõ ðñüêåéôáé íá êÜíåé). Áí ôï äåé áíáììÝíï, ðåñéìÝíåé åêôåëþíôáò Üëëåò åñãáóßåò ìÝ÷ñé ôï ëáìðÜêé íá óâÞóåé. Áí ôï äåé óâçóôü, óçêþíåé ôï áêïõóôéêü êáé êáëåß ôïí áñéèìü ðïõ åðéèõìåß. Óå áõôÞ ôçí ðåñßðôùóç, ç ãñáììÞ äåóìåýåôáé êáé ôï ëáìðÜêé ôçò áíÜâåé óå üëåò ôéò óõóêåõÝò. Ìüëéò ôåëåéþóåé ôï ôçëåöþíçìÜ ôïõ êáôåâÜæåé ôï áêïõóôéêü, ïðüôå ç ãñáììÞ åëåõèåñþíåôáé êáé ôï áíôßóôïé÷ï ëáìðÜêé óâÞíåé óå üëåò ôéò óõóêåõÝò. Ç ãñáììÞ åßíáé äéáèÝóéìç óôïí åðüìåíï ðïõ èÝëåé íá ôç ÷ñçóéìïðïéÞóåé. Ôï óýóôçìá ðïõ ðåñéãñÜøáìå åßíáé ôáõôüóçìï ìå Ýíá õðïëïãéóôÞ ðïõ ÷ñçóéìïðïéåß äýï óçìáôïöïñåßò ãéá íá ðåôý÷åé áìïéâáßï áðïêëåéóìü ðáñÜëëçëùí äéåñãáóéþí ðïõ åðéèõìïýí ÷ñÞóç êïéíþí ðüñùí ôïõ óõóôÞìáôïò:

Äéåñãáóßåò

t Ïé åñãáæüìåíïé åßíáé ïé äéåñãáóßåò t Ïé äýï ôçëåöùíéêÝò ãñáììÝò åßíáé ïé ìïéñáæüìåíïé ðüñïé t Ôá äýï ëáìðÜêéá óôéò óõóêåõÝò åßíáé ïé äýï óçìáôïöïñåßò ôïõ óõóôÞìáôïò t Ç ÷ñÞóç ìéáò ôçëåöùíéêÞò ãñáììÞò áðü Ýíáí åñãáæüìåíï éóïäõíáìåß ìå ôçí åêôÝëåóç êñßóéìïõ ôìÞìáôïò ìéáò äéåñãáóßáò. ¼ðùò êáé óôçí åôáéñåßá, Ýôóé êáé óôïí õðïëïãéóôÞ ïé óçìáôïöïñåßò Ý÷ïõí (óõíÞèùò) äýï ôéìÝò: t ÔéìÞ = 1 (éóïäõíáìåß ìå óâçóôü ëáìðÜêé) ðïõ äçëþíåé üôé ï ìïéñáæüìåíïò ðüñïò åßíáé åëåýèåñïò). t ÔéìÞ = 0 (éóïäõíáìåß ìå áíáììÝíï ëáìðÜêé) ðïõ äçëþíåé üôé ï ìïéñáæüìåíïò ðüñïò ÷ñçóéìïðïéåßôáé. Ðáñáôçñåßóôå ïôé êÜèå óçìáôïöïñÝáò, óå áíôéóôïé÷ßá ìå ôá ëáìðÜêéá, åëÝã÷åé ôç ÷ñÞóç åíüò ìüíï êïéíïý ðüñïõ. Èá äïýìå ôþñá ôï ãåíéêü ïñéóìü ôùí óçìáôïöïñÝùí, ðïõ ðñïôÜèçêå áðü ôïí Dijkstra ôï 1965:

Ï óçìáôïöïñÝáò (semaphore) åßíáé Ýíáò ôýðïò áêÝñáéáò ìåôáâëçôÞò ðïõ ÷ñçóéìïðïéåßôáé ãéá ôçí êáôáìÝôñçóç ôùí óçìÜôùí áðåíåñãïðïßçóçò/áöýðíéóçò ðñïò ìéá äéåñãáóßá, þóôå áõôÜ ôá óÞìáôá íá ìç ÷Üíïíôáé, áëëÜ íá ìðïñïýí íá ÷ñçóéìïðïéïýíôáé ìåëëïíôéêÜ.

Ó÷Þìá 8.8 Ïé äéåñãáóßåò óå Ýíá ËÓ ÷ñçóéìïðïéïýí ôïõò óçìáôïöïñåßò ãéá íá åðéêïéíùíïýí ìåôáîý ôïõò êáé ãéá íá óõã÷ñïíßæïíôáé.

Ç ôéìÞ åíüò óçìáôïöïñÝá åßíáé: • 0, üôáí äåí Ý÷åé áðïóôáëåß êáíÝíá óÞìá áöýðíéóçò óå äéåñãáóßá • ó>0, üôáí Ý÷ïõí áðïóôáëåß ó ôï ðëÞèïò, óÞìáôá áöýðíéóçò óå äéåñãáóßåò

Ïôáí Ýíáò óçìáôïöïñÝáò ïñéóôåß íá ðáßñíåé ôéìÝò 0 êáé 1, ìüíï ôüôå ïíïìÜæåôáé äõáäéêüò óçìáôïöïñÝáò êáé ÷ñçóéìïðïéåßôáé ãéá ôçí åîáóöÜëéóç áìïéâáßïõ áðïêëåéóìïý óôï óýóôçìá. Ïé óçìáôïöïñåßò ðïõ ÷ñçóéìïðïéïýíôáé ãéá ôçí åðéêïéíùíßá äéåñãáóéþí ðáßñíïõí êáé èåôéêÝò ôéìÝò ìåãáëýôåñåò ôïõ 1. Óå Ýíá óýóôçìá ìå óçìáôïöïñåßò ïñßæïíôáé ïé êëÞóåéò óõóôÞìáôïò down êáé up: t ÊëÞóç down(s). ¼ôáí êáëåßôáé áðü ôç äéåñãáóßá ×, åëÝ÷ãåé áí ï óçìáôïöïñÝáò s Ý÷åé ôéìÞ ìåãáëýôåñç ôïõ 0. Áí s>0 ôüôå ìåéþíåé ôçí ôéìÞ ôïõ s êáôÜ 1. Áí üìùò s=0, ôüôå ç äéåñãáóßá X áðåíåñãïðïéåßôáé (áíáóôÝëëåôáé). t ÊëÞóç up(s). Ç êëÞóç áõîÜíåé ôçí ôéìÞ ôïõ óçìáôïöïñÝá s êáôÜ 1. Áí õðÜñ÷ïõí óôï óýóôçìá äéåñãáóßåò ðïõ Ý÷ïõí áðåíåñãïðïéçèåß ìÝóù ôïõ s - äåí ìðüñåóáí íá åêôåëÝóïõí ôçí down(s) – ôï óýóôçìá åðéëÝãåé ìßá ôçí ïðïßá êáé áöõðíßæåé (ôçí êÜíåé Ýôïéìç).

209

210

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åßíáé ðñïöáíÝò üôé, áí êÜðïéá äéåñãáóßá áöõðíéóôåß ìÝóù ôçò êëÞóçò up(s), ôüôå áõôÞ èá åêôåëÝóåé áìÝóùò ôçí êëÞóç down(s), áöïý åêåß åß÷å áðåíåñãïðïéçèåß. Ï óçìáôïöïñÝáò s, ìåôÜ ôéò up(s) êáé down(s) èá Ý÷åé ðÜëé ôéìÞ 0.

Ó÷Þìá 8.9 ÁëëáãÞ êáôÜóôáóçò äéåñãáóéþí óå óýóôçìá ìå óçìáôïöïñåßò (s)

Áí îáíáãõñßóïõìå óôï ðáñÜäåéãìá ôçò åôáéñåßáò ìå ôéò äýï ôçëåöùíéêÝò ãñáììÝò, âëÝðïõìå ïôé: ï Ýëåã÷ïò ðïõ êÜíåé ï åñãáæüìåíïò óôï ëáìðÜêé ìå óêïðü íá ðÜñåé ôç ãñáììÞ éóïäõíáìåß ìå ôçí êëÞóç down(s) óôï óçìáôïöïñÝá ôçò êáôÜëëçëçò ãñáììÞò. Áí ôï ëáìðÜêé åßíáé óâçóôü (s=1), ç êëÞóç down ìåéþíåé ôï óçìáôïöïñÝá êáôÜ 1 (ãßíåôáé s=0) êáé ï åñãáæüìåíïò ôçëåöùíåß. Ï åðüìåíïò åñãáæüìåíïò âëÝðåé ðëÝïí ôï ëáìðÜêé áíáììÝíï (s=0) ïðüôå, üôáí ðñïóðáèåß íá åêôåëåß ôçí down(s), ðåñéìÝíåé. Ç áðåëåõèÝñùóç ôçò ãñáììÞò áðü Ýíáí åñãáæüìåíï, üôáí ëÞîåé ôï ôçëåöþíçìÜ ôïõ, éóïäõíáìåß ìå ôç ëåéôïõñãßá up(s) óôï óçìáôïöïñÝá ôçò êáôÜëëçëçò ãñáììÞò. O óçìáôïöïñÝáò áõîÜíåé (ãßíåôáé s=1), ïðüôå áõôüìáôá êÜðïéïò Üëëïò ðïõ ðåñßìåíå (åðåéäÞ åß÷å äåé s=0 äçëáäÞ ëáìðÜêé áíáìÝíï) ìðïñåß íá ðÜñåé ôç ãñáììÞ (íá åêôåëÝóåé äçëáäÞ ôç äéêÞ ôïõ down(s)). Êñßóéìï óçìåßï óôï ìç÷áíéóìü ôùí óçìáôïöïñÝùí åßíáé ôï ãåãïíüò üôé êáé ç êëÞóç down êáé ç êëÞóç up åßíáé áäéáßñåôåò. ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá îåêéíÜ ìéá êëÞóç up Þ down ãéá Ýíá óçìáôïöïñÝá ç êëÞóç ïëïêëçñþíåôáé, ðñéí äïèåß ï Ýëåã÷ïò óå Üëëç äéåñãáóßá. ÅðéðëÝïí, óå óýóôçìá ìå ðïëëÝò ìïíÜäåò åðåîåñãáóßáò (ÌÅ), êáìéÜ Üëëç ðáñÜëëçëç äéåñãáóßá äåí Ý÷åé ðñüóâáóç óôï óçìáôïöïñÝá áõôü. Ìå Üëëá ëüãéá: t ¼ôáí åêôåëåßôáé ç êëÞóç down(s) ï Ýëåã÷ïò êáé ìåôáâïëÞ ôçò ôéìÞò ôïõ s Þ ç áðåíåñãïðïßçóç ôçò êáëïýóáò äéåñãáóßáò ïëïêëçñþíïíôáé ÷ùñßò äéáêïðÞ. ÐáñÜëëçëá, êáôÜ ôçí åêôÝëåóç ôçò êëÞóçò, êáììßá Üëëç ÌÅ äåí ìðïñåß íá åêôåëÝóåé ëåéôïõñãßá down(s) Þ up(s). t ¼ôáí åêôåëåßôáé ç êëÞóç up(s), ç ìåôáâïëÞ ôçò ôéìÞò ôïõ s êáé ç ðéèáíÞ áöýðíéóç êÜðïéáò äéåñãáóßáò ïëïêëçñþíïíôáé ÷ùñßò äéáêïðÞ. ÐáñÜëëçëá êáôÜ ôçí åêôÝëåóç ôçò êëÞóçò, êáìéÜ Üëëç ÌÅ äåí ìðïñåß íá åêôåëÝóåé ëåéôïõñãßá down(s) Þ up(s). Óå Ýíá óýóôçìá ìå ðïëëïýò êïéíü÷ñçóôïõò ðüñïõò õðÜñ÷ïõí êáé ðïëëïß óçìáôïöïñåßò. Ôï ËÓ, ãéá íá ìðïñåß íá äéá÷åéñßæåôáé åýêïëá ôéò äéåñãáóßåò ðïõ ðåñéìÝíïõí êÜèå óçìáôïöïñÝá, ÷ùñßæåé ôéò äéåñãáóßåò ðïõ Ý÷ïõí áðåíåñãïðïéçèåß (âñßóêïíôáé

Äéåñãáóßåò

õðü áíáóôïëÞ) óå ôüóåò ëßóôåò áíáìïíÞò üóïé êáé ïé óçìáôïöïñåßò. ÊÜèå äéåñãáóßá ðåñéìÝíåé óôç ëßóôá áíáìïíÞò ôïõ óçìáôïöïñÝá ðïõ ôçí Ý÷åé áðåíåñãïðïéÞóåé. Óôï óýóôçìá õðÜñ÷ïõí öõóéêÜ êáé äéåñãáóßåò ðïõ äåí ðåñéìÝíïõí êáíÝíá óçìáôïöïñÝá. ÁõôÝò åßíáé ïé Ýôïéìåò äéåñãáóßåò êáé ðåñéìÝíïõí åîõðçñÝôçóç áðü ôçí ÊÌÅ óå îå÷ùñéóôÞ ëßóôá, ôç ëßóôá Ýôïéìùí äéåñãáóéþí (Ready List – RL). Ïé ëßóôåò áíáìïíÞò ôùí óçìáôïöïñÝùí åßíáé ïñãáíùìÝíåò ùò ïõñÝò. ÊÜèå öïñÜ åîõðçñåôåßôáé ç äéåñãáóßá ðïõ ðåñéìÝíåé óôç ëßóôá ôçí ðåñéóóüôåñç þñá (üðùò êáé óôá ôáìåßá ôçò ôñÜðåæáò). ÏñãÜíùóç ïõñÜò Ý÷åé óõíÞèùò êáé ç ëßóôá Ýôïéìùí äéåñãáóéþí. Óôï ó÷Þìá 8.10 öáßíåôáé ç ÷ñÞóç ôùí óçìáôïöïñÝùí áðü ìéá äéåñãáóßá ðïõ åêôåëåßôáé êáé æçôÜ íá åéóÝëèåé óå êñßóéìï ôìÞìá ôçò. Ðáñáôçñåßóôå ïôé, áíÜëïãá ìå ôçí êáôÜóôáóç (ôéìÞ) ôïõ óçìáôïöïñÝá, áðåíåñãïðïéåßôáé Þ óõíå÷ßæåé ôçí åêôÝëåóÞ ôçò. Åðßóçò, áí ç äéåñãáóßá Ý÷åé áðåíåñãïðïéçèåß êáé ï óçìáôïöïñÝáò áëëÜîåé ôéìÞ, ôüôå ôï ËÓ åíåñãïðïéåß êáé ðÜëé ôç äéåñãáóßá.

Ó÷Þìá 8.10 ×ñÞóç óçìáôïöïñÝá áðü äéåñãáóßá ãéá åêôÝëåóç êñßóéìïõ ôìÞìáôüò ôçò

Ôï ðñüâëçìá óõããñáöÝùí êáé áíáãíùóôþí Èá åîåôÜóïõìå ôïí ôñüðï ðïõ ÷ñçóéìïðïéïýíôáé ïé óçìáôïöïñåßò ãéá íá ëýóïõí Ýíá áðü ôá êëáóóéêüôåñá ðñïâëÞìáôá óôçí åðéóôÞìç ôùí õðïëïãéóôþí, ôï ðñüâëçìá óõããñáöÝùí êáé áíáãíùóôþí. Ôï ðñüâëçìá åìöáíßæåôáé ìå äéÜöïñåò ìïñöÝò áëëÜ ðéï óõíçèéóìÝíï åßíáé óôç ìïñöÞ ðïõ ðáßñíåé óôéò âÜóåéò äåäïìÝíùí.

211

212

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åêåß, ìéá ïìÜäá äéåñãáóéþí ìïéñÜæåôáé åíá áñ÷åßï, óôï ïðïßï êÜðïéåò áðü ôéò äéåñãáóßåò (óõããñáöåßò) èÝëïõí íá ãñÜøïõí ðëçñïöïñßåò êáé íá ôï ôñïðïðïéÞóïõí, åíþ êÜðïéåò Üëëåò äéåñãáóßåò (áíáãíþóôåò) èÝëïõí íá äéáâÜóïõí ðëçñïöïñßá áðü áõôü. Ãéá íá åîáóöáëßóïõìå ôçí áêåñáéüôçôá ôùí äåäïìÝíùí, ðñÝðåé êÜèå óõããñáöÝáò íá Ý÷åé áðïêëåéóôéêÞ ðñüóâáóç óôï áñ÷åßï. ¼ôáí ãñÜöåé äçëáäÞ ìéá äéåñãáóßá óôï áñ÷åßï, êáìßá Üëëç äåí èá ðñÝðåé íá ìðïñåß íá ôï ÷ñçóéìïðïéÞóåé ïýôå ãéá åããñáöÞ áëëÜ ïýôå êáé ãéá áíÜãíùóç. Óôçí ðåñßðôùóç ôçò áíÜãíùóçò, áíôßèåôá, ìðïñïýìå íá Ý÷ïõìå ðïëëÝò äéåñãáóßåò íá äéáâÜæïõí ôáõôü÷ñïíá. Óå ðåñßðôùóç ðïõ ôçí ßäéá óôéãìÞ åíåñãïðïéïýíôáé Ýíáò óõããñáöÝáò êáé Ýíáò áíáãíþóôçò èá èåùñÞóïõìå ïôé ðñïôåñáéüôçôá Ý÷åé ï áíáãíþóôçò. Ï óõããñáöÝáò äçëáäÞ ðñÝðåé íá ðåñéìÝíåé íá ïëïêëçñùèïýí üëåò ïé åñãáóßåò áíÜãíùóçò. Ç ðáñáäï÷Þ áõôÞ äåí åßíáé õðï÷ñåùôéêÞ, èá ìðïñïýóå íá óõìâáßíåé êáé ôï áíôßóôñïöï. Ç ìüíç äéáöïñÜ èá Þôáí ðùò ðéï åõíïçìÝíïé èá Þôáí ôüôå ïé óõããñáöåßò êáé ü÷é ïé áíáãíþóôåò. Ïé áðëïýóôåñåò ìïñöÝò ôùí äéåñãáóéþí ôùí óõããñáöÝùí êáé ôùí áíáãíùóôþí öáßíïíôáé óôï ó÷Þìá 8.11.

Óõããñáöåßò Write(file, text) Áíáãíþóôåò Read(file, text) Ó÷Þìá 8.11

Ãéá íá åîáóöáëßóïõìå üôé ìüíï Ýíáò óõããñáöÝáò ãñÜöåé ðÜíôá óôï áñ÷åßï, èá ÷ñçóéìïðïéÞóïõìå Ýíá óçìáôïöïñÝá ìå áñ÷éêÞ ôéìÞ 1. Èá ôïí ïíïìÜóïõìå w. ÊÜèå öïñÜ ðïõ Ýíáò óõããñáöÝáò èÝëåé íá ãñÜøåé, èá êáôáëáìâÜíåé ôï óçìáôïöïñÝá ìå ôçí êëÞóç down(w). ¼óï ãñÜöåé, üëïé ïé Üëëïé óõããñáöåßò, áí ðñïóðáèÞóïõí íá ãñÜøïõí, èá âñßóêïõí w=0 êáé èá áðåíåñãïðïéïýíôáé óôçí äéêÞ ôïõò êëÞóç down(w). Ôï íÝï ðñüãñáììá ôùí óõããñáöÝùí öáßíåôáé óôï ó÷Þìá 8.12. ÐñÝðåé ôþñá íá åîáóöáëßóïõìå ïôé, üôáí Ýíáò áíáãíþóôçò äéáâÜæåé, êáíÝíáò óõããñáöÝáò äåí èá ìðïñåß íá ãñÜøåé. Áõôü èá ãßíåé ìÝóù ôïõ óçìáôïöïñÝá w ðïõ åëÝã÷ïõí ïé óõããñáöåßò ðñéí ãñÜøïõí. Áí êÜèå öïñÜ ðïõ åíåñãïðïéåßôáé åíáò áíáãíþóôçò äåóìåýåé ôï óçìáôïöïñÝá w, ôüôå ïé óõããñáöåßò èá ìðëïêÜñïíôáé. Ïôáí ïëïêëçñþóåé ï áíáãíþóôçò, èá åëåõèåñþíåé ôï óçìáôïöïñÝá ìå ôçí êëÞóç up(w) ïðüôå, áí õðÜñ÷åé óõããñáöÝáò ðïõ ðåñéìÝíåé, èá åíåñãïðïéåßôáé. Áí üìùò ïé áíáãíþóôåò åëÝã÷ïõí ôïí w, ôüôå ðþò èá ìðïñïýí íá äéáâÜæïõí ðïëëïß ôáõôü÷ñïíá; Áõôü èá ëõèåß ìå ôçí ðñïóèÞêç ìéáò êïéíÞò ìåôáâëçôÞò, ôçò readers. Ç ìåôáâëçôÞ Ý÷åé áñ÷éêÞ ôéìÞ 0. ÊÜèå áíáãíþóôçò ôçí áõ-

Óõããñáöåßò Down(w) Write(file, text) Up(w) Ó÷Þìá 8.12

Áíáãíþóôåò readers := readers + 1 If readers = 1 then Down(w) Read(file, text) readers := readers – 1 if readers = 0 then up(w) Ó÷Þìá 8.13

Äéåñãáóßåò

îÜíåé ðñéí áñ÷ßóåé ôï äéÜâáóìá êáé ôç ìåéþíåé ïôáí ôåëåéþóåé. ÊÜèå óôéãìÞ ç readers, äçëþíåé ôïí áñéèìü ôùí áíáãíùóôþí ðïõ äéáâÜæïõí. ×ñçóéìïðïéþíôáò ôçí readers åíáò áíáãíþóôçò ãíùñßæåé áí åßíáé ï ðñþôïò Þ ï ôåëåõôáßïò ðïõ äéáâÜæåé. Óôïí êþäéêá ôùí áíáãíùóôþí âÜæïõìå Ýëåã÷ï, Ýôóé þóôå ìüíï ï ðñþôïò íá äåóìåýåé ôïí óçìáôïöïñÝá w êáé ìüíï ï ôåëåõôáßïò íá ôïí åëåõèåñþíåé. Ï êþäéêáò öáßíåôáé óôï ó÷Þìá 8.13. ÊïéíÞ ìåôáâëçôÞ óçìáßíåé êáé áíÜãêç óçìáôïöïñÝá. ÐñÜãìáôé ç readers ìðïñåß íá ìåôáâÜëëåôáé áíåîÝëåãêôá áðü ðïëëïýò ôáõôü÷ñïíá áíáãíþóôåò. Áõôü ìðïñåß íá äçìéïõñãÞóåé óïâáñÜ ðñïâëÞìáôá êáé êáôÜññåõóç ôïõ óõóôÞìáôïò. Ç óùóôÞ ëýóç áðáéôåß ç ðñüóâáóç ôùí áíáãíùóôþí óôç ìåôáâëçôÞ íá öõëÜóóåôáé ìå óçìáôïöïñÝá (ôïí r). Ï ôåëéêüò êþäéêáò ôïõ áíáãíþóôç äßíåôáé óôï ó÷Þìá 8.14.

Áíáãíþóôåò Down(r) readers := readers + 1 up(r) If readers = 1 then Down(w) Read(file, text) Down(r) readers := readers - 1 up(r) if readers = 0 then up(w) Ó÷Þìá 8.14

8.8 ×ñïíïäñïìïëüãçóç ÅðåîåñãáóôÞ Óôï ðáñåëèüí, óôá ðåñéóóüôåñá óõóôÞìáôá Þôáí äõíáôÞ ç åêôÝëåóç ìéáò ìüíï äéåñãáóßáò áðü ôï óýóôçìá õðïëïãéóôÞ. Ç ÊÌÅ áöéåñùíüôáí óôç äéåñãáóßá áõôÞ êáé ìüíï ìå ôç ëÞîç ôçò Þôáí äõíáôü ôï óýóôçìá Þ êÜðïéïò ÷ñÞóôçò íá åêêéíÞóåé ìéá íÝá. Áíôßèåôá, óå êÜèå óýã÷ñïíï óýóôçìá åßíáé ðïëý óõíçèéóìÝíï íá õðÜñ÷ïõí êÜèå óôéãìÞ áñêåôÝò äéåñãáóßåò, åßôå ôïõ ËÓ åßôå åíüò Þ ðåñéóóüôåñùí ÷ñçóôþí, ïé ïðïßåò åßíáé åêôåëÝóéìåò. Óôéò ðåñéðôþóåéò üðïõ õðÜñ÷ïõí ðåñéóóüôåñåò ôçò ìéáò Ýôïéìåò äéåñãáóßåò, ðñÝðåé ôï óýóôçìá íá áðïöáóßóåé ðïéá èá åêôåëåóôåß ðñþôç êáé ðþò ï ÷ñüíïò ôçò ÊÌÅ èá êáôáíåìçèåß óôéò äéåñãáóßåò áõôÝò. Ôï õðïóýóôçìá ôïõ ËÓ ðïõ êáèïñßæåé ìå ðïéï ôñüðï êáé ðïéá óåéñÜ èá êáôáíÝìåôáé ï ÷ñüíïò ôçò åðåîåñãáóôéêÞò éó÷ýïò óôéò åêôåëÝóéìåò äéåñãáóßåò ïíïìÜæåôáé ÷ñïíïäñïìïëïãçôÞò (scheduler). Ï áëãüñéèìïò ðïõ ÷ñçóéìïðïéåß ï ÷ñïíïäñïìïëïãçôÞò ãéá ôçí åêôÝëåóç ôçò åñãáóßáò ôïõ, ï ôñüðïò äçëáäÞ ðïõ ãßíåôáé ï ÷ñïíïäñïìïëüãçóç, ïíïìÜæåôáé áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò (scheduling algorithm).

213

214

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åðßðåäá ×ñïíïäñïìïëüãçóçò Óå êÜèå óýóôçìá õðÜñ÷ïõí äýï åðßðåäá ÷ñïíïäñïìïëüãçóçò êáé óõíåðþò äýï ÷ñïíïäñïìïëïãçôÝò (Üñá êáé 2 ßäéïé Þ äéáöïñåôéêïß áëãüñéèìïé ÷ñïíïäñïìïëüãçóçò) t Ç ìáêñï÷ñüíéá ÷ñïíïäñïìïëüãçóç Þ ÷ñïíïäñïìïëüãçóç åñãáóéþí (long term scheduling Þ job scheduling). Óå áõôü ôï åðßðåäï, ôï óýóôçìá åðéëÝãåé áðü üëåò ôéò äéåñãáóßåò ðïõ Ý÷ïõí õðïâëçèåß óôï óýóôçìá, ðïéåò èá Ýñèïõí óôç ìíÞìç (áðü ôï ìÝóï áðïèÞêåõóçò ðïõ âñßóêïíôáé) êáé èá åêôåëåóèïýí. Ïé äéåñãáóßåò áõôÝò åéóÜãïíôáé óôç ëßóôá Ýôïéìùí äéåñãáóéþí ôïõ óõóôÞìáôïò. t Ç âñá÷õ÷ñüíéá ÷ñïíïäñïìïëüãçóç Þ ÷ñïíïäñïìïëüãçóç ÊÌÅ (short term scheduling Þ CPU scheduling). Óôï åðßðåäï áõôü, ôï óýóôçìá åðéëÝãåé ðïéá áðü ôéò äéåñãáóßåò ðïõ Ý÷ïõí åðéëåãåß áðü ôç ìáêñï÷ñüíéá ÷ñïíïäñïìïëüãçóç èá åêôåëåßôáé êÜèå öïñÜ óôçí ÊÌÅ. Ç âáóéêÞ äéáöïñÜ ôùí äýï äéáäéêáóéþí åßíáé ç óõ÷íüôçôá ìå ôçí ïðïßá åêôåëïýíôáé. Ï ìáêñï÷ñüíéïò ÷ñïíïäñïìïëïãçôÞò åêôåëåßôáé áõôüìáôá áðü ôï óýóôçìá óå áñáéÜ ÷ñïíéêÜ äéáóôÞìáôá (ð.÷. êÜèå 500msec). Ï âñá÷õ÷ñüíéïò ÷ñïíïäñïìïëïãçôÞò åêôåëåßôáé áõôüìáôá áðü ôï óýóôçìá ðïëý ðéï óõ÷íÜ (ð.÷. êÜèå 10msec). Óå ðïëëÜ óõóôÞìáôá õðÜñ÷åé êáé Ýíá åíäéÜìåóï åðßðåäï ÷ñïíïäñïìïëüãçóçò, ï ìåóïðñüèåóìïò ÷ñïíïäñïìïëïãçôÞò (mid-term scheduler). Óôï åðßðåäï áõôü, ï ÷ñïíïäñïìïëïãçôÞò åðéëÝãåé áðü ôç ëßóôá Ýôïéìùí äéåñãáóéþí äéåñãáóßåò ôéò ïðïßåò áðïìáêñýíåé áðü ôç ëßóôá êáé óôç èÝóç ôïõò öÝñíåé Üëëåò áðü ôá áðïèçêåõôéêÜ ìÝóá ôïõ óõóôÞìáôïò.

Áîéïëüãçóç êáé ôýðïé ÷ñïíïäñïìïëüãçóçò Ï âáóéêüò óôü÷ïò åíüò áëãüñéèìïõ ÷ñïíïäñïìïëüãçóçò åßíáé íá äßíåé åðåîåñãáóôéêÞ éó÷ý óå åêôåëÝóéìåò äéåñãáóßåò ìå ôÝôïéï ôñüðï, þóôå íá åðéôõã÷Üíåé: t Áðïäïôéêüôçôá (efficiency). Ïé ÊÌÅ ðñÝðåé íá åßíáé áðáó÷ïëçìÝíåò äéåêðåñáéþíïíôáò äéåñãáóßåò ãéá ôï 100% ôïõ ÷ñüíïõ ôïõò. t Äéêáéïóýíç (fairness), äçëáäÞ ï ÷ñüíïò ôùí ÊÌÅ íá ìïéñÜæåôáé äßêáéá (áíÜëïãá ìå ôéò ãåíéêüôåñåò áðáéôÞóåéò) óôéò Ýôïéìåò äéåñãáóßåò. t ×áìçëü ÷ñüíï áðüêñéóçò (low response time), äçëáäÞ åëÜ÷éóôï ÷ñüíï áíáìïíÞò ãéá ôïõò äéáëïãéêïýò ÷ñÞóôåò (interactive users). t ×áìçëü ÷ñüíï äéåêðåñáßùóçò (low turnaround time), äçëáäÞ åëÜ÷éóôï ÷ñüíï áíáìïíÞò ãéá ôïõò ÷ñÞóôåò åíåñãåéþí äÝóìçò (batch process users). Åßíáé ðñïöáíÝò üôé ôá ðéï ðÜíù êñéôÞñéá åðéôõ÷ßáò, ôá ïðïßá äåí åßíáé êáé ôá ìüíá, åßíáé áíôáãùíéóôéêÜ. Ãéá ðáñÜäåéãìá, åëá÷éóôïðïßçóç ôïõ ÷ñüíïõ áðüêñéóçò áõôüìáôá óçìáßíåé áýîçóç ôïõ ÷ñüíïõ äéåêðåñáßùóçò äéåñãáóéþí äÝóìçò êáé áíôßóôñïöá. Óå Ýíá ËÓ, ï áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò ìðïñåß íá ñõèìéóôåß áðü ôï äéá÷åéñéóôÞ ôïõ óõóôÞìáôïò, áíÜëïãá ìå ôç öýóç ôùí åñãáóéþí óôéò ïðïßåò èÝëåé áõôüò íá äþóåé ðñïôåñáéüôçôá óôï óýóôçìá. Ïé ñõèìßóåéò ðïõ ìðïñïýí íá ãßíïõí åßíáé ëéãüôåñåò Þ ðåñéóóüôåñåò áíÜëïãá ìå ôïí åéäéêü áëãüñéèìï ðïõ êÜèå öïñÜ ÷ñçóéìïðïéåßôáé. Óôç ìåëÝôç ôçò áðüäïóçò ôùí áëãïñßèìùí ÷ñïíïäñïìïëüãçóçò ÷ñçóéìïðïéïýíôáé óõíÞèùò ïé áêüëïõèïé ðïóïôéêïß äåßêôåò:

Äéåñãáóßåò

t Ï âáèìüò ÷ñçóéìïðïßçóçò ôçò ÊÌÅ (CPU utilization). Ðñüêåéôáé ãéá ôï ðïóïóôü ôïõ ÷ñüíïõ ðïõ ç ÊÌÅ åßíáé áðáó÷ïëçìÝíç åêôåëþíôáò äéåñãáóßåò.Âáèìüò ÷ñçóéìïðïßçóçò êïíôÜ óôï 1 äçëþíåé ïôé ç ÊÌÅ åßíáé ó÷åäüí óõíÝ÷åéá áðáó÷ïëçìÝíç êáé ï áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò äå óðáôáëÜ ÷ñüíï ÊÌÅ óå áíáìïíÞ ãéá åêôÝëåóç äéåñãáóéþí. t Ç ñõèìáðüäïóç (throughput). Åßíáé ï áñéèìüò ôùí äéåñãáóéþí ðïõ ïëïêëçñþíïíôáé óôç ìïíÜäá ôïõ ÷ñüíïõ. Áí ð.÷. 3600 äéåñãáóßåò ïëïêëçñþíïíôáé óå óå 60 ëåðôÜ, ç ñõèìáðüäïóç ôïõ óõóôÞìáôïò åßíáé 1 äéåñãáóßá/sec. ¼óï ìåãáëýôåñç åßíáé ç ñõèìáðüäïóç ôüóï ðéï áðïäïôéêü åßíáé ôï óýóôçìá. t Ï ìÝóïò ÷ñüíïò áíáìïíÞò (mean waiting time). Ï ÷ñüíïò áíáìïíÞò åßíáé ï ÷ñüíïò ðïõ ðåñéìÝíåé ìéá äéåñãáóßá óôçí ëßóôá Ýôïéìùí äéåñãáóéþí, áíáìÝíïíôáò ôçí åêôÝëåóÞ ôçò. Ï ìÝóïò ÷ñüíïò áíáìïíÞò åßíáé ï ìÝóïò üñïò ôùí ÷ñüíùí áíáìïíÞò ôùí äéåñãáóéþí óôï óýóôçìá. Åßíáé ï êáëýôåñïò äåßêôçò «êáèõóôÝñçóçò» ôùí äéåñãáóéþí óå Ýíá óýóôçìá ìå ðïëëÝò äéåñãáóßåò. t Ï ìÝóïò ÷ñüíïò áðüêñéóçò (mean response time). Ï ÷ñüíïò áðüêñéóçò ïñßæåôáé ùò ôï óýíïëï ôïõ ÷ñüíïõ áíáìïíÞò ôçò äéåñãáóßáò êáé ôïõ ÷ñüíïõ åêôÝëåóÞò ôçò. Óôï ÷ñüíï åêôÝëåóçò õðïëïãßæïíôáé ìüíï ïé ÷ñüíïé ôùí åêñÞîåùí ÊÌÅ ôçò äéåñãáóßáò (äåí ìåôÝ÷ïõí ïé ÷ñüíïé åêñÞîåùí Å/Å áöïý áõôïß åßíáé ðïëý ðéï ìåãÜëïé êáé äéáöïñïðïéïýíôáé óçìáíôéêÜ áíÜëïãá ìå ôá ðåñéöåñåéáêÜ). Ï ìÝóïò ÷ñüíïò áðüêñéóçò åßíáé ï ìÝóïò üñïò ôùí ÷ñüíùí áðüêñéóçò ôùí äéåñãáóéþí óôï óýóôçìá. ÁíåîÜñôçôá áðü ôç ëïãéêÞ ðïõ õëïðïéåß Ýíáò áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò ðñÝðåé áõôüò íá ëáìâÜíåé õðüøç ôïõ üôé: t Ãéá ôï õðïóýóôçìá ÷ñïíïäñïìïëüãçóçò, êÜèå äéåñãáóßá åßíáé áðñüâëåðôç. t ÕðÜñ÷ïõí äéåñãáóßåò ðïõ óðáôáëïýí óçìáíôéêü ÷ñüíï ôçò ÊÌÅ áíáìÝíïíôáò åßóïäï/Ýîïäï êé Üëëåò ðïõ ìðïñïýí ãéá óçìáíôéêü ÷ñüíï íá êáôáíáëþíïõí ôï 100% ôçò åðåîåñãáóôéêÞò éó÷ýïò ôïõ óõóôÞìáôïò, áí ôïõò äïèåß ç åõêáéñßá. Ï áëãüñéèìïò äåí ìðïñåß íá ãíùñßæåé ðïôÝ ìå áêñßâåéá ðüôå ìéá äéåñãáóßá èá áíáóôáëåß ðåñéìÝíïíôáò åßóïäï/Ýîïäï, ïýôå ðüôå èá áðåíåñãïðïéçèåß óå êÜðïéï óçìáôïöïñÝá ïýôå ôÝëïò, ðüôå èá ôåñìáôßóåé. Ãéá ôçí áíôéìåôþðéóç ôïõ öáéíïìÝíïõ ôçò ìïíïðþëçóçò ôùí ÊÌÅ, ôá ðåñéóóüôåñá ËÓ ÷ñçóéìïðïéïýí ôç äéáêïðÞ ñïëïãéïý (timer interrupt) ðïõ ðñïêáëåß óå ôáêôÜ ÷ñïíéêÜ äéáóôÞìáôá ôï êýêëùìá ÷ñïíéóìïý ôïõ õðïëïãéóôÞ. ÊÜèå öïñÜ ðïõ åìöáíßæåôáé ç äéáêïðÞ áõôÞ, åêôåëåßôáé ï ðõñÞíáò ôïõ ËÓ êáé áðïöáóßæåé, áí ç åêôåëïýìåíç óôç ÊÌÅ äéåñãáóßá èá óõíå÷éóôåß Þ áí Ý÷åé êáôáíáëþóåé áñêåôü ÷ñüíï åðåîåñãáóßáò, ïðüôå ç äéåñãáóßá èá äéáêïðåß Ýôóé þóôå íá åêôåëåóôåß Üëëç äéåñãáóßá.

Ç óôñáôçãéêÞ ôïõ åëÝã÷ïõ êáé ôçò ðéèáíÞò áíáóôïëÞò åêôÝëåóçò åêôåëÝóéìùí äéåñãáóéþí ïíïìÜæåôáé ÷ñïíïäñïìïëüãçóç ðñïåê÷þñçóçò (preemptive scheduling) êáé Ýñ÷åôáé óå áíôßèåóç ìå ôç óôñáôçãéêÞ åêôÝëåóçò ìÝ÷ñé ôÝëïõò (run to completion) Þ áëëéþò ìç ðñïåê÷ùñçôéêÞ ÷ñïíïäñïìïëüãçóç (nonpreemptive scheduling). Óôç ìç ðñïåê÷ùñçôéêÞ ÷ñïíïäñïìïëüãçóç ìéá äéåñãáóßá äéáêüðôåôáé ìüíï áí ç ßäéá ôï åðéôñÝøåé (ãéá åßóïäï/Ýîïäï Þ Ýëåã÷ï óçìáôïöïñÝá). ÄéáöïñåôéêÜ, ç äéåñãáóßá áðáó÷ïëåß êáô’ áðïêëåéóôéêüôçôá ôçí ÊÌÅ ìÝ÷ñé íá ðåñáôùèåß.

215

216

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åßíáé ðñïöáíÝò üôé óôá óýã÷ñïíá óõóôÞìáôá õðïëïãéóôÞ ãåíéêïý óêïðïý êáôÜëëçëïé èåùñïýíôáé ïé ðñïåê÷ùñçôéêïß áëãüñéèìïé êáé ìüíï óå áöïóéùìÝíá óõóôÞìáôá õðïëïãéóôÞ åéäéêïý óêïðïý ðñïôéìïýíôáé ïé áëãüñéèìïé åêôÝëåóçò ìÝ÷ñé ôÝëïõò.

×ñçóéìïðïéïýí ðñïåê÷þñçóç ôá ËÓ •WINDOWS NT •UNIX •LINUX Äåí ÷ñçóéìïðïéïýí ðñïåê÷þñçóç ôá ËÓ •WINDOWS 95 •WINDOWS 98 Ïé üñïé pre emptive, non preemptive áðïäßäïíôáé êáé ùò “äéáêïðôïߔ êáé “ìç äéáêïðôïߔ

Ó÷Þìá 8.15 ×ñïíïäñïìïëüãçóç ðñïåê÷þñçóçò. Ôï ËÓ óå ôáêôÜ ÷ñïíéêÜ äéáóôÞìáôá áðïöáóßæåé áí ï Ýëåã÷ïò ôçò ÊÌÅ ðñÝðåé íá ìåßíåé óôçí åêôåëïýìåíç äéåñãáóßá Þ íá ðåñÜóåé óå Üëëç Ýôïéìç.

Óôç óõíÝ÷åéá ôïõ êåöáëáßïõ èá ìåëåôÞóïõìå ôïõò âáóéêüôåñïõò ðñïåê÷ùñçôéêïýò êáé ìç ðñïåê÷ùñçôéêïýò áëãüñéèìïõò ÷ñïíïäñïìïëüãçóçò. Ïé áëãüñéèìïé áõôïß ìðïñïýí íá åöáñìïóôïýí óå üëá ôá åðßðåäá ÷ñïíïäñïìïëüãçóçò. Ãéá ôçí êáôáíüçóç ôùí áëãïñßìùí áëëÜ êáé ôùí äéáöïñþí ôïõò, èá ìåëåôÞóïõìå Ýíá óýóôçìá óôï ïðïßï åéóÝñ÷ïíôáé óôç ëßóôá Ýôïéìùí äéåñãáóéþí ïé äéåñãáóßåò ðïõ öáßíïíôáé óôïí ðßíáêá 8.3. Ðßíáêáò 8.3

Äéåñãáóßá

¢öéîç (÷ñïíéêÞ óôéãìÞ)

ÄéÜñêåéá (ìïíÜäåò ÷ñüíïõ)

A

0

11

B

5

25

Ã

8

2

Ä

12

10

Óå êÜèå ðåñßðôùóç èá õðïëïãßóïõìå ôï ìÝóï ÷ñüíï áíáìïíÞò êáé ôï ìÝóï ÷ñüíï áðüêñéóçò ôïõ óõóôÞìáôïò.

8.8.1 Ìç ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóç ôç óåéñÜ Üöéîçò (Non Preemptive First Come First Serve FCFS) Åßíáé ï áðëïýóôåñïò áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò êáé áõôü åßíáé ïõóéáóôéêÜ ôï ìüíï ðëåïíÝêôçìÜ ôïõ. Ìå áõôüí, ïé äéåñãáóßåò åîõðçñåôïýíôáé ìÝ÷ñé ôçí ïëïêëÞñùóÞ ôïõò ìå ôç óåéñÜ ðïõ åéóÞëèáí óôç ëßóôá Ýôïéìùí äéåñãáóéþí.

Äéåñãáóßåò

ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá åéóÝñ÷åôáé óôï óýóôçìá, ôïðïèåôåßôáé óôï ôÝëïò ôçò ïõñÜò Ýôïéìùí äéåñãáóéþí (üðùò óõìâáßíåé ìå ôïõò ðåëÜôåò ìéáò ôñÜðåæáò). ÊÜèå öïñÜ ðïõ ôåëåéþíåé ç åðåîåñãáóßá ìéáò äéåñãáóßáò, ôï óýóôçìá åðéëÝãåé íá åðåîåñãáóôåß áõôÞ ðïõ âñßóêåôáé óôçí áñ÷Þ ôçò ïõñÜò. Óôï ó÷Þìá 8.16 öáßíåôáé ç åêôÝëåóç ôùí äéåñãáóéþí ôïõ ðáñáäåßãìáôïò (ìå êßôñéíï óçìåéþíåôáé ï ÷ñüíïò áíáìïíÞò êáé ìå ðñÜóéíï ï ÷ñüíïò åêôÝëåóçò).

Ó÷Þìá 8.16 ÅêôÝëåóç äéåñãáóéþí

ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 0 + 6 + 28 + 26 ) / 4 = 15 ÷ì (÷ñïíéêÝò ìïíÜäåò) ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (0+11) + (6+25) + (28+2) + (26+10) ] / 4 = 27 ÷ì ÃåíéêÜ, ç áðüäïóç ôïõ áëãïñßèìïõ åßíáé ðïëý ÷áìçëÞ óå ó÷Ýóç ìå ôïõò ìÝóïõò ÷ñüíïõò áíáìïíÞò êáé áðüêñéóçò áëëÜ êáé ìå üëïõò ôïõò õðüëïéðïõò ðïóïôéêïýò äåßêôåò åêôßìçóçò áðüäïóçò áëãïñßèìùí ÷ñïíïäñïìïëüãçóçò. Ðáñáôçñåßóôå üôé ç äéåñãáóßá à ìå äéÜñêåéá ìüëéò 2 ÷ì áíáãêÜóôçêå íá ðåñéìÝíåé 28 ÷ì.

8.8.2 Ìç ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóç ôç ìéêñüôåñç äéÜñêåéá (Non Preemptive Shortest Job First - SJF) Ï áëãüñéèìïò åîõðçñÝôçóçò ìå âÜóç ôç ìéêñüôåñç äéÜñêåéá êáôáôÜóóåé ôéò äéåñãáóßåò ìå âÜóç ôç äéÜñêåéá åêôÝëåóÞò ôïõò. Ç ðéï óýíôïìç äéåñãáóßá ôïðïèåôåßôáé óôçí áñ÷Þ ôçò ïõñÜò Ýôïéìùí äéåñãáóéþí êáé ç ðéï ìåãÜëç (÷ñïíéêÜ) óôï ôÝëïò ôçò ïõñÜò. Ïôáí ìéá äéåñãáóßá åéóÝñ÷åôáé óôï óýóôçìá, ï ÷ñïíïäñïìïëïãçôÞò ôçí ôïðïèåôåß óôçí ïõñÜ áíÜìåóá óôçí áìÝóùò ðéï óýíôïìç êáé ôçí áìÝóùò ðéï ìåãÜëç ôçò.

Ó÷Þìá 8.17 ÅéóáãùãÞ äéåñãáóßáò ìå äéÜñêåéá 32 ÷ñïíéêÝò ìïíÜäåò óôç ëßóôá Ýôïéìùí äéåñãáóéþí

217

218

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÊÜèå öïñÜ ðïõ ôåëåéþíåé ç åðåîåñãáóßá ìéáò äéåñãáóßáò, ôï óýóôçìá åðéëÝãåé íá åðåîåñãáóôåß áõôÞ ðïõ âñßóêåôáé óôçí áñ÷Þ ôçò ïõñÜò.

Ó÷Þìá 8.18. ÅêôÝëåóç äéåñãáóéþí

ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 0 + 18 + 3 + 1 ) / 4 = 5,5 ÷ì ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (0+11) + (18+25) + (3+2) + (1+10) ] / 4= 17,5 ÷ì Ðáñáôçñïýìå üôé ïé ìÝóïé ÷ñüíïé áíáìïíÞò êáé áðüêñéóçò åßíáé ðïëý ìéêñüôåñïé óå ó÷Ýóç ìå ôç ÷ñïíïäñïìïëüãçóç ìå âÜóç ôç óåéñÜ Üöéîçò. ÌÜëéóôá, áðïäåéêíýåôáé üôé ï áëãüñéèìïò äßíåé ôï âÝëôéóôï ìÝóï ÷ñüíï áíáìïíÞò. Ôï ìåéïíÝêôçìá ôïõ áëãïñßèìïõ åßíáé üôé óå Ýíá óýóôçìá åßíáé ðÜñá ðïëý äýóêïëï – Ýùò áäýíáôï - íá åêôéìçèåß ï ÷ñüíïò ðïõ áðáéôåß ãéá ôçí åêôÝëåóÞ ôçò ìéá äéåñãáóßá. Ãéá ôï ëüãï áõôü, ï áëãüñéèìïò åöáñìüæåôáé ìüíï óå åéäéêÜ óõóôÞìáôá êáé óôï åðßðåäï ôçò ìáêñï÷ñüíéáò äñïìïëüãçóçò. Óôá óõóôÞìáôá áõôÜ, ïé ÷ñÞóôåò, üôáí õðïâÜëïõí ìéá äéåñãóßá óôï óýóôçìá, äçëþíïõí ôç ìÝãéóôç äéÜñêåéá åêôÝëåóÞò ôçò ôçí ïðïßá ÷ñçóéìïðïéåß ï ìáêñï÷ñüíéïò äñïìïëïãçôÞò. Áí ç äéåñãáóßá äåí Ý÷åé ïëïêëçñùèåß óôï äçëùìÝíï ÷ñüíï, óõíÞèùò äéáêüðôåôáé. Óå äéáëïãéêÜ óõóôÞìáôá ï áëãüñéèìïò äåí ÷ñçóéìïðïéåßôáé.

8.8.3 Ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóç ôç ìéêñüôåñç äéÜñêåéá (Preemptive Shortest Job First - SJF) Ï áëãüñéèìïò ëåéôïõñãåß üðùò ï áíôßóôïé÷ïò ìç ðñïåê÷ùñçôéêüò ìå ôçí áêüëïõèç äéáöïñÜ: êÜèå öïñÜ ðïõ åéóÝñ÷åôáé óôï óýóôçìá íÝá äéåñãáóßá, ï ÷ñïíïäñïìïëïãçôÞò åëÝã÷åé ôï ÷ñüíï åêôÝëåóçò ôçò íÝáò äéåñãáóßáò. Áí áõôüò åßíáé ìéêñüôåñïò áðü ôï ÷ñüíï ðïõ áðïìÝíåé ãéá ôçí ïëïêëÞñùóç ôçò åêôåëïýìåíçò äéåñãáóßáò, ç åêôåëëïýìåíç äéåñãáóßá áõôüìáôá äéáêüðôåôáé êáé ôïðïèåôåßôáé óôç ëßóôá Ýôïéìùí äéåñãáóéþí. Ç íÝá äéåñãáóßá ãßíåôáé åêôåëïýìåíç. Áí ï ÷ñüíïò åêôÝëåóçò ôçò íÝáò äéåñãáóßáò åßíáé ìåãáëýôåñïò áðü ôï ÷ñüíï ðïõ áðïìÝíåé óôçí åêôåëïýìåíç äéåñãáóßá íá ïëïêëçñùèåß, ôüôå ç íÝá äéåñãáóßá ôïðïèåôåßôáé óôçí ëßóôá Ýôïéìùí äéåñãáóéþí. ÊÜèå öïñÜ ðïõ ôåëåéþíåé ç åðåîåñãáóßá ìéáò äéåñãáóßáò, ôï óýóôçìá åðéëÝãåé íá åðåîåñãáóôåß áõôÞ ðïõ âñßóêåôáé óôçí áñ÷Þ ôçò ïõñÜò.

Äéåñãáóßåò

Ó÷Þìá 8.19 ÅêôÝëåóç äéåñãáóéþí

Ôç óôéãìÞ 5 ìðáßíåé óôï óýóôçìá ç äéåñãáóßá Â. Ï ÷ñüíïò åêôÝëåóÞò ôçò åßíáé 25÷ì, ìåãáëýôåñïò áðü ôï õðüëïéðï ôçò Á ðïõ åêôåëåßôáé óôçí ÊÌÅ (ï ÷ñüíïò ôçò Á ðïõ áðïìÝíåé åßíáé 11-5=6). Óõíåðþò, ç Á óõíå÷ßæåé ôçí åêôÝëåóÞ ôçò. Ôç óôéãìÞ 8 åéóÝñ÷åôáé óôï óýóôçìá ç äéåñãáóßá à ìå ÷ñüíï åêôÝëåóçò 2 ÷ñïíéêÝò ìïíÜäåò. Ç Á ðïõ åêôåëåßôáé óôçí ÊÌÅ Ý÷åé õðüëïéðï 11-8=3 ÷ì. Óõíåðþò, ï ÷ñïíïäñïìïëïãçôÞò ðñïùèåß ôç à óôçí ÊÌÅ êáé ôïðïèåôåß ôçí Á óôç ëßóôá äéåñãáóéþí. ÅðåéäÞ ç Á Ý÷åé õðüëïéðï ÷ñüíïõ åêôÝëåóçò 3 ÷ì, ðïõ åßíáé ìéêñüôåñïò ôçò  ðïõ åßíáé Þäç óôç ëßóôá, ç Á ôïðïèåôåßôáé óôç ëßóôá ìðñïóôÜ áðü ôç Â. Ï áëãüñéèìïò ëåéôïõñãåß ìå ðáñüìïéï ôñüðï êáé óôç óõíÝ÷åéá. ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 2 + 18 + 0 + 1 ) / 4 = 5,25 ÷ì ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (2+11) + (18+25) + (0+2) + (1+10) ] = 17,25 ÷ì Ðáñáôçñïýìå üôé ïé ìÝóïé ÷ñüíïé áíáìïíÞò êáé áðüêñéóçò åßíáé êáëýôåñïé áðü üëïõò ôïõ áíôßóôïé÷ïõò ÷ñüíïõò ôùí ìç äéáêïðôþí áëãïñßèìùí. Ï áëãüñéèìïò åìöáíßæåôáé åëÜ÷éóôá êáëýôåñïò áðü ôïí ìç-ðñïåê÷ùñçôéêü SJF, êÜôé ðïõ ïöåßëåôáé óôï óõãêåêñéìÝíï ðáñÜäåéãìá. Óå Üëëï ðáñÜäåéãìá ç äéáöïñÜ èá ìðïñïýóå íá åßíáé ðéï óçìáíôéêÞ. Óçìåéþóôå üôé óôïí ðñïåê÷ùñçôéêü áëãüñéèìï õðÜñ÷åé êáé ç åðéâÜñõíóç åðåîåñãáóßáò ôïõ ßäéïõ ôïõ áëãïñßèìïõ áðü ôçí ÊÌÅ, ðïõ åêôåëåßôáé óõ÷íüôåñá áðü ôïí ìç-ðñïåê÷ùñçôéêü áëãüñéèìï (óôç ìåëÝôç ìáò äåí ôçí ëáìâÜíïõìå õðüøç ìáò). Ç åðéâÜñõíóç áõôÞ ðñÝðåé ðÜíôá íá åßíáé ìéêñÞ, þóôå íá ìçí åðçñåÜæåé óçìáíôéêÜ ôçí åðßäïóç ôïõ áëãïñßèìïõ.

8.8.4 Ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç åê ðåñéôñïðÞò (Preemptive Round Robin) Ï áëãüñéèìïò åîõðçñÝôçóçò åê ðåñéôñïðÞò åßíáé Ýíáò áðü ôïõò ðáëáéüôåñïõò, ðéï äéáäåäïìÝíïõò êáé äéêáéüôåñïõò áëãüñéèìïõò ÷ñïíïäñïìïëüãçóçò. ¸÷åé ó÷åäéáóôåß åéäéêÜ ãéá óõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ, áöïý äßíåé Ýíá ìéêñü ÷ñüíï åðåîåñãáóßáò óôéò Ýôïéìåò äéåñãáóßåò, ïé ïðïßåò åêôåëïýíôáé åê ðåñéôñïðÞò. Ç ëïãéêÞ ôïõ åßíáé éäéáßôåñá áðëÞ: t Óå êÜèå äéåñãáóßá ðáñá÷ùñåßôáé ïñéóìÝíï êáé ðÜíôá ßóï ÷ñïíéêü äéÜóôçìá - ôï ïðïßï ïíïìÜæåôáé êâÜíôï ÷ñüíïõ (time quantum) - åðåîåñãáóßáò, ìÝóá óôï ïðïßï åðéôñÝðåôáé ç åêôÝëåóÞ ôçò. t Ìå ôï ôÝëïò ôïõ äéáóôÞìáôïò ç äéåñãáóßá áíáóôÝëåôáé êáé ôïðïèåôåßôáé óôç ëßóôá Ýôïéìùí äéåñãáóéþí, óôï ôÝëïò ôçò ïõñÜò. Ç ÊÌÅ äßíåôáé ãéá ôï åðüìåíï

219

220

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

êâÜíôï ÷ñüíïõ óôçí åðüìåíç Ýôïéìç äéåñãáóßá (ðïõ âñßóêåôáé óôçí áñ÷Þ ôçò ëßóôáò/ïõñÜò) t Áí ìéá äéåñãáóßá áíáóôáëåß ãéá ïðïéïäÞðïôå ëüãï Þ ïëïêëçñùèåß ðñéí ôç ëÞîç ôïõ êâÜíôï ÷ñüíïõ ôçò, ôüôå ôï óýóôçìá ðáñåìâáßíåé êáé äßíåé ôïí Ýëåã÷ï óå íÝá äéåñãáóßá. t ÊÜèå öïñÜ ðïõ åéóÝñ÷åôáé óôï óýóôçìá ìéá íÝá äéåñãáóßá, áõôÞ ôïðïèåôåßôáé óôï ôÝëïò ôçò ëßóôáò Ýôïéìùí äéåñãáóéþí. Ç ÷ñïíïäñïìïëüãçóç ãéá ôï ðáñÜäåéãìÜ ìáò öáßíåôáé óôï ó÷Þìá ðïõ áêïëïõèåß. Óôï ó÷Þìá öáßíåôáé ãéá êÜèå ÷ñïíéêü äéÜóôçìá êáé ç ëßóôá ôùí Ýôïéìùí äéåñãáóéþí ðïõ áíáìÝíïõí åðåîåñãáóßá.

Ó÷Þìá 8.20 ÅêôÝëåóç äéåñãáóéþí êáé ëßóôá Ýôïéìùí äéåñãáóéþí

Ðáñáôçñåßóôå üôé ôç óôéãìÞ 14 îåêéíÜ ðÜëé ç åêôÝëåóç ôçò äéáäéêáóßáò Á, ç ïðïßá ôåëåéþíåé ðñéí ôï êâÜíôï ÷ñüíïõ ôçò. Ôï ßäéï óõìâáßíåé êáé ãéá ôç äéåñãáóßá à ðïõ ïëïêëçñþíåôáé ôç óôéãìÞ 20. Áðü ôç óôéãìÞ 20 êáé ìåôÜ äßíåôáé ïëüêëçñï êâÜíôï óôç äéåñãáóßá Ä. ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 7 + 18 + 10 + 15 ) / 4 = 12,5 ÷ì ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (7+11) + (18+25) + (10+2) + (15+10) ] = 24,5 ÷ì Ç õëïðïßçóç ôïõ áëãïñßèìïõ åßíáé éäéáßôåñá áðëÞ êáé ç ìüíç ðáñÜìåôñïò ðïõ åðçñåÜæåé ôçí áðüäïóç ôïõ óõóôÞìáôïò åßíáé ôï ìÝãåèïò ôïõ êâÜíôïõ ÷ñüíïõ. Áí ôï êâÜíôï åßíáé ðïëý ìåãÜëï, ôüôå ôï óýóôçìá åìöáíßæåé ìåãÜëïõò ÷ñüíïõò áðüêñéóçò áêüìç êáé óå áðëÜ äéáëïãéêÜ áéôÞìáôá (åêöõëßæåôáé óå ìç ðñïåê÷ùñçôéêü FCFS). Áí ôï êâÜíôï ÷ñüíïõ åßíáé ðïëý ìéêñü åìöáíßæåôáé Üëëï ðñüâëçìá, ðïõ ïöåßëåôáé óôï ÷ñüíï ðïõ áðáéôåßôáé ãéá ôçí áëëáãÞ ôçò åêôåëïýìåíçò äéåñãáóßáò. ÊÜèå öïñÜ ðïõ áëëÜæåé ç åêôåëïýìåíç äéåñãáóßá, ï ÷ñüíïò äéá÷åßñéóçò ÷Üíåôáé ãéá ôï óýóôçìá. ÐïëëÝò åíáëëáãÝò óõíåðþò (ìéêñü êâÜíôï ÷ñüíïõ) ðñïêáëïýí óðáôÜëç ÷ñüíïõ åðåîåñãáóßáò.

Äéåñãáóßåò

Áí ãéá ðáñÜäåéãìá Ý÷ïõìå ÷ñüíï äéá÷åßñéóçò 5msec óôçí åíáëëáãÞ êáé êâÜíôï ÷ñüíïõ 45msec ðñïêýðôåé üôé ãéá êÜèå 50msec Ý÷ïõìå åðåîåñãáóßá 45msec (90%) êáé äéá÷åßñéóç 5sec (óðáôÜëç 10%). Áí üìùò Ý÷ïõìå ÷ñüíï äéá÷åßñéóçò 5msec óôçí åíáëëáãÞ êáé êâÜíôï ÷ñüíïõ 495msec ðñïêýðôåé üôé ãéá êÜèå 500msec Ý÷ïõìå åðåîåñãáóßá 495msec (99%) êáé äéá÷åßñéóç 5sec (óðáôÜëç 1%). Ç âÝëôéóôç ëýóç ãéá óýóôçìá ìå äåäïìÝíï ÷ñüíï áëëáãÞò åêôåëïýìåíçò äéåñãáóßáò åßíáé ìéá ôéìÞ ãéá ôï êâÜíôï ÷ñüíïõ ôÝôïéá, þóôå íá Ý÷ïõìå ÷áìçëÞ áíáìïíÞ óå äéáëïãéêÝò åíÝñãåéåò (êâÜíôï ü÷é ðïëý ìåãÜëï) êáé ôáõôü÷ñïíá åëÜ÷éóôç óðáôÜëç ÷ñüíïõ åðåîåñãáóßáò (êâÜíôï ðïëý ìåãáëýôåñï áðü ôï ÷ñüíï åíáëëáãÞò äéåñãáóéþí). Åíá êáëü ìÝãåèïò åßíáé åêåßíï ðïõ åßíáé ìåãáëýôåñï óå äéÜñêåéá áðü ôï 80% ôùí åêñÞîåùí ÊÌÅ óôï óýóôçìá. Ôï âáóéêüôåñï ðëåïíÝêôçìá ôïõ áëãïñßèìïõ åßíáé ïôé åõíïåß ôçí ïëïêëÞñùóç ìéêñþí äéåñãáóéþí, ïé ïðïßåò äåí áíáãêÜæïíôáé íá Ý÷ïõí ìåãÜëïõò ÷ñüíïõò áíáìïíÞò. Ïé áëãüñéèìïé ðïõ åîåôÜóáìå áðïôåëïýí õðïðåñéðôþóåéò åíüò ãåíéêïý áëãïñßèìïõ ÷ñïíïäñïìïëüãçóçò: ôçò ÅîõðçñÝôçóçò ÐñïôåñáéïôÞôùí (priority scheduling). Ï áëãüñéèìïò áõôüò ðïõ óõíáíôÜôáé êáé óå ðñïåê÷ùñçôéêÞ êáé óå ìç ðñïåê÷ùñçôéêÞ ìïñöÞ áðüäßäåé óå êÜèå äéåñãáóßá ðïõ åéóÝñ÷åôáé óôï óýóôçìá ìéá ðñïôåñáéüôçôá. Ïé äéåñãáóßåò óôç ëßóôá Ýôïéìùí äéåñãáóéþí âñßóêïíôáé ôáîéíïìçìÝíåò ìå âÜóç ôçí ðñïôåñáéüôçôá ðïõ Ý÷ïõí. Ç äéåñãáóßá ìå ôç ìåãáëýôåñç ðñïôåñáéüôçôá âñßóêåôáé ðÜíôá óôçí áñ÷Þ ôçò ëßóôáò êáé åßíáé ç ðñþôç ðïõ èá åîõðçñåôçèåß áðü ôçí ÊÌÅ. Ïé ðñïôåñáéüôçôåò ìðïñïýí íá åßíáé åßôå óôáôéêÝò åßôå äõíáìéêÝò. Óå ðåñßðôùóç ðïõ ï áëãüñéèìïò ðñïôåñáéïôÞôùí áðïäßäåé óôáôéêÝò ðñïôåñáéüôçôåò, êÜèå äéåñãáóßá ðáßñíåé ìéá ðñïôåñáéüôçôá, êáèþò åéóÝñ÷åôáé óôï óýóôçìá. Ïôáí ãßíåôáé ÷ñÞóç äõíáìéêþí ðñïôåñáéïôÞôùí, ôüôå ï ÷ñïíïäñïìïëïãçôÞò ìðïñåß ìå êÜðïéá ëïãéêÞ íá áëëÜæåé ôéò ðñïôåñáéüôçôåò ôùí äéåñãáóéþí êáèþò áõôÝò âñßóêïíôáé óôï óýóôçìá (ð.÷. ìéá äéåñãáóßá ìðïñåß íá ðáßñíåé áõîçìÝíç ðñïôåñáéüôçôá, áí Þäç ðåñéìÝíåé ðïëëÞ þñá íá åîõðçñåôçèåß.) ÁíÜëïãá ìå ôá êñéôÞñéá ðïõ ÷ñçóéìïðïéïýíôáé ãéá ôçí áðüäïóç ðñïôåñáéïôÞôùí áëëÜæåé óçìáíôéêÜ êáé ç ëåéôïõñãßá áëëÜ êáé ç áðüäïóç ôïõ áëãïñßèìïõ. Ïé áëãüñéèìïé ðïõ åîåôÜóáìå ðñïêýðôïõí áðü ôïí áëãüñéèìï ðñïôåñáéïôÞôùí ùò åîÞò: Ï FCFS, áí üëåò ïé äéåñãáóßåò ðáßñíïõí ôçí ßäéá ðñïôåñáéüôçôá, ïðüôå ðÜíôá åêôåëåßôáé ðñþôç áõôÞ ðïõ ðñþôç ìðáßíåé óôç ëßóôá áíáìïíÞò. Ï SJF, áí ç ðñïôåñáéüôçôá ìéáò äéåñãáóßáò åßíáé áíôéóôñüöùò áíÜëïãç ôïõ ÷ñüíïõ ïëïêëÞñùóÞò ôçò. Óôïí Round Robin êÜèå öïñÜ ðïõ ìéá äéåñãóßá åéóÝñ÷åôáé óôï óýóôçìá ðáßñíåé ôç ÷áìçëüôåñç ðñïôåñáéüôçôá. Åðßóçò, üôáí ìéá äéåñãáóßá áðïìáêñýíåôáé áðü ôçí ÊÌÅ êáé ãõñíÜ óôçí ëßóôá áíáìïíÞò, ôüôå åéóÝñ÷åôáé óôç ëßóôá Ý÷ïíôáò ôç ìéêñüôåñç ðñïôåñáéüôçôá. Óôá ðåñéóóüôåñá óõóôÞìáôá óÞìåñá, ï áëãüñéèìïò ðñïôåñáéïôÞôùí åìöáíßæåôáé ìå ðïëý ðéï óýíèåôåò ìïñöÝò, ðïõ ðïëëÝò öïñÝò áðïôåëïýí åðåêôÜóåéò üóùí ìåëåôÞóáìå óå áõôü ôï êåöÜëáéï.

221

222

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Áíáêåöáëáßùóç Ãéá ôçí áíÜëõóç, ôç ìåëÝôç êáé ôçí åõêïëüôåñç åóùôåñéêÞ äéá÷åßñéóç åíüò óõóôÞìáôïò õðïëïãéóôÞ äçìéïõñãÞóáìå ôï ìïíôÝëï äéåñãáóéþí, ôï ïðïßï áðïôåëåßôáé áðü óåéñéáêÝò äéåñãáóßåò ðïõ åêôåëïýíôáé ðáñÜëëçëá. ÊÜèå äéåñãáóßá Ý÷åé ôç äéêÞ ôçò êáôÜóôáóç êáé åíáëëÜóóåôáé ìå ôéò Üëëåò óôçí ÊÌÅ. Ç ôá÷ýôáôç åíáëëáãÞ äéåñãáóéþí óôçí ÊÌÅ åíüò óõóôÞìáôïò êáôáìåñéóìïý ÷ñüíïõ äçìéïõñãåß ìáêñïóêïðéêÜ ôçí øåõäáßóèçóç ôïõ ðáñáëëçëéóìïý. Óå ðåñéðôþóåéò üðïõ ðáñÜëëçëåò äéåñãáóßåò ðñïóðåëáýíïõí äéáìïéñáæüìåíïõò óå áõôÝò ðüñïõò ôïõ óõóôÞìáôïò, üðùò ðåñéï÷Ýò êïéíü÷ñçóôçò ìíÞìçò, õðÜñ÷åé ç áíÜãêç åðéêïéíùíßáò ìåôáîý ôïõò. Ç áëëçëåðßäñáóç ôùí äéåñãáóéþí, üôáí áó÷ïëïýíôáé ìå êïéíü÷ñçóôïõò ðüñïõò, áí äåí åßíáé óùóôÜ äïìçìÝíç, ðñïêáëåß óõíèÞêåò áíôáãùíéóìïý êáé óõ÷íÜ ïäçãåß ôï óýóôçìá óå áäéÝîïäá êáé ðéèáíü áêüìç êáé óå êáôÜññåõóç. Ãéá íá áðïöýãïõìå ôçí åìöÜíéóç óõíèçêþí áíôáãùíéóìïý, åéóÜãïõìå ôçí Ýííïéá ôïõ êñßóéìïõ ôìÞìáôïò äéåñãáóßáò. Êñßóéìï ôìÞìá åßíáé êÜèå ôìÞìá ôïõ ðñïãñÜììáôïò ôçò äéåñãáóßáò óôï ïðïßï ç äéåñãáóßá äéá÷åéñßæåôáé êïéíü÷ñçóôïõò ðüñïõò ôïõ óõóôÞìáôïò. Ç ïñèÞ ëåéôïõñãßá ôïõ óõóôÞìáôïò áðáéôåß ìßá ìüíï äéåñãáóßá íá âñßóêåôáé óå êñßóéìï ôìÞìá ôçò êÜèå öïñÜ, êÜôé ðïõ ïíïìÜæïõìå áìïéâáßï áðïêëåéóìü. Ï áìïéâáßïò áðïêëåéóìüò åßíáé ìéá ìüíï ðñïûðüèåóç ãéá ôçí ïñèÞ ëåéôïõñãßá åíüò óõóôÞìáôïò. Ç óõíïëéêÞ ðñïûðüèåóç åßíáé íá õðÜñ÷åé Ýíá åõñýôåñï êáé êáëÜ äïìçìÝíï ðëáßóéï áðü áñ÷Ýò åðéêïéíùíßáò, áëëçëåðßäñáóçò, óõíåñãáóßáò êáé óõã÷ñïíéóìïý äéåñãáóéþí óôï óýóôçìá. Ìå ôéò áñ÷Ýò áõôÝò, ïé äéåñãáóßåò áëëçëåðéäñïýí êáé áëëÜæïõí êáôáóôÜóåéò ìå ôÝôïéï ôñüðï, þóôå íá ðåôõ÷áßíïõí ôïí áìïéâáßï áðïêëåéóìü, íá áðïöåýãïõí ôá áäéÝîïäá êáé íá óõã÷ñïíßæïíôáé áñìïíéêÜ, ïäçãþíôáò óå ïñèÞ êáé áðïäïôéêÞ ÷ñÞóç ôïõ óõóôÞìáôïò. ÐïëëÝò áñ÷Ýò Ý÷ïõí ðñïôáèåß ãéá ôç äéáäéåñãáóéáêÞ åðéêïéíùíßá, üðùò ïé óçìáôïöïñåßò , ðïõ åßíáé êáé ìéá áðü ôéò ðéï äéáäåäïìÝíåò. ÈåùñçôéêÜ ïé áñ÷Ýò áõôÝò åßíáé éóïäýíáìåò. ¸íá æÞôçìá ìå óïâáñÝò åðéðôþóåéò óôçí åõåëéîßá êáé óôçí áðüäïóç êÜèå óõóôÞìáôïò åßíáé ï áëãüñéèìïò ìå ôïí ïðïßï åíáëëÜóïíôáé ïé äéåñãáóßåò óôçí ÊÌÅ, äçëáäÞ, ï áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò. Óôá óõóôÞìáôá õðïëïãéóôþí ÷ñçóéìïðïéïýíôáé, áíÜëïãá ìå ôéò åéäéêÝò áðáéôÞóåéò ôïõ êáèåíüò, äéÜöïñïé áëãüñéèìïé, üðùò áõôïß ôçò åîõðçñÝôçóçò åê ðåñéôñïðÞò, ôçò åîõðçñÝôçóçò êáôÜ ðñïôåñáéüôçôá êáé ôçò åîõðçñÝôçóçò ìå âÜóç ôç äéÜñêåéá. Ïé ìç÷áíéóìïß áõôïß, ðïõ äåí åßíáé êáé ïé ìüíïé, ðåñéëáìâÜíïõí ðáñáìåôñïðïéÞóéìá ìåãÝèç ìå ôá ïðïßá ìðïñåß ï äéá÷åéñéóôÞò ôïõ óõóôÞìáôïò óôáôéêÜ Þ äõíáìéêÜ íá ðñïóáñìüóåé ôçí áðüäïóç ôïõ óõóôÞìáôïò óå åéäéêÝò áíÜãêåò.

ÅñùôÞóåéò/Äñáóôçñéüôçôåò/ÈÝìáôá ãéá óõæÞôçóç 1. Ôé åßíáé ç äéåñãáóßá; Ôé äéáöÝñåé áðü Ýíá ðñüãñáììá; 2. Ôé åßíáé ïé åëáöñéÝò äéåñãáóßåò (íÞìáôá). Ôé äéáöÝñïõí áðü ôéò äéåñãáóßåò; 3. Ôé åßíáé ï ãñÜöïò ðñïâáäßóìáôïò; Äþóôå ðáñÜäåéãìá.

Äéåñãáóßåò

4. Ðþò áðåéêïíßæïõìå ôáõôü÷ñïíá ðñïãñÜììáôá; Åîçãåßóôå ìå ðáñÜäåéãìá ÷ñçóéìïðïéþíôáò ôéò äéáöïñåôéêÝò ìåèüäïõò áðåéêüíéóçò. 5. ÐåñéãñÜøôå ôéò êáôáóôÜóåéò êáé ôïí êýêëï æùÞò ìéáò äéåñãáóßáò. Äþóôå ôéò äõíáôÝò ìåôáâÜóåéò êáôáóôÜóåùí ìéáò äéåñãáóßáò. 6. Ôé ïíïìÜæïõìå åêñÞîåéò ÊÌÅ êáé ôß åêñÞîåéò Å/Å; 7. Ôé åßíáé ç ìåôáãùãÞ ðåñéâÜëëïíôïò; 8. Ôé ïíïìÜæïõìå ôáõôü÷ñïíåò Þ ðáñÜëëçëåò äéåñãáóßåò óå Ýíá óýóôçìá ðïëõðñïãñáììáôéóìïý; Åßíáé ðñáãìáôéêÜ ðáñÜëëçëåò; 9. Ôé åßíáé ïé óõíèÞêåò áíôáãùíéóìïý; 10. Ôé åßíáé ï áìïéâáßïò áðïêëåéóìüò êáé ôß ôá êñßóéìá ôìÞìáôá ìéáò äéåñãáóßáò; Ðüóá êñßóéìá ôìÞìáôá ìðïñåß íá Ý÷åé ìéá äéåñãáóßá; 11. Ôé ïíïìÜæïõìå áäéÝîïäï; 12. Åîçãåßóôå ãéáôß ç áðåíåñãïðïßçóç äéáêïðþí åßíáé áðïäåêôÞ ãéá êëÞóåéò óõóôÞìáôïò åíþ åßíáé ìç áðïäåêôÞ ãéá äéåñãáóßåò ôùí ÷ñçóôþí. 13. Ôé åßíáé ç åíåñãüò áíáìïíÞ; Óå ôé äéáöÝñåé ç åíåñãüò áíáìïíÞ áðü ôçí áíáóôïëÞ ìéáò äéåñãáóßáò; 14. Åîçãåßóôå ìå Ýíá ó÷Þìá ðþò ìéá äéåñãáóßá ÷ñçóéìïðïéåß åíá óçìáôïöïñÝá ãéá íá åêôåëÝóåé ôá êñßóéìá ôìÞìáôÜ ôçò (ðïõ ó÷åôßæïíôáé ìå ôï óçìáôïöïñÝá áõôü). 15. Ðïéá åßíáé ôá äýï êýñéá ÷áñáêôçñéóôéêÜ ôùí óçìáôïöïñÝùí; Åîçãåßóôå ìå ðáñÜäåéãìá ãéáôß ÷ùñßò ôá ÷áñáêôçñéóôéêÜ áõôÜ ïé óçìáôïöïñåßò äå ëýíïõí ôá ðñïâëÞìáôá áìïéâáßïõ áðïêëåéóìïý êáé óõã÷ñïíéóìïý äéåñãáóéþí. 16. Ôé åßíáé ïé ëßóôåò áíáìïíÞò äéåñãáóéþí ôïõ ËÓ; 17. Ôé åßíáé ç ÷ñïíïäñïìïëüãçóç, ôé ï ÷ñïíïäñïìïëïãçôÞò êáé ôé ï áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò; 18. Åîçãåßóôå ôá åðßðåäá ÷ñïíïäñïìïëüãçóçò êáé ôïõò âáóéêïýò äåßêôåò áîéïëüãçóçò ôçò åðßäïóçò ôùí áëãïñßèìùí ÷ñïíïäñïìïëüãçóçò. 19. Ôé ïíïìÜæïõìå ðñïåê÷ùñçôéêÞ êáé ôé ìç-ðñïåê÷ùñçôéêÞ ÷ñïíïäñïìïëüãçóç; 20. Ðïéïò åßíáé ï âáóéêüò ëüãïò ðïõ ï áëãüñéèìïò åîõðçñÝôçóçò ìå âÜóç ôç ìéêñüôåñç äéÜñêåéá äéåñãáóßáò äå ÷ñçóéìïðïéåßôáé óå óõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ; 21. Ôé äéáöÝñåé ç ðñïåê÷ùñçôéêÞ áðü ôçí ìç ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóç ôç ìéêñüôåñç äéÜñêåéá äéåñãáóßáò; 22. Ôé åßíáé ôï êâÜíôï ÷ñüíïõ êáé ðþò åðçñåÜæåé ôçí áðüäïóç ôïõ áëãïñßèìïõ åîõðçñÝôçóçò åê ðåñéôñïðÞò; Äþóôå ðáñÜäåéãìá.

Âéâëéïãñáößá 1. É. ÊÜâïõñá, Óõóôçìáôá Õðïëïãéóôþí ÉÉ ËåéôïõñãéêÜ Óõóôçìáôá, 3ç åêäïóç, Åêäüóåéò ÊëåéäÜñéèìïò, 1995 2. Á. Tanenbaum, Óýã÷ñïíá ËåéôïõñãéêÜ ÓõóôÞìáôá, Åêäüóåéò Ðáðáóùôçñßïõ, 1993 3. Silberschatz et al., Operating System Concepts, 3rd Ed. Addison-Wesley, 1991

223

224

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Äéåõèýíóåéò äéáäéêôýïõ http://pandonia.canberra.edu.au/ssw/intro/generic.html “Generic Operating System Structure”, ÄïìÞ åíüò ôõðéêïý ËÓ. http://pandonia.canberra.edu.au/ssw/processes/lecture.html “System Software Overview”, Ðáñïõóßáóç ËÓ áðü ôçí Üðïøç ôùí äéåñãáóéþí. http://cs.millersv.edu/cs382.dir/20.html “The notion of a process”, ÅîÞãçóç ôçò Ýííïéáò ôçò äéåñãáóßáò. http://www-dsg.stanford.edu/papers/cachekernel/subsection3_3_2.html “Interprocess Communication”, Ðáñïõóßáóç äéáäéåñãáóéáêÞò åðéêïéíùíßáò. http://www.cs.adfa.oz.au/teaching/studinfo/csa2/OSNotes/node12.html “Interprocess Communication and synchronization”, Ìç÷áíéóìïß åðéêïéíùíßáò êáé óõã÷ñïíéóìþí äéåñãáóéþí. http://www.cs.adfa.oz.au/teaching/studinfo/csa2/OSNotes/node4.html “Process Scheduling”, Ðáñïõóßáóç Ìç÷áíéóìþí ÷ñïíïäñïìïëüãéóçò äéåñãáóéþí.

ËÝîåéò êëåéäéÜ ÁäéÝîïäï .............................................................................................. Deadlock Áìïéâáßïò áðïêëåéóìüò ............................................................. Mutual blocking ÄéáäéåñãáóéáêÞ åðéêïéíùíßá .................................. Interprocess communication Åíåñãüò áíáìïíÞ ............................................................................ Busy waiting Êñßóéìï ôìÞìá äéåñãáóßáò ............................................. Process critical section ÓçìáôïöïñÝáò ................................................................................. Semaphore ÓõíèÞêåò áíôáãùíéóìïý ........................................................... Race conditions ×ñïíïäñïìïëüãçóç ........................................................................... Scheduling

10

ÊåöÜëáéï

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí u u u u u

Áñ÷åßá ÊáôÜëïãïé/öÜêåëïé Äéá÷åßñéóç êáé ÁóöÜëåéá Áñ÷åßùí êáé êáôáëüãùí/öáêÝëùí Õëïðïßçóç Áñ÷åßùí Äéá÷åßñéóç ÷þñïõ ôïõ Äßóêïõ

250

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÅéóáãùãÞ

Óôï êåöÜëáéï áõôü èá áó÷ïëçèïýìå ìå ôï óýóôçìá áñ÷åßùí ôïõ ËÓ. Óôéò ðñþôåò åíüôçôåò ôïõ êåöáëáßïõ èá åîåôÜóïõìå ôá áñ÷åßá êáé ôïõò êáôáëüãïõò/öáêÝëïõò áðü ôçí ðëåõñÜ ôïõ áðëïý ÷ñÞóôç. Èá åîçãÞóïõìå ôé åßíáé ôá áñ÷åßá êáé ïé êáôÜëïãïé/öÜêåëïé êáé èá äïýìå ðþò ï ÷ñÞóôçò ôá ÷ñçóéìïðïéåß êáé ðþò ôá äéá÷åéñßæåôáé, ãéá íá åñãáóôåß áðïôåëåóìáôéêÜ ìå ôï óýóôçìá. Óôç óõíÝ÷åéá ôïõ êåöáëáßïõ èá åîåôÜóïõìå ôá áñ÷åßá êáé ôïõò êáôáëüãïõò/ öáêÝëïõò áðü ôçí ðëåõñÜ ôïõ ËÓ Èá ìÜèïõìå ðþò õëïðïéïýíôáé ôá áñ÷åßá êáé èá ãíùñßóïõìå ôïõò ðáñÜãïíôåò ðïõ åðçñåÜæïõí ôçí áðüäïóç ôïõ óõóôÞìáôïò óå åñãáóßåò ðïõ ó÷åôßæïíôáé ìå áñ÷åßá êáé êáôáëüãïõò. ÔÝëïò, èá ìÜèïõìå ðþò ôï ËÓ äéá÷åéñßæåôáé áðïôåëåóìáôéêÜ ôï äéáèÝóéìï ÷þñï óôïõò äßóêïõò ôïõ óõóôÞìáôïò õðïëïãéóôÞ. Äéäáêôéêïß óôü÷ïé

Ìå ôçí ïëïêëÞñùóç ôïõ êåöáëáßïõ, èá ìðïñåßôå íá ðåñéãñÜöåôå ôéò âáóéêÝò ìåèüäïõò ïñãÜíùóçò ôùí ðëçñïöïñéþí óå áñ÷åßá êáé êáôáëüãïõò/öáêÝëïõò óôï óýóôçìá, ôüóï óôï ëïãéêü åðßðåäï ôïõ ÷ñÞóôç üóï êáé óôï öõóéêü åðßðåäï ôùí äßóêùí ôïõ óõóôÞìáôïò. Èá ìðïñåßôå åðßóçò íá äéá÷åéñßæåóôå ôïõò äßóêïõò, ôïõò êáôáëüãïõò êáé ôá áñ÷åßá ôïõ óõóôÞìáôïò, Ýôóé þóôå íá åñãÜæåóôå áðïäïôéêÜ ìå ôï óýóôçìá õðïëïãéóôÞ ôïõ ó÷ïëåßïõ. ÐñïåñùôÞóåéò

Óôï êåöÜëáéï áõôü áðáíôþíôáé åñùôÞìáôá üðùò: ü Ôé åßíáé ôá áñ÷åßá êáé ôï óýóôçìá áñ÷åßùí; ü Ðïéïé ôýðïé áñ÷åßùí õðÜñ÷ïõí; ü Ðïéåò åßíáé ïé åñãáóßåò åðåîåñãáóßáò êáé äéá÷åßñéóçò ôùí áñ÷åßùí; ü Ôé åßíáé ïé êáôÜëïãïé/öÜêåëïé êáé ãéáôß õðÜñ÷ïõí; ü Ðþò ïñßæåôáé Ýíá áñ÷åßï Þ êáôÜëïãïò/öÜêåëïò óôï óýóôçìá; ü Ðïéåò åßíáé ïé åñãáóßåò åðåîåñãáóßáò êáé äéá÷åßñéóçò ôùí êáôáëüãùí; ü Ðþò õëïðïéïýíôáé ôá áñ÷åßá áðü ôï ËÓ; ü Ðþò ãßíåôáé ç äéá÷åßñéóç ôïõ ÷þñïõ ôïõ äßóêïõ; ü Ðþò åðéôõã÷Üíåôáé ç áóöÜëåéá ôùí áñ÷åßùí óôï óýóôçìá;

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

10.1 Áñ÷åßá Ç ÷ñÞóç êÜèå óõóôÞìáôïò õðïëïãéóôÞ óõíåðÜãåôáé Üìåóá ïñéóìÝíåò áðáéôÞóåéò óå ó÷Ýóç ìå ôéò åðåîåñãáæüìåíåò ðëçñïöïñßåò, üðùò: 1. Ìáêñï÷ñüíéá áðïèÞêåõóç ìåãÜëïõ üãêïõ ðëçñïöïñéþí. 2. ÄéáôÞñçóç ôùí ðëçñïöïñéþí ìåôÜ ôï ôÝëïò ôçò äéåñãáóßáò ðïõ ôéò ÷ñçóéìïðïéåß. 3. Ôáõôü÷ñïíç ðñüóâáóç óôéò ßäéåò ðëçñïöïñßåò áðü äéáöïñåôéêÝò äéåñãáóßåò.

Ç éêáíïðïßçóç ôùí áðáéôÞóåùí áõôþí ãßíåôáé ìå ôçí áðïèÞêåõóç ôùí ðëçñïöïñéþí óå ìáãíçôéêïýò äßóêïõò êáé Üëëá áðïèçêåõôéêÜ ìÝóá. Ïé ðëçñïöïñßåò áðïèçêåýïíôáé óå äïìÝò ïé ïðïßåò ïíïìÜæïíôáé áñ÷åßá (files). Ôá áñ÷åßá ðáñáìÝíïõí áíáëëïßùôá óôï ðÝñáóìá ôïõ ÷ñüíïõ êáé äåí åðçñåÜæïíôáé áðü ôéò åêôåëïýìåíåò äéåñãáóßåò, åêôüò áí åóêåììÝíá óõìâåß êÜôé ôÝôïéï. ¸íá áñ÷åßï ìðïñåß íá äçìéïõñãçèåß áðü ìéá äéåñãáóßá, íá ôñïðïðïéçèåß áðü áõôÞ Þ áêüìç êáé íá äéáãñáöåß. ÐÜíôá üìùò ìå ñçôÞ åíôïëÞ áðü ôç äéåñãáóßá. Ç äéá÷åßñéóç ôùí áñ÷åßùí ãßíåôáé áðü ôï ËÓ. Ç äéá÷åßñéóç ãßíåôáé åßôå áðü ôï ÷ñÞóôç åßôå áðü äéåñãáóßåò, ðÜíôá ìÝóù êëÞóåùí ôùí êáôÜëëçëùí äéåñãáóéþí ôïõ ËÓ. Ôï ìÝñïò ôïõ ËÓ ðïõ áó÷ïëåßôáé óõíïëéêÜ ìå ôá áñ÷åßá ïíïìÜæåôáé óýóôçìá áñ÷åßùí (file system).

10.1.1 Ôýðïé áñ÷åßùí ¼ëá ôá ËÓ õðïóôçñßæïõí ðïëëïýò äéáöïñåôéêïýò ôýðïõò áñ÷åßùí. Ç êáôçãïñéïðïßçóç ôùí áñ÷åßùí ãßíåôáé ìå äéÜöïñá êñéôÞñéá. Ç êõñéüôåñç êáôçãïñéïðïßçóç ãßíåôáé ìå âÜóç ôç ëåéôïõñãéêüôçôá ôùí áñ÷åßùí óôï óýóôçìá. Áñ÷åßá ÐñïãñáììÜôùí. Åßíáé ôá áñ÷åßá óôá ïðïßá ðåñéÝ÷ïíôáé üëá ôá ðñïãñÜììáôá ðïõ åßíáé áðïèçêåõìÝíá óôï õðïëïãéóôéêü óýóôçìá. Óôçí êáôçãïñßá áõôÞ áíÞêïõí ôá ðåñéóóüôåñá áñ÷åßá ðïõ óõíèÝôïõí ôï Ëåéôïõñãéêü Óýóôçìá, ôá áñ÷åßá ðïõ õëïðïéïýí ôéò åöáñìïãÝò ðïõ ÷ñçóéìïðïéåß ï ÷ñÞóôçò êáé ôá áñ÷åßá ðïõ ÷ñçóéìïðïéåß ôï ËÓ ãéá íá ÷åéñßæåôáé êáé íá åðéêïéíùíåß ìå ôéò ðåñéöåñåéáêÝò óõóêåõÝò. Áñ÷åßá ÄåäïìÝíùí. Åßíáé ôá áñ÷åßá ðïõ ðåñéÝ÷ïõí ôçí åñãáóßá ðïõ ðñáãìáôïðïéåß ï ÷ñÞóôçò ôïõ õðïëïãéóôéêïý óõóôÞìáôïò, üôáí áõôÞ áðïèçêåýåôáé. Ãéá ðáñÜäåéãìá, êÜèå öïñÜ ðïõ ï ÷ñÞóôçò ãñÜöåé óå Ýíá åðåîåñãáóôÞ êåéìÝíïõ, æùãñáößæåé ìéá åéêüíá ìå Ýíá ðñüãñáììá åðåîåñãáóßáò åéêüíáò êáé áðïèçêåýåé ôçí åñãáóßá ôïõ áõôÞ óôï äßóêï ôïõ õðïëïãéóôéêïý óõóôÞìáôïò, ôüôå äçìéïõñãåßôáé êáé Ýíá Þ ðåñéóóüôåñá áñ÷åßá äåäïìÝíùí. Áñ÷åßá äåäïìÝíùí ôçñåß êáé ôï ßäéï ôï ËÓ ãéá íá êñáôÜ óå áõôÜ ðáñáìÝôñïõò ãéá ôç ëåéôïõñãßá ôüóï ôïõ éäßïõ üóï êáé ôùí åöáñìïãþí ðïõ ÷ñçóéìïðïéïýí ïé ÷ñÞóôåò. Áñ÷åßá Êáôáëüãùí. Åßíáé ôá áñ÷åßá ðïõ ôçñåß ôï ËÓ ãéá ôçí õëïðïßçóç ôùí äïìþí öáêÝëùí/êáôáëüãùí êáé ôçí áíôéóôïß÷éóç ôùí áñ÷åßùí ðñïãñáììÜôùí êáé ôùí áñ÷åßùí äåäïìÝíùí óôïõò öáêÝëïõò /êáôáëüãïõò áõôïýò. (ðåñéóóüôåñá ãéá ôïõò öáêÝëïõò/êáôáëüãïõò èá äïýìå óôç óõíÝ÷åéá). Ïé ðñþôåò øçöéïóõëëáâÝò êÜèå áñ÷åßïõ äçëþíïõí ôïí ôýðï ôïõ áñ÷åßïõ. Ôï ËÓ êñáôÜ ìéá ëßóôá ìå üëïõò ôïõò äéáöïñåôéêïýò êáé Ýãêõñïõò óõíäõáóìïýò êáé ìå âÜóç ôç ëßóôá áõôÞ áðïöáóßæåé áí Ýíá áñ÷åßï åßíáé ðñüãñáììá,

251

252

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

âéâëéïèÞêç, êÜðïéï áñ÷åßï êåéìÝíïõ, ëïãéóôéêü öýëëï, âÜóç äåäïìÝíùí, êáôÜëïãïò ê.ï.ê. ÓõíÞèùò, óôï üíïìá åíüò áñ÷åßïõ ãßíåôáé Ýììåóá áíáöïñÜ êáé óôçí åóùôåñéêÞ ïñãÜíùóç ôïõ áñ÷åßïõ. Ìå ôïí ôñüðï áõôü áíáãíùñßæåé ï ÷ñÞóôçò ôïí ôýðï ôïõ áñ÷åßïõ êáé óõíåðþò ôç äéåñãáóßá (åöáñìïãÞ) ìå ôçí ïðïßá ðñÝðåé íá ôï åðåîåñãáóôåß.

10.1.2 ×áñáêôçñéóôéêÜ áñ÷åßùí ÊÜèå áñ÷åßï óôï óýóôçìá Ý÷åé ïñéóìÝíá ÷áñáêôçñéóôéêÜ. ÌåñéêÜ áðü ôá ÷áñáêôçñéóôéêÜ áõôÜ ÷ñçóéìïðïéïýíôáé ãéá ëüãïõò áíáãíþñéóçò, üðùò ôï üíïìá, ç çìåñïìçíßá äçìéïõñãßáò êáé ï ôýðïò ôïõ, Üëëá ãéá ëüãïõò áóöÜëåéáò, üðùò ôá äéêáéþìáôá ôùí ÷ñçóôþí ôïõ óõóôÞìáôïò óôï áñ÷åßï êáé ç Ýíäåéîç ãéá ôç ëÞøç ôïõ áñ÷åßïõ óå óýóôçìá áóöáëåßáò êáé Üëëá ãéá ðëçñïöïñéáêïýò óêïðïýò êáé âïçèïýí óôç ãåíéêüôåñç äéá÷åßñéóç ôùí áñ÷åßùí. Ôá ÷áñáêôçñéóôéêÜ ðïõ ìðïñåß íá Ý÷åé Ýíá áñ÷åßï äéáöÝñïõí áðü ËÓ óå ËÓ õðÜñ÷ïõí üìùò ìåñéêÜ ðïõ åßíáé êïéíÜ óôçí ðëåéïøçößá ôùí ËÓ. Ôá ðéï óõíçèéóìÝíá åîçãïýíôáé óôç óõíÝ÷åéá, óôïí ðßíáêá, ðïõ áêïëïõèåß. Ðßíáêáò 10.1. ÌåñéêÜ áðü ôá óõíçèÝóôåñá ÷áñáêôçñéóôéêÜ áñ÷åßùí.

×ÁÑÁÊÔÇÑÉÓÔÉÊÏ

ÓÇÌÁÓÉÁ

ÐëÞñåò ¼íïìá

Ôï üíïìá ôïõ áñ÷åßïõ ìáæß ìå ôï ìïíïðÜôé (èá åîçãçèåß óôç óõíÝ÷åéá) ðñïò ôï áñ÷åßï áõôü. Ôï ðëÞñåò üíïìá åßíáé ìïíáäéêü ãéá êÜèå áñ÷åßï óôï óýóôçìá.

Äçìéïõñãüò

Ç ôáõôüôçôá ôïõ ÷ñÞóôç ðïõ äçìéïýñãçóå ôï áñ÷åßï.

¸íäåéîç áñ÷åßïõ ìüíï ãéá áíÜãíùóç

0 áí åðéôñÝðåôáé ç áíÜãíùóç êáé ç åããñáöÞ óôï áñ÷åßï, 1 áí åðéôñÝðåôáé ìüíï ç áíÜãíùóç ôïõ áñ÷åßïõ.

¸íäåéîç êñõöïý áñ÷åßïõ

0 áí ôï áñ÷åßï åìöáíßæåôáé óå üëåò ôéò ëßóôåò áñ÷åßùí ðïõ äßíåé ôï óýóôçìá, 1 áí ôï áñ÷åßï äåí åìöáíßæåôáé óôéò ëßóôåò áñ÷åßùí ôïõ óõóôÞìáôïò

Çìåñïìçíßá êáé þñá äçìéïõñãßáò

Çìåñïìçíßá êáé þñá ðïõ äçìéïõñãÞèçêå ôï áñ÷åßï.

Çìåñïìçíßá êáé þñá ôñïðïðïßçóçò

Çìåñïìçíßá êáé þñá ðïõ ôñïðïðïéÞèçêå ôï áñ÷åßï ãéá ôåëåõôáßá öïñÜ.

ÔñÝ÷ïí ìÝãåèïò

Áñéèìüò ôùí øçöéïóõëëáâþí (bytes) ðïõ ðåñéÝ÷ïíôáé óôï áñ÷åßï.

¢ëëá ÷áñáêôçñéóôéêÜ áñ÷åßùí åßíáé, áíÜëïãá ìå ôï ËÓ, ï éäéïêôÞôçò ôïõ áñ÷åßïõ, åíäåßîåéò ãéá ôï ðïéïé ÷ñÞóôåò Ý÷ïõí ðñüóâáóç óôï áñ÷åßï, áí ôï áñ÷åßï áíÞêåé óôï ËÓ, áí ôï áñ÷åßï åßíáé ðñïóùñéíü ê.á. Ôá ÷áñáêôçñéóôéêÜ ôùí áñ÷åßùí ÷ñçóéìïðïéïýíôáé áðü ôï óýóôçìá êáé ôïõò

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

÷ñÞóôåò ôïõ óõóôÞìáôïò ãéá ôïõò áêüëïõèïõò óêïðïýò: 1. Áíáãíþñéóç. Áíáãíþñéóç ôïõ áñ÷åßïõ êáé ôçò åóùôåñéêÞò äïìÞò ôïõ. 2. ÁóöÜëåéá. Êáèïñéóìü ôùí ÷ñçóôþí ðïõ Ý÷ïõí ðñüóâáóç óôï áñ÷åßï, ôï åßäïò ôçò ðñüóâáóçò êáé ôéò åðéôñåðôÝò åíÝñãåéåò óå áõôü. 3. Åõêïëßá Äéá÷åßñéóçò. Áõôïìáôïðïßçóç åñãáóéþí äéá÷åßñéóçò áñ÷åßùí ìå âÜóç êïéíÜ éäéï÷áñáêôçñéóôéêÜ ôïõò (üðùò ëÞøç áíôéãñÜöùí áóöáëåßáò).

10.2 ÊáôÜëïãïé/öÜêåëïé Óêåöèåßôå ëßãï ôï óðßôé óáò. Óôï óðßôé õðÜñ÷ïõí äùìÜôéá. Óå êÜèå äùìÜôéï, íôïõëÜðåò, óõñôÜñéá êáé Üëëïé ÷þñïé óôïõò ïðïßïõò âñßóêïíôáé áíôéêåßìåíá. Áíôéêåßìåíá âñßóêïíôáé êáé óôá äùìÜôéá. Óå êÜèå íôïõëÜðé âñßóêïíôáé ßóùò óõñôÜñéá êáé óôá óõñôÜñéá âñßóêïíôáé êïõôéÜ ðïõ ðåñéÝ÷ïõí áíôéêåßìåíá. Óõíïøßæïíôáò, âëÝðïõìå üôé óôï óðßôé õðÜñ÷ïõí áíôéêåßìåíá êáé ÷þñïé ðïõ ðåñéÝ÷ïõí Üëëïõò ÷þñïõò êáé áíôéêåßìåíá. Ãéáôß õðÜñ÷ïõí ïé ÷þñïé; Ìá ãéá íá ìç âñßóêïíôáé üëá ôá áíôéêåßìåíá ôïõ óðéôéïý “÷ýìᔠóôïí ßäéï ÷þñï. Ôá áíôéêåßìåíá âñßóêïíôáé óå ÷þñïõò ðïõ Ý÷ïõìå äçìéïõñãÞóåé ìå ìüíï óêïðü ôçí ôáîéíüìçóç êáé ôïðïèÝôçóç ôùí áíôéêåéìÝíùí. ÊÜèå áíôéêåßìåíï Ý÷åé ôç èÝóç ôïõ óå Ýíá ÷þñï. Áí âñåèåß óå êÜðïéï Üó÷åôï ÷þñï (ãéá ðáñÜäåéãìá, áí áõôü ôï âéâëßï âñåèåß óôï íôïõëÜðé ìå ôá ðéÜôá), ôüôå ï ÷ñÞóôçò – åóåßò äçëáäÞ – äýóêïëá èá ìðïñåßôå íá ôï âñåßôå. ÊÜèå ÷þñïò ìå ôç óåéñÜ ôïõ âñßóêåôáé ìÝóá óå Ýíáí Üëëï ÷þñï ðÜëé ìå âÜóç ôç ëåéôïõñãéêüôçôÜ ôïõ. Ãéá ðáñÜäåéãìá, ôï óõñôÜñé ìå ôá ìá÷áéñïðÞñïõíá âñßóêåôáé óôï íôïõëÜðé ìå ôá åßäç êïõæßíáò êáé ôï íôïõëÜðé áõôü ìÝóá óôçí êïõæßíá. (á)

(â)

Ó÷Þìá 10.1 Éåñáñ÷ßá ÷þñùí (ìåñéêÞ üøç). á) óå Ýíá óðßôé â) óå Ýíá äßóêï

Ãéá ôïõò ßäéïõò áêñéâþò ëüãïõò ðïõ óôçí êáèçìåñéíÞ æùÞ äçìéïõñãïýìå ìéá éåñáñ÷ßá ÷þñùí (Ó÷Þìá 10.1á), ãéá ôçí ôáîéíüìçóç êáé ôçí áóöÜëéóç áíôéêåéìÝíùí, äç-

253

254

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ìéïõñãïýìå “÷þñïõò” (Ó÷Þìá 10.1â) êáé óôá áðïèçêåõôéêÜ ìÝóá åíüò óõóôÞìáôïò õðïëïãéóôÞ. Ïé “÷þñïé” áõôïß, ðïõ ïíïìÜæïíôáé êáôÜëïãïé (directories) Þ öÜêåëïé (folders), Ý÷ïõí óêïðü íá åîõðçñåôïýí ôéò äéáäéêáóßåò ïìáäïðïßçóçò êáé äéá÷åßñéóçò ôùí áñ÷åßùí ôïõ óõóôÞìáôïò.

10.2.1. Éåñáñ÷éêÞ äïìÞ êáôáëüãùí/öáêÝëùí Óå êÜèå óýóôçìá õðÜñ÷ïõí êáôÜëïãïé/öÜêåëïé ïñéóìÝíïé áðü ôï ËÓ êáé Üëëïé ðïõ ïñßæïíôáé áðü ôïõò ÷ñÞóôåò ôïõò óõóôÞìáôïò êáé ôéò åêôåëïýìåíåò äéåñãáóßåò, áíÜëïãá ìå ôéò áíÜãêåò ôïõ êáèåíüò. Óå êÜèå óôéãìÞ, åßíáé äõíáôÞ ç äçìéïõñãßá êáé ç êáôáóôñïöÞ êáôáëüãùí åßôå áðü ôï ËÓ åßôå áðü ôï ÷ñÞóôç. Ïé åñãáóßåò áõôÝò åêôåëïýíôáé ìå êëÞóåéò óôéò êáôÜëëçëåò äéåñãáóßåò ôïõ ËÓ. Ç äçìéïõñãßá ôçò äïìÞò ôùí êáôáëüãùí óå Ýíá óýóôçìá, åêôüò áðü ôïõò êáôáëüãïõò ðïõ õðáãïñåýåé ôï óýóôçìá, åßíáé õðüèåóç êáèáñÜ ôïõ äéá÷åéñéóôÞ êáé ôùí ÷ñçóôþí ôïõ óõóôÞìáôïò. ÊáèÝíáò, áíÜëïãá ìå ôïí ôñüðï ìå ôïí ïðïßï èÝëåé íá ïìáäïðïéåß ôá áñ÷åßá ôïõ, äçìéïõñãåß ôï áíôßóôïé÷ï äÝíôñï êáôáëüãùí (directory tree). Óôï ó÷Þìá 10.2 öáßíåôáé ìéá äïìÞ êáôáëüãùí óå Ýíá óýóôçìá ðïëëþí ÷ñçóôþí. ÊÜèå ÷ñÞóôçò Ý÷åé ôï äéêü ôïõò êáôÜëïãï/öÜêåëï ìÝóá óôïí ïðïßï äçìéïõñãåß êáôáëüãïõò êáé áðïèçêåýåé áñ÷åßá. ¼ëïé ïé êáôÜëïãïé/öÜêåëïé ôùí ÷ñçóôþí âñßóêïíôáé óôïí êáôÜëïãï ×ÑÇÓÔÅÓ. Ôï ËÓ Ý÷åé ãéá ôçí ôÞñçóç ôùí äéêþí ôïõ áñ÷åßùí Ýíá ìÝñïò ôçò äåíäñïåéäïýò äïìÞò (îåêéíÜ áðü ôïí êáôÜëïãï ËÓ), åíþ üëåò ïé åöáñìïãÝò ôçñïýíôáé óå áñ÷åßá ðïõ âñßóêïíôáé óå ìéá ôñßôç ðåñéï÷Þ ôïõ äÝíäñïõ (îåêéíþíôáò áðü ôïí êáôÜëïãï ÐÑ).

Ó÷Þìá 10.2 ÅíäåéêôéêÞ äïìÞ êáôáëüãùí óå Ýíá óýóôçìá ðïëëþí ÷ñçóôþí.

Óôï óýóôçìá õðÜñ÷åé ðÜíôá Ýíáò êáôÜëïãïò ìÝóá óôïí ïðïßï âñßóêïíôáé üëïé ïé Üëëïé. Óôá ðåñéóóüôåñá óõóôÞìáôá áõôüò ï êáôÜëïãïò, áðü ôïí ïðïßï îåêéíÜ ç äåíäñïåéäÞò äïìÞ ôùí êáôáëüãùí ôïõ óõóôÞìáôïò, ïíïìÜæåôáé ñßæá (root). Óêåöèåßôå ðüóï ðéï åýêïëç Ý÷åé ãßíåé ç áíáæÞôçóç åíüò áñ÷åßïõ óôï óýóôçìá ôïõ ðñïçãïýìåíïõ ó÷Þìáôïò. Óêåöèåßôå åðßóçò üôé óôï óýóôçìá áõôü ìðïñïýìå ðïëý åýêïëá íá áíôéãñÜøïõìå üëá ôá áñ÷åßá åíüò ÷ñÞóôç óå Ýíá Üëëï áðïèçêåõôéêü ìÝóï. Äåí ÷ñåéÜæåôáé íá øÜ÷íïõìå ðïëý. ¼ëá ôá áñ÷åßá ôïõ ÷ñÞóôç êáé ìüíï áõôÜ âñßóêïíôáé ìÝóá óôïí êáôÜëïãï ôïõ ÷ñÞóôç (óôç äåíäñïåéäÞ äïìÞ êáôáëüãùí ðïõ îåêéíÜ áðü ôïí êáôÜëïãï ôïõ ÷ñÞóôç).

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

10.2.2. Ïíüìáôá äéáäñïìþí (pathnames) Áðü üóá áíáöÝñáìå ìÝ÷ñé ôþñá ãéá ôïõò êáôáëüãïõò, åßíáé ðñïöáíÝò üôé ãéá íá ïñßóïõìå áêñéâþò Ýíá áñ÷åßï, äåí áñêåß íá ïñßóïõìå ôï üíïìÜ ôïõ. ÐñÝðåé íá ïñßóïõìå êáé ôïí êáôÜëïãï óôïí ïðïßï âñßóêåôáé ôï áñ÷åßï. Ãéá ôïí ßäéï áêñéâþò ëüãï äåí áñêåß ôï üíïìá åíüò êáôáëüãïõ ãéá íá ïñßóïõìå ôïí êáôÜëïãï áõôü. Áðáéôåßôáé íá ïñßóïõìå êáé ôïí êáôÜëïãï óôïí ïðïßï âñßóêåôáé ï êáôÜëïãïò. ÔåëéêÜ ðþò ìðïñïýìå íá ïñßóïõìå Ýíá áñ÷åßï Þ Ýíá êáôÜëïãï; ¸÷ïõìå äýï ôñüðïõò, ðïõ ðåñéãñÜöïíôáé óôç óõíÝ÷åéá.

Áðüëõôç ÄéáäñïìÞ Ç áðüëõôç äéáäñïìÞ åíüò áñ÷åßïõ / êáôáëüãïõ åßíáé ç äéáäñïìÞ êáôáëüãùí ðïõ ðñÝðåé íá áêïëïõèÞóïõìå, Ýôóé þóôå íá öèÜóïõìå áðü ôç ñßæá óôï óõãêåêñéìÝíï áñ÷åßï / êáôÜëïãï. Óôç äéáäñïìÞ áõôÞ ðñïóèÝôïõìå óôï ôÝëïò ôï üíïìá ôïõ áñ÷åßïõ / êáôáëüãïõ. Óôç äåíäñïåéäÞ äïìÞ ôïõ ó÷Þìáôïò ðïõ áêïëïõèåß, ç áðüëõôç äéáäñïìÞ ôïõ áñ÷åßïõ ðïõ óçìåéþíåôáé óôï ðëáßóéï åßíáé: \÷ñÞóôåò\ìé÷\ãñÜììá\Üííá\merry_christmas.doc

Ó÷Þìá 10.3 ÄéáäñïìÞ ìÝ÷ñé ôï áñ÷åßï merry_christmas.doc

Áí äçëáäÞ ôï áñ÷åßï Þôáí Ýíá ÷áñôß êáé ïé êáôÜëïãïé äùìÜôéá óôï öõóéêü êüóìï, ôüôå èá Ýðñåðå ãéá íá âñïýìå ôï ÷áñôß, íá áêïëïõèÞóïõìå ôç äéáäñïìÞ ðïõ äßíåôáé óôç óõíÝ÷åéá. ü Áñ÷éêÜ ðÜù óôï “÷þñï” ôçò ñßæáò. ü Áðü åêåß ðÜù óôï “÷þñï” ÷ñÞóôåò, ü óôç óõíÝ÷åéá ìðáßíù ìÝóá óôï “äùìÜôéï” ìé÷ ðïõ âñßóêåôáé óôï “äùìÜôéï” ÷ñÞóôåò, ü óôç óõíÝ÷åéá ìðáßíù ìÝóá óôï “äùìÜôéï” ãñÜììá ðïõ âñßóêåôáé óôï “äùìÜôéï” ìé÷, ü óôç óõíÝ÷åéá ìðáßíù ìÝóá óôï “äùìÜôéï” Üííá ðïõ âñßóêåôáé óôï “äùìÜôéï” ãñÜììá, ü êáé åêåß íá äù ôï ÷áñôß merry_christmas.doc

255

256

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Áí ôá äùìÜôéá ôçò äéáäñïìÞò áõôÞò ôá âÜëïõìå ôï Ýíá ìåôÜ ôï Üëëï êáé ìåôáîý ôïõò ôï ÷áñáêôÞñá “\” (ï ïðïßïò äéáöÝñåé áíÜëïãá ìå ôï ËÓ), Ý÷ïõìå ôçí áðüëõôç äéáäñïìÞ åíüò áñ÷åßïõ Þ êáôáëüãïõ. Óçìåéþóôå üôé áñ÷åßá ìå ôï ßäéï üíïìá ìðïñïýí íá õðÜñ÷ïõí ðïëëÜ óôï ßäéï óýóôçìá. Èá ðñÝðåé üìùò íá âñßóêïíôáé áíáãêáóôéêÜ óå äéáöïñåôéêïýò êáôáëüãïõò.

Ó÷åôéêÞ ÄéáäñïìÞ ¸íá áñ÷åßï ïñßæåôáé ðëÞñùò ìüíï áðü ôçí áðüëõôç äéáäñïìÞ ôïõ.

Ó÷åôéêÞ äéáäñïìÞ åíüò áñ÷åßïõ / êáôáëüãïõ åßíáé ç äéáäñïìÞ êáôáëüãùí ðïõ ðñÝðåé íá áêïëïõèÞóïõìå Ýôóé þóôå íá öèÜóïõìå áðü ôïí ôñÝ÷ïíôá êáôÜëïãï óôï óõãêåêñéìÝíï áñ÷åßï / êáôÜëïãï. Óôç äéáäñïìÞ áõôÞ ðñïóèÝôïõìå óôï ôÝëïò ôï üíïìá ôïõ áñ÷åßïõ / êáôáëüãïõ. ÔñÝ÷ùí êáôÜëïãïò åßíáé ï êáôÜëïãïò óôá ðåñéå÷üìåíá ôïõ ïðïßïõ Ý÷ïõìå ðñüóâáóç ÷ùñßò ÷ñÞóç äéáäñïìþí. Ï ïñéóìüò ôïõ ãßíåôáé ìå êáôÜëëçëåò êëÞóåéò ðñïò ôï ËÓ.

Åíþ ãéá êÜèå áñ÷åßï õðÜñ÷åé ìéá ìïíáäéêÞ áðüëõôç äéáäñïìÞ, õðÜñ÷åé ìåãÜëïò áñéèìüò áðü ó÷åôéêÝò äéáäñïìÝò. Ç ó÷åôéêÞ äéáäñïìÞ åíüò áñ÷åßïõ/êáôáëüãïõ áëëÜæåé áíÜëïãá ìå ôïí ôñÝ÷ïíôá êáôÜëïãï. Áíôßèåôá, ç áðüëõôç äéáäñïìÞ åßíáé áíåîÜñôçôç ôïõ ôñÝ÷ïíôïò êáôáëüãïõ.

Óôç äåíäñïåéäÞ äïìÞ ôïõ ðñïçãïýìåíïõ ó÷Þìáôïò, áí ôñÝ÷ùí êáôÜëïãïò åßíáé áõôüò ðïõ äåß÷íåé ôï âÝëïò, ôüôå ç ó÷åôéêÞ äéáäñïìÞ ôïõ áñ÷åßïõ ðïõ óçìåéþíåôáé óôï ðëáßóéï åßíáé: ..\ÃÑÁÌÌÁ\ÁÍÍÁ\merry_christmas.doc Áí äçëáäÞ ôï áñ÷åßï Þôáí Ýíá ÷áñôß êáé ïé êáôÜëïãïé äùìÜôéá êáé âñéóêüìáóôå óôï äùìÜôéï ÅÑÃ, ôüôå èá Ýðñåðå, ãéá íá âñïýìå ôï ÷áñôß, íá áêïëïõèÞóïõìå ôç äéáäñïìÞ ðïõ äßíåôáé óôç óõíÝ÷åéá. ü íá âãù áðü ôï äùìÜôéï ÅÑÃ, äçëáäÞ íá ìðù óôï äùìÜôéï. . (ðïõ ãéá ôï ÅÑà óõìâïëßæåé ôï äùìÜôéï ÌÉ×) ü óôç óõíÝ÷åéá íá ìðù ìÝóá óôï äùìÜôéï ÃÑÁÌÌÁ ðïõ âñßóêåôáé óôï äùìÜôéï ÌÉ×, ü óôç óõíÝ÷åéá íá ìðù ìÝóá óôï äùìÜôéï ÁÍÍÁ ðïõ âñßóêåôáé óôï äùìÜôéï ãñÜììá,

Óôá ðåñéóóüôåñá ËÓ, ï êáôÜëïãïòãïíÝáò åíüò êáôáëüãïõ ×, åìöáíßæåôáé ìÝóá óôïí × ìå ôï óýìâïëï .. (äýï ôåëåßåò). Ôï ßäéï éó÷ýåé êáé ãéá ôéò äéáäñïìÝò, üôáí èÝëïõìå íá ìåôáêéíçèïýìå óå êáôÜëïãï-ãïíÝá. Ãéá íá “âãù” Ýîù áðü ôïí êáôÜëïãï × áñêåß íá “ìðù” óôïí êáôÜëïãü ôïõ ìå üíïìá.

ü êáé åêåß íá äù ôï ÷áñôß merry_christmas.doc Áí ôá äùìÜôéá ôçò äéáäñïìÞò áõôÞò ôá âÜëïõìå ôï Ýíá ìåôÜ ôï Üëëï êáé ìåôáîý ôïõò ôï ÷áñáêôÞñá “\” (ï ïðïßïò äéáöÝñåé áíÜëïãá ìå ôï ËÓ), Ý÷ù ôç ó÷åôéêÞ äéáäñïìÞ åíüò áñ÷åßïõ Þ êáôáëüãïõ. Ç ïíïìáôïäïóßá ôùí êáôáëüãùí/öáêÝëùí åíüò óõóôÞìáôïò áêïëïõèåß ôïõò ßäéïõò êáíüíåò êáé ôçí ßäéá ëïãéêÞ ðïõ áêïëïõèåßôáé êáé ãéá ôá áñ÷åßá ôïõ óõóôÞìáôïò.

10.2.3 ×áñáêôçñéóôéêÜ êáôáëüãùí/ÖáêÝëùí ¼ðùò êÜèå áñ÷åßï óôï óýóôçìá Ý÷åé ïñéóìÝíá ÷áñáêôçñéóôéêÜ, Ýôóé êáé ïé êáôÜëïãïé óôï óýóôçìá Ý÷ïõí óõãêåêñéìÝíá ÷áñáêôçñéóôéêÜ. ÌåñéêÜ áðü ôá ÷áñáêôçñéóôéêÜ áõôÜ ÷ñçóéìïðïéïýíôáé ãéá ëüãïõò áíáãíþñéóçò, üðùò ôï üíïìá, ç çìåñïìçíßá äçìéïõñãßáò êáé ï ôýðïò ôïõ. ¢ëëá ÷ñçóéìïðïéïýíôáé ãéá ëüãïõò áóöÜëåéáò, üðùò ôá äéêáéþìáôá ôùí ÷ñçóôþí ôïõ óõóôÞìáôïò óôïí êáôÜëïãï. ÔÝëïò, Üëëá

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

÷ñçóéìïðïéïýíôáé ãéá ôçí åìöÜíéóç ðëçñïöïñéþí êáé âïçèïýí óôç ãåíéêüôåñç äéá÷åßñéóç ôùí êáôáëüãùí.

10.3 Äéá÷åßñéóç êáé ÁóöÜëåéá Áñ÷åßùí êáé êáôáëüãùí/ öáêÝëùí Ïé ëåéôïõñãßåò ðïõ Üìåóá (áðü ôï öëïéü) Þ Ýììåóá (ìÝóù ðñïãñáììÜôùí) ÷ñçóéìïðïéåß ï ÷ñÞóôçò ãéá ôçí åðåîåñãáóßá êáé ôç äéá÷åßñéóç ôùí áñ÷åßùí êáé ôùí êáôáëüãùí ôïõ óõóôÞìáôïò, ðïéêßëïõí áðü óýóôçìá óå óýóôçìá. ÕðÜñ÷åé üìùò Ýíá õðïóýíïëï áðü ëåéôïõñãßåò ðïõ åìöáíßæïíôáé óôá ðåñéóóüôåñá ËÓ êáé ôï ïðïßï åîåôÜæïõìå óôç óõíÝ÷åéá. Óçìåéþóôå üôé ôüóï ç ïíïìáóßá üóï êáé ç óýíôáîç ôùí åíôïëþí ôïõ ÷ñÞóôç ðñïò ôï ËÓ ãéá ôç äéá÷åßñéóç ôùí áñ÷åßùí êáé ôùí êáôáëüãùí äéáöÝñåé ìåôáîý óõóôçìÜôùí. Óôçí ðáñïýóá åíüôçôá ãéá êÜèå åíÝñãåéá èá ÷ñçóéìïðïéÞóïõìå üíïìá ðïõ ó÷åôßæåôáé ìå ôï åßäïò ôçò åñãáóßáò óôï áñ÷åßï/êáôÜëïãï. 1. ÄÇÌÉÏÕÑÃÉÁ. Ç äéáäéêáóßá äçìéïõñãßáò áñ÷åßïõ Þ êáôáëüãïõ. ×ñçóéìïðïéåßôáé êõñßùò áðü äéåñãáóßåò ãéá ôç äçìéïõñãßá íÝùí, êåíþí áñ÷åßùí óôá ïðïßá èá áðïèçêåõôåß ðëçñïöïñßá áðü ôç äéåñãáóßá. Ç ÷ñÞóç ôçò áðü ôï ÷ñÞóôç åßíáé óõíÞèùò Ýììåóç êáé êáëåßôáé ìÝóù åíôïëþí ðïõ äßíåé áõôüò óôçí åöáñìïãÞ ðïõ ÷ñçóéìïðïéåß. Óôçí ðåñßðôùóç êáôáëüãùí, áõôïß äçìéïõñãïýíôáé ãéá ôç öýëáîç áñ÷åßùí óå áõôïýò. 2. ÄÉÁÃÑÁÖÇ. Ç åíôïëÞ ãéá ôç äéáãñáöÞ áñ÷åßïõ Þ êáôáëüãïõ. Ôï áñ÷åßï áðïìáêñýíåôáé áðü ôï óýóôçìá êáé ôá ðåñéå÷üìåíÜ ôïõ ðáýïõí íá åßíáé äéáèÝóéìá. Ï ÷þñïò ðïõ êáôáëáìâÜíåé óôï äßóêï ôï áñ÷åßï åëåõèåñþíåôáé ãéá íá ÷ñçóéìïðïéçèåß áðü íÝá áñ÷åßá. Ç äéáãñáöÞ áñ÷åßùí ðñáãìáôïðïéåßôáé óõíÞèùò áðü ôï ÷ñÞóôç, ìÝóá áðü ôï öëïéü ôïõ ËÓ. Äéåñãáóßåò êáëïýí åðßóçò ôç äéáäéêáóßá ãéá ðñïóùñéíÜ áñ÷åßá ðïõ äçìéïõñãïýí êáôÜ ôçí åêôÝëåóÞ ôïõò. Óôçí ðåñßðôùóç äéáãñáöÞò êáôáëüãùí, óå Üëëá óõóôÞìáôá áõôÞ óõíåðÜãåôáé êáé äéáãñáöÞ üëùí ôùí áñ÷åßùí ðïõ õðÜñ÷ïõí óå áõôïýò, åíþ óå Üëëá óõóôÞìáôá ç äéáäéêáóßá åðéôñÝðåôáé ìüíï óå êåíïýò êáôÜëïãïõò. 3. ÁÍÏÉÃÌÁ. ¢íïéãìá ôïõ áñ÷åßïõ Þ ôïõ êáôáëüãïõ. Ìå ôç äéáäéêáóßá áõôÞ ôï ËÓ åðéôñÝðåé óå ìéá äéåñãáóßá ôçí ðñüóâáóç óôá ðåñéå÷üìåíá ôïõ áñ÷åßïõ (êáôáëüãïõ) áíÜëïãá ìå ôá ÷áñáêôçñéóôéêÜ ôïõ ôåëåõôáßïõ. Ôï áñ÷åßï (êáôÜëïãïò) Þ ìÝñïò ôïõ ìåôáöÝñåôáé óôç ìíÞìç ôïõ óõóôÞìáôïò ãéá ôá÷ýôåñç åðåîåñãáóßá. Ç åñãáóßá êáëåßôáé Ýììåóá áðü ôï ÷ñÞóôç ìÝóù ôçò äéåñãáóßáò åöáñìïãÞò ðïõ ÷ñçóéìïðïéåß ãéá ôçí åðåîåñãáóßá ôïõ áñ÷åßïõ (êáôáëüãïõ). 4. ÁÍÁÃÍÙÓÇ. ÁíÜãíùóç ìÝñïõò ôùí ðåñéå÷ïìÝíùí ôïõ áñ÷åßïõ Þ ôùí ðåñéå÷ïìÝíùí (áñ÷åßùí) ôïõ êáôáëüãïõ. Óôçí ðåñßðôùóç áñ÷åßùí, ç äéáäéêáóßá áðáéôåß íá äïèåß ôï ìÝãåèïò ôïõ ìÝñïõò ôïõ áñ÷åßïõ ðïõ èá áíáãíùóèåß, êáèþò êáé ç ðåñéï÷Þ ìíÞìçò óôçí ïðïßá èá åããñáöïýí ôá ðåñéå÷üìåíá ðïõ èá áíáãíùóèïýí. Ãéá íá ãßíåé áíÜãíùóç áðü áñ÷åßï Þ êáôÜëïãï, ðñÝðåé ðñþôá íá áíïé÷èåß ôï áñ÷åßï/êáôÜëïãïò. 5.

ÅÃÃÑÁÖÇ. Ç äéáäéêáóßá ìå ôçí ïðïßá äåäïìÝíá ãñÜöïíôáé óôï áñ÷åßï Þ

257

258

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ôïí êáôÜëïãï. Ç åããñáöÞ ãßíåôáé óôï ôñÝ÷ïí óçìåßï ôïõ áñ÷åßïõ Þ óå óõãêåêñéìÝíï óçìåßï ôïõ áñ÷åßïõ, áí áõôü êáèïñßæåôáé. Áí ç åããñáöÞ ãßíåé óôï ôÝëïò ôïõ áñ÷åßïõ, ôá íÝá äåäïìÝíá ðñïóôßèåíôáé óå åêåßíá ðïõ Þäç ðåñéÝ÷åé ôï áñ÷åßï. Áí ç åããñáöÞ ãßíåé êÜðïõ ìÝóá óôï áñ÷åßï, ôá äåäïìÝíá ðïõ õðÜñ÷ïõí åêåß áíôéêáèéóôþíôáé áðü ôá äåäïìÝíá ðïõ åããñÜöïíôáé. Óôçí ðåñßðôùóç êáôáëüãùí, åããñáöÞ óôïí êáôÜëïãï åßíáé ç äçìéïõñãßá íÝùí áñ÷åßùí ìÝóá óå áõôüí Þ ç äéáãñáöÞ áñ÷åßùí ðïõ ðåñéÝ÷ïíôáé ó’ áõôüí. Ãéá íá ãßíåé åããñáöÞ óå áñ÷åßï Þ êáôÜëïãï, ðñÝðåé íá ðñïçãçèåß ÜíïéãìÜ ôïõò. 6. ÐÑÏÓÈÇÊÇ. Åßíáé õðïóýíïëï ôçò äéáäéêáóßáò ÅÃÃÑÁÖÇ. Ìðïñåß íá åããñÜøåé äåäïìÝíá ìüíï óôï ôÝëïò ôïõ áñ÷åßïõ (ðñïóèÞêç äåäïìÝíùí). Ç äéáäéêáóßá äåí åßíáé äéáèÝóéìç ãéá êáôáëüãïõò. 7. ÊËÅÉÓÉÌÏ. Äéáäéêáóßá ìå ôçí ïðïßá ôï áñ÷åßï Þ ï êáôÜëïãïò êëåßíåé. Áöïý åêôåëåóèåß ç äéáäéêáóßá, êáìéÜ Üëëç åðåîåñãáóßá äåí åßíáé äõíáôÞ ãéá ôï áñ÷åßï Þ ôïí êáôÜëïãï áõôü, ìÝ÷ñéò üôïõ ôï áñ÷åßï Þ ï êáôÜëïãïò áíïßîåé ðÜëé ìå ôç äéáäéêáóßá ÁÍÏÉÃÌÁ. 8. ÁÍÔÉÃÑÁÖÇ. Ç äéáäéêáóßá ìå ôçí ïðïßá ï ÷ñÞóôçò áíôéãñÜöåé Ýíá áñ÷åßï óå Üëëï óçìåßï ôïõ áðïèçêåõôéêïý ìÝóïõ Þ óå Üëëï áðïèçêåõôéêü ìÝóï. Ç äéáäéêáóßá äçìéïõñãåß, óôï óçìåßï ôïõ áðïèçêåõôéêïý ìÝóïõ ðïõ åðéëÝãåôáé, Ýíá íÝï áñ÷åßï, áíôéãñÜöåé óôï íÝï áñ÷åßï ôá ðåñéå÷üìåíá ôïõ áíôéãñáöüìåíïõ áñ÷åßïõ êáé óôç óõíÝ÷åéá äßíåé óôï íÝï áñ÷åßï ôï üíïìá ðïõ êáèïñßæåôáé ìå ôçí êëÞóç ôçò äéáäéêáóßáò. Óôçí ðåñßðôùóç êáôáëüãùí, ôüóï ï êáôÜëïãïò üóï êáé üëá ôá ðåñéå÷üìåíÜ ôïõ (áñ÷åßá êáé êáôÜëïãïé) áíôéãñÜöïíôáé óå íÝï óçìåßï ôïõ áðïèçêåõôéêïý ìÝóïõ. 9. ÄÉÁÂÁÓÌÁ ×ÁÑÁÊÔÇÑÉÓÔÉÊÙÍ. Ç äéáäéêáóßá ìå ôçí ïðïßá ôï ËÓ áíáêôÜ ôá ÷áñáêôçñéóôéêÜ åíüò áñ÷åßïõ Þ êáôáëüãïõ. Ç äéáäéêáóßá åßíáé áðáñáßôçôç óå ðÜñá ðïëëÝò ëåéôïõñãßåò óôï ËÓ. Ãéá ðáñÜäåéãìá, üôáí Ýíáò ÷ñÞóôçò æçôÜ íá áíïßîåé Ýíá áñ÷åßï, ôï ËÓ ðñÝðåé íá áðïöáóßóåé áí ï óõãêåêñéìÝíïò ÷ñÞóôçò Ý÷åé äéêáéþìáôá óôï áñ÷åßï áõôü. Ôï ËÓ ðñÝðåé áêüìá íá áðïöáóßóåé ðïéåò åßíáé ïé åðéôñåðôÝò åíÝñãåéåò ãéá ôï óõãêåêñéìÝíï áñ÷åßï. Ïé åñãáóßåò ðïõ åðéôñÝðåé ôï áñ÷åßï åßíáé ìÝñïò ôùí ÷áñáêôçñéóôéêþí ôïõ áñ÷åßïõ. 10. ÈÅÓÇ ×ÁÑÁÊÔÇÑÉÓÔÉÊÏÕ. Ç äéáäéêáóßá ìå ôçí ïðïßá ôßèåíôáé Þ áëëÜæïõí ôá ÷áñáêôçñéóôéêÜ åíüò áñ÷åßïõ Þ åíüò êáôáëüãïõ. Ïé ëåéôïõñãßåò ôçò áíÜãíùóçò, åããñáöÞò, ðñïóèÞêçò êáé áíôéãñáöÞò åíüò áñ÷åßïõ áðáéôïýí áðü ôï óýóôçìá íá ðñïóðåëÜóåé ôï áñ÷åßï êáé óå óõãêåêñéìÝíï óçìåßï ôïõ åßôå íá äéáâÜóåé åßôå íá ãñÜøåé äåäïìÝíá. Ç ðéï óõíçèéóìÝíç ìÝèïäïò ðñïóðÝëáóçò åßíáé ç Üìåóç ðñïóðÝëáóç (random access). Ìå áõôÞ, ôï óýóôçìá ìðïñåß íá äéáâÜóåé Þ íá ãñÜøåé áðåõèåßáò óå ïðïéïäÞðïôå óçìåßï ôïõ áñ÷åßïõ. Ç ìÝèïäïò ÷ñçóéìïðïéåßôáé óå üëá ôá óýã÷ñïíá áðïèçêåõôéêÜ ìÝóá, åêôüò ôùí ìáãíçôéêþí ôáéíéþí. Óôéò ìáãíçôéêÝò ôáéíßåò, ãéá ìç÷áíéêïýò ëüãïõò, ÷ñçóéìïðïéåßôáé ç ìÝèïäïò ôçò óåéñéáêÞò ðñïóðÝëáóçò (sequential access). Ìå ôç ìÝèïäï áõôÞ, ôï óýóôçìá ãéá íá äéáâÜóåé áðü Ýíá óçìåßï ôïõ áñ÷åßïõ ðñÝðåé íá äéáâÜóåé üëï ôï ôìÞìá ðïõ ðñïçãåßôáé ôïõ óçìåßïõ áõôïý. ÅðéðëÝïí, åããñáöÞ ãßíåôáé ìüíï óôï ôÝëïò ôïõ áñ÷åßïõ.

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

ÁóöÜëåéá Áñ÷åßùí êáé Êáôáëüãùí Ç áóöÜëåéá ôùí áñ÷åßùí óôï ËÓ Ý÷åé ðïëëÝò üøåéò. Äýï áðü ôéò óçìáíôéêüôåñåò åßíáé: 1. Ç åîáóöÜëéóç ôïõ óõóôÞìáôïò êáé ôùí áñ÷åßùí ôïõ óå ðåñéðôþóåéò áðþëåéáò äåäïìÝíùí. 2. Ç åîáóöÜëéóç ôïõ óõóôÞìáôïò êáé ôùí áñ÷åßùí ôïõ áðü ìç åîïõóéïäïôçìÝíïõò ÷ñÞóôåò. Áðþëåéá äåäïìÝíùí ìðïñåß íá ðáñïõóéáóôåß óå Ýíá óýóôçìá áðü öõóéêÝò êáôáóôñïöÝò, óöÜëìáôá õëéêïý Þ ëïãéóìéêïý Þ áíèñþðéíï óöÜëìá. Ãéá ôçí åîáóöÜëéóç ôùí äåäïìÝíùí ðïõ ðåñéÝ÷ïíôáé óôá áñ÷åßá ôùí ÷ñçóôþí, ðïõ åßíáé üôé ðéï ðïëýôéìï âñßóêåôáé óôï óýóôçìá, Ý÷ïõí áíáðôõ÷èåß äýï âáóéêÝò êáôçãïñßåò óõóôçìÜôùí áóöáëåßáò: 1. ÓõóôÞìáôá ðñüëçøçò êáôáóôñïöþí. Ôá óõóôÞìáôá áõôÜ, ðïõ ìðïñåß íá áðïôåëïýíôáé áðü õëéêü, ëïãéóìéêü, äéáäéêáóßåò êáé ïðïéïíäÞðïôå óõíäõáóìü ôùí ôñéþí áõôþí óôïé÷åßùí, áðïóêïðïýí óôçí áðïöõãÞ áðþëåéáò äåäïìÝíùí. 2. ÓõóôÞìáôá áðïêáôÜóôáóçò êáôáóôñïöþí. Ôá óõóôÞìáôá áõôÜ, ðïõ ðÜëé óõíôßèåíôáé áðü õëéêü, ëïãéóìéêü êáé äéáäéêáóßåò, áðïóêïðïýí óôçí áðïêáôÜóôáóç ôïõ óõóôÞìáôïò áöïý ãßíåé ç êáôáóôñïöÞ. Êëáóéêüôåñï ðáñÜäåéãìá óõóôÞìáôïò áðïêáôÜóôáóçò åßíáé ç ëÞøç åöåäñåéþí áñ÷åßùí (file backup) óå ìáãíçôéêÜ Þ Üëëá ìÝóá. Ãéá ôçí åîáóöÜëéóç ôùí áñ÷åßùí êáé ôùí êáôáëüãùí ôïõ óõóôÞìáôïò áðü ìç åîïõóéïäïôçìÝíïõò ÷ñÞóôåò, ï ðéï óõíçèéóìÝíïò ìç÷áíéóìüò áóöáëåßáò åßíáé ç ðéóôïðïßçóç ôáõôüôçôáò ÷ñÞóôç êáé ç áðüäïóç äéêáéùìÜôùí ÷ñÞóçò ôïõ óõóôÞìáôïò áíÜëïãá ìå ôçí ôáõôüôçôá áõôÞ. Ï ìç÷áíéóìüò ëåéôïõñãåß ùò åîÞò: t Ôï ËÓ ôçñåß ôï åõñåôÞñéï ÷ñçóôþí (user inventory), ìéá äïìÞ äåäïìÝíùí óôçí ïðïßá ôçñåßôáé ìéá åããñáöÞ ãéá êÜèå ÷ñÞóôç ôïõ óõóôÞìáôïò. Ç åããñáöÞ ôïõ ÷ñÞóôç ðåñéÝ÷åé ìéá êùäéêÞ ïíïìáóßá (username) ãéá ôï ÷ñÞóôç, Ýíá êñõðôïãñáöçìÝíï êùäéêü ðñüóâáóçò óôï óýóôçìá (password access key) êáé ìéá ëßóôá ìå ôá äéêáéþìáôá ôïõ ÷ñÞóôç (rights list) óôá áñ÷åßá êáé óôéò äéåñãáóßåò ôïõ óõóôÞìáôïò. t Ãéá íá ÷ñçóéìïðïéÞóåé êÜðïéïò ôï óýóôçìá ðñÝðåé óôçí áñ÷Þ ôçò åñãáóßáò ôïõ íá «åéóÝëèåé» ðñþôá óôï óýóôçìá (login). Ï õðïøÞöéïò ÷ñÞóôçò ðáñÝ÷åé óôï óýóôçìá ôçí êùäéêÞ ïíïìáóßá ôïõ êáé ôïí êùäéêü ðñüóâáóÞò ôïõ. Ôï ËÓ åëÝã÷åé ôï åõñåôÞñéï ÷ñçóôþí êáé áíÜëïãá åðéôñÝðåé Þ áðáãïñåýåé ôçí åßóïäï óôï óýóôçìá. t ÊÜèå öïñÜ ðïõ Ýíáò ÷ñÞóôçò ðñïóðáèåß íá åíåñãïðïéÞóåé ìéá äéåñãáóßá Þ íá åðåîåñãáóôåß ôá ðåñéå÷üìåíá åíüò áñ÷åßïõ Þ êáôáëüãïõ, ôï ËÓ áíáæçôåß óôï åõñåôÞñéï ÷ñçóôþí ôç ëßóôá äéêáéùìÜôùí ôïõ ÷ñÞóôç. Áí óôç ëßóôá åìöáíßæåôáé ùò åðéôñåðôÞ ç åíÝñãåéá ðïõ æçôÜ ï ÷ñÞóôçò ãéá ôï óõãêåêñéìÝíï áñ÷åßï, êáôÜëïãï Þ äéåñãáóßá, ôüôå áõôÞ åêôåëåßôáé, äéáöïñåôéêÜ äåí åêôåëåßôáé. Ìå ôï ìç÷áíéóìü áõôü, åéäéêÜ åîïõóéïäïôçìÝíïé ÷ñÞóôåò, ïé ïðïßïé ïíïìÜæïíôáé äéá÷åéñéóôÝò ôïõ óõóôÞìáôïò (system administrators), åëÝã÷ïõí ôé åßíáé åðéôñåðôü áíÜ ÷ñÞóôç êáé áñ÷åßï óôï óýóôçìá. Ç äéá÷åßñéóç áõôÞ ðñáãìáôïðïéåßôáé ìå ôç âïÞèåéá åéäéêþí ðñïãñáììÜôùí/äéåñãáóéþí ðïõ ðáñÝ÷åé ôï ËÓ êáé óôá ìåãÜëá óõóôÞìáôá åßíáé éäéáßôåñá óçìáíôéêÞ êáé ðïëýðëïêç åñãáóßá.

259

260

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

10.4 Õëïðïßçóç Áñ÷åßùí Ãéá ôçí ðñüóâáóç óôá áñ÷åßá êáé ôç ÷ñÞóç ôïõò áðü ôï ÷ñÞóôç Þ ôï óýóôçìá ìÝóù ôùí êáôÜëëçëùí äéåñãáóéþí, åßíáé áðáñáßôçôï ôï ËÓ íá ãíùñßæåé, êÜèå óôéãìÞ, ðïéåò åíüôçôåò (block) ôïõ äßóêïõ ÷ñçóéìïðïéïýíôáé ãéá ôçí áðïèÞêåõóç êÜèå áñ÷åßïõ.

Óå äéáöïñåôéêÜ ËÓ ÷ñçóéìïðïéïýíôáé ðïéêßëåò ìÝèïäïé. Ç ìÝèïäïò õëïðïßçóçò ðïõ åðéëÝãåôáé ãéá êÜèå Ýíá ïíïìÜæåôáé êáé Óýóôçìá Áñ÷åßùí (file system) ôïõ ËÓ. Óôçí ðáñïýóá åíüôçôá èá åîåôÜóïõìå ìåñéêÝò óõíçèéóìÝíåò õëïðïéÞóåéò óõóôçìÜôùí áñ÷åßùí.

Óõíå÷Þò êáôáíïìÞ (contiguous allocation) Ôï áðëïýóôåñï óýóôçìá êáôáíïìÞò åíüò áñ÷åßïõ óôéò åíüôçôåò ôïõ äßóêïõ åßíáé ç êáôáíïìÞ óå óõíå÷Þò åíüôçôåò óôï äßóêï. ¸ôóé, Ýíá áñ÷åßï 50Ê óå Ýíá äßóêï ìå ìÝãåèïò åíüôçôáò 8Ê áðïèçêåýåôáé óå 7 óõíå÷üìåíåò åíüôçôåò. Ôá âáóéêÜ ðëåïíåêôÞìáôá ôçò óõíå÷ïýò êáôáíïìÞò åßíáé äýï: Åíüôçôá ïíïìÜæåôáé ïìÜäá óõíå÷üìåíùí ëÝîåùí óôï ìáãíçôéêü äßóêï. Ï áñéèìüò ôùí ëÝîåùí åßíáé óôáèåñüò. ÊÜèå åããñáöÞ/áíÜãíùóç ðñïò êáé áðü ôïí äßóêï ãßíåôáé ðÜíôá ãéá áêÝñáéï áñéèìü åíïôÞôùí.

1. Ç áðëüôçôá ôçò õëïðïßçóÞò ôçò. Ãéá ôçí áíÜêôçóç Þ åããñáöÞ áñ÷åßïõ óôï äßóêï áñêåß ç ãíþóç ôçò äéåýèõíóçò ôçò ðñþôçò åíüôçôáò ôïõ áñ÷åßïõ óôï äßóêï. 2. Ç áðüäïóç ôïõ óõóôÞìáôïò óå åñãáóßåò ÷åéñéóìïý ôùí áñ÷åßùí. Ôá áñ÷åßá åããñÜöïíôáé êáé áíáêôþíôáé ìå ìßá ìüíï åíÝñãåéá. Ôá êýñéá êáé äõóôõ÷þò ðïëý óçìáíôéêÜ ìåéïíåêôÞìáôá ôçò óõíå÷ïýò êáôáíïìÞò åßíáé ðÜëé äýï: 1. ¸ëëåéøç åõåëéîßáò. Ôï óýóôçìá ðñÝðåé íá ãíùñßæåé ãéá êÜèå áñ÷åßï ôï ìÝãéóôï ÷þñï ðïõ áõôü, üóï õðÜñ÷åé, èá êáôáëáìâÜíåé óôï äßóêï. 2. Áðþëåéá ÷þñïõ óôï äßóêï. Áðü ôéò äéáãñáöÝò áñ÷åßùí äçìéïõñãïýíôáé “êåíܔ (áêïëïõèßåò åíïôÞôùí), óôá ïðïßá ìðïñåß íá ãñáöåß Ýíá áñ÷åßï ìüíïí, áí ôï ìÝãéóôï ìÝãåèüò ôïõ äåí îåðåñíÜ ôï ìÝãåèïò ôïõ êåíïý. Ìå ôçí ðÜñïäï ôïõ ÷ñüíïõ ôá “êåíܔ áõôÜ ãßíïíôáé ìéêñüôåñá óå ìÝãåèïò êáé ðåñéóóüôåñá óå áñéèìü. ¼óï ôá “êåíܔ ìéêñáßíïõí, ôüóï ðéï äýóêïëï åßíáé íá ÷ùñÝóåé óå áõôÜ ïëüêëçñï áñ÷åßï. Ôï öáéíüìåíï áõôü ïíïìÜæåôáé êáôáêåñìáôéóìüò åëåýèåñïõ ÷þñïõ ôïõ äßóêïõ. Áðü ôá ðëåïíåêôÞìáôá êáé ôá ìåéïíåêôÞìáôá áõôÞò ôçò ïñãÜíùóçò åßíáé öáíåñü üôé åßíáé åëêõóôéêÞ ìüíï óå óõóôÞìáôá üðïõ áðáéôåßôáé ç ìÝãéóôç áðüäïóç óôï ÷åéñéóìü áñ÷åßùí, ìå áñ÷åßá ðïõ Ý÷ïõí ãíùóôÜ ìÝãéóôá ìåãÝèç.

KáôáíïìÞ óõíäåìÝíçò ëßóôáò (linked list allocation) Ç äåýôåñç ìÝèïäïò áðïèÞêåõóçò áñ÷åßùí åßíáé ìå ôç ÷ñÞóç ìéáò óõíäåìÝíçò ëßóôáò áðü åíüôçôåò ôïõ äßóêïõ, üðùò öáßíåôáé óôï Ó÷Þìá 10.4. Óôçí áñ÷Þ ôçò ðñþôçò åíüôçôáò, ðïõ ÷ñçóéìïðïéåßôáé ãéá ôçí áðïèÞêåõóç ôïõ áñ÷åßïõ, õðÜñ÷åé ï áñéèìüò ôçò äåýôåñçò åíüôçôáò, ðïõ ÷ñçóéìïðïéåßôáé ãéá ôï áñ÷åßï áõôü (äåßêôçò óôç äåýôåñç åíüôçôá). Óôçí áñ÷Þ ôçò äåýôåñçò åíüôçôáò õðÜñ÷åé äåßêôçò ãéá ôçí ôñßôç ê.ï.ê.

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

Ó÷Þìá 10.4 ÓõíäåìÝíç ëßóôá áðü åíüôçôåò ôïõ äßóêïõ óôéò ïðïßåò âñßóêåôáé áðïèçêåõìÝíï Ýíá áñ÷åßï.

Óå ó÷Ýóç ìå ôç óõíå÷Þ êáôáíïìÞ, ç êáôáíïìÞ óõíäåìÝíçò ëßóôáò ðáñïõóéÜæåé äýï ðëåïíåêôÞìáôá: 1. Åßíáé ðåñéóóüôåñï åõÝëéêôç, áöïý äåí áðáéôåßôáé ãíþóç ôïõ ìÝãéóôïõ ìåãÝèïõò ôùí áñ÷åßùí óôï óýóôçìá. 2. Åêìåôáëëåýåôáé üëï ôï ÷þñï óôï äßóêï, áöïý üëåò ïé åíüôçôåò åßíáé äéáèÝóéìåò ãéá ÷ñÞóç. Êáé óôçí ïñãÜíùóç áõôÞ áðáéôåßôáé ãíþóç ìüíï ôçò ðñþôçò åíüôçôáò ôïõ áñ÷åßïõ, áöïý ï áñéèìüò êÜèå åðüìåíçò äéáâÜæåôáé áðü ôçí ðñïçãïýìåíç åíüôçôÜ ôïõ. Ç ïñãÜíùóç ôùí áñ÷åßùí óå óõíäåìÝíç ëßóôá ðáñïõóéÜæåé üìùò êáé óçìáíôéêÜ ìåéïíåêôÞìáôá: 1. Åßíáé ðéï áñãÞ (áðü ôç óõíå÷Þ êáôáíïìÞ) óôéò ëåéôïõñãßåò áñ÷åßùí, áöïý ç åããñáöÞ/áíÜãíùóç áðáéôåß ìåôáôüðéóç ôùí êåöáëþí ôïõ äßóêïõ óå ðïëëÜ óçìåßá, ìéá êáé ïé åíüôçôåò ôïõ áñ÷åßïõ ìðïñïýí íá âñßóêïíôáé äéÜóðáñôåò óôï äßóêï. Åíþ áñ÷éêÜ ãßíåôáé áðü ôï óýóôçìá ðñïóðÜèåéá íá áðïèçêåýåôáé Ýíá áñ÷åßï óå óõíå÷üìåíåò åíüôçôåò, áðü Ýíá óçìåßï êáé ìåôÜ áõôü åßíáé áäýíáôï, ìå áðïôÝëåóìá ôç äéáóðïñÜ ôùí åíïôÞôùí åíüò áñ÷åßïõ, öáéíüìåíï ðïõ ïíïìÜæåôáé êáôáêåñìáôéóìüò ôùí áñ÷åßùí ôïõ äßóêïõ. 2. ¸÷åé ìåãáëýôåñç, áðü ôç óõíå÷Þ êáôáíïìÞ, ðïëõðëïêüôçôá. Åêôüò ôïõ üôé ïé åñãáóßåò óôï áñ÷åßï äå ãßíïíôáé óå ìßá êßíçóç, êáôÜ ôçí áíÜãíùóç/åããñáöÞ ðñÝðåé íá ëáìâÜíåôáé ìÝñéìíá ãéá ôïí êáèïñéóìü ôïõ äåßêôç ðïõ ãñÜöåôáé óå êÜèå åíüôçôá êáé ôï äéá÷ùñéóìü ôùí äåéêôþí áðü ôá ðåñéå÷üìåíá ôïõ áñ÷åßïõ. Áðü ôá ðëåïíåêôÞìáôá êáé ôá ìåéïíåêôÞìáôá áõôÞò ôçò ïñãÜíùóçò, åßíáé öáíåñü üôé, áõôÞ åßíáé åëêõóôéêÞ óå óõóôÞìáôá üðïõ áðáéôåßôáé éäéáßôåñç åõåëéîßá óôï ÷åéñéóìü áñ÷åßùí áãíþóôïõ ìÝãéóôïõ ìåãÝèïõò êáé óôá ïðïßá õðÜñ÷åé áðáßôçóç ãéá ìåãÜëç ðëÞñùóç ôùí äßóêùí.

261

262

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÊáôáíïìÞ óõíäåìÝíçò ëßóôáò ìå åõñåôÞñéï äåéêôþí (indexed linked list allocation) Ç ïñãÜíùóç óõíäåìÝíçò ëßóôáò, ðïõ ðåñéãñÜøáìå óôçí ðñïçãïýìåíç åíüôçôá, ìðïñåß íá ãßíåé ðåñéóóüôåñï áðïäïôéêÞ ìå ìéá áðëÞ ôñïðïðïßçóç. Áíôß óå êÜèå åíüôçôá ôïõ áñ÷åßïõ íá êñáôÜìå ôï äåßêôç óôçí åðüìåíç, ìðïñïýìå íá êñáôÜìå Ýíáí îå÷ùñéóôü ðßíáêá – åõñåôÞñéï óôï äßóêï êáé óôç ìíÞìç, ï ïðïßïò ðåñéÝ÷åé üëïõò ôïõò äåßêôåò ôùí åíïôÞôùí ôïõ äßóêïõ. Ç ìïñöÞ ôïõ ðßíáêá ãéá ôï ðáñÜäåéãìá ðïõ äþóáìå óôï Ó÷Þìá 10.4 öáßíåôáé óôï Ó÷Þìá 10.5. Óôïí ðßíáêá åõñåôÞñéï õðÜñ÷ïõí ôüóåò èÝóåéò üóåò ïé åíüôçôåò ôïõ äßóêïõ. Óå êÜèå èÝóç, ðïõ áíôéóôïé÷åß óôç öõóéêÞ åíüôçôá ôïõ äßóêïõ ìå ôïí ßäéï áñéèìü, áðïèçêåýåôáé ï äåßêôçò óôçí åðüìåíç åíüôçôá ðïõ ÷ñçóéìïðïéåßôáé óôï äßóêï ãéá ôçí áðïèÞêåõóç åíüò áñ÷åßïõ.

Ó÷Þìá 10.5 ÏñãÜíùóç áñ÷åßùí ìå êáôáíïìÞ óõíäåìÝíçò ëßóôáò ìå åõñåôÞñéï äåéêôþí.

Óôï ðáñÜäåéãìÜ ìáò, îåêéíþíôáò áðü ôçí ðñþôç åíüôçôá ôïõ áñ÷åßïõ Á (ìå áñéèìü 5), äéáâÜæïõìå áðü ôï äßóêï ôá ðåñéå÷üìåíá ôçò åíüôçôáò 5 êáé áðü ôï åõñåôÞñéï ôïí áñéèìü ôçò åðüìåíçò åíüôçôáò ôïõ áñ÷åßïõ, óôï ðáñÜäåéãìÜ ìáò, ôïõ 8. Ìå ôïí ôñüðï áõôü ìðïñïýìå íá äéáâÜóïõìå üëï ôï åðéëåãìÝíï áñ÷åßï. Ç õëïðïßçóç ôïõ óõóôÞìáôïò áñ÷åßùí ìå ÷ñÞóç óõíäåìÝíçò ëßóôáò ìå åõñåôÞñéï ðëåïíåêôåß óå ó÷Ýóç ìå ôçí õëïðïßçóç óõíäåìÝíçò ëßóôáò åðåéäÞ: 1. Óå êÜèå åíüôçôá áðïèçêåýåôáé ìüíï ðëçñïöïñßá áñ÷åßïõ. Ïé äåßêôåò óå åðüìåíåò åíüôçôåò âñßóêïíôáé óôï åõñåôÞñéï, êÜôé ðïõ ïäçãåß óå áðëïýóôåñåò äéáäéêáóßåò áíÜãíùóçò/åããñáöÞò êáôÜ ôçí åêôÝëåóç äéåñãáóéþí. 2. Ïé èÝóåéò üëùí ôùí åíïôÞôùí ôïõ áñ÷åßïõ åßíáé ãíùóôÝò åî’ áñ÷Þò (áðü ôï åõñåôÞñéï ðïõ âñßóêåôáé óôç ìíÞìç) êáé äåí ÷ñåéÜæåôáé íá äéáâÜæïíôáé êáèþò äéáâÜæåôáé êÜèå åíüôçôá. Ôï ãåãïíüò áõôü ðñïóöÝñåé ìåãáëýôåñç åõ÷Ýñåéá äéá÷åßñéóçò. 3. Ïé èÝóåéò üëùí ôùí åíïôÞôùí ôïõ áñ÷åßïõ âñßóêïíôáé Üìåóá äéáèÝóéìåò óôç ìíÞìç, êÜôé ðïõ åðéôá÷ýíåé ôéò äéáäéêáóßåò äéá÷åßñéóçò ôùí áñ÷åßùí. Ôï êõñéüôåñï ìåéïíÝêôçìá ôçò ìåèüäïõ åßíáé ïôé ãéá íá ëåéôïõñãÞóåé áðáéôåß ï ðßíáêáò åõñåôÞñéï íá åßíáé öïñôùìÝíïò ìüíéìá óôçí ìíÞìç ôïõ óõóôÞìáôïò. Ãéá ðáñÜäåéãìá, óå Ýíá óýóôçìá ìå 1.000.000 åíüôçôåò (óõíçèéóìÝíïò áñéèìüò óÞìåñá) êáé ìå åããñáöÞ óôïí ðßíáêá ìåãÝèïõò 4 bytes (åðßóçò óõíçèéóìÝíï ìÝãåèïò) áðáéôïýíôáé ðåñßðïõ 4MB ìíÞìçò ìüíéìá äåóìåõìÝíá ãéá ôï óõãêåêñéìÝíï óêïðü.

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

10.5 Äéá÷åßñéóç ×þñïõ ôïõ Äßóêïõ ÓçìáíôéêÞ äéáäéêáóßá ãéá ôçí áðüäïóç åíüò óõóôÞìáôïò áñ÷åßùí åßíáé ç óùóôÞ äéá÷åßñéóç ôïõ ÷þñïõ ôùí äßóêùí ôïõ óõóôÞìáôïò. Ç äéá÷åßñéóç ôùí äßóêùí Ý÷åé óêïðü: ü Ôç âÝëôéóôç ÷ñÞóç ôïõ äéáèÝóéìïõ áðïèçêåõôéêïý ÷þñïõ. ü Ôç âÝëôéóôç ÷ñïíéêÞ áðüêñéóç ôïõ óõóôÞìáôïò óå åñãáóßåò ðïõ ðåñéëáìâÜíïõí ðñüóâáóç óôïõò äßóêïõò. ü Ôç äéêáéüôåñç êáôáíïìÞ ôïõ äéáèÝóéìïõ ÷þñïõ óôïõò ÷ñÞóôåò ôïõ óõóôÞìáôïò.

10.5.1. ÌÝãåèïò åíüôçôáò Óå óõóôÞìáôá, ðïõ ãéá ôçí õëïðïßçóç ôùí áñ÷åßùí ÷ñçóéìïðïéïýí óôñáôçãéêÝò óôáèåñïý ìåãÝèïõò ãéá ôéò åíüôçôåò óôï äßóêï, óçìáíôéêÞ ðáñÜìåôñïò áðüäïóçò ôïõ óõóôÞìáôïò áðïôåëåß ôï ìÝãåèïò ôçò åíüôçôáò. ¼ðùò ðåñéãñÜøáìå, êÜèå áñ÷åßï ÷ñçóéìïðïéåß Ýíáí áñéèìü áðü åíüôçôåò ôïõ äßóêïõ (óõíå÷üìåíåò Þ ü÷é) ãéá ôçí áðïèÞêåõóç ôùí ðëçñïöïñéþí ôïõ. ÊÜèå åíüôçôá ðåñéÝ÷åé ðëçñïöïñßá áðü Ýíá ìüíï áñ÷åßï. ¸ôóé, áí Ýíá áñ÷åßï ÷ñçóéìïðïéåß 10 êáé ìéóÞ åíüôçôåò, ç õðüëïéðç ìéóÞ åíäÝêáôç ìÝíåé á÷ñçóéìïðïßçôç áðü ôï óýóôçìá.

Ï óõíïëéêüò ÷þñïò ôùí åíïôÞôùí ðïõ âñßóêåôáé äåóìåõìÝíïò, áëëÜ á÷ñçóéìïðïßçôïò óôï äßóêï (óå ìåñéêþò ÷ñçóéìïðïéïýìåíåò åíüôçôåò), ïíïìÜæåôáé ÷áìÝíïò ÷þñïò (slack space). Ôï áêüëïõèï ðáñÜäåéãìá ìáò äßíåé ìéá åéêüíá ôïõ ðñïâëÞìáôïò ðïõ ó÷åôßæåôáé ìå ôï ìÝãåèïò ôçò åíüôçôáò ôïõ äßóêïõ åíüò óõóôÞìáôïò. ¸óôù, üôé Ý÷ïõìå ïñßóåé ìÝãåèïò åíüôçôáò ôá 16K. Óôïí ðßíáêá 10.2 ðïõ áêïëïõèåß äßíåôáé ï ÷þñïò ðïõ êáôáëáìâÜíïõí ïñéóìÝíá áñ÷åßá äéáöüñùí ìåãåèþí óôï äßóêï. Ðßíáêáò 10.2. ÄåóìåõìÝíåò åíüôçôåò êáé ÷þñïò, ìáæß ìå áðþëåéåò ãéá åíäåéêôéêÜ áñ÷åßá óå äßóêï ìå åíüôçôá ìåãÝèïõò 16Ê.

ÌÅÃÅÈÏÓ ÁÑ×ÅÉÏÕ 1byte 3K 20K 50K 100K 1024K 1025K

ÐËÇÈÏÓ ÅÍÏÔÇÔÙÍ 1 1 2 4 7 64 65

ÄÅÓÌÅÕÌÅÍÏÓ ×ÙÑÏÓ 16Ê 16K 32K 64K 112K 1M 1040K

ÁÐÙËÅÉÁ ×ÙÑÏÕ

ÁÐÙËÅÉÁ ×ÙÑÏÕ %

~ 16K 13K 12K 14% 12K 0K 15K

~ 100% 81% 37% 22% 37% 0% 1%

Áí ôï ìÝóï ìÝãåèïò ôùí áñ÷åßùí óôï óýóôçìá åßíáé 4Ê, ôüôå óå êÜèå åíüôçôá Ý÷ïõìå:

263

264

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ü 4Ê ðëçñïöïñßáò ü 12Ê á÷ñçóéìïðïßçôï ÷þñï ÄçëáäÞ, ìüíï ôá 4/16 (25%) ôïõ ÷þñïõ äåóìåýïíôáé ãéá áðïèÞêåõóç ðëçñïöïñßáò. Ôï õðüëïéðï 75% ìÝíåé á÷ñçóéìïðïßçôï ðáñüôé åßíáé äåóìåõìÝíï. ¸÷ïõìå áðþëåéá ÷þñïõ 75%. Óôï óýóôçìá áõôü, ç åðéëïãÞ ôùí 16Ê ùò ìÝãåèïò åíüôçôáò åßíáé êáêÞ. Ìéá Üëëç ôéìÞ, ãéá ðáñÜäåéãìá 8Ê, èá Þôáí êáëýôåñç, áöïý èá Ýäéíå ðïóïóôü ÷áìÝíïõ ÷þñïõ êïíôÜ óôï 50%. Åíüôçôá 4Ê äßíåé ðïóïóôü ÷áìÝíïõ ÷þñïõ êïíôÜ óôï 0%. Ôï ìÝóï ìÝãåèïò áñ÷åßïõ åßíáé ðÜíôá âáóéêüò ðáñÜãïíôáò ãéá ôçí åðéëïãÞ ôïõ ìåãÝèïõò åíüôçôáò óôï äßóêï. Åßíáé åìöáíÝò üôé ðÜíôá êáëÞ åðéëïãÞ åßíáé Ýíá ìÝãåèïò åíüôçôáò ôÝôïéï, ðïõ ôá ìåãÝèç ôùí áñ÷åßùí íá åßíáé áêÝñáéá ðïëëáðëÜóéÜ ôïõ (äå ìÝíïõí óôï óýóôçìá ìéóï-óõìðëçñùìÝíåò åíüôçôåò). Ðñïöáíþò, ìå âÜóç ôçí áíÜëõóç ðïõ êÜíáìå åßíáé âïëéêü íá åðéëÝãïõìå ðïëý ìéêñü ìÝãåèïò åíüôçôáò ôïõ äßóêïõ. Ðïëý ìéêñÞ åíüôçôá üìùò óõíåðÜãåôáé ìåßùóç ôçò áðüäïóçò ôïõ óõóôÞìáôïò åîáéôßáò åíüò äéáöïñåôéêïý öáéíïìÝíïõ. Óêåöèåßôå üôé ç áíÜãíùóç áðü ôï äßóêï ãßíåôáé ìå áíÜãíùóç åíïôÞôùí. ¼óåò ðåñéóóüôåñåò åíüôçôåò ðñÝðåé íá áíáãíùóèïýí áðü ôï äßóêï, ôüóåò ðåñéóóüôåñåò öïñÝò ðñÝðåé íá ìåôáêéíçèïýí ïé êåöáëÝò ôïõ äßóêïõ. Ðéèáíüôáôá, ç ìåôáêßíçóç ôçò êåöáëÞò íá ãßíåôáé êáé óå ìáêñéíÜ óçìåßá. ÊÜèå ìåôáêßíçóç áðáéôåß ÷ñüíï. ¸ôóé, áí Ý÷ïõìå ìéêñü ìÝãåèïò åíüôçôáò (ðïõ ìå âÜóç ôï ðñïçãïýìåíï êñéôÞñéï ìáò åîõðçñåôåß éäéáßôåñá) ôá áñ÷åßá áðïôåëïýíôáé áðü ìåãÜëïõò áñéèìïýò åíïôÞôùí. Ç áíÜãíùóç ðïëëþí åíïôÞôùí óõíåðÜãåôáé ðïëëÝò ìåôáêéíÞóåéò ôçò êåöáëÞò ìå áðïôÝëåóìá áðþëåéá ÷ñüíïõ. Ôï ìÝãåèïò åíüôçôáò åðçñåÜæåé ôçí áðüäïóç ôïõ óõóôÞìáôïò ìå äýï ôñüðïõò: ü ÁõîÜíåé Þ ìåéþíåé ôïí ðñáãìáôéêü äéáèÝóéìï ÷þñï áðïèÞêåõóçò óôï óýóôçìá. ü ÁõîÜíåé Þ ìåéþíåé ôï ÷ñüíï áðüêñéóçò ôïõ óõóôÞìáôïò óôéò åñãáóßåò ìå áñ÷åßá. Ìå âÜóç ôçí áíÜëõóç ðïõ êÜíáìå, ðñïêýðôåé üôé óå êÜèå óýóôçìá ôï âÝëôéóôï ìÝãåèïò åíüôçôáò åîáñôÜôáé Üìåóá áðü ôï ìÝãåèïò ôùí áñ÷åßùí (êáé öõóéêÜ ôç óçìáóßá ôùí áñ÷åßùí áõôþí) óôï óýóôçìá. Ôï ìÝãåèïò åíüôçôáò äåí åîáñôÜôáé üìùò ìüíï áðü ôï ìÝãåèïò áõôü. Óôç ëßóôá ðïõ áêïëïõèåß öáßíïíôáé óçìáíôéêïß ðáñÜãïíôåò ðïõ ëáìâÜíåé õðüøç ôïõ ï äéá÷åéñéóôÞò ôïõ óõóôÞìáôïò ãéá ôçí åðéëïãÞ ôïõ ìåãÝèïõò åíüôçôáò. 1. ÌÝóï ìÝãåèïò áñ÷åßùí. 2. ÌÝóï ìÝãåèïò óçìáíôéêþí áñ÷åßùí. 3. Ó÷åäéáóôéêïß ðåñéïñéóìïß ôïõ óõóôÞìáôïò. Óå ðïëëÜ óõóôÞìáôá, ôï ìÝãåèïò åíüôçôáò õðáãïñåýåôáé Üìåóá áðü ôçí ôìçìáôïðïßçóç (partitioning) ôùí äßóêùí. 4. Áðáéôïýìåíïò ìÝóïò ÷ñüíïò áðüêñéóçò ôïõ óõóôÞìáôïò óå äéáäéêáóßåò ÷åéñéóìïý áñ÷åßùí.

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

10.5.2 Äéá÷åßñéóç åëåýèåñùí åíïôÞôùí ÊÜèå öïñÜ ðïõ äçìéïõñãåßôáé Ýíá íÝï áñ÷åßï Þ ðïõ ðåñéå÷üìåíá ðñïóôßèåíôáé óå Ýíá Þäç õðÜñ÷ïí, ôï ËÓ ðñÝðåé íá áðïöáóßóåé óå ðïéá åíüôçôá ôïõ äßóêïõ èá ãñáöåß ç íÝá ðëçñïöïñßá. Ãéá ôï óêïðü áõôü åßíáé áðáñáßôçôï ôï ËÓ íá ãíùñßæåé êÜèå óôéãìÞ ðïéåò åíüôçôåò ôïõ äßóêïõ åßíáé åëåýèåñåò êáé äéáèÝóéìåò ðñïò ÷ñÞóç. Äýï åßíáé ïé ðéï óõíçèéóìÝíåò ôå÷íéêÝò ãéá ôçí ôÞñçóç áõôÞò ôçò ðëçñïöïñßáò: • Ç ÓõíäåìÝíç Ëßóôá ÅëåõèÝñùí ÅíïôÞôùí. Ç ôå÷íéêÞ áõôÞ áðáéôåß áðü ôï óýóôçìá ôçí ôÞñçóç óôï äßóêï ìéáò ëßóôáò åããñáöþí, ç ïðïßá ðåñéÝ÷åé ôïõò áñéèìïýò ôùí åëåõèÝñùí åíïôÞôùí óôï äßóêï. Ç ëßóôá áõôÞ áðïèçêåýåôáé óå ìéá ëßóôá áðü åíüôçôåò äßóêïõ êáé êÜèå åíüôçôá ðåñéÝ÷åé áñéèìïýò åíïôÞôùí ðïõ åßíáé äéáèÝóéìåò ðñïò ÷ñÞóç. • Ï XÜñôçò äõáäéêþí øçößùí (Bit Map). Ôï ËÓ ôçñåß óôï äßóêï Ýíá ðßíáêá óôïí ïðïßï áíôéóôïé÷ßæåôáé åíá äõáäéêü øçößï (bit) óå êÜèå åíüôçôá ôïõ äßóêïõ. Áí Ýíá äõáäéêü øçößï åßíáé 0, ôüôå ç áíôßóôïé÷ç åíüôçôá åßíáé êáôçëåéììÝíç, áí åßíáé 1 ç áíôßóôïé÷ç åíüôçôá åßíáé åëåýèåñç ðñïò ÷ñÞóç.

Áíáêåöáëáßùóç Ôï óýóôçìá áñ÷åßùí, Ýôóé üðùò åìöáíßæåôáé óôï ÷ñÞóôç ôïõ ËÓ, áðïôåëåßôáé áðü ìéá óõëëïãÞ áðü äßóêïõò, áñ÷åßá êáé êáôáëüãïõò, ôá ïðïßá ÷ñçóéìïðïéåß ï ÷ñÞóôçò ãéá ôçí áñ÷åéïèÝôçóç êáé ôçí áðïèÞêåõóç ôùí çëåêôñïíéêþí äåäïìÝíùí ôïõ. Ôá áñ÷åßá ìðïñïýí íá äéáâáóôïýí, íá ãñáöïýí, íá ôñïðïðïéçèïýí, íá äéáãñáöïýí íá áíôéãñáöïýí êáé íá ìåôáöåñèïýí ìåôáîý êáôáëüãùí êáé äßóêùí. ÊÜèå áñ÷åßï Ý÷åé óõãêåêñéìÝíç åóùôåñéêÞ äïìÞ ðïõ ïñßæåé êáé ôç äéåñãáóßá ìå ôçí ïðïßá ãßíåôáé ç åðåîåñãáóßá ôïõ. ÔÝëïò, üëá ôá áñ÷åßá Ý÷ïõí ïñéóìÝíá ÷áñáêôçñéóôéêÜ ðïõ âïçèïýí óôçí áíáãíþñéóç, ôçí ðñïóôáóßá êáé ôç äéá÷åßñéóÞ ôïõò áðü ôï ÷ñÞóôç. Ïé êáôÜëïãïé áðïôåëïýí ðåñéï÷Ýò (“÷þñïõò”) óôïõò äßóêïõò ôïõ óõóôÞìáôïò, ðïõ ÷ñçóéìåýïõí óôçí ïñèïëïãéêÞ êáôáíïìÞ êáé áðïèÞêåõóç ôùí áñ÷åßùí ôùí ÷ñçóôþí ôïõ óõóôÞìáôïò. Ïé åñãáóßåò åðåîåñãáóßáò êáé äéá÷åßñéóçò ôùí êáôáëüãùí åßíáé áíôßóôïé÷åò ìå åêåßíåò ôùí áñ÷åßùí êáé óå áõôÝò ÷ñçóéìïðïéïýíôáé êáé ôá ÷áñáêôçñéóôéêÜ ôùí êáôáëüãùí. Ôá ÷áñáêôçñéóôéêÜ áõôÜ åßíáé åðßóçò áíÜëïãá ìå ôá ÷áñáêôçñéóôéêÜ ôùí áñ÷åßùí. Ôá ðåñéóóüôåñá ËÓ õðïóôçñßæïõí ìéá éåñáñ÷éêÞ äïìÞ êáôáëüãùí ìÝóá óôïõò ïðïßïõò áðïèçêåýïíôáé ôá áñ÷åßá ôùí ÷ñçóôþí êáé ôïõ ËÓ. ÅîåôÜæïíôáò ôï óýóôçìá áñ÷åßùí áðü ôçí ðëåõñÜ ôïõ ËÓ, ç üøç ðïõ áíôéìåôùðßæïõìå åßíáé áñêåôÜ äéáöïñåôéêÞ áðü ôçí üøç ðïõ åìöáíßæåôáé óôï ÷ñÞóôç ôïõ óõóôÞìáôïò. Ç åóùôåñéêÞ áõôÞ üøç ïñßæåé ôïõò ìç÷áíéóìïýò ìå ôïõò ïðïßïõò ôï ËÓ áðïèçêåýåé êáé áíáêôÜ Ýíá áñ÷åßï ðñïò êáé áðü ôïõò äßóêïõò ôïõ óõóôÞìáôïò áíôßóôïé÷á. Ç ó÷åäßáóç ôïõ óõóôÞìáôïò áñ÷åßùí êáèïñßæåé ôçí áðüäïóÞ ôïõ áëëÜ êáé ôçí åõåëéîßá óôç ÷ñÞóç ôïõ. ÁíÜëïãá ìå ôïí ôýðï êáé ôá ìåãÝèç ôùí áñ÷åßùí óôï óýóôçìá êáé ôï åßäïò ôùí åñãáóéþí ôùí ÷ñçóôþí, áðáéôïýíôáé äéáöïñåôéêÝò ñõèìßóåéò ãéá ôç âÝëôéóôç áðüêñéóç óå ÷ñüíï êáé ôç âÝëôéóôç áîéïðïßçóç ôïõ äéáèÝóéìïõ áðïèçêåõôéêïý ÷þñïõ ôïõ óõóôÞìáôïò.

265

266

Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÅñùôÞóåéò / Äñáóôçñéüôçôåò / ÈÝìáôá ãéá ÓõæÞôçóç 1. Äþóôå ôçí Ýííïéá ôïõ áñ÷åßïõ êáé ôç ÷ñçóéìüôçôÜ ôïõ óôá õðïëïãéóôéêÜ óõóôÞìáôá. 2. ÐåñéãñÜøôå 2 ôýðïõò áñ÷åßùí ìå âÜóç ôç ëåéôïõñãéêüôçôÜ ôïõò óôï óýóôçìá õðïëïãéóôÞ. 3. Åîçãåßóôå 3 ÷áñáêôçñéóôéêÜ áñ÷åßùí. 4. Ðþò ïñßæïõìå üôé Ýíá áñ÷åßï åßíáé êñõöü óôï óýóôçìá (äçëáäÞ äåí åìöáíßæåôáé óôéò ëßóôåò áñ÷åßùí ðïõ äçìéïõñãïýí ïé áíôßóôïé÷åò äéåñãáóßåò ôïõ óõóôÞìáôïò); 5. Ôé åßíáé êáé óå ôé ÷ñçóéìåýïõí ïé êáôÜëïãïé óôï óýóôçìá áñ÷åßùí; 6. Åîçãåßóôå óå ôé äéáöÝñåé ç áðüëõôç äéáäñïìÞ åíüò áñ÷åßïõ áðü ôéò ó÷åôéêÝò äéáäñïìÝò ôïõ áñ÷åßïõ áõôïý. Ãéáôß õðÜñ÷ïõí ðïëëÝò ó÷åôéêÝò äéáäñïìÝò ãéá ôï ßäéï áñ÷åßï; 7. Ïñßæåôáé ðëÞñùò Ýíá áñ÷åßï áðü ôï üíïìÜ ôïõ; ¸íáò êáôÜëïãïò; Ãéáôß; 8. Óôï ó÷Þìá 10.1, äþóôå ôçí áðüëõôç äéáäñïìÞ ôïõ áñ÷åßïõ ver.dll. Ðïéá åßíáé ç ó÷åôéêÞ äéáäñïìÞ ôïõ áñ÷åßïõ, áí ôñÝ÷ùí êáôÜëïãïò åßíáé ï êáôÜëïãïò //÷ñÞóôåò/íßêïò/ãñÜììá; 9. Óôï ó÷Þìá 10.1, ðïéïò åßíáé ï ôñÝ÷ïí êáôÜëïãïò áí ç ó÷åôéêÞ äéáäñïìÞ ôïõ áñ÷åßïõ ver.dll åßíáé ../../ËÓ/ÂÉÂË/ver.dll; Åßóáóôå óßãïõñïé; Ãéáôß; 10. ÁíáöÝñåôå 5 âáóéêÝò åñãáóßåò äéá÷åßñéóçò áñ÷åßùí êáé 5 åñãáóßåò äéá÷åßñéóçò êáôáëüãùí. 11. Óõãêñßíåôå ôç óõíå÷Þ êáôáíïìÞ êáé ôçí êáôáíïìÞ óõíäåìÝíçò ëßóôáò ãéá ôçí õëïðïßçóç áñ÷åßùí. Óå ôé äéáöÝñïõí êáé ðïý õðåñôåñåß ç êÜèå ìßá; 12. ÐåñéãñÜøôå ìå ðïéï ôñüðï ôï ìÝãåèïò åíüôçôáò ôïõ äßóêïõ åðçñåÜæåé ôçí áðüäïóç åíüò óõóôÞìáôïò õðïëïãéóôÞ. Óêåöèåßôå ôï ÷ñüíï áðüêñéóçò êáé ôï äéáèÝóéìï ÷þñï óôï äßóêï. 13. Óå Ýíá óýóôçìá õðÜñ÷ïõí 4 áñ÷åßá ìå ìåãÝèç 1Ê, 7Ê, 125Ê, 513Ê. ÖôéÜîôå ðßíáêåò ðáñüìïéïõò ìå áõôü ôïõ ðßíáêá 10.2 ãéá ìåãÝèç åíïôÞôùí 4Ê, 8Ê, 16Ê. Ðïéï ìÝãåèïò åíüôçôáò äßíåé áðïäïôéêüôåñç ÷ñÞóç ôïõ äßóêïõ; Èá ìðïñïýóáôå íá áðáíôÞóåôå ÷ùñßò ôç ÷ñÞóç ôùí ðéíÜêùí áõôþí;

Âéâëéïãñáößá 1. É.Ê. ÊÜâïõñá, Óõóôçìáôá Õðïëïãéóôþí ÉÉ ËåéôïõñãéêÜ Óõóôçìáôá, 3ç åêäïóç, Åêäüóåéò ÊëåéäÜñéèìïò, 1995 2. A.S. Tanenbaum, Óýã÷ñïíá ËåéôïõñãéêÜ ÓõóôÞìáôá, Åêäüóåéò Ðáðáóùôçñßïõ, 1993 3. Silberschatz et al., Operating System Concepts, 3rd Ed. Addison-Wesley, 1991

Äéåõèýíóåéò äéáäéêôýïõ http://www.princeton.edu/~aiteachs/webfactory/ctl/file_systems.htm Åã÷åéñßäéï óõóôçìÜôùí áñ÷åßùí http://cfa160.harvard.edu/help_pages/sysadmin_guide/sysadm-1.html ÅéóáãùãÞ óôçí äéá÷åßñéóç ôïõ UNIX

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí

http://pandonia.canberra.edu.au/ssw/files/lecture.html ÅéóçãÞóåéò óå óõóôÞìáôá áñ÷åßùí http://www.chairpc.cs.olemiss.edu/cs211/lectures/lecturec.htm ÓõóôÞìáôá áñ÷åßùí

ËÝîåéò êëåéäéÜ Áñ÷åßï ......................................................................................................... File ÄéáäñïìÞ, áðüëõôç ...................................................................... Absolute path ÄéáäñïìÞ, ó÷åôéêÞ .......................................................................... Relative path ÊáôÜëïãïò, ôñÝ÷ïí ................................................................. Current directory Ñßæá ............................................................................................................ Root ×áñáêôçñéóôéêü áñ÷åßïõ ................................................................ File attribute

267

Related Documents

Operating Systems
October 2019 29
Operating Systems
November 2019 27
Operating Systems
October 2019 27
Operating Systems
April 2020 11
Operating Systems
December 2019 27
Operating Systems
October 2019 28