реклама

Начало - Кухня
Изтеглете енциклопедията всичко за операционните системи. Книги за операционни системи. Общ преглед на компютърния хардуер

1Първи стъпки с операционни системи

1.1 Предназначение и функции на операционните системи

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

Предоставя на потребителя или програмиста разширена виртуална машина вместо реален компютърен хардуер;

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

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

В същото време операционната система действа като мениджър на ресурси. Според този подход работата на операционната система е да осигури организирано и контролирано разпределение на процесори, памет и I/O устройства между различни програми. Операционната система има следните характеристики:

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

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

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

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

Задоволяване на заявки за ресурси;

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

Разрешаване на конфликти между процесите.

Управлението на ресурсите включва тяхното мултиплексиране (разпределение) по два начина: във времето и в пространството. Когато даден ресурс се разпределя с течение на времето, различни потребители и програми се редуват да го използват. Първо една от тях получава достъп за използване на ресурса, след това друга и т.н. Например, няколко програми искат достъп до централния процесор. В тази ситуация операционната система първо позволява достъп на една програма до процесора, след това, след като е работила достатъчно време, друга програма, след това следващата и накрая отново първата. Определянето колко време ще се използва даден ресурс във времето, кой ще бъде следващият и за колко време ще му бъде предоставен ресурсът е задача на операционната система. Друг вид разпределение е пространственото мултиплексиране. Вместо да работи алтернативно, всеки клиент получава част от ресурса. Обикновено RAM се споделя между няколко работещи програми, така че всички те да могат да се намират в паметта едновременно (например, като използват централния процесор на свой ред). Ако приемем, че има достатъчно памет за съхранение на множество програми, по-ефективно е да разпределите няколко програми в паметта наведнъж, отколкото да разпределите цялата памет за една програма, особено ако тя се нуждае само от малка част от наличната памет. Разбира се, това повдига въпроси за справедливо разпределение, защита на паметта и т.н., а операционната система съществува, за да разрешава такива проблеми.

1.2 История на развитието на операционните системи

Обикновено историята на развитието на операционните системи се свързва с историята на развитието на компютрите. Първата идея за компютър е предложена от английския математик Чарлз Бабидж в средата на деветнадесети век. Той разработва така наречената механична „аналитична машина“, която обаче така и не заработи правилно. Следват поколения компютри и връзката им с операционните системи.

Първо поколение 1945-1955г

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

Второ поколение 1955-1965г

Основата на компютрите са транзистори и системи за пакетна обработка. Характеризира се с тестета перфокарти и устройства за запис на магнитни ленти. Основно програмиран на Fortran и асемблерни езици за Fortran Monitor System (FMS) и операционните системи IBSYS.

Трето поколение 1965-1980г

Периодът се характеризира с появата на интегрални схеми, както и многозадачност или, както се нарича по друг начин, мултипрограмиране. IBM произвежда различни серии машини, като се започне с IBM/360. За тях е написана операционната система OS/360, която е приблизително 1000 пъти по-голяма от второто поколение FMS. На този етап се появява индустриална реализация на многозадачност - метод за организиране на изчислителен процес, при който няколко програми се съхраняват едновременно в паметта на компютъра и се изпълняват последователно на един процесор.

Други известни операционни системиот този период CTSS (Съвместима система за споделяне на време) и MULTICS (Мултиплексна информационна и компютърна услуга), която е предназначена да осигури достъп до една машина за стотици потребители наведнъж. По-нататъшното развитие на тази система прерасна в UNIX.

Четвърто поколение 1980-настояще

Този период е свързан с появата на мащабни интегрални схеми. През 1974 г. Intel пусна първия универсален 8-битов Процесор Intel 8080. В началото на 80-те IBM разработи IBM PC - персонален компютър. По същото време се появява и първата версия на MS-DOS. Всички разработени до този момент операционни системи поддържаха само текстов режим на комуникация с потребителя.

