Историјат развоја Оперативних система

Први рачунари који су се појавили 40-тих година двадесетог века били су засновани на електронским (вакуумским) цевима. Због великог броја гломазних електронских цеви (било их је и до 20.000) ови рачунари су били огромних димензија, трошили су пуно струје и веома се грејали (слика 1).

слика 1. Рачунар Mark 1

слика 1. Рачунар Mark 1

Први рачунари су били неефикасни и подложни кварењу. Улазне технологије су се заснивале на бушеним картицама (слика 2.) и магнетним тракама (слика 3). Бушене картице је користио Херман Холерит за потребе пописа у Сједињеним Америчким Државама. За програмирање, на првим рачунарским системима, користио се машински или симболички језик, а програмери су морали да имају припремљен програм и податке пре почетка рада на рачунару.

слика 2 Холеритова – бушена картица

слика 2. Холеритова – бушена картица

слика 3. Јединице за рад са магнетним тракама

слика 3. Јединице за рад са магнетним тракама

Пошто су рачунари постајали све моћнији, време потребно за обављање задатих инструкција је постало веома кратко у односу на време потребно да се изврши промена програмера који користи рачунар. Из тог разлога долази до ангажовања обучених оператера који су били задужени за управљање рачунарским системима (слика 4.). Оператер је био особа која опслужује рачунарски систем и његов задатак је био да припреми све што је потребно да се задатак може обавити. Тадашњи системи су били спори и имали су могућност извршавања само једног програма, тако да је оператер био у могућности да све потребне радње обави на време. Највећи део времена трошио се на послове оператера и улазно-излазне операције, а много мањи део на рад централног процесора.

слика 4. IBM 704 и оператор

слика 4. IBM 704 и оператор

Пошто је овакав начин манипулисања подацима био веома неудобан, али и доводио до слабе искоришћености процесора, као најважнијег (и најскупљег) дела рачунарског система, дошло је до потребе да се системи учине ефикаснијим. Први корак ка том циљу 50-тих година двадесетог века било је аутоматско пуњење и пражњење меморије које представља и зачетак оперативних система. У то време развили су се програми који су имали задатак да врше аутоматске конверзије бинарних и декадних података. Такође, рачунарски центри почели су да посвећују пажњу чувању података како се они не би изгубили услед рачунарских грешака, трудили су се да прошире системске библиотеке како би спречили погрешно коришћење ресурса, уведени су аутоматски сигнали за потребе комуникације са оператером, уведене су безбедносне мере итд. Све претходно поменуте иновације довеле су до појаве оперативних система. Основни програми који се извршавају у позадини а служе за планирање и извршавање послова и управљање рачунарским ресурсима представљају претходнике кориснички оријентисаних оперативних система. Систем GM-NAA I\O који је 1956. године испрограмиран за рачунар IBM 704 сматра се првим оперативним системом. Он је омогућавао аутоматизовано извршавање програма написаних на симболичком језику.

Следећа генерација рачунара, заснована на транзисторима, довела је и до експанзије нових концепата када је рачунарство у питању. Један од концепата који постоји и данас је пакетна обрада (Batch processing).

Овакав начин извршавања програма подразумева да се они надовезују један на други, тј. да се блокови картица корисничких програма ређају један за другим. Рачунари специјализовани за улазно-излазне операције би се користили за пренос података са уредно сложених бушених картица (слика 5.) на магнетне траке. Потом би се магнетна трака преносила на рачунар специјализован за обраду са посебно подржаним математичким операцијама.

слика 5. Пакетна обрада

слика 5. Пакетна обрада

Оперативни систем специјализованог рачунара водио је рачуна о пуњењу и пражњењу меморије. Прво би са улазне траке учитавао програм, а затим програм за извршавање учитаног корисничког програма, онда извршавао програм и на крају записивао резултат на излазну магнетну траку. Поступак би се понављао све док се не изврше сви програми са улазне магнетне траке. Излазна трака би се на крају преносила на рачунар специјализован за улазно-излазне операције како би се резултати одштампали.

