Резюме: Класификация на операционните системи. Класификация на операционните системи по семейства

Операционните системи се класифицират по:

Брой едновременни потребители: един потребител, много потребители;

Броят на процесите, изпълнявани едновременно под контрола на системата: еднозадачен, многозадачен;

Брой поддържани процесори: еднопроцесорни, многопроцесорни;

Кодови битове на ОС: 8-битов, 16-битов, 32-битов, 64-битов;

Тип интерфейс: команден (текстов) и обектно-ориентиран (графичен);

Вид достъп на потребителя до компютъра: групова обработка, споделяне на времето, реално време;

Тип използване на ресурса: мрежов, локален.

В съответствие с първия знак за класификация, многопотребителските операционни системи, за разлика от еднопотребителските операционни системи, поддържат едновременна работана компютъра на няколко потребители на различни терминали.

Вторият знак включва разделянето на операционната система на многозадачна и еднозадачна. Концепцията за многозадачност означава поддържане на паралелното изпълнение на няколко програми, съществуващи в една и съща компютърна система в един момент. Еднозадачните операционни системи поддържат режим на изпълнение само на една програма в даден момент.

В съответствие с третата характеристика многопроцесорните операционни системи, за разлика от еднопроцесорните операционни системи, поддържат режима на разпределяне на ресурсите на няколко процесора за решаване на определена задача.

Четвъртият знак разделя операционните системи на 8-, 16-, 32- и 64-битови. Това означава, че битовият капацитет на операционната система не може да надвишава битовия капацитет на процесора.

В съответствие с петия знак на OS по тип потребителски интерфейссе делят на обектно-ориентирани (обикновено с графичен интерфейс) и командни (с текстово базиран интерфейс). Според шестата характеристика операционните системи се разделят на системи:

Пакетна обработка, при която се формира пакет (набор) от задачи от програми за изпълнение, въведени в компютъра и изпълнени по приоритет, с възможно отчитане на приоритета;

Споделяне на времето (TSR), осигуряващо едновременен диалогов (интерактивен) режим на достъп до компютъра на няколко потребители на различни терминали, на които последователно се разпределят машинни ресурси, което се координира от операционната система в съответствие с дадена дисциплина на обслужване;

Реално време, осигуряващо определено гарантирано време за реакция на машината на потребителска заявка с нейното управление от всякакви събития, процеси или обекти, външни за компютъра.

В съответствие със седмия критерий за класификация операционните системи се разделят на мрежови и локални. Мрежовите операционни системи са предназначени да управляват ресурсите на компютри, свързани към мрежа с цел споделянеданни и предоставя мощни средства за ограничаване на достъпа до данни, за да се гарантира тяхната цялост и безопасност, както и много възможности за услуги за използване мрежови ресурси.

В повечето случаи мрежовите операционни системи са инсталирани на един или повече сравнително мощни сървърни компютри, посветени единствено на поддържането на мрежата и споделените ресурси. Всички други операционни системи ще се считат за локални и могат да се използват на всеки персонален компютър, както и на отделен компютър, свързан към мрежата като работна станция или клиент.

Софтуерни компонентиОС осигурява изчислително управление и изпълнява функции като планиране и разпределение на ресурси, управление на вход/изход на информация и управление на данни. Обемът на операционната система и броят на съставните й програми до голяма степен се определят от вида на използвания компютър, сложността на режимите на работа на компютъра и компютъра, състава на техническите средства и др. Използването на ОС ви позволява да:

Увеличаване на компютърния капацитет, т.е. увеличаване на общия обем работа, извършена от компютър за единица време;

Намаляване на времето за реакция на системата, т.е. намаляване на интервала от време между моментите на получаване на задачи в компютъра и времето на получаване на резултатите;

Мониторинг на работата на хардуера и софтуера;

Подпомагане на потребители и оператори при използването на хардуер и софтуер, осигуряване на тяхната работа;

Управление на програми и данни по време на изчисления;

Осигуряване на адаптация на компютъра, неговата структурна гъвкавост, която се състои в способността да се променя и допълва с нов хардуер и софтуер.

Операционната система е комплекс от системен и помощен софтуер. От една страна, той разчита на основния компютърен софтуер, включен в него BIOS система (основна системавход изход); от друга страна, самата тя е поддръжката на софтуер на по-високи нива - приложни и повечето сервизни приложения. Приложенията на операционната система обикновено се наричат ​​програми, предназначени да работят под контрола на тази система.

Основната функция на всички операционна система - посредничество. Състои се от предоставяне на няколко типа интерфейс:

Интерфейс между потребителя и компютърния хардуер (потребителски интерфейс);

Интерфейс между софтуер и хардуер (хардуерно-софтуерен интерфейс);

Интерфейс между различни видове софтуер (софтуерен интерфейс).

Дори за една хардуерна платформа, като например IBM PC, има няколко операционни системи. Разликите между тях се разглеждат в две категории: вътрешни и външни. Вътрешните различия се характеризират с методи за изпълнение на основните функции. Външните различия се определят от наличието и достъпността на приложенията на дадена система, необходими за изпълнение на техническите изисквания за конкретно работно място.

Основните критерии за подхода при избора на операционна система:

В момента има голям брой операционни системи и потребителят е изправен пред задачата да определи коя операционна система е по-добра от другите (според определени критерии). Очевидно няма идеални системи, всяка от тях има своите предимства и недостатъци. Когато избира операционна система, потребителят трябва да си представи как тази или онази операционна система ще му предостави решение на проблемите му.

За да изберете една или друга ОС, трябва да знаете:

На какви хардуерни платформи и с каква скорост работи ОС;

Каква периферия Хардуерподдържа OS;

Колко напълно ОС задоволява нуждите на потребителя, т.е. какви са функциите на системата;

Какъв е начинът, по който операционната система взаимодейства с потребителя, тоест колко визуален, удобен, разбираем и познат е интерфейсът за потребителя;

Има ли информативни съвети, вградени справочници и др.;

Каква е надеждността на системата, тоест нейната устойчивост на потребителски грешки, повреди на оборудването и др.;

Какви възможности предоставя ОС за организиране на мрежи?

Осигурява ли ОС съвместимост с други операционни системи;

Какви инструменти има операционната система за разработване на приложни програми?

OS поддържа ли различни национални езици;

Кои известни приложни софтуерни пакети могат да се използват при работа с тази система;

Как ОС защитава информацията и самата система.

Методи за декомпозиция на операционни системи (монолитни, модулни, микроядрени).

В момента се използват много видове различни компютърни операционни системи. различни видове, но в тяхната структура има основни принципи. Като част от много операционни системи има определена част, която е в основата на цялата система и се нарича ядро. Ядрото включва най-често използваните модули, като модула за управление на системата за прекъсване и средства за разпределяне на такива основни ресурси като RAM и процесор. Когато ОС се зарежда, програмите, които са част от ядрото, се поставят в RAM, където се намират постоянно и се използват по време на работата на компютъра.

Ядро - централна частОперационна система (ОС), която предоставя на приложения координиран достъп до компютърни ресурси като процесорно време, памет и външен хардуер. Ядрото също така обикновено предоставя файлова система и мрежови протоколни услуги.

Типове архитектури на ядрото на операционната система:

Монолитно ядро

Монолитното ядро ​​предоставя богат набор от хардуерни абстракции. Всички части на едно монолитно ядро ​​работят в едно и също адресно пространство.

