Теорія операційної системи

:: Меню ::

Головна
Представлення даних в обчислювальних системах
Машинні мови
Завантаження програм
Управління оперативною пам'яттю
Сегментна і сторінкова віртуальна пам'ять
Комп'ютер і зовнішні події
Паралелізм з точки зору програміста
Реалізація багатозадачності на однопроцесорних комп'ютерах  
Зовнішні пристрої
Драйвери зовнішніх пристроїв
Файлові системи
Безпека
Огляд архітектури сучасних ОС

:: Друзі ::

Карта сайту
 

:: Статистика ::

 

 

 

 

 

Сімейство Ср/м

Родоначальником сімейства є дискова операційна система Ср/м (Control Program/monitor) фірми Digital Research. Перша версія системи була розроблена в 1974 р. для використання в інструментальних мікропроцесорних системах на основі мікропроцесорів 18080 і 18085.
Інструментальні мікрокомп'ютери, популярні в 70-і роки, використовувалися як засіб крос-розробки і відладки програм для вбудовуваних мікропроцесорних систем. Типова система такого типа складалася з мікропроцесорної плати, пристрої чтенія/запіси магнітних або перфострічок, а пізніше — накопичувача гнучких дисків і, нарешті, відеотерміналу. Можна вважати їх предками персональних комп'ютерів, але в описуваний період такі системи були дуже громіздкі і дороги для домашнього і офісного використання.
Ср/м була першою ОС для машин такого роду, що забезпечила можливість використання гнучких дисків, тому вона швидко придбала величезну популярність і стала стандартом де-факто для мікрокомп'ютерів [Дейтел 1987]. Система була перенесена практично на все 8- і 16-розрядні і багато 32-розрядні мікропроцесори манчестерської архітектури. Що з'явилися в кінці 70-х персональні комп'ютери зазвичай також були орієнтовані на використання Ср/м. На початку 80-х були реалізовані багатозадачна і мережева версії Ср/м. З'явилися також немало клонів системи, програмно сумісних з нею і в цілому аналогічних по архітектурі.
З архітектурної точки зору, Ср/м є досить типовою однозадачною ДОС, призначеною для роботи на процесорі без диспетчера пам'яті і засобів базової адресації. До відмітних особливостей Ср/м можна віднести наступні.

  • Своєрідна командна мова, що є підмножиною DCL (DEC Command Language), — командної мови систем Rt-11, Rsx-11, Vax/vms . Так, в DCL команди є повними словами англійської мови, але дозволено їх скорочення: DIRECTORY, наприклад, може бути скорочена до DIR або навіть до DI — в Ср/м же команда називається DIR.
  • Пристрої послідовного введення-виводу позначаються трьохбуквеними абревіатурами, наприклад TTY: позначає телетайп, а LPT: — рядковий принтер. Деякі пристрої, наприклад, CON: (консоль), LST: (пристрій виведення лістингу) можуть динамічно перепризначуватися.
  • Диски позначаються буквами латинського алфавіту.

Ср/м має модульну архітектуру і складається з трьох основних підсистем: командного процесора РСР (Console Command Processor), базової дискової операційної системи BDOS (Basic Disc Operating System) і базової системи введення-виведення BIOS (Basic Input/output System). РСР і BDOS є незмінні компоненти системи, BIOS містить драйвери фізичних пристроїв і підлягає перекомпонуванню при кожної перегенерациі системи для нової конфігурації апаратури. Пам'ять, не зайнята компонентами системи і таблицею векторів переривань, називається ТРА (Transient Program Area — область призначених [дослівно — скороминущих] для користувача програм).
У 1981 р. фірма IBM анонсувала персональний комп'ютер IBM РС на основі 16-розрядного процесора i8088. Спочатку передбачалося, що як ОС для цього комп'ютера використовуватиметься Ср/м, проте представникам IBM не удалося досягти прийнятних умов угоди з Digital Research. Ні історія, ні легенди не повідомляють нас про те, що саме послужило причиною розбіжностей.
Легенди, проте, зберегли для нас немало подробиць (на жаль, не дуже достовірних) подальшого розвитку подій. Замість того, щоб піти на компроміс з Р. Кидалом, CEO Digital Research, представник IBM звернувся до сина одного зі своїх старих знайомих, Біла Гейтсу. Біл Гейтс в цей час займався продажем власного інтерпретатора мови BASIC для любительських 8-розрядних мікрокомп'ютерів. Біл не мав ні досвіду розробки ОС або ДОС, ні навіть теоретичної підготовки в цій області, оскільки був вигнаний з коледжу. Проте IBM обіцяла щедру передоплату і взагалі досить вигідні умови, тому Біл взявся за проект.

Примітка
Потрібно відзначити, що ця частина легенди декілька розходиться з достовірними історичними відомостями. У описуваний період Microsoft займався не лише і навіть не стільки Вазю'ом, скільки власної ОС, заснованої на Unix v.6, - Microsoft Xenix. Ця система була реалізована для декількох мікропроцесорних систем на 32-розрядних мікропроцесорах, таких, як Mc68000, Ns32032 і навіть 18086/8086.
За іншою версією легенди, Біл Гейтс спочатку запропонував Xenix, але представники IBM хотіли що-небудь схоже на Ср/м.

