τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Η ανάγκη για υπολογιστές είναι ευρέως διαδεδομένη στην ανθρώπινη ιστορία και η ανάπτυξή της έχει γενικά περάσει από τη διαδικασία ανάπτυξης από τα γενικά υπολογιστικά εργαλεία έως τους μηχανικούς υπολογιστές έως τους σημερινούς ηλεκτρονικούς υπολογιστές.
Η ανάγκη της ανθρωπότητας για υπολογιστές μας οδηγεί να εφευρίσκουμε και να βελτιώνουμε συνεχώς τους υπολογιστές. Η τρέχουσα εποχή είναι η εποχή των «ηλεκτρονικών υπολογιστών», και η τάση ανάπτυξης είναι: ταχύτερη, πιο σταθερή και μικρότερη.
Προτεινόμενα βιβλία: "Μια σύντομη ιστορία των υπολογιστών"
Σημείο 1
Οι σύγχρονοι υπολογιστές συμμορφώνονται με τους περισσότερουςΑρχιτεκτονική Von Neumann
John von Neumann (28 Δεκεμβρίου 1903 - 8 Φεβρουαρίου 1957), Ούγγρο-Αμερικανός μαθηματικός και επιστήμονας υπολογιστών
Επιστήμονας, φυσικός και ένας από τους σημαντικότερους μαθηματικούς του 20ου αιώνα. Ο Von Neumann είναι διδάκτορας στα μαθηματικά από το Πανεπιστήμιο της Βουδαπέστης. Είναι ένα από τα πιο ευέλικτα επιστημονικά μυαλά στους τομείς των σύγχρονων υπολογιστών, της θεωρίας παιχνιδιών, των πυρηνικών όπλων και των βιολογικών όπλων. Πατέρας των Σύγχρονων Υπολογιστών» και «Ο Πατέρας της Θεωρίας Παιγνίων».
Στη συνέχεια, χρησιμοποιούμε μια διαδικασία από την αρχή για να δημιουργήσουμε μια CPU βήμα προς βήμα Μπορούμε να χρησιμοποιήσουμε αυτή τη διαδικασία για να κατανοήσουμε τις αρχές λειτουργίας των κύριων στοιχείων του υπολογιστή, όπως η CPU και η μνήμη.
Ηλεκτρονικός διακόπτης – Μηχανικό Ρελέ
Μέσω ηλεκτρονικών διακοπτών, μπορούμε να εφαρμόσουμε 1-bit (bit) φαινομενικά άχρηστες λογικές πράξεις, αλλά τουλάχιστον λειτουργεί, σωστά;
Θα μάθουμε περισσότερα σχετικά με τον τρόπο χρήσης ηλεκτρονικών διακοπτών για να συνδυάσουμε πραγματικά χρήσιμα λογικά στοιχεία.
Η ουσία των μελλοντικών σωλήνων κενού και τρανζίστορ είναι η ολοκλήρωση παρόμοιας εργασίας, αλλά οι φυσικές αρχές είναι πιο περίπλοκες, επομένως δεν θα σας παρουσιάσουμε μια εις βάθος εξήγηση.
Στη συνέχεια, μαθαίνουμε πώς να χρησιμοποιούμε ηλεκτρονικούς διακόπτες για την κατασκευή ορισμένων χρήσιμων εξαρτημάτων - μπορούν να εφαρμοστούν βασικές λογικές λειτουργίες του 1 bit.
Το ALU είναι το βασικό συστατικό για τις αριθμητικές και λογικές πράξεις στους υπολογιστές και είναι ο μαθηματικός εγκέφαλος του υπολογιστή Στη συνέχεια, χρησιμοποιούμε τις λογικές πύλες που κατασκευάστηκαν παραπάνω για να ολοκληρώσουμε μια δική μας ALU, για να μάθουμε και να κατανοήσουμε τον τρόπο λειτουργίας της. περαιτέρω κατανόηση της σύγχρονης Ο ακρογωνιαίος λίθος των αρχών του υπολογιστή.
Η αριθμητική μονάδα είναι υπεύθυνη για όλες τις ψηφιακές πράξεις στον υπολογιστή, όπως οι τέσσερις αριθμητικές πράξεις. Φυσικά, μπορεί να κάνει πολλά περισσότερα από αυτό όλη η διαδικασία και άλλες λειτουργίες δεν θα εξηγήσω πια τη συσκευή.
Σε αυτό το σημείο, δημιουργήσαμε έναν αθροιστή 8-bit από την αρχή. Οι πράξεις της αριθμητικής μονάδας είναι φυσικά πολύ περισσότερες από αυτές Συνεχίζοντας να συνδυάζουμε λογικές πύλες, η αριθμητική μονάδα μπορεί να εκτελέσει πρόσθεση, αφαίρεση, πολλαπλασιασμό, διαίρεση και ακόμη περισσότερες αριθμητικές πράξεις, αλλά ένας αθροιστής αρκεί ως επίδειξη. Στην πραγματικότητα, η δυσκολία δημιουργίας πολλαπλασιαστών και διαιρετών είναι μεγαλύτερη από αυτή των αθροιστών και των αφαιρουμένων Αν σας ενδιαφέρει, μπορείτε να προσπαθήσετε να μάθετε περισσότερα.
Οι λογικές μονάδες χρησιμοποιούνται κυρίως για την εκτέλεση λογικών πράξεων Οι πιο βασικές πράξεις είναι οι πράξεις AND, OR και NOT, αλλά δεν είναι απλώς η σύγκριση αριθμών ενός bit.
经过我们的努力,通过基本的逻辑门电路,我们⼀步步地做出了⼀个 8 位(bits) ALU,甚至比 Intel 74181 还要强大,Intel 74181 只是⼀个 4 位(bits) ALU(😀)。当然现代的计算机中的 ALU 部件非常强大,复杂度远远超过了我们的想象,32 位 甚至 64 位基本已经普及全球了。但无论如何,再复杂的ALU 也是芯片工程师像我们这样,一层又一层, 一步又一步地将其抽象出来的。ALU 是第⼀次将人类历史上的数学和逻辑学学科有机地结合起来,可以视为人类智慧发展的现代巅峰.
Το ALU από μόνο του δεν είναι αρκετό. Δεν μπορούμε να παρέχουμε στοιχεία αποθήκευσης για το ALU, επομένως χρησιμοποιούμε κυκλώματα πύλης για να εξηγήσουμε εν συντομία την παραγωγή του χώρου αποθήκευσης , δηλαδή, αυτές οι αποθήκες είναι πτητικές (πτητικές)
Κρύβουμε ορισμένες λεπτομέρειες υλοποίησης στη μέση και το τελικό αποτέλεσμα είναι: όταν η γραμμή απενεργοποίησης είναι ρυθμισμένη, η είσοδος είναι 1 και το 1 αποθηκεύεται όταν η είσοδος είναι 0, όταν η γραμμή ενεργοποίησης δεν είναι στη θέση του , η εγγραφή δεν είναι έγκυρη.
Μπορούμε να χρησιμοποιήσουμε κλειδαριές πόρτας για να δημιουργήσουμε τους καταχωρητές και τη μνήμη που χρειαζόμαστε.
Η κατασκευή της μνήμης είναι λίγο πιο περίπλοκη από αυτό, αλλά οι βασικές αρχές είναι οι ίδιες. Η μνήμη που κατασκευάζεται με αυτόν τον τρόπο ονομάζεται RAM (Random Access Memory) και μπορεί να υποστηρίξει πολυπλοκότητα χρόνου O(1) για πρόσβαση σε δεδομένα σε οποιαδήποτε τοποθεσία.
υποστήριξη υλικού.
Τώρα διαθέτουμε ALU και χώρο αποθήκευσης, αλλά αυτό εξακολουθεί να μην είναι αρκετό για να λειτουργήσει ο υπολογιστής μας Χρειαζόμαστε ένα στοιχείο για να κατευθύνει το ALU για να εκτελέσει τι είδους υπολογισμούς, και αυτό το στοιχείο είναι η μονάδα ελέγχου (CU).
Σημείο 2
Ο αριθμός των κουτιών στην παραπάνω εικόνα μπορεί να θεωρηθεί ως ο αριθμός των πυρήνων Όπως φαίνεται στην εικόνα, είναι μια CPU δεκαέξι πυρήνων.
Οι πρώτες CPU είχαν έναν ενιαίο πυρήνα Με την ανάπτυξη των καιρών, έχουμε υψηλότερες απαιτήσεις για την ταχύτητα επεξεργασίας της CPU Η υπολογιστική μονάδα να είναι μικρή (διαδικασία κατασκευής CPU, όπως 5nm, κ.λπ.) Αυτή τη στιγμή, η κλασική μηχανική καθίσταται άκυρη και αρχίζει να εισέρχεται στο πεδίο της κβαντικής μηχανικής.
Αυτή τη στιγμή, προτείνεται η έννοια του πολυπύρηνου.
Η υπολογιστική ταχύτητα της CPU περιγράφεται από τη συχνότητα, η οποία μπορεί να γίνει κατανοητή ως πόσες εντολές μπορούν να εκτελεστούν σε ένα δευτερόλεπτο (όχι αυστηρή, για παράδειγμα, η παραπάνω ταχύτητα μπορεί να γίνει κατανοητή ως υπολογισμοί της CPU περίπου 3,4 δισεκατομμύρια φορές ανά δευτερόλεπτο). .
Η συχνότητα της CPU αλλάζει δυναμικά με βάση τον φόρτο εργασίας, καθώς η συχνότητα αυξάνεται, καταναλώνει περισσότερη ενέργεια και παράγει περισσότερη θερμότητα, προκειμένου να προστατεύεται η CPU από την καύση λόγω υπερθέρμανσης.
Σημείο 3
Αρχικά, ας παρουσιάσουμε τις οδηγίες που χρειαζόμαστε.
Η λεγόμενη εντολή, δηλαδή η εντολή που καθοδηγεί την CPU να εκτελέσει εργασία, αποτελείται κυρίως από κωδικό λειτουργίας + τελεστή.
Ο κωδικός ενεργοποίησης χρησιμοποιείται για να υποδείξει ποια ενέργεια πρέπει να πραγματοποιηθεί και ο τελεστής είναι τα δεδομένα που πρέπει να χειρίζονται αυτή η εντολή, τα οποία μπορεί να είναι μια διεύθυνση μνήμης ή ένας αριθμός μητρώου κ.λπ.
Η ίδια η οδηγία είναι επίσης ένας αριθμός, αποθηκευμένος σε μια συγκεκριμένη περιοχή μνήμης σε δυαδική μορφή.
Τα προγράμματα που γράφουμε σε γλώσσες προγραμματισμού πρέπει τελικά να μεταφραστούν σε "δυαδικές εντολές που εκτελούνται στην CPU."
Οι οδηγίες είναι επίσης η γλώσσα μηχανής (δυαδική) και η γλώσσα assembly και η γλώσσα assembly έχουν αντιστοιχία ένα προς ένα.
Διαφορετικές CPU υποστηρίζουν διαφορετικές οδηγίες σε μικρο επίπεδο, όπως οδηγίες x86 και οδηγίες βραχίονα, γεγονός που προκαλεί προβλήματα συμβατότητας.
Ποιες εντολές μπορεί να εκτελέσει μια CPU μπορεί να θεωρηθεί ότι έχουν καθοριστεί όταν η CPU σχεδιάστηκε αρχικά. Η παραπάνω εικόνα παραθέτει μερικές απλοποιημένες οδηγίες.
Η εντολή 8-bit μπορεί να χωριστεί σε δύο μέρη.
Τα πρώτα 4 bit είναι ο κωδικός λειτουργίας (opcode) που υποδεικνύει τι κάνει η εντολή.
Τα τελευταία 4 bit είναι τελεστές (παρόμοια με τις παραμέτρους)
Το όνομα καταχωρητή AB στον παραπάνω πίνακα είναι πλασματικό Το όνομα του πραγματικού καταχωρητή CPU έχει τη μορφή: eax, ebx, esp, ebp...)
Υπάρχει ένας ειδικός καταχωρητής στη CPU, ο «μετρητής προγράμματος» (θα ρυθμιστεί αυτόματα από το σύστημα μετά τη φόρτωση του exe στη μνήμη), ο οποίος αποθηκεύει τη θέση μνήμης από την οποία θα εκτελεστεί η εντολή στη συνέχεια χρόνο, καθώς εκτελείται η εντολή, η τιμή του "μετρητή προγράμματος" θα ενημερωθεί επίσης ανάλογα ως (αν, ενώ, για, κλήση συνάρτησης...), θα οριστεί σε άλλη τιμή.
Χωρίζουμε την εκτέλεση των εντολών σε τρία στάδια:
1) Ανάκτηση εντολών, η CPU διαβάζει το περιεχόμενο εντολών από τη μνήμη στη CPU (Υπάρχουν ειδικοί καταχωρητές για την αποθήκευση των οδηγιών ανάγνωσης).
2) Αναλύστε την εντολή και προσδιορίστε τη συνάρτησή της, τις αντίστοιχες συναρτήσεις και τους τελεστές
3) Εκτελέστε εντολές
Η εκτέλεση κάθε εντολής πρέπει να περάσει από τα παραπάνω τρία βήματα και η ολοκλήρωση μιας εργασίας απαιτεί την εκτέλεση πολλών παραπάνω εντολών, για παράδειγμα, μια διαδικασία προσθήκης μπορεί να απαιτεί τρεις παραπάνω εντολές, κάτι που φαίνεται πολύ ενοχλητικό, αλλά λόγω του υπολογισμού της CPU. πολύ γρήγορα (οι παραπάνω λειτουργίες μπορούν να εκτελεστούν περισσότερες από ένα δισεκατομμύριο φορές σε ένα δευτερόλεπτο) και δεν χρειάζεται πολύς χρόνος για έναν υπολογιστή.
Το λεγόμενο πρόγραμμα είναι ένα σύνολο εντολών και των δεδομένων που πρόκειται να υποβληθούν σε επεξεργασία από αυτό το σύνολο εντολών. Με μια στενή έννοια, ένα πρόγραμμα συνήθως εμφανίζεται σε εμάς ως ένα σύνολο αρχείων.
Πρόγραμμα = εντολή + δεδομένα προς επεξεργασία από την οδηγία.
Αυτή είναι μια ενδιαφέρουσα μικρή ιστορία που κυκλοφόρησε νωρίτερα, αλλά φυσικά δεν είναι αλήθεια.Αλλά για τους πρώτους υπολογιστές, ο προγραμματισμός απαιτούσε πραγματικά
Προγραμματίστηκε με 0 και 1 (Σ(っ°Д °;)っ)
Η παρακάτω εικόνα δείχνει τον υπολογιστή Altair 8800, έναν από τους παλαιότερους μικροϋπολογιστές. Ο χρήστης πρέπει να ελέγχει το διακόπτη και να εισάγει το πρόγραμμα στον υπολογιστή λίγο-λίγο.
Εάν απαιτείται από όλους τους χρήστες υπολογιστών να χρησιμοποιούν δυαδικό προγραμματισμό, όλοι θα τρελαθούν Αυτό είναι ένα όριο που είναι πολύ υψηλό. Έτσι εμφανίστηκαν οι γλώσσες προγραμματισμού.
Προκειμένου να βελτιωθεί η αποτελεσματικότητα του προγραμματισμού, δημιουργήθηκε για πρώτη φορά η έννοια της γλώσσας assembly. Στην πραγματικότητα, η γλώσσα συναρμολόγησης και η γλώσσα μηχανής (δηλαδή οι οδηγίες) είναι απευθείας σε σχέση με τους αριθμούς 0 και 1, έχουν εφευρεθεί ορισμένα σύμβολα για να βοηθήσουν τους ανθρώπους να τα θυμούνται και να τα κατανοούν. είναι αυτό που έχουμε παραπάνω, αυτό που βλέπετε είναι παρόμοιο με το LOAD_A, το LOAD_B, κ.λπ. Αφού οι προγραμματιστές ολοκληρώσουν τον προγραμματισμό, πρέπει να χρησιμοποιήσουν ένα assembler για να μεταφράσουν τη γλώσσα assembly σε γλώσσα μηχανής.
Παρόλο που η συναρμολόγηση μειώνει το κόστος της μνήμης του προγραμματιστή, εξακολουθεί να απαιτεί από το πρόγραμμα να κατέχει όλες τις γνώσεις του υλικού του υπολογιστή. Αυτό δεν είναι αρκετό, επομένως γεννήθηκαν πιο προηγμένες γλώσσες υψηλού επιπέδου θωρακίζουν τις λεπτομέρειες του υλικού και επιτρέπουν στους προγραμματιστές να σκεφτούν την επιχείρησή τους σε υψηλότερο επίπεδο. Εδώ παίρνουμε τη γλώσσα C ως παράδειγμα Αφού ο προγραμματιστής ολοκληρώσει τη σύνταξη του προγράμματος, πρέπει να χρησιμοποιήσει έναν μεταγλωττιστή και έναν σύνδεσμο για να μεταφράσει το πρόγραμμα σε γλώσσα συναρμολόγησης και στη συνέχεια να χρησιμοποιήσει το assembler για να το μετατρέψει στην τελική γλώσσα μηχανής.
Με τη βοήθεια της ιδέας της ενθυλάκωσης, γίνεται όλο και πιο εύκολο για εμάς να μάθουμε προγραμματισμό. Ωστόσο, υπάρχουν πλεονεκτήματα και μειονεκτήματα Ο υψηλός βαθμός αφαίρεσης κάνει πολλούς προγραμματιστές να θεωρούν τον υπολογιστή ως ένα μαύρο κουτί και να μην μπορούν να καταλάβουν πώς λειτουργούν τα δικά τους προγράμματα.
Η γλώσσα Java που χρησιμοποιούμε είναι λίγο πιο προηγμένη από τη γλώσσα C, αλλά δεν υπάρχει μεγάλη διαφορά στις βασικές αφηρημένες αρχές, επομένως δεν θα το εξηγήσουμε προς το παρόν.
Σημείωση: Μια δήλωση σε μια γλώσσα υψηλού επιπέδου αντιστοιχεί συχνά σε πολλές οδηγίες προς συμπλήρωση.
Σημείο 4
Το λειτουργικό σύστημα είναι ένα συλλογικό όνομα για ένα σύνολο λογισμικού που διαχειρίζεται τους πόρους του υπολογιστή. Επί του παρόντος, τα κοινά λειτουργικά συστήματα περιλαμβάνουν: σειρά Windows, σειρά Unix, σειρά Linux, σειρά OSX, σειρά Android, σειρά iOS, Hongmeng κ.λπ.
Τα προγράμματα που εκτελούνται σε διαφορετικά συστήματα είναι διαφορετικά (τα προγράμματα δεν είναι συμβατά λόγω διαφορετικών kpi)
Ένα λειτουργικό σύστημα έχει δύο βασικές λειτουργίες:
1) Αποτρέψτε την κατάχρηση του υλικού από χωροχρονικές εφαρμογές, παρέχετε KPI στην εφαρμογή και αφήστε την εφαρμογή να την καλέσει για να ολοκληρώσει διαφορετικές λειτουργίες.
2) Παροχή εφαρμογών με απλούς και συνεπείς μηχανισμούς για τον έλεγχο πολύπλοκων και συχνά ευρέως ανόμοιων συσκευών υλικού χαμηλού επιπέδου.
Ένα λειτουργικό σύστημα κάνει κυρίως τα ακόλουθα δύο πράγματα:
1) Διαχειριστείτε διαφορετικές συσκευές υλικού Οι υπολογιστές μπορούν να έχουν πρόσβαση σε πολλές συσκευές, όπως σαρωτές κωδικών, ιατρικό εξοπλισμό, μηχανήματα υπερήχων Β...
2) Παρέχετε ένα σταθερό περιβάλλον λειτουργίας για το λογισμικό, τα σύγχρονα λειτουργικά συστήματα πρέπει να εκτελούν πολλά προγράμματα ταυτόχρονα .
Όταν κάθε εφαρμογή εκτελείται σε ένα σύγχρονο λειτουργικό σύστημα, το λειτουργικό σύστημα θα παρέχει μια αφαίρεση, σαν να εκτελείται μόνο αυτό το πρόγραμμα στο σύστημα και όλοι οι πόροι υλικού χρησιμοποιούνται από αυτό το πρόγραμμα. Αυτή η ψευδαίσθηση επιτυγχάνεται με την αφαίρεση της έννοιας μιας διαδικασίας, αναμφισβήτητα μια από τις πιο σημαντικές και επιτυχημένες έννοιες στην επιστήμη των υπολογιστών.
Μια διεργασία είναι μια αφαίρεση ενός προγράμματος που εκτελείται από το λειτουργικό σύστημα από το λειτουργικό σύστημα.
Σημείο 5
Οι διεργασίες είναι ορισμένες εφαρμογές που εκτελούνται στους υπολογιστές μας (Όταν μιλάμε για μια εφαρμογή, υπάρχουν δύο καταστάσεις. Όταν δεν εκτελείται, είναι ένα αρχείο exe που βρίσκεται στον σκληρό δίσκο, όταν εκτελείται, το exe θα είναι. φορτώνεται στη μνήμη και η CPU εκτελεί τις οδηγίες μέσα.
Η διαδικασία είναι η βασική μονάδα κατανομής πόρων από το λειτουργικό σύστημα.
Σημείο 6
Δεδομένου ότι υπάρχουν πολλές διεργασίες στο σύστημα, πρέπει να διαχειρίζονται
1) Η περιγραφή εκφράζει διάφορα χαρακτηριστικά της διαδικασίας μέσω δομών/κλάσεων (τα κύρια συστήματα υλοποιούνται μέσω C/C++)
2) Ο οργανισμός συνδέει τις παραπάνω πολλαπλές δομές (περιγραφές) μέσω της δομής δεδομένων και περαιτέρω πραγματοποιεί διάφορες προσθήκες, διαγραφές, τροποποιήσεις και ελέγχους...
Για παράδειγμα, το λειτουργικό σύστημα Linux χρησιμοποιεί μια δομή που ονομάζεται "PCB" για να περιγράψει τις πληροφορίες διεργασίας (PCB σημαίνει μπλοκ ελέγχου διεργασιών Με απλά λόγια, τα προαναφερθέντα πολλαπλά PCB συγκεντρώνονται μεταξύ τους μέσω μιας συνδεδεμένης λίστας για τη δημιουργία μιας διεργασίας). -κάντε κλικ στο exe , εκτέλεση του προγράμματος) ισοδυναμεί με τη δημιουργία μιας δομής PCB .
Το PCB είναι μια πολύ περίπλοκη δομή που περιέχει πολλά χαρακτηριστικά Ας μάθουμε παρακάτω μερικές βασικές πληροφορίες.
Αναγνωριστικό διαδικασίας 1.PID
Ταυτόχρονα, το PID είναι μοναδικό μεταξύ πολλαπλών διεργασιών σε ένα μηχάνημα και δεν θα επαναληφθεί πολλές εσωτερικές λειτουργίες στο σύστημα βρίσκουν την αντίστοιχη διαδικασία μέσω του PID.
2. Δείκτης μνήμης (ένα σετ)
Περιγράφει την περιοχή όπου αποθηκεύονται οδηγίες και δεδομένα που εξαρτώνται από τη διαδικασία
Όταν το λειτουργικό σύστημα εκτελεί το exe, θα διαβάσει τις οδηγίες και τα δεδομένα στο exe και θα τα φορτώσει στη μνήμη (διεύθυνση μνήμης).
Από την πλευρά, δείχνει ότι η εκτέλεση της διαδικασίας απαιτεί συγκεκριμένους πόρους μνήμης.
3. Πίνακας περιγραφής αρχείου (πίνακας ακολουθιών/πίνακας)
Περιγράφει ποια αρχεία ανοίγονται από τη διαδικασία, που αντιστοιχούν στα δεδομένα του σκληρού δίσκου
Όταν ένα αρχείο ανοίγει στη διαδικασία, ένα στοιχείο θα προστεθεί στον πίνακα ακολουθίας για εύκολη ανάγνωση.
Τα παρακάτω στοιχεία καθορίζουν από κοινού τον προγραμματισμό της διαδικασίας, που σχετίζεται στενά με την καθημερινή μας εξέλιξη.
Σημείο 7
Το κλειδί για τον προγραμματισμό διαδικασιών του λειτουργικού συστήματοςΠολυπλεξία κοινής χρήσης χρόνου
Τα τρέχοντα λειτουργικά συστήματα είναι όλα "συστήματα πολλαπλών εργασιών" που μπορούν να εκτελούν πολλές διεργασίες ταυτόχρονα.
Κατανόηση της πολυπλεξίας με κοινή χρήση χρόνου: Σε μια συγκεκριμένη στιγμή, η CPU εκτελεί τη διαδικασία 1, εκτελείται για λίγο, η CPU εκτελεί τη διαδικασία 2 και εκτελεί τη διαδικασία 3 μετά από λίγο... Επειδή η ταχύτητα υπολογισμού της CPU και η ταχύτητα μεταγωγής είναι πολύ γρήγορες, Δεν γίνεται αντιληπτό με γυμνό μάτι. Από ανθρώπινη σκοπιά, ισοδυναμεί με ταυτόχρονη εκτέλεση, «ταυτόχρονη εκτέλεση».
Παράλληλη εκτέλεση: Τώρα με πολυπύρηνες CPU, κάθε πυρήνας και μεταξύ πυρήνων μπορεί επίσης να εκτελεί διαφορετικές διεργασίες ταυτόχρονα σε μικροσκοπικό επίπεδο.
Η ταυτόχρονη ή ο παραλληλισμός προγραμματίζεται ομοιόμορφα από τον πυρήνα του λειτουργικού συστήματος και δεν μπορεί να γίνει αντιληπτή από τους προγραμματιστές/τους απλούς χρήστες. Επομένως, ο παραλληλισμός και ο παραλληλισμός συνήθως αναφέρονται συλλογικά ως "concurrency" και οι αντίστοιχες τεχνικές προγραμματισμού ονομάζονται επίσης "concurrent programming".
4. Κατάσταση διαδικασίας
Κατάσταση ετοιμότητας: Η διαδικασία μπορεί να προγραμματιστεί στην CPU για την εκτέλεση εντολών ανά πάσα στιγμή
Αποκλεισμένη κατάσταση: Η διαδικασία δεν μπορεί να προγραμματιστεί για την εκτέλεση εντολών στη CPU Ο λόγος για τον οποίο είναι αποκλεισμένη είναι ότι χρειάζεται να εκτελέσει κάποιες άλλες λειτουργίες, όπως λειτουργίες IO (ανάγνωση και εγγραφή σκληρών δίσκων ή ανάγνωση και εγγραφή καρτών δικτύου, όπως π.χ. είσοδος σάρωσης).
Οι παραπάνω δύο είναι οι δύο κύριες καταστάσεις διαδικασίας Υπάρχουν και άλλες καταστάσεις, οπότε δεν θα υπεισέλθω σε πολλές λεπτομέρειες.
5. Προτεραιότητα διαδικασίας
Προτεραιότητα είναι κυριολεκτικά η σειρά των διαδικασιών.
6. Πλαίσιο διαδικασίας
Χρονική πολυπλεξία Αφού εκτελεστεί μια διεργασία για λίγο, θα μεταφερθεί από την CPU, θα συνεχίσει να εκτελείται τα ενδιάμεσα αποτελέσματα της προηγούμενης εκτέλεσης (διάφορα Η τιμή στον καταχωρητή cpu) αποθηκεύεται για την επόμενη χρήση.
7. Λογιστικές πληροφορίες της διαδικασίας
Με την υποστήριξη της προτεραιότητας, διαφορετικές διαδικασίες ενδέχεται να αποκτήσουν ολοένα και περισσότερους διαφορετικούς πόρους...
Τα παραπάνω χαρακτηριστικά χρησιμοποιούνται για την υποστήριξη της ταυτόχρονης εκτέλεσης της διαδικασίας προγραμματισμού.
Το λειτουργικό σύστημα εκχωρεί πόρους μνήμης χρησιμοποιώντας ένα χωρικό μοντέλο - διαφορετικές διεργασίες χρησιμοποιούν διαφορετικές περιοχές της μνήμης χωρίς να παρεμβαίνουν μεταξύ τους.
Όπως αναφέρθηκε παραπάνω, μια διεργασία είναι η μικρότερη μονάδα για την κατανομή πόρων από το λειτουργικό σύστημα, που σημαίνει ότι κάθε διεργασία δεν μπορεί να αισθανθεί την ύπαρξη του άλλου Αυτή είναι η αρχική πρόθεση του λειτουργικού συστήματος να αφαιρέσει την έννοια της διαδικασίας η διαδικασία Έχουν «απομόνωση» το ένα από το άλλο.
Ωστόσο, οι σύγχρονες εφαρμογές συχνά δεν μπορούν να ολοκληρώσουν μια πολύπλοκη επιχειρηματική απαίτηση μέσω μιας διαδικασίας ανεξάρτητα. Η ανάγκη για επικοινωνία μεταξύ των διαδικασιών προέκυψε την ιστορική στιγμή.
Αυτή τη στιγμή υπάρχει μόνο μία κύρια μέθοδος επικοινωνίας μεταξύ διεργασιών στην Java, μέσω του δικτύου (πρίζα)
Το δίκτυο είναι ένας σχετικά ειδικός μηχανισμός IPC Εκτός από την υποστήριξη της επικοινωνίας μεταξύ δύο διεργασιών στον ίδιο κεντρικό υπολογιστή, υποστηρίζει επίσης την επικοινωνία μεταξύ διεργασιών σε διαφορετικούς κεντρικούς υπολογιστές μέσα στο ίδιο δίκτυο.