Някои по-стари монолитни ядра, особено Unix-клас системи, изискваха повторно компилиране при всяка промяна на хардуерния състав. Повечето съвременни ядра позволяват зареждане на модули по време на работа, които изпълняват части от функциите на ядрото.

Предимства:скорост на работа, опростена разработка на модули, богатство на предоставените възможности и функции, поддръжка голямо количестворазлично оборудване.

недостатъци:Тъй като цялото ядро ​​работи в едно и също адресно пространство, повреда в един компонент може да наруши цялата система.

Примери:традиционни UNIX ядра (като BSD), Linux; MS-DOS ядро.

Модулно ядро

Модулното ядро ​​е модерна, подобрена модификация на архитектурата на монолитни ядра на компютърни операционни системи.

За разлика от „класическите“ монолитни ядра, които сега се считат за остарели, модулните ядра, като правило, не изискват пълно прекомпилиране на ядрото, когато съставът на компютърния хардуер се промени. Вместо това, модулните ядра осигуряват някакъв механизъм за зареждане на модули на ядрото, които поддържат определен хардуер (например драйвери). В този случай зареждането на модули може да бъде динамично (извършва се „в движение“, без рестартиране на операционната система, в работеща система) или статично (извършва се при рестартиране на операционната система след преконфигуриране на системата за зареждане на определени модули).

Предимства:модулните ядра са по-удобни за разработка от традиционните монолитни ядра, които не поддържат динамично натоварванемодули, тъй като от разработчика не се изисква многократно да прекомпилира напълно ядрото, когато работи върху някоя от неговите подсистеми или драйвери. Идентифицирането, локализирането, отстраняването на грешки и елиминирането на грешки при тестване също е по-лесно.

недостатъци:от своя страна не всяка програма може да бъде направена модул на ядрото: модулите на ядрото са обект на определени ограничения по отношение на функциите, които използват (например, те не могат да използват функции стандартна библиотека C/C++ и трябва да използва специални аналози, които са функции на API на ядрото).

Примери:Семейство GNU/Linux OS.

Микроядро

Микроядрото предоставя само основни функции за контрол на процеса и минимален набор от абстракции за работа с хардуер. Повечето от работата се извършва чрез специални потребителски процеси, наречени услуги.

Предимства:устойчивост на повреди на оборудването и грешки в компонентите на системата.

недостатъци:прехвърлянето на данни между процеси изисква допълнителни разходи.

Примери: Symbian OS; Mach, използван в GNU/Hurd и Mac OS X; Windows CE; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.

Интерфейс за програмиране на приложения(Английски: Application Programming Interface, API [хей-пи-ай]; на руски се произнасят по-често [apí]) - набор от готови константи, структури и функции, използвани при програмирането на потребителски приложения и осигуряване на правилно взаимодействие между потребителско приложениеи операционна система.

API дефинира функционалността, която дадена програма (модул, библиотека) предоставя, докато API ви позволява да се абстрахирате от това как точно се изпълнява тази функционалност. Ако програма (модул, библиотека) се разглежда като черна кутия, тогава API е набор от „ръкохватки“, които са достъпни за потребителя на тази кутия, които той може да върти и дърпа.

Софтуерните компоненти взаимодействат помежду си чрез API. В този случай компонентите обикновено образуват йерархия - компонентите от високо ниво използват API на компоненти от ниско ниво, а те от своя страна използват API на компоненти от още по-ниско ниво. Интернет протоколите за пренос на данни се основават на този принцип. Стандартен Интернет протокол (мрежов модел OSI) съдържа 7 слоя (от физическия слой на предаване на битови пакети до слоя на приложни протоколи като HTTP протоколии IMAP). Всеки слой използва функционалността на предишния слой за пренос на данни и от своя страна предоставя необходимата функционалност на следващия слой.

Управление на процеси

Концепция процесиграе ключова роляи се въвежда във връзка с всяка отделна потребителска програма. Управление на процесите (както цяло, така и поотделно) - най-важната функцияОПЕРАЦИОННА СИСТЕМА.

Процесименувайте програмата в момента на нейното изпълнение. Всеки процес е свързан със своя адресно пространство -списък с адреси в паметта от някакъв минимум до някакъв максимум. На тези адреси процесът може да въвежда информация и да я чете. Адресното пространство съдържа самата програма, нейните данни и нейния стек. Всеки процес е свързан с набор от регистри, включително програмен брояч, указател на стека и други хардуерни ресурси, както и цялата информация, необходима за изпълнение на програмата.

За да разберем по-добре концепцията за процес, нека направим аналогия със система, работеща в режим на споделяне на времето. Да приемем, че операционната система реши да спре един процес и да стартира друг, защото първият е изразходвал определеното си процесорно време. По-късно спреният процес трябва да се стартира отново от същото състояние, в което е бил спрян. Следователно цялата информация за процеса трябва да се съхранява някъде. По този начин един процес може да има няколко файла, отворени за четене едновременно. Указателят, свързан с всеки файл, дава текущата позиция, т.е. номера на байта или записа, който ще бъде прочетен след рестартиране на процеса. Когато даден процес е временно прекратен, всички указатели трябва да бъдат запазени, така че команда за четене, издадена след възобновяване на процеса, да прочете правилните данни. В много операционни системи цялата информация за всеки процес се съхранява в таблица на операционната система. Тази таблица се нарича маса за процесии представлява свързан списъкструктури, по една за всяка съществуваща в този моментпроцес.

Всички съвременни компютри могат да извършват множество операции едновременно. Така едновременно със стартираната от потребителя програма може да се извършва четене от диска и извеждане на текст на екрана на монитора или принтера. В многозадачна система процесорът превключва между програмите, давайки на всяка една от десетки до стотици милисекунди. В същото време във всеки един момент процесорът е зает само с една програма, но за секунда успява да работи с няколко програми, създавайки у потребителите илюзията за паралелна работа с всички програми. Понякога в този случай те говорят за псевдопаралелизъм,за разлика от истинския паралелизъм в мултипроцесорсистеми, съдържащи споделяне на множество процесори споделена паметсред тях. Производителите на операционни системи са разработили концептуален модел на последователни процеси, което опростява наблюдението на работата на паралелни процеси.

Нека разгледаме съдържанието и приложението на този модел.

В модела на процеса целият софтуер, работещ на компютър, е организиран като комплект последователни процеси,или просто процеси.Процесът е програмата, която се изпълнява заедно с текущите стойности на програмния брояч, регистрите и променливите. В този абстрактен модел всеки процес има свой централен виртуален процесор. В действителност процесорът превключва от процес на процес, но за да разберем по-добре системата, е по-лесно да си представим набор от процеси, работещи паралелно, отколкото да си представим процесора, който превключва от програма на програма. Това превключване се нарича многозадачностили мултипрограмиране.

Операционната система се нуждае от начин за създаване и прекратяване на процеси, ако е необходимо. Обикновено, когато операционната система се зарежда, се създават няколко процеса. Някои от тях осигуряват взаимодействие с потребителя и изпълняват дадена работа. Останалите процеси са фонови. Те не са свързани с конкретни потребители, но изпълняват специални функции. Например един фонов процесможе да осигури печат, друг може да обработва заявки към уеб страници.