Първият опит за създаване на удобен за потребителя графичен интерфейс беше реализиран на Apple Macintosh. Повлияна от своите успехи, Microsoft Corporation пуска графична обвивка за MS-DOS - Windows. И от 1995 г. беше пуснат Windows 95, който стана автономна система. Впоследствие на базата на Windows 95 и друга система Windows NT са разработени съществуващите в момента операционни системи - Windows 2000, XP, Vista и др.

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

Има много операционни системи и не всеки ги познава. След това разглеждаме 7 вида различни операционни системи от големи до малки нива.

Мейнфрейм операционни системи

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

Мейнфрейм операционните системи са проектирани основно да обработват множество едновременни задачи, повечето от които изискват огромно количество I/O. Системата трябва да отговаря на хиляди заявки в секунда. Пример за това е OS/390, която еволюира от 3-то поколение операционна система OS/360.

Сървърни операционни системи

Тези операционни системи работят на сървъри, които са персонален компютър, работна станция или дори мейнфрейм. Сървърите предоставят възможност за работа с печатащи устройства, файлове или интернет. Такива операционни системи включват Unix, Linux, Windows 2003 Server и др.

Многопроцесорни операционни системи

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

Операционни системи за персонални компютри

Основният критерий на тези системи е удобен интерфейс за един потребител. Най-известните системи: Windows 98, 2000, XP, серия Vista; Macintosh, Linux.

Операционни системи в реално време

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

Вградени операционни системи

Те включват PDA (Personal Digital Assistant) операционни системи. Освен това вградените системи работят в автомобили, телевизори, мобилни телефони. Тези операционни системи обикновено имат всички характеристики на операционни системи в реално време с ограничения на паметта, мощността и т.н. Примери за системи са PalmOS, Windows CE.

Операционни системи за смарт карти

Смарт картата е устройство с размер на кредитна карта, съдържащо централен процесор. Такива системи са обект на сериозни ограничения на мощността и паметта. Някои управляват само една операция - електронно плащаненапример. Избрани смарт карти включват поддръжка за Java Virtual Machine.

1.4 Преглед на компютърния хардуер

Операционната система е тясно свързана с хардуера на компютъра, на който трябва да работи. Хардуерът влияе върху набора от команди на операционната система и управлението на нейните ресурси. Концептуално един прост компютър може да бъде представен от модела, показан на фигура 1. Тази структура се използва при първите модели на IBM PC.

Фигура 1 - Някои компоненти на персонален компютър


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

CPU

„Мозъкът“ на компютъра е централния процесор (CPU). Той избира команди от паметта и ги изпълнява. Типичният процесорен цикъл изглежда така: чете първата инструкция от паметта, декодира я, за да определи нейния тип и операнди, изпълнява инструкцията, след което чете и декодира следващите инструкции. Ето как се изпълняват програмите.

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

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

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

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

памет

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

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

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

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


Фигура 2 – Йерархична структура на паметта


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

Следва магнитният диск. Дисковата памет е два порядъка по-евтина от RAM на бит и два порядъка по-голяма по размер. Дискът има един проблем - произволният достъп до данните на него отнема около три порядъка повече време. Причината за ниската скорост на твърдите дискове (HDD) е, че устройството е механична структура. Състои се от една или повече метални плочи, въртящи се с определени скорости, например 7200 rpm. Дисковите обеми сега растат бързо; дискове със стотици гигабайти се продават за повечето потребители. Време за достъп – не по-малко от 10 µs.

За създаване често се използва магнитна лента резервни копия HDD или за съхранение на много големи набори от данни. Сега, разбира се, рядко можете да намерите използването на магнитни ленти, но все пак те все още не са излезли от употреба. Нивото на магнитната лента включва също CD, DVD и флаш памет. Времето за достъп се измерва в секунди.

