Специалност: “Информатика”
Дисциплина: “Въведение в информатиката”
Преподавател: Величко Янков
Съдържание
Въведение
Тема 1. Системен софтуер - основни характеристики, класификация.
Тема 2. Операционни системи. Основни понятия. Мултипрограмен режим.
Тема 3. Операционни системи. Управление на процесите. Понятията процес, задача,
нишка. Модел на операционна система.
Тема 4. Операционни системи. Управление на паметта. Основни схеми, проблеми и
решения. Управление на виртуална памет
Тема 5. Операционни системи. Управление на устройствата.
Тема 6. Операционни системи. Управление на информацията. Файлове. Файлови
системи.
Тема 7. Виртуализация на ресурсите, виртуални машини.
Приложение 1. Символни кодове за представяне на информация
Приложение 2. Операционни системи MS Windows – сравнение
2
Въведение
Компютърна система, хардуер – основни понятия
Компютърна система = хардуер + софтуер
Компютърната система включва хардуер и софтуер, т.е. устройства и програми.
Хардуер – най-важните устройства са:
процесор (CPU) – изпълнява командите, включени в отделните програми.
Основни характеристики – бързодействие (в GHz), разрядност, др.
Оперативна памет ( ОП, RAM) – устройство, в което се зареждат
програмите, когато трябва да се изпълнят. Процесорът „извлича“ от ОП
поредната команда от заредена програма и я изпълнява. Можем да
зареждаме повече от една програма в ОП. Едновременното изпълнение на
повече от една програма се нарича многопрограмен (многозадачен) режим.
Тъй като ОП винаги е била критичен ресурс (недостига), тя е и първият
ресурс, който е виртуализиран. Виртуална памет означава използване на
повече ОП, отколкото е реалната памет (RAM) на компютъра.
Увеличавайки размера на RAM паметта, при всички случаи ще подобрим
производителността на цялата компютърна система, макар че процесорът
е „главното“ устройство.
„Твърд“ диск (HDD) – постоянно запомнящо устройство. С лужи за
съхраняване на основната част от информацията , с която работим. На
твърдия диск се намира в инсталирано състояние самата операционна
система и останалият системен и приложен софтуер - ние разчитаме на
това, за да работим с компютъра.
към компютъра може да се включва разнообразна периферия – монитор,
видеокарта, клавиатура, мишка, DVD устройство, флаш устройства, външни
дискове, карти, принтери, видеокамери, фотоапарати и др.
дънна платка (Motherboard) – CPU, RAM, HDD и останалите устройства се
инсталират (монтират) и свързват през дънната платка по строго
регламентиран интерфейс (системен интерфейс).
към съдържанието
3
Тема 1. Системен софтуер - основни характеристики,
класификация
В началото работата с електронни машини е билa тежка и неефективна - без
операционни системи и почти никакъв друг системен софтуер. Програмистите и
инженерите са управлявали сами ресурсите на изчислителната система.
В първите години, обаче, е имало и едно предимство за потребителя -
програмист - той е бил сам с електронната машина (компютъра). Разбира се, нямало е
как и да бъде другояче и това дори не се е осъзнавало като предимство. С развитието
на системният софтуер на монополният режим на работа много скоро се е сложил край
- скъпите ресурси започнали да се използват едновременно от няколко (по -късно и
много) потребители. Всяка операционна система за големи електронно-изчислителни
машини (mainframes) вече работела в многопрограмен режим. В повечето случаи за
отделният потребител това не е бил добър вариант, но за всички заедно и за цялата
система е било печелившо решение. Всички сериозни публикации за операционни
системи от 70
-те
и 80
-те
години включват мултипрограмирането като основна тема.
Въобще мултипрограмният режим е бил естествено присъщ и включен в ядрото на
всяка операционна система от това време. Колкото по -мощни са ставали
изчислителните системи, толкова по-малко потребителят е усещал недостатъците на
едновременната работа, като забавяне и блокиране - работата на системата е ставала
все по-прозрачна за него.
Така, след много хардуер и софтуер се създават персоналните компютри, при
които, както личи и от името им, отново се възстанов ява същото предимство -
потребителят да е сам с компютъра. И отново същият кръг се завърт а - мощно
развитие на хардуера и създаване, макар и с естествено закъснение, на съответен
системен софтуер, който в началото има само мултипрограмни белези, а след това се
създадоха истински мултипрограмни системи за микрокомпютри.
Системният софтуер се е развивал по две основни линии:
Mаксимално използване на изчислителните ресурси, които предоставя
хардуера
Oсигуряване независимост на софтуера от хардуера (на програмите от
машината)
Софтуерът (програмното осигуряване) се дели на две големи групи: системен и
приложен софтуер.
Една примерна класификация на системния софтуер изглежда така:
1. Системни управляващи програми – основно това са операционните
системи (ОС)
2. Системни програми за развитие на софтуер – това са системните
програми за създаване на програми. Включват инструментариума на програмистите –
езици за програмиране и транслатори (компилатори и интерпретатори) за тях,
4
редактори на код, свързващи редактори (линкери), програми за тестване (дебъгери),
програми за оптимизация на код и др.
3. Системни поддържащи програми – помощни програми (utilities), които
добавят, разширяват или заместват функции на операционната система, антивирусни
програми, програми за защита и др.
4. Мрежов и комуникационен софтуер
Горната класификация е претърпяла редица изменения през годините.
Например, колкото „по-слаба” е била една операционна система, толкова по -
съществена роля са имали помощните програми, сега компонентите на софтуера за
развитие са интегрирани в общи среди за програмиране, а съвременните операционни
системи логично интегрират мрежовия и комуникационен софтуер в себе си.
към съдържанието
5
Тема 2. Операционни системи (ОС). Основни понятия,
мултипрограмен режим
Едно определение за операционна система: система от програми за
управление на устройствата на компютъра и осигуряване на връзката на
потребителя с компютъра.
Първата част от това определение в съвременната терминология се покрива от
програми, наречени драйвери, а втората - от програмите, реализиращи потребителския
интерфейс. Тези две нива на управление в операционната система се свързват чрез
поне още едно ниво - ниво на преобразуване на заявките на потребителите, включващи
абстракции като команди, програми, файлове, в заявки към драйверното ниво. В
определението, обаче, не са съобщени важни характеристики на ОС като управление
на мултипрограмния режим и виртуализацията на ресурсите .
Най-важните системни функции са организирани като ядро на ОС. По време на
работа на компютъра, ядрото се намира постоянно заредено в оперативната памет.
Мултипрограмният режим на работа и виртуализацията се реализират именно в ядрото
на операционната система. Образно казано, ядрото на ОС без горните два компонента
изглежда доста “рехаво”, докато ядрото на ОС с тях е много “плътно” и с голяма маса.
От друга страна системите без мултипрограмиране и виртуализация са много по-лесни
за работа и обслужване, тъй като “мислят за малко неща” и за работата само на един
потребител. Пример за такава операционна система е ДОС за персонални компютри -
особено докато покриваше възможностите на хардуера - тя беше най-лесната ОС за
широкия потребител и съответстваше на революционната достъпност на PC.
Мултипрограмен режим
Мултипрограмният режим представлява едновременна работа на няколко
програми под управлението на операционната система. Исторически погледнато,
важна предпоставка за реализацията на този режим е било създаването на устройства,
наречени тогава входно/изходни канали. Каналът (или още входно/изходен процесор,
входно-изходна шина) е специализирано устройство със собствена памет, което
изпълнява собствени команди и програми (т. нар. канални команди) паралелно с
централният процесор, който може да е зает с друга програма. Втората важна
предпоставка за мултипрограмният режим е наличието на развита и добре управлявана
система за обработка на прекъсванията . Прекъсванията са схемно реализиран
механизъм за комуникация между периферните устройства и програмите с
операционната система. Според основната концепция, прекъсванията биват пет типа:
входно/изходни
SVC (Superisor Call)
програмни
външни
схемни.
Мултипрограмният режим се реализира по следният начин:
6
няколко програми са заредени в оперативната памет, като на една от тях
операционната система предоставя процесора за изпълнение
състоянието на изпълняваната програма се отразява (записва) в специален
регистър (памет), наречен текуща «Дума за състояние на програмата» (Program Status
Word, PSW). В нея, заедно с многото друга информация, в даден момент е записан
адреса на следващата за изпълнение инструкция. Този адрес е необходим за вярното
продължение на работата на програмите след прекъсване. В PSW има много важен бит
- бит за състояние. Двете му възможни стойности са - състояние „задача”
(потребителско състояние) и състояние „управление” (супервайзор).
когато изпълняващата се програма издаде заявка за входно/изходна
операция се получава едноименно прекъсване. Операционната система реагира като
запомня текущата PSW и инициализира изпълнението на входно/изходна канална
програма, като каналът се заема с нейното изпълнение. ОС предоставя управлението
на централният процесор на друга програма.
след завършване на входно/изходната операция се получава обратен
сигнал и операционната система възобновява изпълнението на прекъснатата програма
след точката на прекъсване. За целта, като текуща дума се записва запомнената
"стара" PSW на съответната програма и управлението се предава на инструкцията,
намираща се на указания като следващ адрес в нея.
Така мултипрограмният режим от едновременна работа на няколко
програми се свежда до едновременна работа на централният процесор и
входно/изходните устройства.
към съдържанието
7
Тема 3. Операционни системи. Управление на процесите.
Понятията процес, задача, нишка. Модел на операционна
система
Паралелната работа на централният процесор и периферните устройства се
отразява на самата операционната система. Понятието “процес” е удобен модел за
изясняване какво става вътре в ОС при работа в мултипрограмен режим. В този смисъл
процесът е формализация на идеята за независима работа.
По принцип ОС могат да изпълняват множество работи (задачи), които се
придвижват напред почти незабележимо. Всяка задача (task) можем да определим
като единица независима работа, която се състезава за ресурсите на
изчислителната система. Задачата е програмно-организационната рамка, в която
протича даден процес и се свързва (програмира) с таблица, наречена блок за
управление на задачите (Task Control Block, TCB).
По-абстрактно погледнато, процесите представляват последователност от
промени на състоянията на процесора при изпълнение на задачите. Всяко състояние
представлява нещо като “моментна снимка” на процесора. Донован определя процесът
още като “треактория” на процесора, изпълняващ някаква съвкупност от програми.
Различни автори определят като еквивалентни понятията процес и задача.
Докато в някои операционни системи понятието процес е по-теоретично, в други, като
UNIX се борави по-свободно и на практическо ниво с понятието процес. Изпълнимите
файлове на диска съхраняват последователност от машинни инструкции (процесорни
команди) и представляват т.нар. пасивни единици. След зареждането им в паметта за
изпълнение, се превръщат в активни единици – това са програми в действие, от които
се генерират процеси, които постоянно се променят при изпълнение на машинните
инструкции.
Microsoft добави към темата понятието нишка (thread), която определя като
единица код, който се състезава за рес урсите на компютърната система и се
изпълнява конкурентно с други нишки.
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте