24 януари 2016 г.

ОС - предназначение

Операционната система (ОС) е основна част от компютърния системен софтуер, която управлява и координира ресурсите на хардуера и софтуера и обслужва изпълняваните компютърни програми.
Приложният софтуер обикновено има нужда от ОС, за да работи.
ОС разпределят задачите по време, планират ефикасното използване на ресурсите на системата и могат да включват в себе си специализиран софтуер за изчисление на стойността на процесорното време, използваната памет, принтиране и други ресурси. При входно-изходните операции и динамичното разпределение на паметта ОС действа като посредник между приложния софтуер и хардуера, макар че приложните команди обикновено се изпълняват директно чрез системни повиквания на функциите на ОС. ОС се срещат на множество устройства с компютри – от мобилни телефони през игрални конзоли до уеб сървъри и суперкомпютри.
Примерите за популярни съвременни ОС включват: AndroidBlackBerryBSDChrome OSiOSLinux,OS XQNXMicrosoft WindowsSteam OSWindows Phone и z/OS. Първите осем имат общ произход, свързан с UNIX. Други популярни ОС в реално време са FreeRTOSMicrium и VxWorks.

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

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

Еднозадачната ОС изпълнява само една задача в даден момент, докато многозадачната изпълнява няколко задачи едновременно. Това се постига чрез разделение на времето на работа на процесора според инструкциите на специална подсистема (task scheduling subsystem). Тук отново има варианти:
а) при разпределена многозадачност (pre-emptive multitasking) ОС отпуска на задачата определено време да ползва процесора. Ако тя не успее да приключи за това време, ОС я форсира да отстъпи процесора на следващата задача, която се нуждае от него. Такива ОС са Unix-базираните като Solaris, Linux, 32-битовите версии на Windows NT и Win9x, както и AmigaOS.
б) При кооперативната многозадачност приложението, стартирано от ОС, използва 100% от процесора. В този случай, ако друга програма изиска процесорно време, то или няма да ѝ бъде предоставено, което ще доведе до нарушаване на функциите на това приложение и/или до терминирането му, или ще бъде предоставено след приключване на първото – такива са 16-битовите версии на Microsoft Windows.
Първата ОС с реализирана многозадачност е UNIX. Други такива ОС са GNU/LINUX, Windows NT и по-късно Mac OS, OS/2. Това са и реално първите 32-битови ОС. Разпределената многозадачност е най-използваният тип в практиката. Всички съвременни ОС я поддържат, като спазват приоритети при използването на системните ресурси. По този начин програми с по-висок приоритет могат по-често да използват процесорно време от програми с по-нисък такъв.


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


Разпределени

Разпределената ОС управлява група компютри така, че те изглеждат като един компютър. Развитието на компютърните мрежи, при които отделните машини са свързани и комуникират една с друга прави възможни разпределените изчислителни системи (distributed computing).

Вградени

Вградените ОС са предназначени за вградени компютърни системи. Те са проектирани за работа на малки машини като PDA (Personal digital assistant), които притежават малка автономност и малко ресурси и затова са много компактни и ефикасни по самия си замисъл. Примери за такива ОС са Windows CE и Minix 3.

ОС в реално време

Прилагането на компютри за управление на производствени процеси изисква работа в реално време, т.е. синхронизация на изпълнението на софтуера с външни физически процеси. Включването на функции за реално време в ОС позволява да се създават системи, едновременно обслужващи производствените процеси и решаващи други задачи (в пакетен режим и/или в режим на разделение по време). Популярни ОС в реално време (real-time operating systems) са FreeRTOSMicrium и VxWorks

****

В днешно време съществуват много разновидности на тясно специализирани ОС. Такива например са мрежовите ОС като UnixSolaris, NetWare и др. Операционните системи за суперкомпютрите, които обикновено са собствени разработки или са преработени съществуващи ОС, като Solaris, HP-UX, както и ОС за разпределени и облачни изчисления са също силно специализирани[6]. За разлика от тях WindowsMac OSOpenSolarisGNU/LinuxBSD (NetBSDOpenBSDFreeBSDPC-BSDPicoBSD) са предназначени да изпълняват много по-широк кръг от задачи. Те се наричат потребителски операционни системи.

Няма коментари:

Публикуване на коментар