THE multiprogramming system або THE OS — операційна система, спроектована і реалізована командою розробників, яку очолював Едсгер Дейкстра, у 1965-66-х роках. Монографії, що описували систему, були опубліковані 1968-го року.
Розробник | Едсгер Дейкстра і інші розробники з Ейндговенського Технологічного Університету |
---|---|
Написано на | Мова асемблера машини Electrologica X8 |
Робочий стан | Проект закрито |
Початковий випуск | 1968 |
Платформи | Electrologica X8 |
Сам Дейкстра не використовував назву THE для операційної системи, це була просто абревіатура з нід. Technische Hogeschool Eindhoven (Технічний університет Ейндговена, Нідерланди). Система призначалася переважно для пакетної обробки завдань і підтримувала багатозадачність; дизайн системи не передбачав більш ніж одного користувача. THE була схожа на операційну систему машини SDS 940, але «множина процесів у THE була статичною»
У системі THE з'явилася підтримка одного з перших програмних реалізацій віртуальної пам'яті (машина Electrologica X8 не забезпечувала механізмів, потрібних, щоб реалізувати віртуальну пам'ять апаратно). Таким чином, прикладна програма для THE звільнялася від необхідності знання фізичних адрес пам'яті на магнітному барабані. Реалізація досягалася за допомогою модифікованого компілятора мови ALGOL (це була єдина мова, що підтримувалася у THE), який «автоматично генерував системні виклики при доступі до пам'яті, таким чином гарантуючи, що якщо дані, до яких звертаються, не були у оперативній пам'яті, вони автоматично підвантажувались з барабана». Механізми сторінкової віртуальної пам'яті також застосовувалися для буферизації даних вводу-виводу і тісно були інтегровані з багатьма підсистемами самої ОС. THE була першою ОС, у якій знайшли широке застосування семафори.
Архітектура
Архітектура операційної системи вирізнялася новітніми для свого часу підходами до розділення шарів (англ. layers): «вищі» шари мали, за задумом, залежати лише від «нижчих»:
- Шар 0 відповідав за аспекти багатозадачності: відбувалося прийняття рішення про те, якому процесу виділити центральний процесор, з врахуванням процесів, що були заблоковані на семафорах. Цей найнижчий шар містив обробники переривань і здійснював перемикання контексту, коли потрібно було запустити черговий процес. Говорячи сучасними термінами, це був планувальник операційної системи.
- Шар 1 відповідав за виділання пам'яті. У сучасній термінології це був диспетчер підкачування сторінок.
- Шар 2 забезпечував комунікацію між операційною системою і консоллю оператора.
- Шар 3 забезпечував введення і виведення даних з і на пристрої, під'єднані до комп'ютера (включно з механізмами буферизації даних).
- Шар 4 складався з застосунків. Всього було 5 користувацьких процесів, що відповідали за компіляцію, виконання програм, і вивід (друк) даних користувацьких програм. Коли будь-яка програма завершувалася, виконання передавалося назад до планувальника ОС (орієнтованого на пріоритети), який запускав процеси, що чекають на ввід-вивід.
- Шаром 5 вважався користувач системи (за словами Дейкстри, «компонент, який реалізували не ми»).
Такий підхід, на думку розробників, полегшував формальне доведення коректності аспектів ОС, а також сприяв інкрементальній розробці компонентів системи. Шари реалізувалися крок за кроком, шар 0 у першу чергу, а наступні — після ретельного тестування і формального доведення (в рамках прийнятих абстракцій). Такий поділ ядра ОС був у дечому схожий на підхід, застосований у Multics з її механізмами кілець доступу і сегментації.
Система була написана на мові асемблера для комп'ютера Electrologica X8. Ширина машинного слова у цьому комп'ютері становила 27 розрядів, об'єм пам'яті на феритових кільцях складав 32 кілослів, а барабанної — 512 кілослів.
Джерела
- Dijkstra, E.W. (1968), The structure of the 'THE'-multiprogramming system, Communications of the ACM, 11 (5): 341—346, doi:10.1145/363095.363143
- Silberschatz, Abraham; Peterson, James L. (May 1988), 13: Historical Perspective, Operating System Concepts, с. 512
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
THE multiprogramming system abo THE OS operacijna sistema sproektovana i realizovana komandoyu rozrobnikiv yaku ocholyuvav Edsger Dejkstra u 1965 66 h rokah Monografiyi sho opisuvali sistemu buli opublikovani 1968 go roku THE multiprogramming systemRozrobnikEdsger Dejkstra i inshi rozrobniki z Ejndgovenskogo Tehnologichnogo UniversitetuNapisano naMova asemblera mashini Electrologica X8Robochij stanProekt zakritoPochatkovij vipusk1968 56 rokiv tomu 1968 PlatformiElectrologica X8 Sam Dejkstra ne vikoristovuvav nazvu THE dlya operacijnoyi sistemi ce bula prosto abreviatura z nid Technische Hogeschool Eindhoven Tehnichnij universitet Ejndgovena Niderlandi Sistema priznachalasya perevazhno dlya paketnoyi obrobki zavdan i pidtrimuvala bagatozadachnist dizajn sistemi ne peredbachav bilsh nizh odnogo koristuvacha THE bula shozha na operacijnu sistemu mashini SDS 940 ale mnozhina procesiv u THE bula statichnoyu U sistemi THE z yavilasya pidtrimka odnogo z pershih programnih realizacij virtualnoyi pam yati mashina Electrologica X8 ne zabezpechuvala mehanizmiv potribnih shob realizuvati virtualnu pam yat aparatno Takim chinom prikladna programa dlya THE zvilnyalasya vid neobhidnosti znannya fizichnih adres pam yati na magnitnomu barabani Realizaciya dosyagalasya za dopomogoyu modifikovanogo kompilyatora movi ALGOL ce bula yedina mova sho pidtrimuvalasya u THE yakij avtomatichno generuvav sistemni vikliki pri dostupi do pam yati takim chinom garantuyuchi sho yaksho dani do yakih zvertayutsya ne buli u operativnij pam yati voni avtomatichno pidvantazhuvalis z barabana Mehanizmi storinkovoyi virtualnoyi pam yati takozh zastosovuvalisya dlya buferizaciyi danih vvodu vivodu i tisno buli integrovani z bagatma pidsistemami samoyi OS THE bula pershoyu OS u yakij znajshli shiroke zastosuvannya semafori ArhitekturaArhitektura operacijnoyi sistemi viriznyalasya novitnimi dlya svogo chasu pidhodami do rozdilennya shariv angl layers vishi shari mali za zadumom zalezhati lishe vid nizhchih Shar 0 vidpovidav za aspekti bagatozadachnosti vidbuvalosya prijnyattya rishennya pro te yakomu procesu vidiliti centralnij procesor z vrahuvannyam procesiv sho buli zablokovani na semaforah Cej najnizhchij shar mistiv obrobniki pererivan i zdijsnyuvav peremikannya kontekstu koli potribno bulo zapustiti chergovij proces Govoryachi suchasnimi terminami ce buv planuvalnik operacijnoyi sistemi Shar 1 vidpovidav za vidilannya pam yati U suchasnij terminologiyi ce buv dispetcher pidkachuvannya storinok Shar 2 zabezpechuvav komunikaciyu mizh operacijnoyu sistemoyu i konsollyu operatora Shar 3 zabezpechuvav vvedennya i vivedennya danih z i na pristroyi pid yednani do komp yutera vklyuchno z mehanizmami buferizaciyi danih Shar 4 skladavsya z zastosunkiv Vsogo bulo 5 koristuvackih procesiv sho vidpovidali za kompilyaciyu vikonannya program i vivid druk danih koristuvackih program Koli bud yaka programa zavershuvalasya vikonannya peredavalosya nazad do planuvalnika OS oriyentovanogo na prioriteti yakij zapuskav procesi sho chekayut na vvid vivid Sharom 5 vvazhavsya koristuvach sistemi za slovami Dejkstri komponent yakij realizuvali ne mi Takij pidhid na dumku rozrobnikiv polegshuvav formalne dovedennya korektnosti aspektiv OS a takozh spriyav inkrementalnij rozrobci komponentiv sistemi Shari realizuvalisya krok za krokom shar 0 u pershu chergu a nastupni pislya retelnogo testuvannya i formalnogo dovedennya v ramkah prijnyatih abstrakcij Takij podil yadra OS buv u dechomu shozhij na pidhid zastosovanij u Multics z yiyi mehanizmami kilec dostupu i segmentaciyi Sistema bula napisana na movi asemblera dlya komp yutera Electrologica X8 Shirina mashinnogo slova u comu komp yuteri stanovila 27 rozryadiv ob yem pam yati na feritovih kilcyah skladav 32 kilosliv a barabannoyi 512 kilosliv DzherelaDijkstra E W 1968 The structure of the THE multiprogramming system Communications of the ACM 11 5 341 346 doi 10 1145 363095 363143 Silberschatz Abraham Peterson James L May 1988 13 Historical Perspective Operating System Concepts s 512