В допълнение към описаните типове, компютрите имат малко количество постоянна памет с произволен достъп. За разлика от RAM, тя не губи съдържанието си при изключване на захранването. Нарича се ROM или ROM. ROM е програмиран по време на производството и съдържанието му не може да се променя след това. Тази памет е доста бърза и евтина. Програмите за зареждане на компютъра, използвани при стартиране, се намират в ROM. В допълнение, някои I/O карти съдържат ROM за управление на устройства от ниско ниво. Тип памет, наречен CMOS, е променлив. CMOS се използва за съхраняване на текущата дата, час и конфигурационни параметри, като например посочване от какво твърд дискнатоварване. Тази памет черпи енергия от инсталираната батерия.

I/O устройства

Операционната система третира I/O устройствата като ресурси. I/O устройствата обикновено се състоят от контролер и самото устройство.

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

Следващата част е самото устройство. Устройствата имат доста прости интерфейси, тъй като техните възможности са ограничени и трябва да бъдат приведени към един стандарт. Необходим е единен стандарт, например, така че всеки IDE дисков контролер (Integrated Drive Electronics) да може да управлява всеки IDE диск. Интерфейсът IDE е стандартен за устройства на компютри с процесор Pentium, както и на други компютри. Тъй като действителният интерфейс на устройството е скрит от контролера, операционната система вижда само интерфейса на контролера, който може да е много различен от интерфейса на самото устройство.

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

Преизградете ядрото заедно с нов драйвер и след това рестартирайте операционната система (това работят много Unix операционни системи);

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

Операционната система може да приема нови драйвери, без да прекъсва работата, и бързо да ги инсталира, без да изисква рестартиране. Този метод става все по-разпространен. Устройства като USB шини, IEEE 1394 винаги изискват динамично заредени драйвери.

Въвеждането/извеждането на данни може да се извърши по три начина: по различни начини.

Най-простият начин: Потребителската програма издава системна заявка, която ядрото преобразува в извикване на процедура, съответстваща на драйвера, след което драйверът започва I/O процеса. През това време той изпълнява кратък програмен цикъл, като непрекъснато анкетира устройството, с което работи. Когато I/O завърши, драйверът поставя данните там, където са необходими, и се връща в първоначалното си състояние. След това операционната система връща контрола на програмата, която е направила повикването. Този метод е в очакване на готовност (активно изчакване). Има един недостатък: процесорът трябва да анкетира устройството, докато не се изключи.

Драйверът стартира устройството и го моли да издаде прекъсвания, когато I/O приключи; След това драйверът връща управлението на операционната система и тя започва да изпълнява други задачи. Когато контролерът открие края на трансфера на данни, той генерира прекъсване за завършване. I/O процесът, използващ прекъсвания, се състои от четири стъпки (Фигура 3). На първата стъпка драйверът предава команда на контролера, записвайки информация в регистрите на устройството. След това контролерът стартира устройството. Когато контролерът приключи с четенето или записването на броя байтове, които му е казано да прехвърли, той изпраща сигнал до чипа на контролера за прекъсване, използвайки специфични проводници на шина. Това е втора стъпка. В третата стъпка, ако контролерът на прекъсванията е готов да обработва прекъсвания, тогава той изпраща сигнал до определен пин на процесора, като по този начин го информира. В четвъртата стъпка контролерът за прекъсване вмъква номер на устройство в шината, така че процесорът да знае кое устройство е завършило работата си.

Третият метод за входно-изходна информация е използването специален контролердиректен достъп до паметта DMA (Direct Memory Access). DMA управлява потока от битове между RAM и някои контролери без намеса на процесора. Процесорът получава достъп до DMA чипа, казва му броя байтове за прехвърляне, както и адреса на устройството и паметта, както и посоката на трансфер на данни. След завършване на работата DMA инициира прекъсване, което се обработва по обичайния начин.


Фигура 3 - Действия, извършвани, когато I/O устройство стартира и получи прекъсване


Гуми

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

Тази система има 8 шини (кеш шина, локална шина, шина на паметта, PCI, SCSI, USB, IDE, ISA), всяка със собствена скорост на трансфер на данни и свои собствени функции. Операционната система трябва да има информация за всички тези шини, за да управлява компютъра.

