Ε Ι Α Γ Ω Γ Ή Σ Η Ν Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Ή ΛΟΓΙΜΙΚΟ ΣΟΤ ΗΛΕΚΣΡΟΝΙΚΟΤ ΤΠΟΛΟΓΙΣΗ
Καηεγνξίεο Λνγηζκηθνύ Με ηνλ όξν ινγηζκηθό (software) αλαθεξόκαζηε ηα πξνγξάκκαηα θαη ηα Δεδνκέλα πνπ ζπληνλίδνπλ ηε ιεηηνπξγία ηνπ πιηθνύ πνπ είλαη ππεύζπλα γηα ηελ εθηέιεζε ζπγθεθξηκέλσλ εξγαζηώλ (πνπ ππνδεηθλύεη ν ρξήζηεο). Σν ινγηζκηθό είλαη ππεύζπλν γηα ηελ επηθνηλσλία ηνπ ρξήζηε κε ηνλ ππνινγηζηή, θαη γηα ηελ απηνκαηνπνηεκέλε δηαρείξηζε ηεο θεληξηθήο κνλάδαο επεμεξγαζίαο, ηεο κλήκεο ησλ πεξηθεξεηαθώλ ζπζθεπώλ Λογιζμικό Εθαρμογών Δύν είλαη νη βαζηθέο θαηεγνξίεο : Λογιζμικό Σσζηήμαηος ινγηζκηθό ζπζηήκαηνο ινγηζκηθό εθαξκνγώλ Υλικό 2
Λνγηζκηθό ζπζηήκαηνο (system software) (1/2) Σν ινγηζκηθό ζπζηήκαηνο πεξηιακβάλεη όια ηα απαξαίηεηα πξνγξάκκαηα πνπ είλαη ππεύζπλα γηα ηνλ έιεγρν θαη ηε δηαρείξηζε ησλ πόξσλ ηνπ ππνινγηζηή Απνηειείηαη από γεληθεπκέλα πξνγξάκκαηα πνπ ζπληνλίδνπλ ηεο ιεηηνπξγίεο ηνπ ζπζηήκαηνο δηαρεηξίδνληαη ηηο κνλάδεο ηνπ Λεηηνπξγεί σο ελδηάκεζνο κεηαμύ ηνπ πιηθνύ θαη ηνπ ινγηζκηθνύ εθαξκνγώλ θαζώο ειέγρεη ηηο ιεηηνπξγίεο ηνπ πιηθνύ, ελώ παξάιιεια ππνζηεξίδεη ηηο εθαξκνγέο ηνπ ρξήζηε 3
Λνγηζκηθό ζπζηήκαηνο (system software) (2/2) 4 Σν ινγηζκηθό πζηήκαηνο πεξηιακβάλεη: Σν ιεηηνπξγηθό ζύζηεκα (operating system) Π.ρ. Windows, Unix, Linux, MacOS, DOS, OS/2 Σνπο νδεγνύο πιηθνύ (device drivers) δειαδή ηηο νδεγίεο (εληνιέο) γηα ην ρεηξηζκό ησλ ζπζθεπώλ πιηθνύ νδεγίεο γηα ην πώο κία ζπγθεθξηκέλε ζπζθεπή απνζηέιιεη θαη παξαιακβάλεη δεδνκέλα Σνπο κεηαγισηηηζηέο (compilers) θαη κεηαθξαζηέο (interpreters) Απηά ηα πξνγξάκκαηα παξέρνπλ ζηνπο πξνγξακκαηηζηέο ηα απαξαίηεηα «εξγαιεία» γηα ηελ αλάπηπμε θαη δεκηνπξγία λέσλ πξνγξακκάησλ Σα πξνγξάκκαηα ππεξεζηώλ ή βνεζεηηθά πξνγξάκκαηα (utilities) ηα νπνία είλαη ππεύζπλα γηα ηελ εθηέιεζε ζπλεζηζκέλσλ θαη επαλαιακβαλόκελσλ εξγαζηώλ (όπσο είλαη ε δεκηνπξγία ελόο θαθέινπ)
Λνγηζκηθό εθαξκνγώλ (application software) (1/2) Σν ινγηζκηθό εθαξκνγώλ πεξηιακβάλεη νινθιεξσκέλα πξνγξάκκαηα πνπ επηηεινύλ κία ζπγθεθξηκέλε εξγαζία Σα πξνγξάκκαηα απηά έρνπλ θαηαζθεπαζηεί από εμεηδηθεπκέλνπο πξνγξακκαηηζηέο, πξνθεηκέλνπ λα θαιύςνπλ θαη λα επηιύζνπλ ζπγθεθξηκέλεο αλάγθεο θαη απαηηήζεηο ησλ ρξεζηώλ Υαξαθηεξηζηηθά παξαδείγκαηα είλαη : πξνγξάκκαηα επεμεξγαζίαο θεηκέλνπ επεμεξγαζίαο εηθόλσλ ζρεδίαζεο γξαθηθώλ δηαρείξηζεο βάζεσλ δεδνκέλσλ παηρλίδηα ινγηζηηθά θύιια εθαξκνγέο δεκηνπξγίαο πνιπκέζσλ 5
Λνγηζκηθό εθαξκνγώλ (application software) (2/2) Μπνξνύκε λα δηαθξίλνπκε ηξεηο θαηεγνξίεο γηα ην ινγηζκηθό εθαξκνγώλ: ην γεληθεπκέλν ινγηζκηθό εθαξκνγώλ 6 αθνξά αλάγθεο πνπ θαιύπηνπλ πνιινύο δηαθνξεηηθνύο ρξήζηεο, όπσο είλαη ν Internet Explorer θαη ην Outlook ην εμεηδηθεπκέλν ινγηζκηθό εθαξκνγώλ αλαπηύζζεηαη γηα εμεηδηθεπκέλεο αλάγθεο, όπσο είλαη κία εθαξκνγή κηζζνδνζίαο γηα κηα επηρείξεζε ην νινθιεξσκέλν ινγηζκηθό πνπ παξέρεη έλα νινθιεξσκέλν παθέην ππεξεζηώλ, όπσο ην Microsoft Office ή ην Lotus Notes
Λεηηνπξγηθό ζύζηεκα (operating system, OS) (1/4) Σν ιεηηνπξγηθό ζύζηεκα (operating system, OS) είλαη έλα ζύλνιν πξνγξακκάησλ πνπ απνηεινύλ ηνλ ππξήλα ηνπ ινγηζκηθνύ ζπζηήκαηνο Είλαη ππεύζπλν γηα ηνλ έιεγρν θαη ηελ επίβιεςε ησλ ιεηηνπξγηώλ ηνπ πιηθνύ, θαη γηα ην ζπληνληζκό θαη επηθνηλσλία κε ηηο εξγαζίεο ησλ εθαξκνγώλ Δηαρεηξίδεηαη θαη δηεπζύλεη ηνπο πόξνπο ηνπ ζπζηήκαηνο όπσο είλαη ε ΚΜΕ, ε κλήκε θαη νη πεξηθεξεηαθέο ζπζθεπέο Δίλεη ζην ρξήζηε ηε δπλαηόηεηα άκεζεο επηθνηλσλίαο, κέζα από ην πεξηβάιινλ (δηεπαθή) πνπ ηνπ παξέρεη 7
Λεηηνπξγηθό ζύζηεκα (operating system, OS) (2/4) Επηηξέπεη ζηηο εθαξκνγέο λα έρνπλ πξόζβαζε ζηνπο πόξνπο ηνπ ζπζηήκαηνο, είηε άκεζα είηε κέζσ άιισλ πξνγξακκάησλ ηνπ ινγηζκηθνύ ζπζηήκαηνο Σα «άιια πξνγξάκκαηα» ηνπ ινγηζκηθνύ ζπζηήκαηνο είλαη ζπλήζσο ππεύζπλα γηα κηα ζπγθεθξηκέλε εξγαζία όπσο είλαη ε βηβιηνζήθε γξαθηθώλ πνπ δίλεη εηθόλα ζηελ νζόλε ή νη νδεγνί ζπζθεπώλ Σν ιεηηνπξγηθό ζύζηεκα κεζνιαβεί κεηαμύ απηώλ ησλ πξνγξακκάησλ θαη ησλ εθαξκνγώλ, όηαλ απαηηείηαη επηθνηλσλία κεηαμύ ηνπο 8 Φρήζηες Εθαρμογές Λειηοσργικό Σύζηημα Άλλα Προγράμμαηα Λογιζμικού Σσζηήμαηος Υλικό
Λεηηνπξγηθό ζύζηεκα (operating system, OS) (3/4) Σν ιεηηνπξγηθό ζύζηεκα είλαη απαξαίηεην ζηνηρείν θάζε ππνινγηζηηθνύ ζπζηήκαηνο από ην μεθίλεκα ηνπ ππνινγηζηή, 9 θαζώο ελεξγνπνηείηαη θαη απνθηά ηνλ έιεγρν ηεο δηαρείξηζεο θαηά ηε δηαδηθαζία εθθίλεζεο Η βαζηθή ιεηηνπξγία ηνπ είλαη ν έιεγρνο θαη ε δηαρείξηζε ησλ κνλάδσλ ηνπ ππνινγηζηηθνύ ζπζηήκαηνο
Λεηηνπξγηθό ζύζηεκα (operating system, OS) (4/4) Ο ηξόπνο κε ηνλ νπνίν δηακνηξάδεη ηνπο πόξνπο ζηηο δηάθνξεο εθαξκνγέο βαζίδεηαη ζην «δίκαιο καηαμεπιζμό» 10 Πεξηζζόηεξα από έλα πξνγξάκκαηα κπνξνύλ λα εθηεινύληαη ηαπηόρξνλα θαη λα ρξεζηκνπνηνύλ από θνηλνύ ηόζν ηε κλήκε όζν θαη ηηο ππόινηπεο κνλάδεο Κάζε εθαξκνγή πνπ εθηειείηαη θαη ζπλαγσλίδεηαη κε ηηο ππόινηπεο γηα ηε ρξήζε ηνπ επεμεξγαζηή θαη ησλ ζπζθεπώλ εηζόδνπ/εμόδνπ, ην ιεηηνπξγηθό ζύζηεκα έρεη ην ξόιν ηνπ ειεγθηή Δηαζθαιίδνληαο όηη όια ηα κέξε ζπλεξγάδνληαη θαη έρνπλ ηελ επθαηξία λα ρξεζηκνπνηήζνπλ ηνπο πόξνπο απηνύο
Καηεγνξίεο Λεηηνπξγηθνύ πζηήκαηνο (1/3) Σα ιεηηνπξγηθά πζηήκαηα θαηεγνξηνπνηνύληαη αλάινγα κε Σνλ αξηζκό ησλ ρξεζηώλ Ελόο ρξήζηε ζύζηεκα (single user) 11 κόλν έλαο ρξήζηεο κπνξεί λα ρξεζηκνπνηεί ηνλ ππνινγηζηή ζε κηα δεδνκέλε ρξνληθή ζηηγκή ρξεζηκνπνηείηαη ζε θνξεηέο ζπζθεπέο παξάδεηγκα απνηειεί ην PalmOS γηα ηνλ πξνζσπηθό ςεθηαθό βνεζό (personal digital assistant, PDA) Πνιιώλ ρξεζηώλ (multi-user) επηηξέπνπλ ηελ ηαπηόρξνλε ρξήζε ηνπ ππνινγηζηή από πνιινύο ρξήζηεο ρξεζηκνπνηείηαη ζηνπο πξνζσπηθνύο ππνινγηζηέο παξαδείγκαηα είλαη ηα Unix, Linux, Windows, MacOS Σνλ αξηζκό ησλ εξγαζηώλ πνπ κπνξνύλ λα ππνζηεξίμνπλ
Καηεγνξίεο Λεηηνπξγηθνύ πζηήκαηνο (2/3) Όζνλ αθνξά ηνλ αξηζκό ησλ εξγαζηώλ ηα ιεηηνπξγηθά ζπζηήκαηα δηαρσξίδνληαη ζε ζπζηήκαηα κίαο εξγαζίαο (single tasking) 12 είλαη απηά πνπ κπνξνύλ λα δηεθπεξαηώλνπλ κία εξγαζία ηε θνξά, όπσο ην PalmOS ζπζηήκαηα πνιιώλ εξγαζηώλ (multi-tasking) έρνπλ ηε δπλαηόηεηα λα εθηεινύλ πνιιέο εθαξκνγέο ηαπηόρξνλα, όπσο ηα Unix, Linux, Windows, MacOS
Καηεγνξίεο Λεηηνπξγηθνύ πζηήκαηνο (3/3) 13
Δηαρείξηζε Πόξσλ (1/10) Σα πξνγξάκκαηα πνπ θαινομενικά εθηεινύληαη ηαπηόρξνλα, εθηεινύληαη διαδοσικά Οη εξγαζίεο ησλ πξνγξακκάησλ ελαιιάζζνληαη κεηαμύ ηνπο, δηακνηξαδόκελεο ηνπο πόξνπο ηνπ ζπζηήκαηνο, κε ηξόπν ώζηε λα δίλνπλ ηελ αίζζεζε ηεο παξάιιειεο εθηέιεζεο Έλα πξόγξακκα θάζε θνξά είλαη απηό πνπ «ηξέρεη» 14
Δηαρείξηζε Πόξσλ (2/10) Πνιππξνγξακκαηηζκόο (multiprogramming) νλνκάδεηαη ε ηαπηόρξνλε ζπλύπαξμε ησλ πξνγξακκάησλ πξνθεηκέλνπ λα απνθηήζνπλ πξόζβαζε ζηελ θεληξηθή κνλάδα επεμεξγαζίαο θαη λα εθηειεζηνύλ 15 Σα πξνγξάκκαηα απηά ελαιιάζζνληαη ηαρύηαηα, δεκηνπξγώληαο ηελ αίζζεζε όηη εθηεινύληαη παξάιιεια Η ηερληθή απηή επηηπγράλεη νινθιήξσζε ησλ εξγαζηώλ ζε κηθξόηεξν ρξόλν θαη απνδνηηθόηεξε ρξήζε ηνπ πιηθνύ αιιά απμάλεη ηελ πνιππινθόηεηα ηνπ ζπζηήκαηνο
Δηαρείξηζε Πόξσλ (3/10) Μία άιιε ζεκαληηθή έλλνηα είλαη ε δηεξγαζία (process) 16 είλαη έλα πξόγξακκα πνπ εθηειείηαη, πνπ βξίζθεηαη όπσο ιέκε ζηε θάζη εκηέλεζήρ ηνπ Έλα πξόγξακκα απνηειεί απιά έλα ζηαηηθό ζύλνιν εληνιώλ Μία δηεξγαζία αληηπξνζσπεύεη ην πξόγξακκα θαζώο εθηειείηαη θαη Πεξηιακβάλεη ηηο ηξέρνπζεο ηηκέο ηνπ κεηξεηή πξνγξάκκαηνο (PC), ησλ θαηαρσξεηώλ θαη ησλ κεηαβιεηώλ πνπ ρξεζηκνπνηνύληαη
Δηαρείξηζε Πόξσλ (4/10) Έλα ππνινγηζηηθό ζύζηεκα πνπ ππνζηεξίδεη πνιππξνγξακκαηηζκό κπνξεί λα έρεη αξθεηέο ελεξγέο δηεξγαζίεο ζε κία δεδνκέλε ρξνληθή ζηηγκή ην ιεηηνπξγηθό ζύζηεκα είλαη ππεύζπλν γηα ην ρεηξηζκό ησλ δηεξγαζηώλ απηώλ 17 Μία δηεξγαζία ελδέρεηαη λα δηαθνπεί από ην ιεηηνπξγηθό ζύζηεκα θαζώο εθηειείηαη, πξνθεηκέλνπ λα εθηειεζηεί κία άιιε δηεξγαζία
Δηαρείξηζε Πόξσλ (5/10) Η ελαιιαγή ησλ δηεξγαζηώλ δηαρεηξίδεηαη από έλα ηκήκα ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο, πνπ νλνκάδεηαη ρξνλνδξνκνιόγεζε (scheduling) νξίδεη πνηα δηεξγαζία ζα επηιεγεί γηα εθηέιεζε ζε κηα δεδνκέλε ρξνληθή ζηηγκή Αθόκα θαη ην ίδην ην ιεηηνπξγηθό ζύζηεκα απνηειεί έλα πξόγξακκα πνπ πξέπεη λα εθηειεζηεί Οη δηεξγαζίεο ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο πξέπεη λα δηαρεηξηζηνύλ θαη λα δηαηεξεζνύλ ζηελ θύξηα κλήκε καδί κε άιια πξνγξάκκαηα ζπζηήκαηνο θαη εθαξκνγώλ 18
Δηαρείξηζε Πόξσλ (6/10) 19
Δηαρείξηζε Πόξσλ (7/10) 20 Σα ιεηηνπξγηθά ζπζηήκαηα πέξαζαλ από πνιιά ζηάδηα εμέιημεο κέρξη λα θηάζνπλ ζηε ζεκεξηλή ηνπο κνξθή θαη πνιππινθόηεηα ηηο δεθαεηίεο 1960 θαη 1970 ν ππνινγηζηήο ήηαλ έλα νγθώδεο, δύζρξεζην κεράλεκα πνπ είρε κόλν έλα ρεηξηζηή (operator) Ο ρεηξηζηήο απηόο αλαιάκβαλε λα ζπιιέμεη ηηο δηάθνξεο πξνο εθηέιεζε εξγαζίεο από ηνπο ρξήζηεο θαη λα ηηο νξγαλώζεη ζε δεζμίδερ Μία δεζκίδα (batch) είλαη έλα ζύλνιν από επγαζίερ πνπ απαηηνύλ ηνπο ίδηνπο πόξνπο Μία εξγαζία (job) είλαη έλα πξόγξακκα καδί κε θάπνηεο εληνιέο πνπ αθνξνύλ ην ινγηζκηθό ζπζηήκαηνο θαη ηνπο απαηηνύκελνπο πόξνπο γηα ηελ εθηέιεζε ηνπ πξνγξάκκαηνο
Δηαρείξηζε Πόξσλ (8/10) Η έλλνηα ηεο δεζκίδαο ζήκεξα αλαθέξεηαη ζ έλα ζύζηεκα όπνπ ηα πξνγξάκκαηα θαη νη πόξνη ηνπ ζπζηήκαηνο ζπληνλίδνληαη θαη εθηεινύληαη ρσξίο ηε δηακεζνιάβεζε ηνπ ρξήζηε 21 Εργαζία 1 (Job 1) Εργαζία 2 (Job 2) Φειριζηής (Operator) Δεζμίδα 1 (Batch 1) Υπολογιζηής Εργαζία N (Job N) Δεζμίδα 2 (Batch 2)
Δηαρείξηζε Πόξσλ (9/10) Ο ρξνληθόο θαηαθεξκαηηζκόο (time sharing) είλαη κία πνιηηηθή γηα ηελ παξάιιειε εθηέιεζε πνιιαπιώλ δηεξγαζηώλ επηηξέπεη ηελ ηαπηόρξνλε ρξήζε ηνπ ππνινγηζηή από πνιινύο ρξήζηεο, θαζώο δηακνηξάδεη (θαηακεξίδεη) ην ρξόλν ηνπ επεμεξγαζηή ζηνπο ελεξγνύο ρξήζηεο θαη ηηο δηεξγαζίεο ηνπο 22
Δηαρείξηζε Πόξσλ (10/10) ε έλα ζύζηεκα πνπ ππνζηεξίδεη ρξνληθό θαηαθεξκαηηζκό, ν θάζε ρξήζηεο έρεη ηε δηθή ηνπ λνεηή κεραλή 23 δειαδή έρεη ηελ αίζζεζε όηη ρξεζηκνπνηεί απνθιεηζηηθά θαη εμ νινθιήξνπ ν ίδηνο ηνλ ππνινγηζηή, Οη ρξήζηεο ελδέρεηαη κόλν λα αληηιεθζνύλ πηώζε ζηελ απόδνζε ηνπ ζπζηήκαηνο, ζηελ πεξίπησζε πνπ έρνπκε κεγάιν πιήζνο ελεξγώλ ρξεζηώλ
Δηαρείξηζε Δηεξγαζηώλ (1/5) Ο όξνο δηεξγαζία (process) αλαθέξεηαη ζε έλα πξόγξακκα πνπ εθηειείηαη ε έλα ζύζηεκα πνπ ππνζηεξίδεη πνιππξνγξακκαηηζκό, κπνξνύκε λα έρνπκε πνιιέο δηεξγαζίεο λα εθηεινύληαη παξάιιεια 24 Σε δηαρείξηζε απηή, γηα ην πόηε θαη πόζν ζα εθηειείηαη κία δηεξγαζία, ηελ θαζνξίδεη ην ιεηηνπξγηθό ζύζηεκα Μία δηεξγαζία από ηε ζηηγκή πνπ ζα δεκηνπξγεζεί κέρξη λα νινθιεξσζεί θαη λα ηεξκαηίζεη ηε ιεηηνπξγία ηεο πεξλάεη από δηάθνξεο θαηαζηάζεηο
Δηαρείξηζε Δηεξγαζηώλ (2/5) πγθεθξηκέλα, κία δηεξγαζία κπνξεί λα: Εθηειείηαη (running): Υξεζηκνπνηεί ηνλ επεμεξγαζηή ηελ ηξέρνπζα ζηηγκή 25 Είλαη έηνηκε γηα εθηέιεζε (ready): Έρεη δηαθνπεί πξνζσξηλά πξνθεηκέλνπ λα εθηειεζηεί θάπνηα άιιε, θαη πεξηκέλεη ηε ζεηξά ηεο γηα λα ρξεζηκνπνηήζεη ηελ θεληξηθή κνλάδα επεμεξγαζίαο Έρεη κπινθαξηζηεί (blocked): Δελ κπνξεί λα ζπλερίζεη ηελ εθηέιεζή ηεο θαζώο πεξηκέλεη γηα πόξνπο (ζπλήζσο πεξηκέλεη γηα είζνδν δεδνκέλσλ) Έσει μπλοκαπιζηεί (Blocked) Εκηελείηαι (Running) Έηοιμη για εκηέλεζη (Ready)
Δηαρείξηζε Δηεξγαζηώλ (3/5) 26 Πνιιέο δηεξγαζίεο κπνξνύλ λα βξίζθνληαη ζηε θάζε εηνηκόηεηαο (ready) ή ζηε θάζε κπινθαξίζκαηνο (blocked) ηελ ίδηα ρξνληθή ζηηγκή αιιά μόνο μία δηεξγαζία κπνξεί λα είλαη ζηε θάζε εθηέιεζεο (running) Σν ιεηηνπξγηθό ζύζηεκα είλαη ππεύζπλν γηα ηε δηαρείξηζε ησλ δηεξγαζηώλ Οη αξκνδηόηεηέο ηνπ κεηαμύ άιισλ πεξηιακβάλνπλ: ηε δεκηνπξγία θαη ηνλ ηεξκαηηζκό ηε δηαθνπή θαη ηελ επαλεθθίλεζε θαζώο θαη ην ζπγρξνληζκό ησλ δηεξγαζηώλ
Δηαρείξηζε Δηεξγαζηώλ (4/5) Σν ιεηηνπξγηθό ζύζηεκα δηαηεξεί κία δνκή δεδνκέλσλ γηα θάζε δηεξγαζία πνπ νλνκάδεηαη νκάδα ειέγρνπ δηεξγαζίαο (process control block, PCB) Η νκάδα ειέγρνπ δηεξγαζίαο δηαζέηεη όιε ηελ απαξαίηεηε πιεξνθνξία γηα ηε δηεξγαζία ε θαηάζηαζε ηεο δηεξγαζίαο ε θαηνρή ησλ πόξσλ ηνπ ζπζηήκαηνο θαζώο θαη νη ηηκέο ησλ θαηαρσξεηώλ ηεο θεληξηθήο κνλάδαο επεμεξγαζίαο Εθόζνλ γηα θάζε δηεξγαζία ππάξρεη θαη κία νκάδα ειέγρνπ δηεξγαζίαο, ζε θάζε θάζε εθηέιεζεο ζα δηαηεξείηαη κηα ιίζηα από νκάδεο ειέγρνπ δηεξγαζίαο, κε πιήζνο ίζν κε απηό ησλ ελεξγώλ δηεξγαζηώλ 27
Δηαρείξηζε Δηεξγαζηώλ (5/5) 28 ε κία δεδνκέλε ρξνληθή ζηηγκή, κόλν κία δηεξγαζία κπνξεί λα εθηειείηαη θαη λα ρξεζηκνπνηεί ηνλ επεμεξγαζηή θαη ηνπο άιινπο πόξνπο ηνπ ζπζηήκαηνο Οη θαηαρσξεηέο πεξηέρνπλ ηηο ηηκέο πνπ αθνξνύλ ηε δηεξγαζία πνπ εθηειείηαη ηε ζπγθεθξηκέλε ρξνληθή ζηηγκή Κάζε θνξά πνπ κία δηεξγαζία δηαθόπηεηαη γηα λα κπεη ζηε θάζε εθηέιεζεο ε επόκελε, ιακβάλνπλ ρώξα κία ζεηξά από ελέξγεηεο πνπ νλνκάδνληαη κεηαγσγή πεξηβάιινληνο (context switching)
Χξνλνδξνκνιόγεζε Κεληξηθήο Μνλάδαο Επεμεξγαζίαο (1/2) ε κία δεδνκέλε ρξνληθή ζηηγκή κπνξνύλ πνιιέο δηεξγαζίεο λα είλαη ζε εηνηκόηεηα, αιιά κόλν κία λα εθηειείηαη Η δηαδηθαζία επηινγήο ηεο δηεξγαζίαο πνπ ζα νλνκάδεηαη ρξνλνδξνκνιόγεζε ηεο θεληξηθήο κνλάδαο επεμεξγαζίαο (CPU scheduling) Η ρξνλνδξνκνιόγεζε ηεο θεληξηθήο κνλάδαο επεμεξγαζίαο ρσξίδεηαη ζε δύν κεγάιεο θαηεγνξίεο αλάινγα κε ηνλ ηξόπν κε ηνλ νπνίν γίλεηαη ε επηινγή ηεο επόκελεο πξνο εθηέιεζε δηεξγαζίαο: Πξνεθηνπηζηηθή ρξνλνδξνκνιόγεζε Με-πξνεθηνπηζηηθή ρξνλνδξνκνιόγεζε 29
Χξνλνδξνκνιόγεζε Κεληξηθήο Μνλάδαο Επεμεξγαζίαο (2/2) 30 Πξνεθηνπηζηηθή ρξνλνδξνκνιόγεζε (preemptive scheduling) Πξόθεηηαη γηα ηελ πεξίπησζε πνπ ην ιεηηνπξγηθό ζύζηεκα απνθαζίζεη λα δηαθόςεη ηελ ππό εθηέιεζε δηεξγαζία, γηα λα εθηειεζηεί κία άιιε δηεξγαζία ε απηήλ ηελ πεξίπησζε ε πξώηε δηεξγαζία κεηαθηλείηαη από ηε θάζε εθηέιεζεο ζηε θάζε εηνηκόηεηαο, πξνθεηκέλνπ λα ζπλερίζεη αξγόηεξα ηελ εθηέιεζή ηεο Με-πξνεθηνπηζηηθή ρξνλνδξνκνιόγεζε (Nonpreemptive scheduling) ε απηήλ ηελ πεξίπησζε ε δηεξγαζία πνπ εθηειείηαη απνθαζίδεη κόλε ηεο λα ζηακαηήζεη λα ρξεζηκνπνηεί ηελ θεληξηθή κνλάδα επεμεξγαζίαο Απηό ζπλήζσο ζπκβαίλεη όηαλ ε δηεξγαζία πξέπεη λα πεξηκέλεη είζνδν από θάπνηνπο πόξνπο ηνπ ζπζηήκαηνο, θαη κεηαβαίλεη από ηε θάζε εθηέιεζεο ζηε θάζε αλακνλήο
Αιγόξηζκνη Χξνλνδξνκνιόγεζεο (1/5) Τπάξρνπλ δηάθνξνη αιγόξηζκνη ρξνλνδξνκνιόγεζεο ηεο θεληξηθήο κνλάδαο επεμεξγαζίαο (scheduling algorithms) πξνθεηκέλνπ λα απνθαζηζζεί πνηα δηεξγαζία ζα είλαη ε επόκελε πνπ ζα εθηειεζηεί Καζέλαο από απηνύο απνθαζίδεη κε δηαθνξεηηθά θξηηήξηα, ηα νπνία θξίλεη σο ηα πην ζεκαληηθά γηα ηελ επηινγή Κάπνηνη από ηνπο πην γλσζηνύο θαη δεκνθηιείο αιγνξίζκνπο είλαη νη εμήο: Με ζειπά άθιξηρ Επιλογή μικπόηεπηρ διεπγαζίαρ Κςκλική επιλογή 31
Αιγόξηζκνη Χξνλνδξνκνιόγεζεο (2/5) 32 Ο αιγόξηζκνο Με ζεηξά άθημεο (first-come first-served) εμππεξεηεί ηεο δηεξγαζίεο κε ηε ζεηξά κε ηελ νπνία θηάλνπλ Αλ ππνζέζνπκε όηη όιεο νη δηεξγαζίεο, πνπ βξίζθνληαη ζηε θάζε εηνηκόηεηαο, έρνπλ ηνπνζεηεζεί ζε κία ζεηξά (κε θάζε λέα άθημε λα ηνπνζεηείηαη ζην ηέινο), ηόηε ν αιγόξηζκνο επηιέγεη ηελ πξώηε δηεξγαζία θάζε θνξά Με άιια ιόγηα, δίλεη πάληα πξνηεξαηόηεηα ζηελ πην παιηά δηεξγαζία (ζε απηήλ πνπ πεξηκέλεη γηα πεξηζζόηεξν ρξόλν) Είλαη έλαο δίθαηνο αιγόξηζκνο, αθνύ εμππεξεηεί δηαηεξώληαο ηελ πξνηεξαηόηεηα ηεο θάζε δηεξγαζίαο όκσο κπνξεί λα θάλεη κηθξέο δηεξγαζίεο (πνπ ρξεηάδνληαη ειάρηζην ρξόλν γηα λα εθηειεζηνύλ) λα πεξηκέλνπλ γηα πνιιή ώξα Ο αιγόξηζκνο απηόο αλήθεη ζηελ θαηεγνξία ηεο Μεπξνεθηνπηζηηθήο ρξνλνδξνκνιόγεζεο.
Αιγόξηζκνη Χξνλνδξνκνιόγεζεο (3/5) 33 Η Επηινγή κηθξόηεξεο δηεξγαζίαο (shortest job next) είλαη ν αιγόξηζκνο πνπ επηιέγεη ηε δηεξγαζία κε ην ιηγόηεξν ρξόλν εθηέιεζεο Σν ιεηηνπξγηθό ζύζηεκα, γλσξίδνληαο ηνλ ηύπν ηεο θάζε δηεξγαζίαο, κπνξεί λα εκηιμήζει πόζν ρξόλν ζα πάξεη ε εθηέιεζε ηεο θάζε δηεξγαζίαο Απηόο ν αιγόξηζκνο δίλεη πξνηεξαηόηεηα ζηηο κηθξέο δηεξγαζίεο πξνθεηκέλνπ λα εθηειεζηνύλ γξήγνξα, ρσξίο λα ρξεηάδεηαη λα πεξηκέλνπλ άιιεο πην ρξνλνβόξεο δηεξγαζίεο Έρεη ην πιενλέθηεκα όηη δηεθπεξαηώλεη πεξηζζόηεξεο δηεξγαζίεο ζε ιηγόηεξν ρξόλν όκσο ην θύξην κεηνλέθηεκά ηνπ είλαη όηη νη κεγάιεο δηεξγαζίεο κπνξεί λα πεξηκέλνπλ γηα πνιύ κεγάιν ρξνληθό δηάζηεκα κέρξη λα ηνπο δνζεί ν έιεγρνο ηεο θεληξηθήο κνλάδαο επεμεξγαζίαο Ο αιγόξηζκνο απηόο αλήθεη ζηελ θαηεγνξία ηεο Μεπξνεθηνπηζηηθήο ρξνλνδξνκνιόγεζεο
Αιγόξηζκνη Χξνλνδξνκνιόγεζεο (4/5) 34 Σέινο, ν αιγόξηζκνο ηεο Κπθιηθήο επηινγήο (round robin) δηαλέκεη ηνλ ίδην ρξόλν ζε όιεο ηηο δηεξγαζίεο, νη νπνίεο εθηεινύληαη θπθιηθά κέρξη λα νινθιεξσζνύλ πγθεθξηκέλα, επηιέγεη αξρηθά ην ρξόλν πνπ ζα δνζεί ζε θάζε δηεξγαζία ηε ζπλέρεηα, θαη έρνληαο ηνπνζεηεζεί όιεο νη δηεξγαζίεο ζε κία ζεηξά, επηιέγεηαη ε πξώηε δηεξγαζία θαη αξρίδεη λα εθηειείηαη γηα ηνλ θαζνξηζκέλν ρξόλν Μόιηο απηόο ν ρξόλνο παξέιζεη, ε δηεξγαζία κεηαβαίλεη από ηε θάζε εθηέιεζεο ζηε θάζε εηνηκόηεηαο θαη ηνπνζεηείηαη ζην ηέινο ηεο ζεηξάο Η επόκελε δηεξγαζία επηιέγεηαη, ε νπνία κεηαρεηξίδεηαη κε ηνλ ίδην αθξηβώο ηξόπν Όηαλ θπζηθά κία δηεξγαζία νινθιεξσζεί απνκαθξύλεηαη από ηε ζεηξά ησλ δηεξγαζηώλ
Αιγόξηζκνη Χξνλνδξνκνιόγεζεο (5/5) 35 Ο αιγόξηζκνο απηόο έρεη ην πιενλέθηεκα όηη είλαη δίθαηνο, αθνύ δηαηεξεί κία ζεηξά εθηέιεζεο, θαη παξάιιεια, δίλεη ζε όιεο ηηο δηεξγαζίεο ηελ επθαηξία λα εθηειεζηνύλ Δειαδή, ηόζν νη κηθξέο δηεξγαζίεο δελ είλαη ππνρξεσκέλεο λα πεξηκέλνπλ λα νινθιεξσζεί ε εθηέιεζε κεγάισλ δηεξγαζηώλ πνπ ελδερνκέλσο πξνεγνύληαη, όζν θαη νη κεγάιεο δηεξγαζίεο δελ πεξηκέλνπλ επ αόξηζηνλ ηηο κηθξέο δηεξγαζίεο λα νινθιεξσζνύλ Η επηβάξπλζε απηνύ ηνπ αιγνξίζκνπ είλαη ε πνιππινθόηεηα πινπνίεζεο ζε ζρέζε κε ηελ απιόηεηα ησλ δύν πξνεγνύκελσλ αιγνξίζκσλ Ο αιγόξηζκνο απηόο αλήθεη ζηελ θαηεγνξία ηεο Πξνεθηνπηζηηθήο ρξνλνδξνκνιόγεζεο
Παξάδεηγκα 36 Έζησ 5 δηεξγαζίεο νη νπνίεο βξίζθνληαη ζε θάζε εηνηκόηεηαο. Η ζεηξά άθημήο ηνπο είλαη p1 p2 p3 p4 p5 Οη ρξόλνη εμππεξέηεζεο γηα θάζε κία δίλνληαη ζηνλ πίλαθα: Εμππεξέηεζε ησλ δηεξγαζηώλ κε βάζε ηνλ αιγόξηζκν Με ζεηξά άθημεο: Διεπγαζία Φπόνορ Εξςπηπέηηζηρ p1 140 p2 75 p3 320 p4 280 p5 125 Εμππεξέηεζε ησλ δηεξγαζηώλ κε βάζε ηνλ αιγόξηζκν Επηινγή κηθξόηεξεο δηεξγαζίαο: Εμππεξέηεζε ησλ δηεξγαζηώλ κε βάζε ηνλ αιγόξηζκν Κπθιηθήο επηινγήο: Χρόνος εκηέλεζης διεργαζίας ανά κύκλο: 50 χρονικές μονάδες
ύζηεκα Αξρείσλ (1/2) 37 Η θύξηα κλήκε είλαη ε κλήκε πνπ δηαηεξεί ηα πξνγξάκκαηα πνπ εθηεινύληαη θαη ηα δεδνκέλα ηνπο Όιεο νη πιεξνθνξίεο απνζεθεύνληαη πξνζσξηλά θαη ράλνληαη όηαλ ζηακαηήζεη ε παξνρή ειεθηξηθνύ ξεύκαηνο ε αληίζεζε, ε δεπηεξεύνπζα κλήκε δηαηεξεί ηηο πιεξνθνξίεο αθόκα θαη κεηά ηε δηαθνπή ηνπ ειεθηξηθνύ ξεύκαηνο Επίζεο, έρεη ηε δπλαηόηεηα απνζήθεπζεο κεγάινπ όγθνπ δεδνκέλσλ Έηζη, ε δεπηεξεύνπζα κλήκε είλαη απηή πνπ ρξεζηκνπνηείηαη γηα ηε κόληκε απνζήθεπζε ησλ δεδνκέλσλ καο, κε επηθξαηέζηεξε ζπζθεπή ηνλ ζθιεξό δίζθν Σα δεδνκέλα θαη νη πιεξνθνξίεο καο απνζεθεύνληαη ζε δίζθνπο νξγαλσκέλεο ζε κνλάδεο πνπ νλνκάδνληαη αξρεία Σν αξρείν (file) είλαη κία ζπιινγή δεδνκέλσλ πνπ ζρεηίδνληαη κεηαμύ ηνπο Πξόθεηηαη γηα έλαλ κεραληζκό πνπ ρξεζηκνπνηνύκε γηα λα νξγαλώζνπκε ηα δεδνκέλα καο ζηε δεπηεξεύνπζα κλήκε Καζώο όιεο νη πιεξνθνξίεο βξίζθνληαη κέζα ζε αξρεία, ε νξγάλσζή ηνπο επηηπγράλεη έλαλ νκνηόκνξθν ηξόπν παξνπζίαζεο Κάζε αξρείν έρεη έλα κνλαδηθό όλνκα πνπ ην δηαθξίλεη από ηα ππόινηπα
ύζηεκα Αξρείσλ (2/2) 38 Η δηαρείξηζε ησλ αξρείσλ γίλεηαη από ην ιεηηνπξγηθό ζύζηεκα Σν ηκήκα απηό ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο, πνπ αζρνιείηαη κε ηα αξρεία, νλνκάδεηαη ζύζηεκα αξρείσλ (file system) Σν ζύζηεκα αξρείσλ ηαμηλνκεί ηελ πιεξνθνξία ζε έλα ζύλνιν αξρείσλ Σα αξρεία απηά νξγαλώλνληαη θαη νκαδνπνηνύληαη ζε θαηεγνξίεο θαη ππνθαηεγνξίεο πνπ νλνκάδνληαη θαηάινγνη (directories)
Αξρεία θεηκέλνπ, ςεθηαθά θαη δεδνκέλσλ (1/3) Σα αξρεία είλαη έλαο κεραληζκόο πνπ ρξεζηκνπνηνύκε γηα λα απνζεθεύνπκε πιεξνθνξίεο ζην δίζθν Σα αξρεία απηά αλάινγα κε ηα δεδνκέλα πνπ δηαηεξνύλ κπνξνύλ λα δηαθξηζνύλ ζε δηάθνξεο θαηεγνξίεο Έλα αξρείν θεηκέλνπ (text file) πεξηέρεη δεδνκέλα ζε bytes, ηα νπνία απνηεινύλ ραξαθηήξεο ηνπ πίλαθα ραξαθηήξσλ ASCII ή Unicode Οη πίλαθεο απηνί ραξαθηήξσλ θσδηθνπνηνύλ ηνπο ραξαθηήξεο (ή θάπνηεο εηδηθέο κνξθέο ραξαθηήξσλ) σο κία αθνινπζία από bits (8 bits αληηζηνηρνύλ ζε έλα ραξαθηήξα ASCII θαη 16 bits ζε έλα ραξαθηήξα Unicode) Μπνξνύκε λα ρξεζηκνπνηήζνπκε έλαλ ζπληάθηε θεηκέλνπ γηα λα δεκηνπξγήζνπκε, λα δνύκε ή λα επεμεξγαζηνύκε ηα πεξηερόκελα ελόο ηέηνηνπ αξρείνπ 39
Αξρεία θεηκέλνπ, ςεθηαθά θαη δεδνκέλσλ (2/3) 40 Έλα ςεθηαθό/δπαδηθό αξρείν (binary file) πεξηέρεη δεδνκέλα ζε εηδηθή κνξθή Η απνθσδηθνπνίεζε θαη εξκελεία ησλ bits ηνπ δε γίλεηαη βάζε θάπνηνπ γλσζηνύ πίλαθα, όπσο ζπκβαίλεη κε ηα αξρεία θεηκέλνπ, αιιά βάζε θαλόλσλ πνπ νξίδνληαη κέζα ζην ίδην ην αξρείν Καζώο απηά ηα αξρεία έρνπλ εηδηθή εζσηεξηθή κνξθή, έρνπλ θαηαζθεπαζηεί εηδηθά πξνγξάκκαηα γηα ηελ αλάγλσζε, πξνβνιή θαη επεμεξγαζία ηνπο πγθεθξηκέλα, κπνξνύκε λα έρνπκε πνιινύο δηαθνξεηηθνύο ηύπνπο ηέηνησλ αξρείσλ, επνκέλσο θαη ηα αληίζηνηρα πξνγξάκκαηα γηα θαζέλαλ από απηνύο Π.ρ. κία εηθόλα κπνξεί λα απνζεθεπηεί κε δηάθνξεο κνξθέο, όπσο JPEG, GIF, TIFF Έλα ζπγθεθξηκέλν πξόγξακκα κπνξεί λα αλνίμεη κία εηθόλα JPEG, αιιά όρη απαξαίηεηα θαη κία εηθόλα TIFF
Αξρεία θεηκέλνπ, ςεθηαθά θαη δεδνκέλσλ (3/3) 41 Σόζν ζηα αξρεία θεηκέλνπ, όζν θαη ζηα ςεθηαθά/δπαδηθά αξρεία όια ηα δεδνκέλα απνζεθεύνληαη πξνθαλώο ζε ςεθηαθή κνξθή σο δπαδηθά ςεθία κεδέλ θαη έλα Ο παξαπάλσ δηαρσξηζκόο ησλ αξρείσλ αλαθέξεηαη ζηελ εξκελεία ησλ bits, ηα νπνία κπνξνύλ λα εξκελεπηνύλ σο ραξαθηήξεο (αξρεία θεηκέλνπ) ή κε θάπνηα άιιε εηδηθή κνξθή (ςεθηαθά/δπαδηθά αξρεία) Επίζεο, θάπνηα αξρεία κπνξεί λα «κνηάδνπλ» κε αξρεία θεηκέλνπ, αιιά ζηελ πξαγκαηηθόηεηα δελ είλαη Π.ρ. ηα πξνγξάκκαηα επεμεξγαζίαο θεηκέλνπ πνπ επηηξέπνπλ πέξα από ηελ απνζήθεπζε ησλ ραξαθηήξσλ δηάθνξεο κνξθνπνηήζεηο, όπσο ρξώκαηα, ζηπι γξαθηθά θαη πιαίζηα, απνζεθεύνπλ ηηο πιεξνθνξίεο σο δπαδηθά/ςεθηαθά αξρεία θαη όρη σο αξρεία θεηκέλνπ Απηό είλαη απαξαίηεην γηα ηελ απνζήθεπζε όισλ ησλ επηπξόζζεησλ πιεξνθνξηώλ πνπ κπνξεί λα πεξηέρεη ην αξρείν πέξαλ ησλ ραξαθηήξσλ
Σύπνη Αξρείσλ (1/4) 42 Σα πεξηζζόηεξα ιεηηνπξγηθά ζπζηήκαηα ππνζηεξίδνπλ δηάθνξνπο ηύπνπο αξρείσλ Ο ηύπνο αξρείνπ (file type) δειώλεη ην είδνο ηεο πιεξνθνξίαο πνπ πεξηέρεη ην αξρείν Κάζε αξρείν, είηε θεηκέλνπ, είηε ςεθηαθό πεξηέρεη έλα ζπγθεθξηκέλν, εηδηθό ηύπν πιεξνθνξίαο Π.ρ. κία εηθόλα απνζεθεπκέλε ζε κνξθή JIF ή έλα κνπζηθό θνκκάηη απνζεθεπκέλν ζε κνξθή mp3 Κάζε αξρείν ζπλνδεύεηαη από έλα κνλαδηθό όλνκα Σν όλνκα απηό απνηειείηαη από δύν κέξε ηα νπνία δηαρσξίδνληαη από κία ηειεία Σν πξώην κέξνο (αξηζηεξά) είλαη ην θπξίσο όλνκα, δειαδή ην όλνκα πνπ θαζνξίδεη ν ρξήζηεο θαηά ηελ απνζήθεπζε ηνπ αξρείνπ Σν δεύηεξν κέξνο (δεμηά) είλαη ε θαηάιεμε ή πξνέθηαζε ηνπ αξρείνπ (file extension) θαη δίλεη θάπνηεο πιεξνθνξίεο γηα ην αξρείν, όπσο ν ηύπνο ηνπ
Σύπνη Αξρείσλ (2/4) Ο ηύπνο ηνπ αξρείνπ επηηξέπεη ζην ιεηηνπξγηθό ζύζηεκα λα ιεηηνπξγεί πάλσ ζην αξρείν κε ηέηνην ηξόπν πνπ λα έρεη λόεκα γηα ην αξρείν Σν ιεηηνπξγηθό ζύζηεκα από ηελ πιεπξά ηνπ, δηαηεξεί κία ιίζηα από ηνπο δηάθνξνπο ηύπνπο αξρείσλ πνπ κπνξεί λα αλαγλσξίζεη θαη ζπζρεηίδεη θαζέλαλ από απηνύο κε έλα θαηάιιειν πξόγξακκα εθαξκνγήο, ην νπνίν κπνξεί λα «αλνίμεη» ην αξρείν Απλά αρτεία κειμένοσ Τύπορ Απσείος Αρτεία κειμένοσ με μορθοποίηζη Μοσζικά αρτεία Αρτεία εικόνων 43 Αρτεία πηγαίοσ κώδικα (προγράμμαηα) txt Καηάληξη mp3, mp4, wav jpeg, gif, jpg, tiff doc, docx, wp3 java, c, cpp
Σύπνη Αξρείσλ (3/4) πλήζσο, κπνξνύλ λα ππάξμνπλ πεξηζζόηεξα από έλα πξνγξάκκαηα πνπ κπνξνύλ λα εθηειέζνπλ έλαλ ηύπν αξρείνπ Σν αξρείν θνξηώλεηαη πάληα κε ην πξνεπηιεγκέλν πξόγξακκα πνπ έρεη νξηζηεί γηα κία ζπγθεθξηκέλε θαηάιεμε, εθηόο θαη αλ ν ρξήζηεο δεηήζεη θάηη δηαθνξεηηθό Επίζεο, έλα ζπγθεθξηκέλν εηθνλίδην ζπζρεηίδεηαη κε έλαλ ηύπν αξρείνπ θαη ην πξόγξακκα εθαξκνγήο ηνπ Όηαλ θάλνπκε δηπιό θιηθ ζην εηθνλίδην απηό, μεθηλάεη ην πξόγξακκα εθαξκνγήο πνπ έρεη ζπζρεηηζηεί κε ην αξρείν, ην νπνίν ζηε ζπλέρεηα θνξηώλεη θαη ην ίδην ην αξρείν 44
Σύπνη Αξρείσλ (4/4) Έλα αξρείν κπνξνύκε λα ηνπ δώζνπκε νπνηνδήπνηε όλνκα ζέινπκε, κε όπνηα θαηάιεμε επηζπκνύκε Αλ αιιάμνπκε ηελ θαηάιεμε ηνπ αξρείνπ δελ αιιάδνπλ νύηε ηα δεδνκέλα πνπ ππάξρνπλ κέζα ζην αξρείν, νύηε θαη ε εηδηθή κνξθή ηνπ αξρείνπ Απηό ζεκαίλεη όηη αλ πξνζπαζήζνπκε λα αλνίμνπκε ην αξρείν κε ιαλζαζκέλε θαηάιεμε, δειαδή δηαθνξεηηθή από απηήλ πνπ αληηζηνηρεί ζηελ εηδηθή κνξθή ηνπ ζπγθεθξηκέλνπ αξρείνπ, ην πξόγξακκα ζα καο εκθαλίζεη κελύκαηα ιάζνπο Σα αξρεία δεδνκέλσλ πεξηέρνπλ πιεξνθνξία πνπ απνηειείηαη από εγγπαθέρ ηνπ ίδηνπ ηύπνπ Η εγγξαθή (record) είλαη έλα ζύλνιν από πεδία πνπ ζπλδένληαη κεηαμύ ηνπο ινγηθά Σν πεδίν (field) είλαη έλα ζύλνιν από ραξαθηήξεο πνπ παξηζηάλεη κία ιέμε, έλα ζύλνιν από ιέμεηο ή έλαλ αξηζκό Παξαθάησ βιέπνπκε έλα παξάδεηγκα κηαο εγγξαθήο πνπ απνηειείηαη από πέληε πεδία Σν πξώην πεδίν κηαο εγγξαθήο είλαη ην θιεηδί (key), ην νπνίν είλαη έλα ζπγθεθξηκέλν, απαξαίηεην πεδίν πνπ ραξαθηεξίδεη μοναδικά ηελ εγγξαθή 45 Πεδίο 1 Πεδίο 2 Πεδίο 3 Πεδίο 4 Πεδίο 5 CW-9483 Γιώργος ΤΕΙ Κρήηης Θεζζαλονίκη 4543
Λεηηνπξγίεο ησλ Αξρείσλ (1/2) 46 Σα αξρεία ρξεζηκνπνηνύληαη γηα ηελ απνζήθεπζε πιεξνθνξηώλ θαη ηελ αλάθηεζή ηνπο ζε θάπνηα κειινληηθή ζηηγκή Οη βαζηθόηεξεο ιεηηνπξγίεο πνπ κπνξνύλ λα επηηειεζηνύλ ζε έλα αξρείν είλαη νη εμήο: Δεκηνπξγία αξρείνπ (Create) Δηαγξαθή αξρείνπ (Delete) Άλνηγκα αξρείνπ (Open) Κιείζηκν αξρείνπ (Close) Δηάβαζκα δεδνκέλσλ (Read) Εγγξαθή δεδνκέλσλ (Write) Εγγξαθή δεδνκέλσλ ζην ηέινο ηνπ αξρείνπ (Append) Μεηνλνκαζία αξρείνπ (Rename) Αληηγξαθή αξρείνπ (Copy)
Λεηηνπξγίεο ησλ Αξρείσλ (2/2) 47 Όζνλ αθνξά ηα αξρεία βάζεσλ δεδνκέλσλ, νη θπξηόηεξεο ιεηηνπξγίεο πνπ ζρεηίδνληαη κε απηά είλαη νη εμήο: Αλάθηεζε (retrieval) εγγξαθώλ: Πξόθεηηαη γηα ηε ιήςε ησλ πεξηερνκέλσλ κηαο εγγξαθήο, ρσξίο λα γίλεη θακία κεηαβνιή ζηελ εγγξαθή Ελεκέξσζε (updating) εγγξαθώλ: Αθνξά θάζε ιεηηνπξγία πνπ επηθέξεη αιιαγέο ζηα πεξηερόκελα ή ζηελ ίδηα ηελ εγγξαθή (όπσο είλαη ε πξνζζήθε ή ε δηαγξαθή κηαο εγγξαθήο ή ε αιιαγή ζε θάπνην από ηα πεδία ηεο) Σαμηλόκεζε (sorting) εγγξαθώλ: Πξόθεηηαη γηα κηα ιεηηνπξγία όπνπ νη εγγξαθέο ελόο αξρείνπ ηαμηλνκνύληαη θαηά αύμνπζα ή θζίλνπζα ζεηξά, αλάινγα κε ηελ ηηκή ελόο πεδίνπ ή ζπλδπαζκνύ απηώλ
Ιεξαξρία ή δέλδξν Καηαιόγσλ (1/3) 48 Γηα ηελ θαιύηεξε νξγάλσζε ησλ αξρείσλ καο, απηά ηαμηλνκνύληαη ζε καηαλόγοςρ Έλαο θαηάινγνο (directory) είλαη κηα δνκή πνπ νκαδνπνηεί έλα ζύλνιν αξρείσλ Μπνξεί λα πεξηέρεη αξρεία ή άιινπο θαηαιόγνπο (νπνηνπδήπνηε πιήζνπο) Έηζη, δεκηνπξγείηαη κία ηεξαξρηθή δνκή κεηαμύ ησλ θαηαιόγσλ ηνπ ζπζηήκαηνο, ε νπνία αλαπαξηζηά ηελ νξγάλσζε ησλ εκθσιεπκέλσλ θαηαιόγσλ ελόο ζπζηήκαηνο αξρείσλ Η δνκή απηή νλνκάδεηαη ηεξαξρία ή δέλδξν θαηαιόγσλ (directory tree) Ο θαηάινγνο πνπ βξίζθεηαη ζην πην πςειό επίπεδν είλαη κνλαδηθόο θα νλνκάδεηαη θαηάινγνο ξίδα (root directory) Μεηαμύ δύν θαηαιόγσλ πνπ ν έλαο βξίζθεηαη κέζα ζηνλ άιινλ, ν θαηάινγνο πνπ πεξηέρεη ηνλ άιινλ θαηάινγν νλνκάδεηαη παηξηθόο θαηάινγνο (parent directory), ελώ απηόο πνπ εκπεξηέρεηαη ζηνλ πξώην νλνκάδεηαη ππνθαηάινγνο (subdirectory)
Ιεξαξρία ή δέλδξν Καηαιόγσλ (2/3) ε κία δεδνκέλε ρξνληθή ζηηγκή, ν ρξήζηεο έρεη ηε δπλαηόηεηα λα ρεηξίδεηαη έλα ζπγθεθξηκέλν θαηάινγν Ο θαηάινγνο απηόο νλνκάδεηαη θαηάινγνο εξγαζίαο (working directory) Πξνθεηκέλνπ λα κπνξνύκε λα βξίζθνπκε ηα αξρεία θαη ηνπο θαηαιόγνπο πνπ επηζπκνύκε θάζε θνξά, ρξεηάδεηαη λα δειώζνπκε ηελ αθξηβή ηνπνζεζία απηώλ Απηό επηηπγράλεηαη πεξηγξάθνληαο ηε δηαδξνκή (path) δειαδή ηε ζεηξά ησλ θαηαιόγσλ πνπ πξέπεη λα αλνίμνπκε γηα λα θηάζνπκε ζην επηζπκεηό αξρείν ή θαηάινγν Τπάξρνπλ δύν δηαθνξεηηθνί ηξόπνη πνπ κπνξνύκε λα ρξεζηκνπνηήζνπκε: απόιπηε δηαδξνκή (absolute path) ζρεηηθή δηαδξνκή (relative path) 49
Ιεξαξρία ή δέλδξν Καηαιόγσλ (3/3) 50 Η απόιπηε δηαδξνκή (absolute path) είλαη ε δηαδξνκή πνπ μεθηλάεη από ην βαζηθό θαηάινγν (δειαδή ηε ξίδα) θαη θηάλεη κέρξη ην αξρείν ή θαηάινγν πνπ αλαδεηνύκε Π.ρ. ε δηαδξνκή C:\Program Files\Outlook Express (ή ηζνδύλακα \Program Files\Outlook Express) ζεκαίλεη όηη ν βαζηθόο θαηάινγνο πεξηέρεη ηνλ ππνθαηάινγν Program Files, ν νπνίνο κε ηε ζεηξά ηνπ πεξηέρεη ηνλ ππνθαηάινγν Outlook Express Η ζρεηηθή δηαδξνκή (relative path) είλαη απηή όπνπ ηα νλόκαηα ησλ δηαδξνκώλ δελ μεθηλνύλ από ηνλ βαζηθό θαηάινγν, αιιά πξνζδηνξίδνληαη ζε ζρέζε κε ηνλ θαηάινγν εξγαζίαο Π.ρ. αλ εξγαδόκαζηε ζην Desktop (δειαδή ν θαηάινγνο εξγαζίαο είλαη ν C:\Documents and Settings\user\Desktop), ην αξρείν κε απόιπηε δηαδξνκή C:\Documents and Settings\user\Desktop\mySchedule.txt κπνξεί λα πξνζδηνξηζηεί απινύζηαηα σο myschedule.txt
Δέληξν Καηαιόγσλ ηνπ Windows 51
Δέληξν Καηαιόγσλ ηνπ UNIX 52
Φπζηθή Απνζήθεπζε Αξρείσλ (1/3) 53 Σα αξρεία απνζεθεύνληαη ζπλήζσο ζην ζθιεξό δίζθν, επνκέλσο ε δηαρείξηζε ηνπ ρώξνπ ηνπ δίζθνπ θαη ε απνζήθεπζε ησλ αξρείσλ κε απνδνηηθό ηξόπν είλαη έλα εμαηξεηηθά ζεκαληηθό ζέκα Παξόιν πνπ εκείο έρνπκε ηελ αίζζεζε όηη ην θάζε αξρείν είλαη απνζεθεπκέλν ζην δίζθν ζε ζπλερείο ζέζεηο κλήκεο, απηό δελ ζπκβαίλεη ηηο πεξηζζόηεξεο θνξέο ηελ πξαγκαηηθόηεηα, νη εγγξαθέο ησλ αξρείσλ θαηαιακβάλνπλ δηάθνξεο πεξηνρέο ηνπ δίζθνπ, νη νπνίεο ζπρλά απέρνπλ αξθεηά κεηαμύ ηνπο πγθεθξηκέλα, ε απνζήθεπζε μεθηλά κε ηηο εγγξαθέο λα απνζεθεύνληαη ζηηο ζέζεηο ελόο ηνκέα (sector) θαη κόιηο απηόο ζπκπιεξσζεί, νη επόκελεο εγγξαθέο παίξλνπλ ζέζεηο θαη απνζεθεύνληαη ζηνλ επόκελν δηαζέζηκν ηνκέα Όηαλ ζπκπιεξσζεί ε πεξηνρή ελόο ίρλνπο (track), ζπλερίδνπκε ζηνλ ηνκέα ηνπ επόκελνπ ίρλνπο κε ηνλ ίδην αθξηβώο ηξόπν Επνκέλσο, αξθεηά ζπρλά έλα αξρείν δεδνκέλσλ κπνξεί λα είλαη απνζεθεπκέλν ζε δηάζπαξηεο ζέζεηο ζην δίζθν
Φπζηθή Απνζήθεπζε Αξρείσλ (2/3) 54 Σν ιεηηνπξγηθό ζύζηεκα είλαη ππεύζπλν γηα ηελ ςεπδαίζζεζε πνπ δεκηνπξγείηαη ζην ρξήζηε (θαη ηηο εθαξκνγέο) όηη ην αξρείν βξίζθεηαη ζε ζπλερόκελεο ζέζεο ζηε κλήκε Απηό είλαη θαη έλα ραξαθηεξηζηηθό παξάδεηγκα αθαηξεηηθόηεηαο (abstraction), δειαδή απνκόλσζεο ησλ ηερληθώλ πινπνίεζεο θαη απινπνίεζεο ηεο εηθόλαο ηνπ πξνβιήκαηνο
Φπζηθή Απνζήθεπζε Αξρείσλ (3/3) 55 ίχνος (track) ηομέας (block)
Χξνλνδξνκνιόγεζε Δίζθνπ 56 Καζώο πνιιά πξνγξάκκαηα κπνξνύλ λα ηξέρνπλ ηαπηόρξνλα ζε έλαλ ππνινγηζηή, κπνξνύλ λα δεκηνπξγεζνύλ πνιιέο αηηήζεηο πξνζπέιαζεο δίζθνπ Έηζη, δεκηνπξγείηαη ε αλάγθε γηα έλαλ απνδνηηθό ηξόπν πξνζπέιαζεο ησλ αξρείσλ καο Θπκεζείηε όηη ν ρξόλνο πξνζπέιαζεο ηνπ δίζθνπ εμαξηάηαη από ηξεηο παξάγνληεο: ην ρξόλν αλαδήηεζεο ηελ θαζπζηέξεζε πεξηζηξνθήο ηνλ ρξόλν κεηαθνξάο ησλ δεδνκέλσλ Η ηερληθή πνπ ρξεζηκνπνηείηαη από ην ιεηηνπξγηθό ζύζηεκα γηα ηελ επηινγή θαη εμππεξέηεζε αηηεκάησλ πξνζπέιαζεο νλνκάδεηαη ρξνλνδξνκνιόγεζε δίζθνπ (disk scheduling)
Αιγόξηζκνη Χξνλνδξνκνιόγεζεο Δίζθνπ 57 Χξνλνδξνκνιόγεζε κε ζεηξά άθημεο (First-Come First Served disk scheduling, FCFS) ε απηόλ ηνλ αιγόξηζκν ηα αηηήκαηα εμππεξεηνύληαη κε ηε ζεηξά πνπ θηάλνπλ, αλεμάξηεηα κε ην πνπ βξίζθνληαη νη θεθαιέο ηνπ δίζθνπ Χξνλνδξνκνιόγεζε κε ην κηθξόηεξν ρξόλν αλίρλεπζεο (Shortest-Seek Time-First disk scheduling, SSTF) ε απηόλ εμππεξεηείηαη πάληα πξώηα ην αίηεκα πνπ απαηηεί ηε ιηγόηεξε θίλεζε ησλ θεθαιώλ ηνπ δίζθνπ Χξνλνδξνκνιόγεζε κε ζάξσζε δίζθνπ (SCAN disk scheduling) ε απηόλ νη θεθαιέο ηνπ δίζθνπ θηλνύληαη πξνο θαη καθξηά από ηνλ άμνλα θαζώο ν δίζθνο πεξηζηξέθεηαη ζπλερώο πξνο κία θαηεύζπλζε Μόιηο έλα από ηα ηκήκαηα πνπ έρνπλ δεηεζεί γηα πξνζπέιαζε βξεζεί θάησ από ηελ θεθαιή, ηόηε απηή ην δηαβάδεη
Πξνζπέιαζε Αξρείνπ (1/2) 58 Σν ιεηηνπξγηθό ζύζηεκα γηα ηε δηαρείξηζε ησλ αξρείσλ, ηόζν ηελ απνζήθεπζε λέσλ όζν θαη ηελ πξνζπέιαζε ππαξρόλησλ αξρείσλ, δηαηεξεί δηάθνξεο ζεκαληηθέο πιεξνθνξίεο Καη αξρήλ, δηαηεξεί έλαλ πίλαθα πνπ δείρλεη πνηνη ηνκείο (sectors) ηεο δεπηεξεύνπζαο κλήκεο είλαη ειεύζεξνη, πξνθεηκέλνπ λα έρεη άκεζε επνπηεία θαη γλώζε ηνπ δηαζέζηκνπ ρώξνπ Επίζεο, όζνλ αθνξά ηα δεζκεπκέλα θνκκάηηα ηεο κλήκεο, γηα θάζε θαηάινγν δηαηεξεί έλαλ πίλαθα, ν νπνίνο πεξηέρεη πιεξνθνξίεο ζρεηηθά κε ηα αξρεία ζε απηόλ ηνλ θαηάινγν Όηαλ έλα αξρείν βξίζθεηαη ππό επεμεξγαζία, ηόηε ρξεζηκνπνηείηαη έλαο πθηζηάκελνο δείθηεο αξρείνπ (current file pointer), ν νπνίνο δείρλεη ηε ζέζε όπνπ ζα ζπκβεί ε επόκελε ιεηηνπξγία αλάγλσζεο ή εγγξαθήο Απηόο ν δείθηεο αλαλεώλεηαη κεηά από θάζε αλάγλσζε/εγγξαθή, έηζη ώζηε λα πεξηέρεη ηε λέα, ζσζηή ζέζε ηεο επόκελεο αλάγλσζεο/εγγξαθήο
Πξνζπέιαζε Αξρείνπ (2/2) Η πξνζπέιαζε ελόο αξρείνπ αθνξά ηνλ ηξόπν κε ηνλ νπνίν ζα αλαθηήζνπκε ηηο πιεξνθνξίεο ηνπ Τπάξρνπλ δηάθνξεο ηερληθέο πξνζπέιαζεο νη νπνίεο πξαθηηθά νξίδνπλ ηνπο ηξόπνπο κε ηνπο νπνίνπο ν πθηζηάκελνο δείθηεο αξρείνπ κπνξεί λα επαλαηνπνζεηεζεί Οη δύν θπξηόηεξεο ηέηνηεο ηερληθέο είλαη νη εμήο: ζειπιακή πποζπέλαζη άμεζη πποζπέλαζη Κάπνηα ιεηηνπξγηθά ζπζηήκαηα παξέρνπλ κόλν έλαλ ηύπν πξνζπέιαζεο αξρείνπ, ελώ θάπνηα άιια παξέρνπλ επηινγή Ο ηύπνο πξνζπέιαζεο αξρείνπ πνπ είλαη δηαζέζηκνο θαζνξίδεηαη θαηά ηε δεκηνπξγία ηνπ αξρείνπ 59
εηξηαθή πξνζπέιαζε Η ζεηξηαθή πξνζπέιαζε (sequential access) απνηειεί ηελ πην ζπλεζηζκέλε θαη ηελ πην εύθνιε πξνο πινπνίεζε ηερληθή 60 ε απηήλ ηα δεδνκέλα ηνπ αξρείνπ επεμεξγάδνληαη κε ηελ ίδηα ζεηξά κε ηελ νπνία απνζεθεύνληαη Οη ιεηηνπξγίεο αλάγλσζεο/εγγξαθήο κεηαθηλνύλ ηνλ πθηζηάκελν δείθηε αξρείνπ ηόζν όζν απαηηείηαη γηα λα δηαβάζνπκε/γξάςνπκε δεδνκέλα Σν κεηνλέθηεκα απηήο ηεο ηερληθήο είλαη όηη γηα λα δηαβάζνπκε έλα ζπγθεθξηκέλν θνκκάηη ηνπ αξρείνπ καο πξέπεη πξώηα λα δηαβάζνπκε κε ηε ζεηξά όια ηα πξνεγνύκελα θνκκάηηα, κέρξη λα θηάζνπκε ζηελ επηζπκεηή ζέζε
Άκεζε πξνζπέιαζε 61 Η άκεζε πξνζπέιαζε (direct access) είλαη απηή πνπ επηηξέπεη ζην ρξήζηε λα έρεη άκεζε πξόζβαζε ζε νπνηαδήπνηε ζέζε, ρσξίο λα απαηηείηαη αλάγλσζε όισλ ησλ πξνεγνύκελσλ θνκκαηηώλ ηνπ αξρείνπ Απηό επηηπγράλεηαη κε ηελ δηαίξεζε ηνπ αξρείνπ ζε κηθξά ινγηθά αξηζκεκέλα ηκήκαηα-εγγξαθέο (records) Υξεζηκνπνηώληαο ηνλ αξηζκό ηνπ επηζπκεηνύ ηκήκαηνο κπνξνύκε λα απνθηήζνπκε άκεζε πξόζβαζε ζε απηό Η ηερληθή ηεο άκεζεο πξνζπέιαζεο είλαη πην πνιύπινθε σο πξνο ηελ πινπνίεζή ηεο, όκσο δίλεη ηε δπλαηόηεηα γξήγνξεο πξνζπέιαζεο ζε πεξηπηώζεηο πνπ απαηηείηαη ηαρύηεηα, όπσο είλαη νη βάζεηο δεδνκέλσλ, αλεμάξηεηα από ην κέγεζνο ηνπ αξρείνπ
εηξηαθή θαη Άκεζε πξνζπέιαζε 62 Απσείο Απσείο Απσή Απσή Υθιζηάμενορ Δείκηηρ Απσείος (Current File Pointer) Ανάγνωζη ή Εγγπαθή Υθιζηάμενορ Δείκηηρ Απσείος (Current File Pointer) Μεηακίνηζη ζε μία εγγπαθή και έπειηα Ανάγνωζη ή Εγγπαθή Τέλορ Τέλορ
Πξνζηαζία Αξρείσλ (1/2) ε έλα ζύζηεκα πνιιαπιώλ ρξεζηώλ ε πξνζηαζία ησλ αξρείσλ είλαη έλα πνιύ ζεκαληηθό δήηεκα Σα αξρεία ελόο ρξήζηε πξέπεη λα πξνζηαηεύνληαη από παξεκβάζεηο άιισλ ρξεζηώλ (δειαδή έλαο ρξήζηεο δελ ζα πξέπεη λα κπνξεί λα δηαβάδεη ή λα επεμεξγάδεηαη ηα αξρεία ελόο άιινπ ρξήζηε) εθηόο θαη αλ ν θάηνρνο (δεκηνπξγόο ηνπ αξρείνπ) ην επηηξέπεη Γη απηό ην ιόγν έρεη αλαπηπρζεί έλαο κεραληζκόο πξνζηαζίαο ησλ αξρείσλ ν νπνίνο ειέγρεη πνηνο ρξήζηεο ζα έρεη πξόζβαζε ζε έλα αξρείν θαη γηα πνην ζθνπό 63
Πξνζηαζία Αξρείσλ (1/2) 64 ην ιεηηνπξγηθό ζύζηεκα Unix ε πξνζηαζία νξίδεηαη απηόκαηα ζε ηξεηο θαηεγνξίεο, όπνπ γηα θάζε κία κπνξνύλ λα νξηζηνύλ δηαθνξεηηθά δηθαηώκαηα: Δεκηνπξγόο (Owner) είλαη ν δεκηνπξγόο ηνπ αξρείνπ, π.ρ. student1 Οκάδα (Group) είλαη κία ιίζηα ρξεζηώλ, π.ρ. epp_006 Τπόινηπνη (World) είλαη όινη νη ρξήζηεο πνπ έρνπλ πξόζβαζε ζην ζύζηεκα, π.ρ. epp Δικαιώμαηα Ανάγνωζη Εγγπαθή/Διαγπαθή Εκηέλεζη Δημιοςπγόρ Ναι Ναι Ότι Ομάδα Ναι Ότι Ότι Υπόλοιποι Ότι Ότι Ότι