Процесите могат да се създават не само при зареждане на системата. Така че текущият процес може да създаде един или повече нови процеси, докато текущият процес изпълнява системна заявказа създаване на нов процес. Създаването на нови процеси е особено полезно в случаите, когато поставената задача може най-лесно да се формира като набор от свързани, но независимо взаимодействащи си процеси. Ако трябва да организирате извличането на голямо количество данни от мрежата за по-нататъшна обработка, е удобно да създадете един процес за извличане на данни и поставянето им в буфер и друг за четене и обработка на данни от буфера. Тази схема дори ще ускори обработката на данни, ако всеки процес се изпълнява на отделен процесор в случай на многопроцесорна система.

Обикновено процесите се прекратяват, когато завършат работата си. Така че, след като завърши компилирането на програмата, компилаторът изпълнява системна заявка, за да информира ОС, че работата е приключила. IN текстови редактори, браузърите и други програми от този тип имат бутон или елемент от менюто, с който можете да завършите процеса.

Процесе самостоятелен обект със собствен програмен брояч и вътрешно състояние, обаче, има нужда от взаимодействие с други процеси. Например изходът на един процес може да служи като вход за друг процес.

Модел на процесаопростява разбирането на вътрешното поведение на системата. Някои процеси изпълняват програми, които изпълняват команди, въведени от клавиатурата от потребителя. Други процеси са част от системата и обработват задачи като изпълнение на заявки файлова услуга, управлявайте стартирането на диск или магнитно устройство за съхранение.

Разглежданият подход е описан от модела, представен на фиг. 7.2. Най-ниското ниво на ОС е планировчик- малка програма. Процесите са разположени на горните нива. Обработката на прекъсвания и процедурите, свързани със спиране и стартиране на процеси, се извършват от планировчика. Останалата част от ОС е структурирана като набор от процеси.

процеси

Ориз. 7.2. Най-ниското ниво на ОС, отговорно за прекъсване и планиране

Процес- изпълнение на пасивни инструкции на компютърна програма на компютърен процесор. Стандартът за дефиниции ISO 9000:2000 определя процескато набор от взаимосвързани и взаимодействащи действия, които трансформират входящите данни в изходящи данни. Самата компютърна програма е само пасивен набор от инструкции, докато процесът е директното изпълнение на тези инструкции.

Често процесът е работеща програма и всички нейни елементи: адресно пространство, глобални променливи, регистри, стек, отворени файлове и т.н.

Живот на процесаможе теоретично да се раздели на няколко състояния, които описват процеса. Пълният набор от състояния на процеса се съдържа в следния списък (фиг. 7.3.):

1) Процесът се изпълнява в режим на задача.

2) Процесът се изпълнява в режим на ядрото.

3) Процесът не се изпълнява, но е готов за изпълнение под контрол на ядрото.

4) Процесът е спрян и е в RAM.

5) Процесът е готов за изпълнение, но програмата за размяна (нулев процес) все още трябва да зареди процеса в RAM, преди да може да бъде стартиран под контрол на ядрото.

6) Процесът е спрян и програмата за пейджинг го е разтоварила във външна памет, за да освободи място в RAM за други процеси.

7) Процесът се връща от привилегирован режим (режим на ядрото) в непривилегирован режим (режим на задача), ядрото го запазва и превключва контекста към друг процес.

8) Процесът е новосъздаден и е в преходно състояние; процесът съществува, но не е готов за изпълнение, въпреки че не е спрян. Това състояние е първоначалното състояние на всички процеси, с изключение на нулевия.

9) Процесът се обажда системна функцияизлиза и престава да съществува. Той обаче остави след себе си запис, съдържащ изходния код и някои статистически данни за времето, събрани от родителския процес. Това условие е последно състояниепроцес.

Използват се няколко модела за описание на състоянията на процеса. Повечето прост модел- Това тридържавен модел. Моделът се състои от:

1. състояния на изпълнение

2. състояния на изчакване

3. готови състояния

Фигура 7.3. Диаграма на преходите на процеса от състояние в състояние

Реализацията на модела на процеса се базира на маса за процесис по един елемент за всеки процес. Елементът на таблицата съдържа информация за състоянието на процеса, програмен брояч, разпределение на паметта, състояние на отворен файл, указател на стека, използване и разпределение на ресурси и цялата друга информация, която трябва да бъде запазена при превключване към състояние готовностили блокиранеза да започне след това процеса, сякаш не е спрял.

Файлови системи

При голям брой програми и данни е необходимо тяхното стриктно записване и систематизиране. Операционните системи трябва да работят с различни потоци от данни, различен хардуер и периферни устройства на компютъра. Организирането на правилно управление на всички тези обекти позволява файлова система.

За операционни системи персонални компютриКонцепцията за файловата система, която е в основата на операционната система UNIX, остави дълбок отпечатък. В UNIX I/O подсистемата обединява начина, по който се осъществява достъп както до файловете, така и до периферните устройства. Под файлтова означава набор от данни на диск, терминал или друго устройство. По този начин, файлова системае система за управление на данни.

Файловите системи на операционните системи създават за потребителите определено виртуално представяне на външни компютърни устройства за съхранение, което им позволява да работят с тях на ниско ниво на контролни команди физически устройства(например достъп до диск, като се вземат предвид особеностите на неговото адресиране) и нататък високо нивонабори и структури от данни.

Файловата система скрива от програмистите картината на реалното местоположение на информацията във външната памет, осигурява независимостта на програмите от характеристиките на конкретна компютърна конфигурация или, както се казва, логическото ниво на работа с файлове. Файловата система също така предоставя стандартни отговори на грешки, възникнали по време на обмен на данни.

Потребителят, работещ в контекста на определен език за програмиране, обикновено използва файлове като именувани колекции от данни, съхранявани във външна памет и имащи специфична структура. При работа с файлове на потребителя се предоставят инструменти за създаване на нови файлове, операции за четене и писане на информация и др., Които не засягат специфични проблеми на програмирането на канала за изпращане на данни или управление на външни устройства.

Файлова система- Друг основна концепция, поддържан на практика от всички операционни системи. Както беше установено, основната функция на операционната система е да маскира операционните характеристики на дискове и други устройства и да предостави на потребителя ясен и удобен абстрактен модел на независими от устройството файлове. За създаване, изтриване, четене или запис на файлове са необходими системни повиквания. Преди да прочете файл, той трябва да бъде поставен на диска и отворен, а след прочитане трябва да бъде затворен. Всички тези функции правят системни повиквания.

Когато създава пространство за съхраняване на файлове, операционната система използва концепцията каталогкато начин за групиране на файлове заедно. Например, един студент може да има един каталог за всеки курс, който посещава, каталог за електронна пощаи директория за вашата начална уеб страница. Системните повиквания също са необходими за създаване и изтриване на директория. Те също така гарантират, че съществуващ файл е преместен в директория и файлът е изтрит от директория. Съдържанието на една директория може да бъде файлове или други директории. Този модел създава структура - файлова система.

Йерархиите от процеси и файлове са организирани под формата на дървета (фиг. 7.3). Йерархията на процесите обикновено не е много дълбока, рядко повече от три нива, докато файловата структура често е четири, пет или дори повече нива.

Ориз. 7.3. Дърво на директории

Йерархията на процеси обикновено трае няколко минути; йерархията на директории може да съществува с години.

Всеки файл в йерархията на директорията може да бъде идентифициран, като го посочите име на пътя,също наричан пълно имефайл. Пътят започва в горната част на структурата на директорията, наречена главна директория.Абсолютният път се състои от списък с директории, от които трябва да се премине главна директориякъм файла, разделяйки отделните компоненти. Индивидуални компонентив OS UNIX се разделят с наклонена черта /, а в MS-DOS и Windows - с обратна наклонена черта \.