Централният процесор предава данни чрез локалната шина към PCI мостовия чип, който от своя страна осъществява достъп до паметта чрез специална шина. Системата Pentium I има кеш от ниво 1 (L1), вграден в процесора, и много по-голям кеш от ниво 2 (L2), свързан към процесора на отделна кеш шина. Шината IDE се използва за свързване на периферни устройства към системата (CD-ROM, твърд диск).


Фигура 4 – Структура на системата Pentium


USB (Universal Serial Bus) шината е предназначена за свързване на допълнителни входно/изходни устройства като клавиатура, мишка, принтер, флаш памет и др. към компютър. С времето се появяват и добавят нови, по-бързи гуми.

Кратко въведение в операционните системи. Урок Петър Сташчук

(Все още няма оценки)

Заглавие: Кратко въведение в операционните системи. Урок

За книгата Питър Сташчук „Кратко въведение в операционните системи. Учебно ръководство"

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

За студенти, докторанти, преподаватели.

На нашия уебсайт за книги можете да изтеглите сайта безплатно без регистрация или да прочетете онлайн книгата Питър Сташчук „Кратко въведение в операционните системи. Учебно ръководство“ във формати epub, fb2, txt, rtf, pdf за iPad, iPhone, Android и Kindle. Книгата ще ви достави много приятни мигове и истинско удоволствие от четенето. Купете пълна версияможете от наш партньор. Освен това тук ще намерите най-новите новини от литературния свят, ще научите биографията на любимите си автори. За начинаещи писатели има отделен раздел с полезни съветии препоръки, интересни статии, благодарение на които вие сами можете да опитате ръката си в литературните занаяти.

Цитати от книгата на Питър Сташчук „Кратко въведение в операционните системи. Учебно ръководство"

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

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

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

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

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

Текуща страница: 1 (книгата има общо 12 страници) [наличен пасаж за четене: 8 страници]

А. Ю. Кручинин
Операционни системи

1Първи стъпки с операционни системи

1.1 Предназначение и функции на операционните системи

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

Предоставя на потребителя или програмиста разширена виртуална машина вместо реален компютърен хардуер;

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

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

В същото време операционната система действа като мениджър на ресурси. Според този подход работата на операционната система е да осигури организирано и контролирано разпределение на процесори, памет и I/O устройства между различни програми. Операционната система има следните характеристики:

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

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

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

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

Задоволяване на заявки за ресурси;

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

Разрешаване на конфликти между процесите.

Управлението на ресурсите включва тяхното мултиплексиране (разпределение) по два начина: във времето и в пространството. Когато даден ресурс се разпределя с течение на времето, различни потребители и програми се редуват да го използват. Първо една от тях получава достъп за използване на ресурса, след това друга и т.н. Например, няколко програми искат достъп до централния процесор. В тази ситуация операционната система първо позволява достъп на една програма до процесора, след това, след като е работила достатъчно време, друга програма, след това следващата и накрая отново първата. Определянето колко време ще се използва даден ресурс във времето, кой ще бъде следващият и за колко време ще му бъде предоставен ресурсът е задача на операционната система. Друг вид разпределение е пространственото мултиплексиране. Вместо да работи алтернативно, всеки клиент получава част от ресурса. Обикновено RAM се споделя между няколко работещи програми, така че всички те да могат да се намират в паметта едновременно (например, като използват централния процесор на свой ред). Ако приемем, че има достатъчно памет за съхранение на множество програми, по-ефективно е да разпределите няколко програми в паметта наведнъж, отколкото да разпределите цялата памет за една програма, особено ако тя се нуждае само от малка част от наличната памет. Разбира се, това повдига въпроси за справедливо разпределение, защита на паметта и т.н., а операционната система съществува, за да разрешава такива проблеми.

1.2 История на развитието на операционните системи

Обикновено историята на развитието на операционните системи се свързва с историята на развитието на компютрите. Първата идея за компютър е предложена от английския математик Чарлз Бабидж в средата на деветнадесети век. Той разработва така наречената механична „аналитична машина“, която обаче така и не заработи правилно. Следват поколения компютри и връзката им с операционните системи.

Първо поколение 1945-1955г

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

Второ поколение 1955-1965г

Основата на компютрите са транзистори и системи за пакетна обработка. Характеризира се с тестета перфокарти и устройства за запис на магнитни ленти. Основно програмиран на Fortran и асемблерни езици за Fortran Monitor System (FMS) и операционните системи IBSYS.

Трето поколение 1965-1980г

Периодът се характеризира с появата на интегрални схеми, както и многозадачност или, както се нарича по друг начин, мултипрограмиране. IBM произвежда различни серии машини, като се започне с IBM/360. За тях е написана операционната система OS/360, която е приблизително 1000 пъти по-голяма от второто поколение FMS. На този етап се появява индустриална реализация на многозадачност - метод за организиране на изчислителен процес, при който няколко програми се съхраняват едновременно в паметта на компютъра и се изпълняват последователно на един процесор.

Други забележителни операционни системи от този период са CTSS (Съвместима система за споделяне на времето) и MULTICS (Мултиплексна информационна и компютърна услуга), която е проектирана да осигури достъп до една машина за стотици потребители наведнъж. По-нататъшното развитие на тази система прерасна в UNIX.

Четвърто поколение 1980-настояще

Този период е свързан с появата на мащабни интегрални схеми. През 1974 г. Intel пусна първия универсален 8-битов процесор, Intel 8080. В началото на 80-те IBM разработи IBM PC, персонален компютър. По същото време се появява и първата версия на MS-DOS. Всички разработени до този момент операционни системи поддържаха само текстов режим на комуникация с потребителя.

Първият опит за създаване на удобен за потребителя графичен интерфейс беше реализиран на Apple Macintosh. Повлияна от своите успехи, Microsoft Corporation пуска графична обвивка за MS-DOS - Windows. И от 1995 г. беше пуснат Windows 95, който стана самостоятелна система. Впоследствие на базата на Windows 95 и друга система Windows NT са разработени съществуващите в момента операционни системи - Windows 2000, XP, Vista и др.

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

Има много операционни системи и не всеки ги познава. След това разглеждаме 7 вида различни операционни системи от големи до малки нива.

Мейнфрейм операционни системи

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

Мейнфрейм операционните системи са проектирани основно да обработват множество едновременни задачи, повечето от които изискват огромно количество I/O. Системата трябва да отговаря на хиляди заявки в секунда. Пример за това е OS/390, която еволюира от 3-то поколение операционна система OS/360.

Сървърни операционни системи

Тези операционни системи работят на сървъри, които са персонален компютър, работна станция или дори мейнфрейм. Сървърите предоставят възможност за работа с печатащи устройства, файлове или интернет. Такива операционни системи включват Unix, Linux, Windows 2003 Server и др.

Многопроцесорни операционни системи

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

Операционни системи за персонални компютри

Основният критерий на тези системи е удобен интерфейс за един потребител. Най-известните системи: Windows 98, 2000, XP, серия Vista; Macintosh, Linux.

Операционни системи в реално време

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

Вградени операционни системи

Те включват PDA (Personal Digital Assistant) операционни системи. Освен това вградените системи работят с автомобили, телевизори и мобилни телефони. Тези операционни системи обикновено имат всички характеристики на операционни системи в реално време с ограничения на паметта, мощността и т.н. Примери за системи са PalmOS, Windows CE.

Операционни системи за смарт карти

Смарт картата е устройство с размер на кредитна карта, съдържащо централен процесор. Такива системи са обект на сериозни ограничения на мощността и паметта. Някои управляват само една операция - електронно плащане, например. Избрани смарт карти включват поддръжка за Java Virtual Machine.

1.4 Преглед на компютърния хардуер

Операционната система е тясно свързана с хардуера на компютъра, на който трябва да работи. Хардуерът влияе върху набора от команди на операционната система и управлението на нейните ресурси. Концептуално един прост компютър може да бъде представен от модела, показан на фигура 1. Тази структура се използва при първите модели на IBM PC.