Овакав приступ омогућавао је да се у тренутку извршавања једног програма учитава следећи који је на реду.

Трећа генерација рачунара заснована на интегрисаним колима, средином шездесетих година двадесетог века, довела је до још већих разлика између компоненти рачунара. Долази до великог несклада када су брзине у питању, првенствено између процесора и периферијских уређаја. Периферијски уређаји су у то време били механички уређаји и већина послова је захтевала сарадњу ових компоненти јер програми обично наизменично раде са улазно- излазним уређајима и обрађују податке док се програм не изврши до краја. Временске јединице којом су се мериле брзине рада процесора била је ns, дискова – ms а штампача – s. Из тих разлога процесор је био недовољно искоришћен јер је често морао да чека на спорије компоненте.

Мултипрограмирање, као битан концепт у развоју оперативних система, пружало је решење за горе наведене проблеме.

Основна идеја мултипрограмирања је била да се у радну меморију смести више програма (процеса) како би се побољшала искоришћеност процесора (слика 6.).

слика 6. Програми у меморији

слика 6. Програми у меморији

Меморија би се поделила на делове (партиције) у које би се учитавали програми. Програми који имају потребу да раде на процесору би се смењивали на њему тако да он увек буде запослен, а док се један програм извршава на процесору други имају могућност да извршавају улазно-излазне операције (слика 7.).

слика 7. Мултипрограмирање

слика 7. Мултипрограмирање

Главни циљ мултипрограмирања је максимално повећање искоришћености система, али је са друге стране пожељно да време извршавања програма буде што мање. Из тог разлога, при пројектовању оперативних система се морао направити баланс када су ове две ствари у питању.

На идеји мултипрограмирања засновани су још неки битни концепти у рачунарству попут дељења времена, мултитаскинга и мултипроцесирања.

Дељење времена (Time-sharing) је концепт који се заснива на дељењу рачунара између више корисника. Пошто је више корисника захтевало рад на рачунару, а процесори су били довољно моћни да обраде захтеве, јавио се проблем дељења процесора између више корисника. Процесор није било могуће поделити физички, па се дошло на идеју да се подели „временски“ тако што би сваки корисник добио одређено време у којем би имао процесор на располагању (слика 8.). По истеку додељеног времена процесор би добио следећи корисник. Мали временски интервали које корисник често добија стварали су илузију да корисник на располагању има процесор који све време ради само за њега.

слика 8. Дељење времена

слика 8. Дељење времена

Мултитаскинг је „модернијиприступ у односу на мултипрограмирање. Тачније, он се односи на ефикаснији начин имплементације идеје мултипрограмирања. Изворно мултипрограмирање подразумева да се више процеса конкурентно извршава на процесору, тако да се један процес извршава на процесору све док на ред не дођу улазно-излазне операције када се он прекида и процесор додељује следећем процесу који на њега чека. Мултитаскинг подразумева да је јединица извршавања на процесору посао (task)који не мора нужно да обухвата извршавање процеса на процесору измеду две улазно-излазне операције (слика 9.). Такође, овај приступ подразумева да се систем организује на сличним принципима као и када је мултипрограмирање у питању тако што ће процес по извршавању посла ослободити процесор за следећи посао процеса који је на реду. Појмови мултипрограмирања и мултитаскинга се често поистовећују јер су доста слични.

слика 9. Мултитаскинг

слика 9. Мултитаскинг

Мултипроцесирање или мултипроцесорски системи су појам у рачунарству који доживљава експанзију у последњој генерацији рачунара. Мултипроцесирање се обично односи на постојање више процесора у рачунарском систему који хардверски омогућавају истовремено извршавање више послова (различитих или истих) процеса. Оно се често поистовећује са појмовима мултипрограмирања и мултитаскинга што није погрешно, али се више односи на хардверске могућности система.

као материјал за припрему овог текста коришћена је књига „Оперативни системи“ аутора Мирослава Марића

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google photo

Коментаришет користећи свој Google налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s