Операционни системи, процесори, компютри и оперативна памет
Операционната система е сложна програмна система (съвкупност от програми), която служи като интерфейс (посредник, начин на връзка) както между потребителя и хардуера на компютъра, така и между приложните програми и хардуера на компютъра. От една страна потребителите могат да възлагат задачи на компютъра само с посредничеството на ОС, т.е. като използват командите на операционната система. Например крайните потребители – бизнесмени, банкови служители, инженери, чиновници, секретарки, студенти и т.н. стартират приложните програми в пряката си работа, като използват ОС. От друга страна, приложните програми използват елементи на компютърния хардуер също само чрез операционна система.
Кратка история на операционните системи
Първите компютри са се използвали без операционна система. Всеки програмист е имал достъп до ресурсите на компютъра и е стартирал сам своите програми, написани на машинен език. По-късно, с цел да се пести времето на компютъра, програмите са се стартирали една по една от специално подготвено лице – компютърен оператор, който въвеждал от клавиатурата на специално устройство за връзка с компютъра, наподобяващо пишеща машина, командите за изпълнение на всяка програма. Това намалило загубите на компютърното време. Все пак се губела една част от него, тъй като докато операторът въвеждал командите, централния процесор оставал незает. Началото на елементарните ОС се поставя още през 50-те години. Тяхната основна функция е била плавното стартиране на заданията. Въвежда се понятието задание (job) – програма или част от програма, която се изпълнява от компютъра наведнъж като едно цяло. Поставя се началото на груповата (пакетна) обработка (batch processing), при която програмите за изпълнение се групират в пакети. Докато се изпълнява дадена програма, тя има пълен контрол над ресурсите на компютъра. Когато изпълнението й приключи, управлението се връща на операционната система, която извършва необходимите заключителни работи и стартира следващото задание. По този начин преходът от едно задание към следващото вече се извършва от компютъра чрез ОС, при това много по-бързо, което води до по-ефективно използване на централен процесор. През 60-те години, т.е. по време на третото поколение компютри, се появяват операционни системи OS вече твърде близки по идеология до съвременните. Те стават много по-сложни, многофункционални и се стига до създаване на разпределените системи (shared systems). Това са многозадачни, мултипроцесорни системи и системи с времеделение, които позволяват няколко потребителски програми да са едновременно в операционната система на компютъра и да се изпълняват “като че ли” едновременно. Тези системи за първи път имат диалогов режим, при който потребителят пряко контактува с компютъра, вместо да дава задания и пасивно да чака изпълнението им. Всичко това води до по-удобна, по-лесна и най-вече много по-ефективна работа с компютърната система. През 60-те години се появяват и системите в реално време (real-time systems). Те позволяват компютрите да се използват за
управление на системи, при които се изисква незабавен отговор и реакция на дадено събитие. Такива са системите в отбраната и някои промишлени заводи. В края на 60-те и началото на 70-те се появява тенденция към OS с общо предназначение, които често са наричани многорежимни (multimode) системи. Някои от тях поддържат едновременно пакетна обработка, времеделение, обработка в реално време и мултипроцесорна работа.
Те са големи, скъпи и трудни за разработка и поддръжка, но са помогнали за продажбата на много компютри. Пример за такава ОС е предлаганата с фамилията компютри IBM/360 от началото на 70-те години. За изпълнение и на най-простата задача, потребителят трябвало да научи сложния език за управление на заданията. Въпреки че многорежимните операционни системи са голяма стъпка напред, те не отбелязват някакво постижение в дружелюбността към потребителя. Операционните системи от средата на 70-те до сега не могат да се характеризират само с една всеобхватна черта. Появяват се простите, удобни за работа, еднопотребителски операционни системи за микрокомпютри. Разработени са среди с висока степен на дружелюбност с графична ориентация и избор от меню. Развиват се и операционниа системи, които поддържат многозадачност, компютърни мрежи, защита на данните и разпределена обработка на данни. Модерните операционни системи създават виртуална машина, интерфейс, който освобождава потребителя от необходимостта да познава апаратните подробности (хардуера) на компютъра и му позволява да се насочи към конкретната задача. С появата на операционните системи професионалните програмисти (експерти по компютри) се разделиха на приложни и системни програмисти.
За приложните програмисти ОС е средство за използване на ресурсите на компютъра при разработката на приложни пакети и за инсталирането им. Системните програмисти се занимават с разработка, инсталиране и поддръжка на самите ОС.
Компоненти на операционна система
Програмите на операционната система се делят на три групи: управляващи, обработващи и обслужващи.
Управляващи програми
Основна управляваща програма на една операционна система е супервайзорът (supervisor), известен още като монитор или диспечер, който координира работата на всички останали части на ОС. След включване на компютъра супервайзорът е първата програма от операционната система, която се зарежда в паметта от външен носител (обикновено от твърдия диск, на който постоянно се намира операционна система). Най-често използваните части на супервайзора остават в ОП през цялото време, докато компютърът е включен и се наричат резидентни програми. Частите, които се използват по-рядко, остават на външния носител и се зареждат в операционната система само когато са необходими. Те се наричат транзитни програми. Функциите на супервайзора са:
управление на ресурсите. Супервайзорът определя коя програма кога и какви ресурси на компютъра да използва. Тази функция е съществена при компютърни системи с повече потребители;
планиране на заданията. Програмите за управление на заданията установяват схема, по която се обслужват множеството потребители и програми. Това включва оценка на ресурсите, изисквани от дадено задание; присъждане на приоритети на заданията; подготовка на заданията за изпълнение; направляване на потока от задания през системата и “изчистване” след приключване на задание (освобождаване на заета памет, начално установяване на устройства за вход/изход, на външни устройства и др.); обслужване на прекъсванията. Тъй като процесора извършва логически и аритметични действия много по-бързо отколкото работят периферните устройства (клавиатура, принтер, плотер, мишка, дискови устройства), при повечето компютърни системи е възприета схема на прекъсвания, за да се намали времето, през което централния процесор е незает. Прекъсването е временно преустановяване на работата по дадена компютърна програма, за да може друга, с по-висок приоритет, да бъде обслужена незабавно. Например на изпълняваната програма предстои продължително въвеждане на данни от терминал или от диск. Вместо да чака докато трае въвеждането на данните, процесора се превключва да работи по изпълнението на друга програма, която не изисква в този момент въвеждане на данни. Когато входно-изходното устройство въведе данните, супервайзорът прекъсва работата на процесора на компютъра по втората задача и го връща да работи отново по първата задача.
Управление на данните. Това е управление на въвеждането, извеждането и съхраняването на данните върху външни носители. Всички приложни програми използват тези функции при необходимост от вход/изход или четене/запис от външно устройство. Програмите за управление на данните са на твърде ниско ниво в йерархията на операционната система, обикновено са писани на асемблерен език, и са известни като input/output control system (IOCS) или basic input/output system (BIOS). Те обикновено са записани на постоянна памет (ROM) и се намират на дънната платка на компютъра. Част от тях е тъй наречената програма за начално зареждане, която поема управлението след включване на захранването и има важната задача да зареди супервайзора на ОС. В по-големите компютърни системи се използват канали, известни още като входно-изходни процесори. Това са процесори със специално предназначение, които управляват движението на данни между входно-изходните устройства и ОП. следене на състоянието на системата. Това е много важна функция особено при големи системи с множество потребители. Управляващите програми непрекъснато следят за грешки или ненормални събития и обработват тези ситуации възможно най-гладко. Когато например в едно задание настъпи грешка, поради която продължаването му е невъзможно, се издава съобщение за потребителя и заданието се прекратява, за да не настъпи срив в цялата система. Колкото по-сложна е операционната система, толкова повече вградени защити има тя.
Обработващи програми
Те подпомагат потребителя при подготовката и изпълнението на приложни програми. Към тях се отнасят програмите транслатори. Те са програми, които превеждат потребителски програми от даден програмен език на машинен език. Такива са различните асемблери, компилатори и интерпретатори. Те ще бъдат разгледани по-нататък. Освен тях има и някои специални видове: оптимизиращи компилатори. Дават много по-ефективен код от обикновените компилатори, но са по-скъпи. Използват се, когато се цели изпълнимата програма да има голямо бързодействие или да използва минимум компютърна памет; предкомпилатори. Използват се преди обикновените компилатори за превеждане на някоя модифицирана версия на даден език в стандартна форма. Изходът от предкомпилатора е стандартен текстов код на основния език. Пример за използване на такъв предкомпилатор е версията на езика Фортран – Ратфор; кроскомпилатори. Това са транслатори, които позволяват на програмиста да разработва програми за един компютър, докато в действителност работи на друг.
Обслужващи програми
програми за управление на библиотеки. Позволяват на потребителите да изграждат свои собствени колекции от често използвани програмни модули, наречени библиотеки; линкери или свързващи редактори (linkers). Обработват кода,
получен от компилатори и асемблери, наречен обектен код, така че да се получи модул, готов за изпълнение от компютъра; програми за работа с файлове. Използват се за създаване, преместваме, копиране, изтриване и др.; програми за сортиране и сливане. Дават възможност за пренареждане и комбиниране на файлове.
Видове операционни системи
ОС могат да се класифицират по много признаци, но тук ще опишем осем основни вида.
Еднопотребителска, еднозадачна операционна система
Това е най-простия вид ОС (single-user, single-tasking), която обслужва само един потребител, който не може да стартира повече от една програма едновременно. Стартираната програма разполага с всички ресурси на компютъра, докато трае нейното изпълнение. Всъщност тя може да бъде прекъсвана от време на време, за да може ОС да извърши някои свои неотложни задачи като актуализиране на текущото време или прочитане на натиснат клавиш от клавиатурата. Резидентните програми са разработени като допълнение към тези операционни системи. След стартирането си те остават в паметта и се задействат чрез някаква комбинация от клавиши. По този начин потребителят може временно да прекъсне своята основна работа и да премине към друго действие. Такава резидентна програма може да бъде калкулатор или бележник например. Тези ОС са за микрокомпютри. Типичен пример за такава ОС е широко разпространената MS-DOS за IBM-PC.
Еднопотребителска, многозадачна операционна система
Това е ОС (single-user, multitasking), която позволява на един потребител да стартира паралелно няколко програми. Многозадачността е подобна на работата на жонгльора, който работи с няколко топки, но в даден момент от време в ръката му има само една. ЦП във всеки момент работи само по една програма, но ОС много бързо го превключва от една задача на друга и потребителят остава с впечатление, че всички стартирани програми се изпълняват едновременно. Многозадачността премахва един съществен недостатък на еднозадачните ОС – лошото използване на ЦП при работа с периферни устройства. Например при отпечатване на дълъг документ на принтер при еднозадачна ОС компютърът е зает изцяло с тая дейност и потребителят е принуден да чака. При многозадачните системи, той може да стартира една задача за отпечатване и друга, при която в същото време се извършва текстообработка например. Еднопотребителски многозадачни ОС се използват с последните модели модерни микрокомпютри, IBM AT-386, 486, 586 и Apple Macintosh. Пример за такава ОС е OS/2 на IBM и Microsoft.
Многопотребителска, еднозадачна операционна система Няколко потребителя, всеки със свой терминал, работят с КС,
но всеки може да стартира само една програма в даден момент от време (multiuser, single-tasking). Начинът на обслужване на потребителите се нарича времеделение (time sharing), защото операционната система превключва компютъра между потребителите през фиксиран малък интервал от време. Тези интервали са толкова малки (хилядни от секундата), че потребителят получава илюзията, че работи сам непрекъснато със системата. Многопотребителските ОС са обикновено за по-големи компютърни системи (мини- и големи компютри), но са познати някои версии и за микрокомпютри. Тези ОС позволяват на служителите в една организация да ползват общи бази данни и да обменят лесно съобщения.
Реклама: Web Design Bulgaria ® – Quality web design services
Многопотребителска, многозадачна операционна система
Тя (multiuser, multitasking) комбинира концепциите на времеделение и многозадачност и е предназначена предимно за мощни компютри със сложен хардуер. Пример за такава ОС е широко разпространилата се сред научните среди UNIX.
Многопроцесорна (multiprocessing) операционна система
Такива системи се използват при компютри с повече от един процесор и позволяват изпълнение на няколко инструкции паралелно. Те са с висока производителност и са предимно за големи и суперкомпютри. Многопроцесорните системи се разделят на няколко типа:
- хомогенни – с няколко еднакви централни процесора;
- хетерогенни – включват няколко процесора със специално
- предназначение;
- векторни процесори (array processors). Състоят се от няколко процесора, наречени процесорни елементи, управлявани и синхронизирани от едно общо за всички управляващо устройство; конвейерни процесори (pipeline processors). При тези системи всяка инструкция е разделена на няколко степени, като всеки процесор изпълнява една степен, но на различни инструкции. По този начин се изпълняват толкова на брой инструкции едновременно, колкото е броят на степените. Процесорите са подредени както при производствена поточна линия, откъдето произлиза и името им – конвейерни.
Мрежова (networking) операционна система
Тя управлява работата на няколко компютъра, свързани в мрежа. Тези операционни системи позволяват както работа на своя компютър, така и ползване на ресурсите на другите компютри, свързани в мрежата.
Виртуална операционна система
При много ОС, ако една програма е твърде голяма, за да се събере в наличната за момента ОП, тя не се стартира и на потребителя се издава съответно съобщение. Виртуалната организация е тактика за управление на паметта, при която се използва област от бърза външна памет (обикновено твърд диск), наречена виртуална (въображаема), като разширение на основната памет. Програмата се разделя на части, наречени страници и сегменти, които се прехвърлят в операционната система от виртуалната (и обратно), когато е необходимо. По този начин ОС дава илюзия на потребителя, че е налична повече оперативна памет, отколкото е в действителност, освобождава го от грижите, колко памет ще изисква неговата програма и как да бъде организирана тя, и му дава възможност да се насочи към логиката на задачата.
Сходни статии:
- Видове операционни системи, подходи при проектирането на ОС, виртуална машина, клиент-сървър Видове операционни системи Еднопотребителска, еднозадачна – MS-DOS – на дадения компютър работи само един потребител и той може да стартира само една задача. Еднопотребителска, многозадачна – Windows, OS/2, MAC OS...
- Защита на Windows Vista. Защитани механизми на операционни системи. Базови технологии за безопасност, използвани в операционните системи Идентификация и аутефикация Достъп до обектите на операционната система Одит и откриване на опитите за проникване в системата за защита Система Kerberos...
- Действия при заразени с вируси компютри Понякога дори и напреднал потребител може да се осъзнава, че компютърът му е заразен с вирус, поради факта, че вирусите могат да се скрият зад обичайни файлове или да се...
- Експертни системи Интелект – способността за мислене, познание, мислене разсъдък. Изкуствен интелект – компютърна програма, която дава решения. Експертната система (Експерт + Знание = Съвет) е компютърна програма, която съдържа знания и...
- Описание и технически параметри на компютърна система Централен процесор (CPU) Централният процесор е устройство, което в най-голяма степен определя бързодействието на една компютърна система. Една от най-важните му характеристики е тактовата честота.Тя показва колко такта извършва процесорът...