Фигура 1 - Някои компоненти на персонален компютър


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

CPU

„Мозъкът“ на компютъра е централния процесор (CPU). Той избира команди от паметта и ги изпълнява. Типичният процесорен цикъл изглежда така: чете първата инструкция от паметта, декодира я, за да определи нейния тип и операнди, изпълнява инструкцията, след което чете и декодира следващите инструкции. Ето как се изпълняват програмите.

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

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

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

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

памет

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

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

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

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


Фигура 2 – Йерархична структура на паметта


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

Следва магнитният диск. Дисковата памет е два порядъка по-евтина от RAM на бит и два порядъка по-голяма по размер. Дискът има един проблем - произволният достъп до данните на него отнема около три порядъка повече време. Причината за ниската скорост на твърдите дискове (HDD) е, че устройството е механична структура. Състои се от една или повече метални плочи, въртящи се с определени скорости, например 7200 rpm. Дисковите обеми сега растат бързо; дискове със стотици гигабайти се продават за повечето потребители. Време за достъп – не по-малко от 10 µs.

Магнитната лента често се използва за създаване на резервни копия на HDD или за съхраняване на много големи набори от данни. Сега, разбира се, рядко можете да намерите използването на магнитни ленти, но все пак те все още не са излезли от употреба. Нивото на магнитната лента включва също CD, DVD и флаш памет. Времето за достъп се измерва в секунди.

В допълнение към описаните типове, компютрите имат малко количество постоянна памет с произволен достъп. За разлика от RAM, тя не губи съдържанието си при изключване на захранването. Нарича се ROM или ROM. ROM е програмиран по време на производството и съдържанието му не може да се променя след това. Тази памет е доста бърза и евтина. Програмите за зареждане на компютъра, използвани при стартиране, се намират в ROM. В допълнение, някои I/O карти съдържат ROM за управление на устройства от ниско ниво. Тип памет, наречен CMOS, е променлив. CMOS се използва за съхраняване на текущата дата, час и конфигурационни параметри, като например от кой твърд диск да се стартира. Тази памет черпи енергия от инсталираната батерия.

I/O устройства

Операционната система третира I/O устройствата като ресурси. I/O устройствата обикновено се състоят от контролер и самото устройство.

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

Следващата част е самото устройство. Устройствата имат доста прости интерфейси, тъй като техните възможности са ограничени и трябва да бъдат приведени към един стандарт. Необходим е единен стандарт, например, така че всеки IDE дисков контролер (Integrated Drive Electronics) да може да управлява всеки IDE диск. Интерфейсът IDE е стандартен за устройства на компютри с процесор Pentium, както и на други компютри. Тъй като действителният интерфейс на устройството е скрит от контролера, операционната система вижда само интерфейса на контролера, който може да е много различен от интерфейса на самото устройство.

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

Преизградете ядрото заедно с нов драйвер и след това рестартирайте операционната система (това работят много Unix операционни системи);

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

Операционната система може да приема нови драйвери, без да прекъсва работата, и бързо да ги инсталира, без да изисква рестартиране. Този метод става все по-разпространен. Устройства като USB шини, IEEE 1394 винаги изискват динамично заредени драйвери.

Въвеждането и извеждането на данни може да се извърши по три различни начина.

Най-простият начин: потребителската програма издава системна заявка, която ядрото преобразува в извикване на процедура, съответстваща на драйвера, след което драйверът започва I/O процеса. През това време той изпълнява кратък програмен цикъл, като непрекъснато анкетира устройството, с което работи. Когато I/O завърши, драйверът поставя данните там, където са необходими, и се връща в първоначалното си състояние. След това операционната система връща контрола на програмата, която е направила повикването. Този метод е в очакване на готовност (активно изчакване). Има един недостатък: процесорът трябва да анкетира устройството, докато не се изключи.