Организация на файловата система

Файловата система характеризира начина, по който информацията се съхранява и извлича външен носител- харддиск.

Данните в компютъра са разположени по йерархичен принцип: на Горно ниво- логическо устройство, на второ ниво - папки (директории), на трето - файлове/папки. Логическо устройство е логическа единица харддискНАСТОЛЕН КОМПЮТЪР. Извършва се разделяне на твърдия диск специална програма. Броят и размерът на логическите устройства се определят от потребителя на компютъра. Традиционно флопи устройствата се наричат ​​A: и B:. Имената на логическите устройства на твърдия диск започват с C:, D:, E: и т.н. На устройството C: обикновено се инсталират и съхраняват системни програми и файлове, а започвайки от устройството D:, личните данни на потребителя информация се намира.

Папки(директории, директории) - елементи от файловата структура, отговорни за систематизирането на информацията в файлова система. Съставът на папките, техните имена и наличността им се определят от потребителя и неговите методи на работа. От гледна точка на файловата система папката е малък файл, който изброява съдържанието на дадена папка.

Файле именувана област на носител за съхранение (диск), съдържаща данни. Името на файла се определя според определени закони и се състои от 2 части: действителното име и разширението (тип). Името на файла може да съдържа руски и писма, цифри и някои знаци (долна черта, интервал, тире, #, $, ...), дължина на името не повече от 255 знака. Някои символи са забранени за използване в имена -*,?,/, \ и т.н., тъй като са им присвоени в системата определени функции. Разширението (тип) на файла може да липсва, но присъствието му е много полезно, тъй като позволява на потребителя да разбере какъв тип информация има във файла (.txt - текстов файл, .doc - документ, .bmp - картина, и т.н.), а операционната система може да определи кое приложение (програма) може да се използва за четене на този файл.

Дефинират се разширения .exe, .com, .bat изпълними файлове, файлове, съдържащи информация, която е „разбираема“ от компютъра на неговия вътрешен език. Това са файлови разширения за програми (приложения).

Моделите на имена се използват за групиране на файлове в групи за целите на търсенето. Те могат да използват определени символи - заместващи символи. Те включват:

* - обозначава произволен брой произволни знаци;

Всеки един знак.

Нека да разгледаме няколко примера (шаблони):

*.txt - всички файлове с разширение txt;

A*.exe - изпълними файлове, започващи с A;

K*.doc - файлове с втората буква K в името, направени в Word.

Извиква се малък файл (до 1 KB), съдържащ адресен ред на файла етикет.

Път на файла (адрес)е местоположението му във файловата система. Например, за случая на фиг. 7.4, пътят до file.txt ще бъде така:

D:\my\tasks\file.tхt

Ориз. 7.4. Фрагмент от файловата структура

Всички съвременни дискови операционни системи осигуряват създаването на файлова система, предназначена да съхранява данни на дискове и да осигурява достъп до тях. Принципът на организиране на файловата система е табличен. Повърхността на твърдия диск се разглежда като триизмерна матрица, чиито размери са числата повърхност, цилиндърИ сектори.Под цилиндърсе разбира като набор от всички следи, принадлежащи на различни повърхности и разположени на еднакво разстояние от оста на въртене. Данните за това къде на диска е записан определен файл се съхраняват в системната област на диска. Форматът на служебните данни се определя от конкретната файлова система. Нарушаването на целостта на служебната информация води до невъзможност за използване на данните, записани на диска. Поради това към системната област се налагат специални изисквания за надеждност. Целостта, последователността и надеждността на тези данни се следят редовно от операционната система.

Най-малката физическа единица за съхранение на данни е сектор. Размерът на сектора е 512 байта. Теоретично е възможно независимо адресиране за всеки сектор. Но за големи дискове този подход е неефективен, а за някои файлови системи е просто невъзможен. В тази връзка групите от сектори се обединяват в клъстери. Клъстере най-малката адресна единица при достъп до данни. Размерът на клъстера, за разлика от размера на сектора, не е строго фиксиран. Обикновено зависи от капацитета на диска.

операционна система MS-DOS, OS/2, Windows 95и други използват файлова система, базирана на таблици за разпределение на файлове (FAT таблици), състоящи се от 16-битови полета. Тази файлова система се нарича FAT16. Позволява ви да поставите в ДЕБЕЛ- таблици с не повече от 65 536 записа (2 16) за местоположението на единиците за съхранение на данни. За дискове с капацитет от 1 до 2 GB дължината на клъстера е 32 KB (64 сектора). Това не е напълно рационално използване на работното пространство, тъй като всеки файл (дори много малък) напълно заема целия клъстер, което съответства само на един запис на адрес в таблицата за разпределение на файлове. Дори ако файлът е достатъчно голям и се намира в няколко клъстера, в края му все още се образува известен остатък, който губи целия клъстер.

За твърди дискове, които се доближават до 2 GB по размер, загубите, свързани с неефективността на тази файлова система, са доста значителни и могат да варират от 25% до 40% от общия капацитет на диска, в зависимост от средния размер на съхраняваните файлове. При дискове, по-големи от 2 GB, файловата система FAT16изобщо не може да работи.

Започвайки с Windows 98семейни операционни системи Windows (Windows 98, Windows Me, Windows2000, WindowsXP)поддържа по-усъвършенствана версия на файловата система, базирана на ДЕБЕЛ-маси - FAT32 с 32-битови полета в таблицата за разпределение на файлове. За дискове с размер до 8 GB тази система осигурява размер на клъстера от 4 KB (8 сектора).

операционна система Windows NT и Windows XPспособен да поддържа напълно различна файлова система - NTFS . Той съхранява файлове по различен начин - сервизна информациясъхранявани в основната файлова таблица (MFT).В системата NTFSразмерът на клъстера не зависи от размера на диска и потенциално за много големи дисковетази система трябва да работи по-ефективно от FAT32.Въпреки това, като се вземат предвид типичните характеристики модерни компютриможем да кажем, че в момента ефективността FAT32И NTFSприблизително същото.

Поддръжка на файлова структура

Въпреки факта, че данните за местоположението на файла се съхраняват в структура на таблица, те се представят на потребителя във формуляра йерархична структура- това е по-удобно за хората, а операционната система се грижи за всички необходими трансформации. Функциите за поддръжка на файловата структура включват следните операции, възникващи под контрола на операционната система:

Създаване на файлове и присвояване на имена към тях;

Създаване на директории (папки) и присвояване на имена към тях;

Преименуване на файлове и директории (папки);

Копиране и преместване на файлове между компютърни устройства и между директории (папки) на едно устройство;

Изтриване на файлове и директории (папки);

Навигация по файлова структурас цел достъп до даден файл, директория (папка);

Управление на файлови атрибути.

Сравнение на файла системи на Microsoft Windows.

Под MS Win2000 е възможно да се използват файлови системи FAT16, FAT32, NTFS или техни комбинации. Числата в имената на файловите системи - FAT16 и FAT32 - показват броя на битовете, необходими за съхраняване на информация за номерата на клъстерите, използвани от файла. Така FAT16 използва 16-битово адресиране и съответно е възможно да се използват до 2 16 адреса. В Windows 2000 първите четири бита от таблицата за местоположение на файла FAT32 се използват за собствени цели, така че във FAT32 броят на адресите достига 2 28 .

Между предимства на FAT16Може да се отбележи следното:

Файловата система се поддържа от MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, както и някои UNIX операционни системи;

Има голям брой програми, които ви позволяват да коригирате грешки в тази файлова система и да възстановите данни;

Ако имате проблеми с изтеглянето от HDD системаможе да се зарежда от системна дискета;

Файловата система е доста ефективна за томове, по-малки от 256 MB.

ДА СЕ недостатъците на FAT16може да се припише:

FAT 16 не поддържа вградена файлова защита или компресия.

Между предимства на FAT32Важно е да се отбележи следното:

Разпределението на дисковото пространство е по-ефективно, особено за големи дискове;

Основната директория във FAT32 е редовна верига от клъстери и може да бъде разположена навсякъде на диска, благодарение на това FAT32 не налага никакви ограничения върху броя на елементите в главната директория;

Поради използването на по-малки клъстери, заеманото дисково пространство е с 10-15% по-малко, отколкото при FAT16.

FAT32 е по-надеждна файлова система, по-специално поддържа възможността за преместване на главната директория и използване на резервно копие на FAT.

Основните недостатъци на FAT32:

Размерът на тома под Win2000 е ограничен до 32 GB;

Томове не са налични от други операционни системи - само от Win95 OSR2 и Win98;

Не се поддържа резервно копие зареждащ сектор;

Вградената файлова защита и компресия не се поддържат. Когато работите в Windows 2000, се препоръчва да форматирате всички HDD дялове за NTFS, с изключение на онези конфигурации, когато се използват няколко операционни системи (с изключение на Windows 2000 и Windows NT).

Използването на NTFS вместо FAT ви позволява да използвате функциите, налични в NTFS. Те включват по-специално:

Възможност за възстановяване. Тази функция е вградена във файловата система NTFS и гарантира безопасността на данните поради факта, че се използват протокол и някои алгоритми за възстановяване на информация;

Определение 1 :Операционна системае набор от специален софтуер, предназначен да управлява зареждането, стартирането и изпълнението на други (потребителски) програми, както и да планира и управлява изчислителните ресурси на компютъра.

Операционната система образува самостоятелна среда, която не е свързана с нито един език за програмиране. Всяка приложна програма е свързана с операционна система и може да се използва само на компютри, които имат подобна системна среда(или възможност за конвертиране - трябва да се предвиди конвертиране на програми).

Има два подхода за разглеждане на концепцията за ОС.

Операционна система като разширена машина : Използването на повечето компютри на ниво машинен език е трудно, особено когато става въпрос за вход/изход. Например, за да организира четене на блок данни от флопи диск, програмистът може да използва 16 различни отбори, всеки от коитоизисква13 параметъра, като номера на блока на диска, номера на сектора на пистата и т.н. Когато дисковата операция приключи, контролерът връща 23 стойности, отразяващи наличието и видовете грешки, които очевидно трябва да бъдат анализирани. Дори и да не се включите реални проблемипрограмиране на вход/изход, ясно е, че сред програмистите няма да има много хора, които биха желали директно да се ангажират с програмирането на тези операции. Когато работи с диск, програмистът-потребител трябва само да го представи като определен набор от файлове, всеки от които има име.

От тази гледна точка функцията на ОС е предоставяйки на потребителя някои разширени или виртуална машина, който е по-лесен за програмиране и работа с него от действителния хардуер, който съставлява действителната машина.

Операционна система като система за управление на ресурсите: според втория подход функцията OS е разпределение на процесори, памет, устройства и данни между процеси, конкуриращи се за тези ресурси. ОС трябва да управлява всички ресурси компютъртака че да се осигури максимална ефективност на функционирането му.

Управлението на ресурсите включва решаването на две общи задачи, които не зависят от вида на ресурса:

    планиране на ресурсите - тоест определяне на кого, кога и за делими ресурси - и в какво количество е необходимо да се разпределят този ресурс;

    проследяване на състоянието на даден ресурс – тоест поддържане на оперативна информация за това дали ресурсът е зает или не, а за делимите ресурси – каква част от ресурса вече е раздадена и каква е свободна.

Класификация на операционните системи

Нека разгледаме основните функции на операционната система за управление на процесори, памет и външни устройства на самостоятелен компютър.

1. Поддържа многозадачност. Въз основа на броя на едновременно изпълняваните задачи операционните системи могат да бъдат разделени на два класа:

    еднозадачна работа (например MSDOS, MSX);

    многозадачност (EU OS, OS/2, UNIX, Windows 95).

ЕднозадаченОперационните системи изпълняват главно функцията да предоставят на потребителя виртуална машина, което прави процеса на взаимодействие между потребителя и компютъра по-прост и удобен. Еднозадачните операционни системи включват инструменти за управление на периферни устройства, инструменти за управление на файлове и инструменти за комуникация с потребителите.

МногозадачностОС, в допълнение към изпълнението на горните функции, управлява разделянето на споделени ресурси като процесор, RAM, файлове и външни устройства.

2. Поддържа многопотребителски режим.Въз основа на броя на едновременно работещите потребители на ОС те се разделят на:

    за един потребител (MSDOS, Windows 3.x,);

    многопотребителски (UNIX, WindowsNT).

    Превантивна и непредварителна многозадачност.Най-важният споделен ресурс е процесорното време. Методът за разпределение на процесорното време между няколко едновременно съществуващи процеса (или нишки) в системата до голяма степен определя спецификата на ОС. Сред многото съществуващи опции за реализиране на многозадачност могат да се разграничат две групи алгоритми:

    многозадачност без изпреварване;

    превантивна многозадачност

    Многонишкова поддръжка.Важно свойство на ОС е способността за паралелизиране на изчисленията в рамките на една задача. Многонишковата ОС разделя процесорното време не между задачите, а между отделните им клонове (нишки).

    Мултипроцесорност.Друго важно свойство на ОС е липсата или наличието на многопроцесорна поддръжка в нея - многопроцесорност.Многопроцесорността води до усложняване на всички алгоритми за управление на ресурсите.

Предназначение на операционната система:

Операционната система (ОС) е набор от системни и управляващи програми, предназначени за най-ефективно използване на всички ресурси на компютърна система (КС) (Компютърната система е взаимосвързан набор от компютърен хардуер и софтуер, предназначен за обработка на информация) и удобството на работа с него.

Предназначение на ОС - организация изчислителен процесв изчислителна система, рационално разпределение на изчислителните ресурси между отделните задачи, които трябва да бъдат решени; предоставяйки на потребителите множество сервизни инструменти, които улесняват процеса на програмиране и задачи за отстраняване на грешки. Операционната система играе ролята на вид интерфейс (Интерфейсът е набор от средства за сдвояване и комуникация на компютърни устройства, които осигуряват тяхното ефективно взаимодействие) между потребителя и компютъра, т.е. ОС предоставя на потребителя виртуален самолет. Това означава, че операционната система до голяма степен формира представата на потребителя за възможностите на самолета, лекотата на работа с него и неговата пропускателна способност. Различни ОС на една и съща технически средстваможе да предостави на потребителя различни опции за организиране на изчислителния процес или автоматизирана обработкаданни.

В компютърния софтуер операционната система заема централна позиция, защото планира и контролира целия изчислителен процес. Всеки от софтуерните компоненти трябва да работи под операционната система.

Класификация на операционните системи:

Операционните системи може да се различават по характеристиките на изпълнение вътрешни алгоритмиуправление на основните компютърни ресурси (процесори, памет, устройства), характеристики на използваните методи за проектиране, видове хардуерни платформи, области на използване и много други свойства.

В зависимост от характеристиките на използвания алгоритъм за управление на процесора, операционните системи се разделят на многозадачни и еднозадачни, многопотребителски и еднопотребителски, системи, които поддържат многонишкова обработка и такива, които не поддържат, многопроцесорни и еднопотребителски -процесорни системи.

Въз основа на броя на едновременно изпълняваните задачи операционните системи могат да бъдат разделени на два класа:

1. еднозадачен;

2. многозадачност.

Еднозадачните операционни системи изпълняват главно функцията да предоставят на потребителя виртуална машина, което прави процеса на взаимодействие между потребителя и компютъра по-прост и удобен. Еднозадачните операционни системи включват инструменти за управление на периферни устройства, инструменти за управление на файлове и инструменти за комуникация с потребителите.

Многозадачната ОС, в допълнение към горните функции, управлява разделянето на споделени ресурси като процесор, RAM, файлове и външни устройства.

Многозадачните операционни системи са разделени на три типа в съответствие с критериите за ефективност, използвани при тяхното разработване:

1. системи за партидна обработка;

2. системи за споделяне на времето;

3. системи в реално време.

Системите за пакетна обработка бяха предназначени да решават проблеми предимно от изчислителен характер, които не изискваха бързи резултати. Основната цела критерият за ефективност на системите за пакетна обработка е максимален пропускателна способност.

Системите за споделяне на време са предназначени да коригират основния недостатък на системите за пакетна обработка - изолацията на потребителя-програмист от процеса на изпълнение на неговите задачи. Всеки потребител на системата за споделяне на време разполага с терминал, от който може да води диалог със своята програма.

Системите в реално време се използват за управление на различни технически обекти. Критерият за ефективност на системите в реално време е способността им да издържат на предварително определени интервали от време между стартирането на програма и получаването на резултат (управляващо действие). Това време се нарича време за реакция на системата, а съответното свойство на системата се нарича реактивност.

Някои операционни системи могат да комбинират свойствата на системите различни видове, например, някои задачи могат да се изпълняват в режим на пакетна обработка, а някои в режим на реално време или в режим на споделяне на време. В такива случаи режимът на пакетна обработка често се нарича фонов режим.

Въз основа на броя на едновременните потребители операционните системи се разделят на:

1. еднопотребителски;

2. многопотребителски.

Основната разлика между системите за много потребители и системите за един потребител е наличието на средства за защита на информацията на всеки потребител от неоторизиран достъп от други потребители. Трябва да се отбележи, че не всяка многозадачна система е многопотребителска и не всяка еднопотребителска ОС е еднозадачна.

Сред многото съществуващи опцииЗа реализирането на многозадачност могат да се разграничат две групи алгоритми:

1. непревантивна многозадачност;

2. превантивна многозадачност.

Основната разлика между превантивната и непреференциалната многозадачност е степента на централизация на механизма за планиране на процеса. В първия случай механизмът за планиране на процесите е изцяло концентриран в операционната система, а във втория е разпределен между системата и приложните програми. При многозадачност без изпреварване активният процес се изпълнява, докато по собствена инициатива не даде контрол на операционната система, така че тя да избере друг процес, готов за изпълнение от опашката. При превантивната многозадачност решението за превключване на процесора от един процес към друг се взема от операционната система, а не от самия активен процес.

Свойствата на операционната система са пряко повлияни от хардуера, върху който е проектирана. Въз основа на вида на хардуера се разграничават операционни системи на персонални компютри, миникомпютри, мейнфрейми, клъстери и компютърни мрежи. Сред изброените видове компютри може да има както еднопроцесорни, така и многопроцесорни опции. Във всеки случай спецификата на хардуера обикновено се отразява в спецификата на операционните системи.

1. Характеристики на алгоритмите за управление на ресурсите

а. Многозадачност и еднозадачност. Многозадачността се разделя на превантивна (процесът може да бъде принудително премахнат от обслужване) многозадачност и непредварителна многозадачност

b. Единичен и много потребителски

° С. Системи, които поддържат многопоточна обработка и такива, които не го правят

д. Многопроцесорни и еднопроцесорни. Многопроцесорните операционни системи могат да бъдат класифицирани според начина, по който е организиран изчислителният процес на симетрични и асиметрични (Асиметрични - всички основни неща са на един процесор, останалите - на друг; симетрични - всичко е на 1 процесор)

2. Характеристики на хардуерната платформа

а. Персонални компютри b. Мини компютри

° С. Мейнфрейми d. Клъстери e. Компютърни мрежи

3. Характеристики на областите на използване

а. Система за пакетна обработка - за задачи ще изчисли природата, основният критерий за ефективност е максималната производителност

b. Система за споделяне на време – на всяка задача се разпределя определен отрязък от време – Удобство за потребителя

° С. Система в реално време - способна да поддържа предварително определени интервали от време между стартирането на програма и получаването на резултат, това време е времето за реакция на системата, съответното свойство на системата е реактивност (основният критерий за ефективност)

4. Характеристики на строителните методи

а. Въз основа на начина, по който е организирано системното ядро, се разграничава монолитно ядро ​​или микроядро (в почти всички операционни системи, но не и в чист вид).

b. Функционална и обектно-ориентирана ОС - какви концепции са използвани при писането на ОС

° С. Наличието на няколко среди на приложения (например под Windows всичко работи от DOS)

д. ОС с разпределена организация

РАЗНООБРАЗИЕ НА СЪВРЕМЕННИ ОС

1. MS-DOS е най-широко използваната операционна система за персонални компютри. Има графичен интерфейс, но ограничението на паметта, достъпно за програмите на DOS, е 640 K. Друга „черна топка“ срещу DOS е пълната липса на многозадачност. DOS е проектиран да изпълнява само една програма в даден момент

2. Windows 3.1x - Осигурява възможност за работа с всички MS-DOS приложни програми ( текстови процесори,СУБД, електронни таблиции т.н.). Windows 3.1 може да работи в един от трите режима: Real (реален), Standart (стандартен), 386 Enhanced (разширен)

3. Windows 95 - Възможност за стартиране на 16-битови приложения на Windows, наследени програми на DOS и по-стари драйвери на устройства реален режимкато същевременно е съвместим с истински 32-битови приложения и 32-битови драйвери за виртуални устройства.



4. Windows NT е сървърна операционна система, предназначена за използване на работна станция (необходими са бърз процесор и поне 16 Mb RAM за постигане на приемлива производителност). На собствените приложни програми се разпределят 2 Gb специално адресно пространство, от границата на 64 K до 2 Gb (първите 64 K са напълно недостъпни)

5. OS/2 Warp е нова операционна система с графични интерфейсипотребителски интерфейс (GUI), докато Windows е GUI, работещ върху DOS. OS/2 е напълно защитена операционна система, което прави невъзможни конфликтите на паметта между програмите. OS/2 може да изпълнява множество приложни програми едновременно.

ОС като виртуална машина и като система за управление на ресурсите. Задачи на ОС

ОС като виртуална машина

За да разреши успешно проблемите си, днес потребителят или програмистът може да направи без задълбочени познания хардуерно устройствокомпютър и може дори да не познава командната система на процесора Софтуерът и хардуерът могат да бъдат изградени под формата на йерархия, всяко ниво на която е виртуална машина със собствен интерфейс - Хардуер - операционна система - системни библиотеки - приложен софтуер OS като интерфейс между потребителя и компютъра (виртуална машина).При разработването на ОС широко се използва абстракция, която е важен метод за опростяване и ви позволява да се концентрирате върху взаимодействието на компонентите на високо ниво на системите, като пренебрегвате детайлите на тяхното изпълнение. В този смисъл ОС е интерфейсът между потребителя и компютъра.

Архитектурата на повечето компютри на ниво машинна програма е много неудобна за писане на приложни програми. Например, работата с диск изисква познания вътрешна структуранеговият електронни компоненти– контролер, за въвеждане на команди за завъртане на диска, търсене и форматиране на песни, сектори за четене и запис. Средностатистическият програмист не е в състояние да вземе предвид всички характеристики на хардуера (разработване на драйвери на устройства), но трябва да има просто абстрактно представяне на дисковото пространство на високо ниво като набор от файлове.



ФАЙЛЪТ може да бъде отворен за четене или запис и използван за получаване или нулиране на информация, след което затворен. Това е по-лесно, отколкото да мислите за детайлите на преместването на дисковите глави или организирането на работата на двигателя. По същия начин, с помощта на прости абстракции, всички подробности за организирането на прекъсванията на таймера, управлението на паметта и т.н. са скрити от програмиста. Операционната система се представя на потребителя като интерфейс или виртуална машина, с която се работи по-лесно, отколкото директно с компютърния хардуер.

ОС като мениджър на ресурси.

ОС е проектирана да управлява всички части на много сложна компютърна архитектура. Например, когато няколко програми, работещи на един и същи компютър, се опитат едновременно да изведат на принтер без контрол от операционната система, ще има бъркотия от редове и страници. Операционната система предотвратява този вид хаос, като буферира информацията, предназначена за печат на диск и организира опашка за печат. За многопотребителски компютри необходимостта от управление и защита на ресурсите е още по-очевидна. ОС като мениджър на ресурсите организира и контролира разпределението на процесора, паметта и други ресурси между различните програми.ОС е защитник на потребителите и техните програми. работим заедноНяколко потребители на един самолет възниква проблемът с организирането на техните безопасни дейности. Необходимо е да се гарантира, че информацията се съхранява на диска, така че никой да не може да изтрие или повреди файлове на други хора. Приложенията на някои потребители не трябва да пречат на приложенията на други потребители и също така е необходимо да се потискат опитите за неразрешено използване на самолети. Тази дейност се извършва от ОС като организатор на безопасната работа на потребителите и техните програми. ОС е постоянно функциониращо ядро. ОС е програма, която постоянно работи на компютъра и взаимодейства с всички приложни програми. Въпреки това, в много съвременни операционни системи, само част от операционната система постоянно работи на компютъра, което обикновено се нарича OS ядро.

Че. Има много гледни точки за това какво е ОС. Невъзможно е да му се даде адекватно строго определение. По-лесно е да се каже не каква е операционната система, а за какво е необходима и какво прави. За да се изясни този въпрос, е полезно да се разгледа историята на развитието на изчислителните системи.

ОС изпълнява много функции, които обикновено се групират според типа ресурс, който управлява операционната система, или според конкретна задача, която се отнася за всички видове ресурси. Могат да се разграничат следните функции на съвременната многозадачна многопотребителска операционна система: управление на процесите, управление на паметта, управление на файлове и външни устройства, защита и администриране на данни, интерфейс за програмиране на приложения, потребителски интерфейс.Най-общият подход за структуриране на ОС е разделя всички негови модули на две групи:

ядрото - модули, които изпълняват основните функции на ОС, решаващи вътрешносистемни проблеми на организиране на изчислителния процес, като превключване на контекста, управление на паметта, обработка на прекъсвания, работа с външни устройства и др. компоненти, които изпълняват допълнителни функции на ОС - всички видове помощни приложения или помощни програми

Операционната система до голяма степен определя облика на една изчислителна система. Съвременните изчислителни системи се състоят от процесори, памет, таймери, различни видоведискове, лентови устройства, принтери, мрежово комуникационно оборудване и други устройства, които изискват сложни механизми за управление. ОС трябва да управлява всички компютърни ресурси по такъв начин, че да гарантира максимална ефективностнеговото функциониране. Според това Главна функцияОС е разпределението на процесори, памет, други устройства и данни между изчислителни процеси, конкуриращи се за тези ресурси. Управлението на ресурсите включва решаване на следните задачи, независимо от вида на ресурса:

планиране на ресурсите, т.е. определяне на кого, кога и в какво количество трябва да бъде разпределен даден ресурс;

контрол върху състоянието на ресурса, т.е. поддържане на оперативна информация за това дали даден ресурс е зает или не, каква част от ресурса вече е разпределена и колко е свободна.

Ефективността на цялата мрежова ОС като цяло до голяма степен зависи от ефективността на алгоритмите за управление на локалните компютърни ресурси.

Операционните системи се различават по характеристиките на изпълнение на алгоритмите за управление на компютърните ресурси, областите на използване и много други характеристики. По този начин, в зависимост от характеристиките на алгоритъма за управление на процесора, операционните системи се разделят на еднозадачни и многозадачни, еднопотребителски и многопотребителски, еднопроцесорни и многопроцесорни системи, както и локални и мрежови.

Еднозадачни и многозадачни операционни системи. Въз основа на броя на едновременно изпълняваните задачи операционните системи се разделят на два класа:

еднозадачен(например MS DOS, MSX);

многозадачност(EU OS, OS/2, Unix, Windows семейство OS) и др.

Еднозадачна ОСизпълняват главно функцията да предоставят на потребителя виртуална машина, което я прави по-проста и удобен за потребителя интерфейспотребител с компютър. Еднозадачните операционни системи включват инструменти за управление на периферни устройства, инструменти за управление на файлове и инструменти за комуникация с потребителите.



Многозадачна ОС, в допълнение към горните функции, контролира разделянето на споделени ресурси, като процесор, RAM, файлове и външни устройства.

Превантивна и непредварителна многозадачност.Най-важният споделен ресурс е процесорното време. Методът за разпределение на процесорното време между няколко едновременно съществуващи изчислителни процеси в системата до голяма степен определя характеристиките на ОС. Сред многото съществуващи методиЗа реализирането на многозадачност могат да се разграничат две групи алгоритми:

Многозадачност без изпреварване (NetWare, Windows 3.x);

Превантивна многозадачност (Windows NT, OS/2, Unix).

Основната разлика между алгоритъма за многозадачност с изпреварване и без изпреварванее степента на централизация на планирането на изчислителните процеси. В първия случай планирането на изчислителните процеси е изцяло възложено на операционната система, а във втория се разпределя между операционната система и приложните програми. При многозадачност без изпреварване, активният изчислителен процес се изпълнява, докато самата приложна програма, по собствена инициатива, инструктира операционната система да избере друг процес, готов за изпълнение от опашката. При превантивната многозадачност решението за превключване на процесора от един активен изчислителен процес към друг се взема от самата ОС, а не от приложната програма.

В зависимост от областите на използване многозадачните операционни системи се разделят на три типа:

системи за пакетна обработка(например EU OS);

системи за споделяне на времето(Unix, VMS, Windows, Linux);

системи в реално време(QNX, RT/11).

Системи за пакетна обработкаса предназначени за решаване на проблеми от естество, които не изискват бързи резултати. Основната цел и критерий за ефективността на системите за пакетна обработка е максималната производителност, т.е. решаване на максимален брой задачи за единица време. За да постигнат тази цел, системите за пакетна обработка използват следния ред на обработка на данни: в началото на работата се формира пакет от задачи, всяка задача съдържа изискване за системни ресурси; от този пакет от задачи се формира набор от едновременно изпълнявани задачи. За едновременно изпълнение се избират задачи, които поставят различни изисквания към ресурсите. Това се прави, за да се осигури балансирано натоварване на всички устройства на компютъра. Например, желателно е едновременното присъствие на изчислителни и I/O-интензивни задачи.

По този начин изборът на нова задача от пакет от задачи зависи от вътрешната ситуация в системата, т.е. избира се най-оптималната, „печеливша“ задача. Следователно в такава ОС е невъзможно да се гарантира изпълнението на определена задача в рамките определен периодвреме. В системите за пакетна обработка превключването на процесора от изпълнение на една задача към изпълнение на друга се случва само ако самата активна задача изостави процесора, например поради необходимостта да се извърши I/O операция. Очевидно такъв алгоритъм за изчислителния процес намалява ефективността на работата на потребителя в интерактивен режим, но остава актуален за осигуряване на висока производителност при обработка на големи количества информация и до днес, особено в приложните информационни системи.

Системи за споделяне на времето.В системите за споделяне на времето на всяка задача се разпределя малък отрязък от процесорното време, никоя задача не заема процесора дълго време и времето за реакция е приемливо. Ако квантът е избран да бъде достатъчно малък, тогава това включва паралелно изпълнение на няколко програми, съществуващи в рамките на една и съща компютърна система. Ясно е, че такива системи имат по-ниска производителност от системите за пакетна обработка, тъй като всяка задача, стартирана от потребителя, се приема за изпълнение, а не тази, която е „изгодна“ за системата. Критерият за ефективността на системите за споделяне на време не е максималната производителност на процесора, а интерактивната производителност на потребителя.

Системи в реално време(RV OS) се използват за управление на различни технически обекти (като машинен инструмент, сателит, научна експериментална инсталация) или технологични процеси(галванична линия, процес на доменна пещ и др.). OS RV се използва и в банкирането. Критерият за ефективност на системите в реално време е способността им да издържат на предварително определени интервали от време между стартирането на програма и получаването на резултат (управляващо действие). Това време се нарича време за реакция на системата, а съответното свойство на системата се нарича реактивност. Сред най-известните RTOS за IBM PC са RTMX, AMX, OS-9000, FLEX OS, QNX и т.н. Сред изброените операционни системи RT OS QNX има най-пълния набор от инструменти, който работи на 32 бита приложения и може да работи заедно с операционната система Unix.

Някои операционни системи могат да комбинират свойствата на различни видове системи, например някои задачи могат да се изпълняват в режим на пакетна обработка, а някои в реално време или в режим на споделяне на времето. В такива случаи режимът на пакетна обработка често се нарича фонов режим.

Режими за мултиплейър и един играч.Въз основа на броя на едновременните потребители, операционните системи могат да бъдат разделени на за един потребител(MS DOS, Windows 3.x) и мулти-потребител(Unix, Windows NT, Windows XP, Linux).

Основната разлика между системите за много потребители и системите за един потребител ее наличието на средства за защита на информацията на всеки потребител от неоторизиран достъп от други потребители. Трябва да се отбележи, че не всяка многозадачна система е многопотребителска и не всяка еднопотребителска ОС е еднозадачна.

Многопроцесорни и еднопроцесорни системи.Друго важно свойство на ОС е липсата или наличието на многопроцесорна поддръжка в нея. В днешно време се превръща в обичайна практика да се въвеждат функции за поддръжка на многопроцесорност в операционната система. Такива функции са налични в операционните системи Solaris 2.x от Sun, Отворете сървъра 3.x от Santa Crus Operations, OS/2 от IBM, Windows NT от Microsoft и NetWare 4.1 от Novell.

В система с мултипроцесорни OS даннимогат да бъдат разделени според метода на организиране на изчислителния процес, както следва: асиметрична ОС и симетрична ОС. Асиметрична ОСсе изпълнява изцяло само на един от системните процесори, разпределяйки задачите на приложението между останалите процесори. Симетрична ОСе напълно децентрализиран и използва целия брой процесори, като ги разделя между системни и приложни задачи.

Една от важните характеристики на класификацията на ОС е тяхното разделяне към мрежа и локално.

Мрежова ОСса предназначени да управляват ресурсите на компютри, свързани към мрежа с цел споделяне на данни.

Те предоставят средства за ограничаване на достъпа до информация, нейната цялост и безопасност, както и други възможности за използване на мрежовите ресурси.

Мрежовата операционна система формира основата на всяка компютърна мрежа.

От една страна, всеки компютър в мрежата е автономен до известна степен, така че под мрежова операционна системасе отнася до целия набор от операционни системи на отделни компютри, взаимодействащи с цел обмен на съобщения и споделяне на ресурси според единни правила - протоколи.

От друга страна, мрежова ОСе операционна система отделен компютър, осигурявайки му възможност за работа в мрежата.

В повечето случаи операционните системи се инсталират на един или повече сравнително мощни сървърни компютри, предназначени единствено за обслужване на мрежата и споделените ресурси.

Всички други ОС ще се считат за локална мрежаи може да се използва на всеки компютър, свързан към мрежата като работна станция. Всяка работна станция работи със собствена операционна система за локална мрежа, която се различава от операционната система на самостоятелен компютър по наличието на допълнителни инструменти, които позволяват на компютъра да работи в мрежа.

Локална мрежова ОСтози тип няма фундаментални разлики от операционната система на самостоятелен компютър, но задължително съдържа софтуерна поддръжка за мрежови интерфейсни устройства (драйвер за мрежов адаптер), както и инструменти за отдалечено влизане в други компютри в мрежата и средства за достъп да се изтрити файлове, обаче, тези добавки не променят значително структурата на самата операционна система.

В мрежова операционна системаОтделна машина може да бъде разделена на няколко части:

инструменти за управление на локални компютърни ресурси: функции за разпределяне на RAM между процесите на планиране и диспечиране, управление на процесори в многопроцесорни машини, управление на периферни устройства и други функции за управление на локални ресурси на ОС;

средства за предоставяне на собствени ресурси и услуги за обществено ползване– сървърна част на ОС (сървър). Тези инструменти осигуряват например заключване на файлове и записи, което е необходимо за тяхното споделяне; поддържане на директории с имена на мрежови ресурси; обработка на заявки отдалечен достъпкъм собствена файлова система и база данни; управление на опашка за заявки отдалечени потребителикъм вашите периферни устройства;

средства за искане на достъп до отдалечени ресурсии услуги и тяхното използване– клиентска част на ОС. Тази част разпознава и препраща заявки към отдалечени ресурси от приложения и потребители към мрежата, където заявката идва от приложението в локална форма и се предава на мрежата в друга форма, която отговаря на изискванията на сървъра. Клиентската част също получава отговори от сървъри и ги конвертира в локален формат, така че за приложението изпълнението на локални и отдалечени заявки е неразличимо;

Инструменти за комуникация на ОС, с помощта на които се обменят съобщения в мрежата. Тази част осигурява адресиране и буфериране на съобщенията, избор на маршрут за предаване на съобщението по мрежата, надеждност на предаване и др., т.е. е средство за пренасяне на съобщения.