Гейтс придбав за 13 тисяч доларів ліцензію на систему QDOS — клон Ср/м, розроблений компанією Seattle Computer Products. По легенді, QDOS розшифровується як Quick and Dirty Operating System - "Швидко [зроблена] і Брудна Операційна Система".
Фірма Microsoft переробила завантажувач і дискову підсистему QDOS для роботи з IBM РС і використанням сервісів ПЗП цього комп'ютера (ці сервіси також називаються BIOS, хоча мають досить мало спільного з BIOS Ср/м), і запропонувала результат фірмі IBM. Замовники опинилися задоволені, і Біл швидко став мільйонером.
До версії 3.30 MS DOS (таку назву отримала нова система) вже накопила дуже багато відзнак від оригінальної Ср/м. Як файлова система була використана винайдена особисто Б. Гейтсом для вживання в інтерпретаторі BASIC ФС FAT. Ета ФС була перероблена так, щоб в ній можна було створювати вкладені каталоги. Був доданий новий формат завантажувального модуля — додатково до абсолютних завантажувальних файлів формату СОМ (сумісних з Ср/м]) були реалізовані відносні завантажувальні файли ЕХЕ (відомі також як файли MZ). Були реалізовані завантажувані драйвери зовнішніх пристроїв. Динамічне завантаження і вивантаження драйверів не підтримувалося, але, принаймні, зміна номенклатури драйверів тепер не вимагала перегенерациі системи. Список завантажуваних драйверів задавався текстовим файлом C:\config.SYS. Пізніше був навіть реалізований інтерфейс для драйверів файлових систем.
Було дозволено завантаження декількох програм в стековому порядку (втім, не допускалося їх паралельного виконання). Система придбала багато меж, аналогічних примітивним версіям Unix, — так, кожна завантажена програма в MS DOS забезпечується додатковим сегментом пам'яті, так званим PSP (Program Segment Prefix — заголовок програмного сегменту), який аналогічний User area (призначеній для користувача області, сегменту даних ядра ОС, що відносяться до конкретного процесу) в Unix. У деяких документах сегментну адресу PSP навіть називають pid (Process Identifier, по аналогії з ідентифікатором процесу в Unix). Як і в Unix, виконання системного виклику супроводилося переустановленням стека. До складу системи були включені:

  • файловий API, дуже схожий на інтерфейс файлових системних викликів в Unix;
  • змінна середа;
  • перепризначення введення-виводу;
  • і навіть конвеєри (послідовності завдань, в яких потік стандартного виведення попереднього завдання є потоком стандартного введення наступної), що реалізовуються через проміжний файл.

По одній з легенд, небажання Microsoft реалізувати в DOS витісняючу багатозадачність обумовлене не стільки технічною некомпетентністю, скільки угодою з фірмою SCO — відповідно до нього, передаючи права на торгівельну марку Xenix, Microsoft зобов'язалася не розробляти і не продавати функціональних еквівалентів UNIX. Така угода існувала насправді: через багато років, в 1997 р., SCO відсудила в Microsoft долю своїх акцій, що належала останньою, і ряд інших зобов'язань (згадка Microsoft в списку тримачів авторських прав, підтримку бінарної сумісності з Xenix/286) на тій підставі, що Microsoft рекламувала Windows NT як заміну і навіть "вбивцю" UNIX і, таким чином, порушувала угоду.
З часів DOS 3.30 архітектура системи не піддалася скільки-небудь помітним змінам [Панкратов 2001]. Так, DOS 7, що входить до складу Windows 98/me як вторинний завантажувач, відрізняється від 3.30 лише підтримкою файлової системи Fat32.
Digital Research не дивилася на цей розвиток байдуже. До кінця 80-х система DR DOS, заснована на вихідних текстах оригінальної Ср/м, забезпечувала повну програмну сумісність з MS DOS і включала всі новини не лише версії 3.30, але і пізніших версій.
Ряд корисних ідей, вперше реалізованих в DR DOS, такі, як завантаження у верхню пам'ять, умовних операторів в CONFIG.SYS і упакована файлова система, з'явилися в MS DOS лише на одну або дві версії пізніше, а деякі ідеї — наприклад, екранний редактор командного рядка (можливість, знайома користувачам командних процесорів DCL, bash і 4dos/4os2/4nt) і завантаження з розширеного розділу — не були реалізовані в MS DOS і Windows 95/98/me ніколи.
Ближче до середини 90-х стало очевидне, що дні DOS як платформи визнані (втім, мало хто чекав у той час, що в тій або іншій формі ця платформа зможе прожити до самого кінця століття). У 1993 р. Digital Research разом з авторськими правами на DR DOS була придбана фірмою Novell. У 1995 р., незабаром після того, як збори акціонерів вигнали Р. Нурду з поста СЕО, авторські права на цей продукт були передані створеній ним компанії Caldera. Декілька пізніше Caldera опублікувала вихідні тексти системи на умовах GPL під назвою Caldera OPENDOS [www.caldera.com]. З тих пір ця система широко використовується у складі DOS-эмуляторов різних дистрибутивів Linux.

 

:: Реклама ::

носки оптом в украине от интернет магазина Voyage

 

:: Посилання ::


 

 

 


Copyright © Kivik, 2017