Драйверът стартира устройството и го моли да издаде прекъсвания, когато I/O приключи; След това драйверът връща управлението на операционната система и тя започва да изпълнява други задачи. Когато контролерът открие края на трансфера на данни, той генерира прекъсване за завършване. I/O процесът, използващ прекъсвания, се състои от четири стъпки (Фигура 3). На първата стъпка драйверът предава команда на контролера, записвайки информация в регистрите на устройството. След това контролерът стартира устройството. Когато контролерът приключи с четенето или записването на броя байтове, които му е казано да прехвърли, той изпраща сигнал до чипа на контролера за прекъсване, използвайки специфични проводници на шина. Това е втора стъпка. В третата стъпка, ако контролерът на прекъсванията е готов да обработва прекъсвания, тогава той изпраща сигнал до определен пин на процесора, като по този начин го информира. В четвъртата стъпка контролерът за прекъсване вмъква номер на устройство в шината, така че процесорът да знае кое устройство е завършило работата си.

Третият метод за въвеждане/извеждане на информация е използването на специален DMA (Direct Memory Access) контролер. DMA управлява потока от битове между RAM и някои контролери без намеса на процесора. Процесорът получава достъп до DMA чипа, казва му броя байтове за прехвърляне, както и адреса на устройството и паметта, както и посоката на трансфер на данни. След завършване на работата DMA инициира прекъсване, което се обработва по обичайния начин.


Фигура 3 - Действия, извършвани, когато I/O устройство стартира и получи прекъсване


Гуми

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

Тази система има 8 шини (кеш шина, локална шина, шина на паметта, PCI, SCSI, USB, IDE, ISA), всяка със собствена скорост на трансфер на данни и свои собствени функции. Операционната система трябва да има информация за всички тези шини, за да управлява компютъра.

Централният процесор предава данни чрез локалната шина към PCI мостовия чип, който от своя страна осъществява достъп до паметта чрез специална шина. Системата Pentium I има кеш от ниво 1 (L1), вграден в процесора, и много по-голям кеш от ниво 2 (L2), свързан към процесора на отделна кеш шина. Шината IDE се използва за свързване на периферни устройства към системата (CD-ROM, твърд диск).


Фигура 4 – Структура на системата Pentium


USB (Universal Serial Bus) шината е предназначена за свързване на допълнителни входно/изходни устройства като клавиатура, мишка, принтер, флаш памет и др. към компютър. С времето се появяват и добавят нови, по-бързи гуми.

Андрю Таненбаум представя ново издание на своя световен бестселър, който е от съществено значение за разбирането на функционирането на съвременните операционни системи. Той се различава значително от предишния и включва информация за последните постижения в областта информационни технологии. Например, главата за Windows Vista вече е заменена от подробен поглед върху Windows 8.1 като най-актуалната версия към момента на писане. Появи се голям раздел, посветен на операционната система Android. Материалите относно Unix и Linux, както и RAID системите са актуализирани. Обръща се много повече внимание на многоядрените и многоядрените системи, които през последните няколко години придобиват все по-голямо значение. Има цяла нова глава за виртуализацията и облачните изчисления. Добавено е голямо количество нов материал за използването на грешки в кода, около зловреден софтуери подходящи защитни мерки. Книгата предоставя много важни подробности по ясен и увлекателен начин, които не се срещат в никоя друга книга.

Операционната система е като разширена машина.
Архитектурата на повечето компютри (командна система, организация на паметта, вход/изход на данни и структура на шината) на ниво машинен език е твърде примитивна и неудобна за използване в програми, особено за системи за вход/изход. За да преместим разговора в конкретна посока, нека разгледаме съвременните твърди дискове SATA (Serial ATA), използвани на повечето компютри. Книгата, публикувана от Anderson през 2007 г. и съдържаща описание на дисковия интерфейс, който програмистите трябваше да научат да използват диска, съдържаше над 450 страници. След това интерфейсът беше ревизиран многократно и стана още по-сложен, отколкото беше през 2007 г. Ясно е, че никой нормален програмист не би искал да се занимава с такъв диск на хардуерно ниво. Вместо това тази част се занимава с оборудването софтуер, който се нарича дисков драйвер и осигурява, без да навлизаме в подробности, интерфейс за четене и запис на дискови блокове. Операционните системи съдържат много драйвери за управление на I/O устройства.

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

Съдържание
Предговор
Глава 1. Въведение
Глава 2: Процеси и нишки
Глава 3: Управление на паметта
Глава 4. Файлови системи
Глава 5. Въвеждане и извеждане на информация
Глава 6. Безизходица
Глава 7. Виртуализация и облак
Глава 8. Многопроцесорни системи
Глава 9. Сигурност
Глава 10. Проучване конкретни примери: Unix, Linux и Android
Глава 11: Казуси от практиката: Windows 8
Глава 12. Разработка на операционни системи
Глава 13. Библиография.

Безплатно изтегляне електронна книгав удобен формат, гледайте и четете:
Изтеглете книгата Съвременни операционни системи, Таненбаум Е., Бос X., 2015 - fileskachat.com, бързо и безплатно изтегляне.

Изтегли pdf
Можете да закупите тази книга по-долу най-добра ценас отстъпка с доставка в цяла Русия.

Изтегляния: 8365

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


28.04.2014
Нейтън Уолъс, Антъни Секуейра - Регистър на Windows® 2000

Изтегляния: 596

Първо и най-важно бихме искали да благодарим на Шарлот Карпентиер, редактор по придобиванията в Coriolis. Също така, специални благодарности на Грег Балас, който беше редактор на проекта, и Пеги Кантрел, която беше координатор на продукцията на книгата.


27.04.2014
А. Чекмарев - Ръководство на администратора на Windows 7

Изтегляния: 12818

Ръководството за операционна система Microsoft Windows 7 е насочено към напреднали потребители и мрежови администратори. Разкриват се многобройните възможности на всички издания на Windows 7, всички аспекти на използването на системата се обсъждат подробно: от инсталацията до методите за възстановяване.


27.04.2014
М. Русинович - Вътрешна структура на Microsoft Windows

Изтегляния: 9066

Шестото издание на тази легендарна книга е посветено на вътрешна структураи алгоритми за работа на основните компоненти на операционната зала системи на Microsoft Windows 7, както и Windows Server 2008 R2.


17.04.2014
Ричард Саймън - Microsoft Windows API. Наръчник на системния програмист

Изтегляния: 8967

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


17.04.2014
Арнолд Робинс, Елбърт Хана и Линда Ламб - Изучаване на редакторите на vi и Vim. 7-мо изд.

Изтегляния: 799

Няма нищо, към което закоравелите потребители на Unix и Linux да са по-фанатични от техния текстов редактор. Редакторите са обект на обожание и преклонение, или на презрение и подигравка, в зависимост от това дали темата на дискусия е вашият редактор или някой друг" s. vi е стандартният редактор от близо 30 години. Популярен в Unix и Linux, той има нарастващи последователи и в Windows системи. Най-опитните системни администратори citevi като техен инструмент по избор. И от 1986 г. тази книга е ръководството за vi.




 


Прочетете:



Отчитане на разчети с бюджета

Отчитане на разчети с бюджета

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

Чийзкейкове от извара на тиган - класически рецепти за пухкави чийзкейкове Чийзкейкове от 500 г извара

Чийзкейкове от извара на тиган - класически рецепти за пухкави чийзкейкове Чийзкейкове от 500 г извара

Продукти: (4 порции) 500 гр. извара 1/2 чаша брашно 1 яйце 3 с.л. л. захар 50 гр. стафиди (по желание) щипка сол сода бикарбонат...

Салата Черна перла със сини сливи Салата Черна перла със сини сливи

Салата

Добър ден на всички, които се стремят към разнообразие в ежедневната си диета. Ако сте уморени от еднообразни ястия и искате да зарадвате...

Рецепти за лечо с доматено пюре

Рецепти за лечо с доматено пюре

Много вкусно лечо с доматено пюре, като българско лечо, приготвено за зимата. Така обработваме (и изяждаме!) 1 торба чушки в нашето семейство. И кой бих...

feed-image RSS