Информационе технологије

Двадесети век доноси разне промене у свим областима пословања. Највећи помак начињен је преласком из индустријске у информатичку еру. Та нова ера је ера података, информација, знања и мудрости. У другом делу индустријске револуције откривена је електрична енергија а нешто касније и полупроводници. Ова открића доводе до доба информационих технологија. Међу многобројним алатима базираним на информационим технологијама срећемо: машине база података, е-пошту, алатке вештачке интелигенције, факс машине, програмске језике четврте генерације, локалне мреже, рачунаре, алгоритме за паралелну обраду итд.

Вештачка интелигенција је научна област у којој се истражује како да се направе рачунари који би успешно радили ствари које у овом моменту раде биље људи.

Два главна правца развоја вештачке интелигенције су:

  • проучавање природне интелигенције ( спознавање функција мозга, моделирање рада мозга, симулирање човековог понашања, реаговања и резоновања);

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

Вештачку интелигенцију према приступу решавања проблема можемо класификовати на три главна приступа и то су:

  • неуронске мреже;

  • моделирање еволуције;

  • хеуристичко програмирање.

Класификација вештачке интелигенције према врсти решавања проблема:

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

  • систем за решавање формалних задатака – логичке игре, математичка логика, геометрија, интегрални рачун;

  • систем за решавање комплекснијих задатака – конструисање, налажење грешака, научне анализе и дијагностика, финансијска анализа, програми за развој оваквих система.

Неуронска мрежа у рачунарским наукама представља веома повезану мрежу елемената који обрађује податке.

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

Неуронске мреже нам пружају могућност за разумевање рада људског мозга. Вештачке неуронске мреже су колекција математичких модела који симулирају неке од посматраних особина биолошких нервних система и повлаче сличности са прилагодљивим биолошким учењем. Неуронска мрежа се разликује од традиционалних рачунара у форми и функционисању. Док неуронска мрежа користи велики број једноставних процесора да би обавила њене калкулације, традиционални рачунари користе један или, у ређим случајевима, свега неколико веома комплексних процесорских јединица. Неуронска мрежа не поседује централно локализовану меморију, нити се програмира у секвенцама инструкција, као сви модерни рачунари. Машинско учење је подграна области вештачке интелигенције. Машинско учење је област истраживања која омогућава рачунару да учи без да је експлицитно програмиран.

Кораци машинског учења су:

  • прикупљање података;

  • припрема података;

  • анализа резултујућих скупова података;

  • избор једне или више модела учења;

  • обука;

  • евалуација референтних модела;

  • конфигурација хиперпараметара;

  • предвиђања.

Разлог за примену машинског учења је решавање тешких проблема у пракси, као што су: препознавање лица, препознавање говора, препознавање различитих облика и објеката на сликама и видео записима, класификација текста, машинско превођење итд. Типови машинског учења: * надгледано учење;

  • ненадгледано учење;

  • учење поткрепљивања или учење уз подстицаје. Надгледано учење:

  • регресија (предвиђања, оптимизација процеса итд.) и

  • класификација (класификација слика, откривање превара и друге).

Ненадгледано учење:

  • груписање (сегментација клијената, усмерено оглашавање, проблем препоручивања) и

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

Учење поткрепљивањем: * доношење одлука у реалном времену;

  • навигација робота;

  • играње игара.

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

Image title

Слика 2.1. Информационе технологије

Способност употребе информационих технологија подразумева:

  • добро познавање свих алата који се користе у рачунарству;

  • поседовање неопходних вештина за ефикасну употребу ових алата;

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

Управљање било којом организацијом подразумева доношење одлука и решавање различитих проблема, а за то су потребне информације и знања. Информациони систем (ИС) треба да обезбеде те информације. Информациони системи су скуп људи, процедура и ресурса који прикупљају и складиште податке, обрађују их и трансформишу у информације, доступне организацији и њеном окружењу. Док се информационе технологије баве више техничком подршком, информациони системи су више окренути информацијама. И трећи фактор, који је незаобилазан у савременом пословању су комуникационе технологије. Информационо комуникационе технологије (ИКС) наглашава удруживање телекомуникација, рачунара, софтвера, меморије, са циљем да се корисницима омогући приступ, чување, пренос и манипулацију информација.

У свакодневном разговору, не правимо увек јасну разлику између термина „податак” и „информација”. Међутим разлика између ова два појма је од великог значаја за разумевање појма информациони систем.

Податак је низ чињеница, које су без значаја ако се посматрају засебно. Подаци могу бити у облику бројева када изражавамо нумеричка својства, у облику текста када изражавамо квалитативна својства у облику слике и тако дање. Физички симболи којима се подаци бележе морају бити погодни за чување пренос и обраду. Када у животу имамо проблем, потребно је да нађемо решење, то јесте потребно је да донесемо одлуку које ћемо решење да применимо. Ако смо на основу једног податка донели одлуку тада тај податак представља информацију. Одлука може бити донета на основу информације која је добијена из већег броја података. Према томе информација је скуп чињеница тако одрађених и организованих да представљају неко обавештење. Можемо још рећи да су подаци сировина из које се обрадом добијају информације. Циљ информационог система је да обради колекцију низа чињеница на неки начин, тако да представља информацију која може да користи неком. Један од примера је телефонски именик где су имена и алфабетски распоређена, при чему се обезбеђује ефикасан приступ свакој информацији.

Image title

Слика 2.3. Податак и информација

Подела информационих технологија:

  • улазне технологије;

  • комуникационе технологије;

  • рачунарске технологије;

  • излазне технологије.

Улазне технологије или технологије сензора су дигиталне видео камере, миш, скенери слике, читачи бар кода, уређаји за гласови улаз, и други.

Комуникационе технологије укључују комуникационе каблове, телефонске линије, интернет који преноси дигитални текст, графику, аудио и видео материјал преко географских и политичких граница. Рачунарске технологије су пре свега рачунарски системи за чување и обраду информација, који се састоје од хардвера (технички систем рачунара) и софтвера (програмски систем рачунара). Рачунарски системи примају информацију од улазних уређаја и комуникационих уређаја, затим је складиште и обрађују, а резултати обраде се прослеђују излазним технологијама.

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

Image title

Слика 2.4. Информациони комуникациони систем

Рачунарство дели заједничке научне методе са математиком, природним наукама (експерименталне методе) и техником (методе пројектовања).

Рачунарство је систематично изучавање алгоритамских процеса који описују и трансформишу информације: њихове теорије, анализе, пројектовања, ефикасности, имплементације и примере. У средишту рачунарства је рачунар. Данас се под рачунаром подразумева електронска машина која може да се програмира за извршавање различитих задатака [7].

Функције рачунарства су:

  • пренос података;

  • обрада података;

  • чување података;

  • контрола преноса, обраде и чувања података.

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

Програмирање поред важних класа алгоритама и програма који се, као честе компоненте других програма могу применити у решавању нових задатака, мора да укључи и методе развоја алгоритама и програма са унапред познатим понашањем, тј. методе које омогућавају да се, заједно са извођењем програма изводи и доказ његове коректности, што приближава развој програма доказу теореме у математици [7].

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

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

Подела рачунарства

Развој рачунарства се грубо може поделити на период пре појаве електронских рачунара (до 1946. године) и период након појаве ЕР (након 1946. године). Детаљније, развој рачунарства можемо поделити на четири периода.

Период абакуса

Развој трговине довео је до развоја справа за рачунање, а прва која се појавила била је абакус. Абакус (рачунаљка) је справа која човеку олакшава рачунање. Она се најчешће реализује као дрвени оквир са жицама по којима се померају куглице. Вредност куглице зависи од тога на којој се жици куглица налази: на једној жици једна куглица има вредност 1, на следећој вредност 10, на следећој вредност 100. Две куглице на првој жици имају вредност 2, на другој вредност 20, и тако даље. По томе абакус одговара рачунању у позиционом бројном систему. Сабирање се остварује померањем куглица у једном смеру, а одузимање померањем у другом.

Image title

Слика 2.2.1. Абакус

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

  • У Месопотамији су око 3000. године пре нове ере развили позициони систем са основом 60 (сексагезимални систем). Овај систем је имао два недостатка. Први недостатак је био у томе што није постојао симбол за празно место. Овај недостатак је касније исправљен, додата је ознака за празно место у облику два искошена клина, али се тај симбол никада није користио на самом крају броја и управо то је други недостатак - нема ознаке за децимални (односно сексагезимални) зарез.

  • Египћани су око 2000. године пре нове ере пронашли нови материјал за писање - папирус. Израђивао се од трске и сличан је данашњем папиру.

  • Абакус је формиран око 1200. године пре нове ере. Прва рачунаљка је била у облику плоче подељена на пруге по којима су се померали каменчићи.

  • Херон Александријски је конструисао први аутомат за новац на свету. Аутомат се у почетку користио само за храмове. Идеја је била да верници убаце новчић а да за узврат добију малу количину воде за умивање и прање руку.

  • Проналазак папира сматра се једним од показатеља почетка новог века. Први папир је пронађен у Кини око 100. године нове ере.

  • Аријабата, индијски математичар, у свом најпознатијем делу Аријабатија описао је децимални систем. Сматра се да је запис декадних цифара у Индији настао око 200. године нове ере.

  • Међутим, симбол за нулу није тада настао. Прво појављивање нуле у Индији је на једном запису из 876. године.

  • У 9. веку нове ере Арапи су усвојили индијски начин записа бројева. Ал Хорезми је написао дело у коме говори о индијским бројевима, тј. Описује декадни систем који је развијен у Индији. Већ знамо да је постојало девет цифара али у овом делу Ал Хорезми сугерише да се као симбол за нулу дода мали кружић.

Период механичких рачунских машина

Рачунање се обављало ручно све до XVII века. За сложена израчунавања користиле су се таблице интеграла, логаритама и тригонометријских функција које су ручно израђивали тимови људи. У наставку ће бити описани неки од најзначајнијих изума овог периода.

  • \(1450.\) године Јохан Гутенберг је конструисао прву штампарску пресу;

  • \(1614-1620.\) године Јохн Напиер открио је природне логаритме и логаритамски рачунар;

  • \(1623/24.\) године Вилхелм Шикард- прва рачунарска машина са преносом десетица;

  • \(1642.\) године Блез Паскал је направио 6-месну рачунску машину;

  • \(1647.\) године Блез Паскал је усавршио 8-месну рачунску машину са преносом десетица (Почетак периода механичких рачунских машина);

Први механички калкулатор конструисао је Вилхелм Шикард за потребе израчунавања астрономских таблица. Машина је могла да сабира и одузима шестоцифрене бројеве, а у случају прекорачења оглашавало се звонце. Он је 1673. године усавршио Паскалову машину са четири рачунарске операције. Блез Паскал је 1642. године када је имао само 19 година отпочео рад на механичком калкулатору који се назива Паскалина. Он је тада помагао свом оцу који је био скупљач пореза и желео је да му олакша посао. Први модел је израђен 1645. године, а 1652. године израђено је већ 50 прототипова, од којих је више од 12 продато. Цена и сложеност машине онемогућили су даљу производњу, као и чињеница да је само Паскал лично могао да је поправи.

Паскалов калкулатор је био децимална машина, што је био недостатак јер у то време француски новчани систем није био децимални. Његов рад се заснивао на зупчаницима. Касније верзије су имале 8 зупчаника, што значи да је калкулатор могао да рачуна са вредностима до 9,999.999. Зупчаници су се окретали само у једном смеру па директан рад са негативним бројевима није био могућ, већ се за негативне бројеве користио такозвани „комплемент (до 9) броја”.

Image title

Слика 2.1.2.1. Паскалина
  • Лајбниц је 1697. године први представио бинарни систем (бинарни бројни систем);

  • Универзални језик математике (формална и симболичка логика, Лајбниц је изнео главне карактеристике коњункције, дисјункције, негације, идентитет, подскупова и празних скупова);

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

Image title

Слика 2.1.2.2. Бинарни бројни систем
  • \(1671.\) године Лајбниц је изумео справу (рачунаљка са бубњем) која је могла да обавља све четири основне аритметичке рачунске операције, као и да израчунава квадратни корен. Све ове операције изводиле су се понављањем операције сабирања. Лајбниц је једном изјавио: „Недостојно је изванредних људи да губе драгоцено време на послове израчунавања који би се могли поверити било коме ако би рачунање обављала машина”;

  • \(1801.\) године Јозеф Жакар је представио свој разбој са бушеном картицом. Жакаров ткачки разбој је користио бушене картице за контролу операција. Игле су упадале у рупе на картици, а различите комбинације убучења креирале су различите шаре и дезене истканог материјала. Бушене картице су се у наредном периоду интензивно користиле за аутоматизацију различитих поступака, а користили су их и први рачунари;

Image title

Слика 2.1.2.3. Бушена картица
  • Период од 1820-1860. године обележен је радом Чарлса Бебиџа. Први заиста успешни калкулатор је креирао 1820. године који је назван аритмометар. Он је могао да сабира, одузима и множи, а и делио је уз интервенцију корисника. 1822. године наишао је на много грешака проверавајући ручно израчунате податке за Астрономско друштво. Те године је почео да ради на диференцијалној машини која је требало да аутоматски израчунава вредност полиномијалних функција до шестог степена. Овај пројекат никада није успео да заврши. Без обзира што није успео да реализује пројекат диференцијалне машине, Чарлс Бебиџ је 1833. године почео да ради на пројекту аналитичке машине. У овом пројекту он је развио многе идеје које су имплементиране у модерним рачунарима. На пример, машина је имала складиште за нумеричке податке које је могло да прими 1000 променљивих, а свака од њих да буде записана са 50 цифара;

Image title

Слика 2.1.2.6. Аритмометар
  • Аугуста Ада Кинг је била најзаслужнија за опис аналитичке машине Чарлса Бебиџа. Преводила је белешке једног италијанског математичара о Бeбиџовој аналитичкој машини. Уз тај превод је додала и своје белешке које су садржале детаљно описан метод за израчунавање Бернулијевих бројева уз помоћ ове машине. Многи историчари њене белешке називају првим рачунарским програмом. Због тога је један програмски језик назван њеним именом „АДА”.

Image title

Слика 2.1.2.7. Аналитичка машина

Период електромеханичких рачунских машина

У XIX веку направљена су велика открића која су побољшала комуникацију (телеграф, телефон, почиње се са коришћењем електричне струје за покретање разних машина). Овај период обележили су радови Џорџа Була, Хермана Холерита и Алана Тјуринга, а нека од њихових најважнијих открића описана су у наставку.

  • \(1847.\) године Џорџ Бул дао је велики допринос математици, а посебно рачунарству развивши Булову алгебру као алгебарску структуру (колекцију елемената и операција на њима у којој се сажимају основна својства скуповних и логичких операција, а посебно скуповних операција пресека, уније и комплемента и њима одговарајућих логичких операција AND, OR и NOT);

  • Крај XIX века обележио је рад Хермана Холерита. Холеритове машине су радиле на принципу бушених картица. Нумерички подаци су бушени на картице засебним машинама. Бушене картице су омогућиле да се једном припремљени подаци могу више пута користити. Тиме је изостало дуплирање посла. Свака картица је могла да прими 80 слова или цифара, а за њихово кодирање коришћено је 12 редова. 1844. године патентирао је аутоматску машину за табелирање. Након рада Холерита настају разне компаније за производњу савршенијих електромеханичких машина;

Image title

Слика 2.1.3.2. Холеритова машина
  • \(1936.\) године Алан Тјуринг дефинисао је апстрактну машину која се по њему зове Тјурингова машина, која даје математички прецизну дефиницију алгоритма или „механичке процедуре”. Она је практично опис машине која ће тек бити конструисана. Његов циљ је био да опише проблеме који могу логички да се реше. У току Другог светског рата Тјуринг је радио у Блечли парку, тајном месту на коме се радило на разбијању немачких шифара. Он лично је дао велики допринос разбијању шифара за машине Енигма и Лоренз.

Image title

Слика 2.1.3.1. Тјурингова машина

Период електронских рачунара

У овом периоду разликујемо три генерације рачунара. Прва генерација обухвата рачунаре који су се појавили четрдесетих година двадесетог века и били су засновани на електронским (вакуумским) цевима. Улазне технологије су се заснивале на бушеним картицама и магнетним тракама. Због великог броја гломазних електронских цеви рачунари су били огромних димензија, трошили су пуно струје и брзо су се загревали. Ови рачунари су имали могућност извршавања само једног програма. Друга генерација рачунара обухвата рачунаре који су се појавили шездесетих година и били су засновани на транзисторима. Овакав начин извршавања програма подразумева да се обраде надовезују једна на другу и то омогућава да се у тренутку извршавања једног програма учитава следећи који је на реду. Трећа генерација рачунара обухвата рачунаре који су се појавили од седамдесетих година двадесетог века и били су засновани на интегрисаним колима. У наставку ће бити описани неки од најзначајнијих рачунара насталих у том периоду.

  • \(1946.\) године Џон Мокли и Џон Екерт конструисали су ENIAC (Electronic Numerical Integrater And Computer). У периоду између 1943. и 1946. од стране америчке војске и универзитета у Пенсилванији, тим научника конструисао је први електронски рачунар опште намене ENIAC. Рачунске операције извршавао је хиљаду пута брже од електромеханичких уређаја. Основна сврха била му је рачунање трајекторије пројектила. Било је могуће да се машина препрограмира и за друге задатке, али то је захтевало интервенције на преклопницима и кабловима које су могле да трају и недељама;

  • \(1945.\) године – Фон Нојманови рачунари. Фон Нојман сматрао је да је овакво програмирање споро. Схватио је и да је уместо децималне аритметике боље користити бинарну. Фон Нојман је 1945. године у свом извештају описао архитектуру рачунара која се и данас користи у највећем броју савремених рачунара, конципирана на унутрашњем програму. Програм се при извршавању чува као и подаци за обраду;

  • \(1950.\) UNIVAC I - први комерцијални електронски рачунар. Развила га је компанија коју су основали Џон Екерт и Џон Мокли;

  • \(1952.\) IBM 701 - рачунар са магнетним тракама;

  • \(1953.\) Рад за рачунаром данас је тешко замислити без штампача, али било је потребно скоро педесет година да би инжењери и дизајнери учинили ове уређаје приступачним. Први принтер који је ишао уз рачунар развијен је 1953. за потребе UNIVAC компјутера, док је 1957. први матрични штампач тржишту представио IBM;

  • \(1954.\) - програмски језик FORTRAN;

  • \(1959-1960.\) - програмски језик COBOL.

Фон Нојманова архитектура

Један од најважнијих радова на подручју архитектуре рачунара је дело аутора Буркса, Голдштајна и Нојмана. Дело „Уводна расправа о логичком обликовању електронског рачунарског уређаја” је објављено 1946. године, петнаестак година пре појаве израза архитектура рачунара, где је детаљно описан рачунар опште намене са меморисањем програма под називом фон Нојманов рачунар (Слика 2.2.1).

Image title

Слика 2.2.1. Фон Нојманов рачунар

Нојманови изворни захтеви су послужили као услов за одређивање архитектуре рачунара:

  • рачунар треба да има општу намену и потпуно аутоматско извођење програма;

  • рачунар мора, осим података за рачунање, да меморише међурезултате и резултате рачунања;

  • рачунар мора имати способност меморисања редоследа;

  • инструкције су сведене на нумерички код тако да се подаци и инструкције меморишу идентично у истој јединици, која се назива меморија;

  • рачунар је уређај за рачунање и мора имати јединицу која извршава основне аритметичке операције, ту функцију извршава аритметичка јединица;

  • рачунар мора имати јединицу која „разуме” инструкције и управља редоследом извршавања, ту функцију извршава управљачка јединица;

  • рачунар мора имати могућност комуникације са окружењем, јединица која омогућава комуникацију човека и рачунара назива се улазно-излазна јединица.

Елементарни физички објекат фон Нојманове машине је прекидач – електронска цев, транзистор, који може да буде у два дискретна стања:

  • протиче струја – има напона,

  • не протиче струја – нема напона. То се „региструје” бинарним цифрама 0 или 1, а овакав елемент назива се ћелија. У ћелији се може приказати једна бинарна цифра тј. један бит информације. Ћелије се у фон Нојмановој машини групишу у низове фиксне дужине који се називају регистри. Фон Нојманова машина се састоји од процесора (Central Processing Unit – CPU) и меморије (Слика 2.2.2.). Пуном линијом је означен ток инструкција и података, а испрекиданом ток управљачких сигнала.

Image title

Слика 2.2.2. Модел фон Нојманове машине

Изворно, концепт машине је следећи: централно процесорска јединица се састојала од управљачке, аритметичке и улазно-излазне јединице. Аритметичка јединица је садржала и два специјална регистра, акумулатор и регистар података. Меморија је садржала инструкције (програме) и податке што је било ново у односу на ранији концепт где су се програм и подаци третирали одвојено. Она се састојала од 1024 регистра од којих је сваки имао своју адресу – број од 1 до 1024, а сваки регистар је имао по 40 бита. Садржај сваког регистра могао је да се интерпретира као један цео број у бинарном облику или као две (20-битне) инструкције. Осам битова инструкције је дефинисало операцију, а преосталих 12 је означавало реч у меморији. Програм се састојао од низа бинарних инструкција (инструкција записаних бинарном азбуком), тј. програм је био на машинском језику. Ток управљања је био једна инструкција за другом осим у случају „goto” инструкције која је указивала на меморијску локацију где је требало наћи инструкцију за извршавање.

Структура савременог рачунара веома је слична структури фон Нојманове машине, па се за савремене електронске рачунаре каже да у основи имају фон Нојманову архитектуру.

Оперативни системи

Оперативни систем је једна од најважнијих компоненти савремених рачунарских система. Рачунарски систем чине:

  • хардвер – технички систем рачунара који чине процесор, радна меморија, улазно-излазни уређаји и слично и

  • софтвер – програмски систем рачунара који чине:

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

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

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

Image title

Слика 2.3.1. Оперативни системи

Основни задаци оперативних система:

  • управљање процесима – подразумева креирање програма, извршавање, доношење одлука који од процеса ће имати прилику да се извршава на процесору у одређеном тренутку, итд.;

  • управљање меморијом – подразумева распоређивање процеса у оквиру радне меморије;

  • управљање улазно-излазним уређајима – подразумева контролу и трансфер података између уређаја и остатка система;

  • управљање подацима – подразумева чување података, манипулацију са њима, итд.;

  • управљање мрежама – подразумева умрежавање и комуникацију међу рачунарима.

Jезгро је део оперативног система у који су смештене најважније функције које обезбеђују основне сервисе оперативног система. Одговорно је за функционисање система и има задатак да управља хардверским и софтверским ресурсима на најнижем ниову. У њему су дефинисана правила и дозволе којима се регулише функционисање целог система. Услуге које оперативни систем пружа апликативним програмима остварују се помоћу системских позива. Системски позиви су имплементирани тако да дозволе само операције које не могу бити штетне по рачунарски систем. Процесори имају могућност рада у два режима:

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

  • системском – за посебно осетљиве операције које изводи оперативни систем. Корисничка окружења имају задатак да олакшају коришћење осталих делова оперативног система и целокупног рачунарског система. Она се могу поделити на:

  • линијска – конзоле, терминали, командне линије и

  • екранска – пружају могућност да се оперативним системом управља коришћењем целе површине екрана.

Драјвери омогућавају управљање улазно-излазним уређајима. У односу на тип језгра разликујемо неколико врста система.

  • Монолитни системи – садрже језгро у коме се налазе сви сервиси оперативног система заједно са драјверима интегрисани у један програм, при томе се сви делови покрећу у истом тренутку и извршавају у системском режиму у истом делу меморије, али су лоше отпорни на грешке ( Windows 98, GNU/Linux, MS-DOS);

Image title

Слика 2.3.2. Монолитни системи
  • Слојевити системи – њихов оперативни систем је изграђен од засебних слојева који се надограђују један на други, они су неефикасни из разлога што системски позив пролази кроз више слојева, а при сваком пролазу се прослеђују подаци, мењају параметри и то доводи до успорења (Multics);

Image title

Слика 2.3.3. Слојевити системи
  • Системи засновани на микројезгру – они имају минимално језгро у којем се налазе само најосновније функције, а остатак се измешта у кориснички простор у засебне просторе у меморији тако да са безбеднијег нивоа приступају језгру, услуге се групишу у серверске процесе и ови системи имају већи степен сигурности у односу на монолитне, али су обично спорији (Mach, Minix, L4);

Image title

Слика 2.3.4. Системи засновани на микројезгру
  • Хибридни системи – они имају хибридна језгра која представљају компромис између монолитних и микројезгара, неке веома битне функције и оне које се често извршавају се спуштају у језгро како би се повећала брзина и ефикасност, али се добар део функција задржава у нивоима изнад језгра (Apple Mac OS X, Microsoft Windows 7, 8, 8.1);

Image title

Слика 2.3.5. Хибридни системи
  • Системи засновани на егзојезгру – њихово језгро треба да обезбеди основне ресурсе и да апликацијама препусти рад са њима, на тај начин се програмери могу ослонити на одговарајућу библиотеку и оставља им се могућност да имплементирају своје библиотеке (XOK, ExOS)[8].

Image title

Слика 2.3.6. Системи засновани на егзојезгру

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

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

Image title

Слика 2.4.1. Рачунар прве генерације

Image title

Слика 2.4.2. Вакуумске цеви

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

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

Image title

Слика 2.4.3. IBM 704 и оператер

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

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

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

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

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

Image title

Слика 2.4.4. Интегрисана кола

Image title

Слика 2.4.5. Рачунар треће генерације

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

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

Image title

Слика 2.4.6. Програми у меморији

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

Image title

Слика 2.4.7. Мултипрограмирање

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

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

Image title

Слика 2.4.8. Дељење времена

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

Image title

Слика 2.4.9. Мултитаскинг

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

Значајни оперативни системи

У наредном делу биће кратко описани неки од најважнијих оперативних система који су обележили развој рачунарства. Неки од њих су били само добра замисао која је инспирисала неке од каснијих успешних система.

Следећи оперативни системи су обележили развој рачунарства.

Multics (Multiplexed Information and Computing Service)

Оперативни систем Мultics био је заједнички покушај највећих компанија и универзитета, попут MIT, General Electric и Бел лабораторија да направе оперативни систем у који би била имплементирана сва до тада најбоља решења. Учесници у пројекту желели су да креирају оперативни систем који ће бити у стању да ради са великим бројем терминала. Они су будућност видели да у сваком граду постоји моћан централни рачунар, а да грађани у својим домовима поседују терминале уз помоћ којих приступају главном рачунару.

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

Image title

Слика 2.5.1.1. Лого оперативног система Multics

Оперативни системи UNIX фамилије (Uniplexed Information and Computing System)

Крајем шездесетих и почетком седамдесетих година 20.века програмери из Бел лабораторија Кен Томпсон и Денис Ричи са својим колегама су одлучили да напишу оперативни систем за мали рачунар PDP-7. Они су међу последњима напустили рад на Multics-у. Како Ричи и Кен Томпсон нису били задовољни недовршеним пројектом они покушавају поново на новом пројекту.Компанија Бел лабораторија није била одушевљена овом идејом па они почињу да раде на пројекту без званичне подршке компаније. Дају му име UNIX.

Image title

Слика 2.5.2.1. PDP-7

Како би дошли ди циља Кен Томпсон почиње са унапређивањем постојећег BCPL-a. Успева да га спакује у 8 килобајта, и тој побољшаној верзији дајe име „B“. Денис Ричи наставља са усавршавањем језика и 1970. године прави прву верзију новог програмског језика. Као нешто што је дошло после језика B назвао га је C, он је могао да ради на свим архитектурама рачунара. Па ту особину наслеђује софтвер написан у њему и UNIX постаје први систем који је могао да ради на било ком рачунару.

Image title

Слика 2.5.2.2. Кен Томпсон и Денис Ричи

Компанија Бел имала је монопол над телефонијом и није смела да се бави рачунарством. Зато су комплетан код UNIX-а уступили универзитетима и другим компанијама. Најпознатије верзије UNIX-а биле су имплементиране на универзитету Беркли са ознаком BSD (Berkeley Softvare Distribution). У овим верзијама оперативног система UNIX први пут је имплементирана подршка за умрежавање. Бројни произвођачи рачунара развијали су сопствене варијанте оперативног система UNIX.

  • SunOS (Sun Microsystems);

  • System V UNIX (AT&T Bell);

  • XENIX (Micrоsoft);

  • System V Release 4 (SVR4).

Данас постоји велики број врста UNIX система које су засноване или на индустријском стандарду SVR4 или на BSD дистрибуцији. Спајањем OSF(Open Software Foundation) и X/Open-а 1996.године се формира Отворена група (The Open Group), која је данас препозната као сертификационо тело за UNIX.

GNU/Linux

Ричард М. Столман је 1983. године покренуо иницијативу која је требало да доведе до стварања слободног оперативног система на основама UNIX-а. Овај пројекат је назван GNU (скраћеница од „GNU није UNIX”). Пројекат је напредовао у свим деловима осим када је било у питању језгро. GNU/HURD се споро развијало, а јавно тестирање је показало доста недостатака.

Фински програмер Линус Торвалдс је 1991. године започео рад на изради оперативног система за рачунаре који користе процесор Intel 80386. Прво је написао једноставан емулатор за терминале које је користио за повезивање са UNIX системом на факултету, а онда је наставио да га развија и побољшава. Линус је био инспирисан оперативним системом Minix који је пар година раније развио Ендру Таненбаум. Мinix је имао микројезгро, а прва верзија Линусовог језгра (0.01) била је монолитна. Врло брзо је била доступна и верзија 0.02. Он је позвао све програмере да се придруже пројекту. Линусово језгро је добило име Linux. Спајањем Linux језгра и GNU алата комплетиран је оперативни систем GNU/LINUX. Данас постоји велики број различитих дистрибуција GNU/LINUX система: Ubuntu, Slackware, Debian, Fedora, SuSE, итд. Њих одликује стабилност, брзина и висок степен безбедности. У последње време користи се и назив Linux.

Језгро Linux оперативног система је софтвер отвореног кода са лиценцом GNU GPL(General Public Licence). Корисници су слободни да преузимају изворни код и праве измене.

Image title

Слика 2.5.3.1. GNU/Linux

Оперативни системи компаније Microsoft

Оперативни систем CP/M фирме Digital Research био је намењен осмобитним рачунарима који су имали микропроцесоре Intel 8080 и Zilog Z80. Њега је средином седамдесетих година 20. века развио Гери Килдал. Овај систем имао је вишеслојну архитектуру.

Компанија Intel је 1981. године произвела микропроцесор 8088 са 16-битном архитектуром. Из тог разлога компанији IBМ је био потребан нови оперативни систем. Програмери су почетком осамдесетих година 20. века сматрали да је 1МВ довољно, па је Digital Research одлучила да не развија 16-битни оперативни систем.

На челу фирме Microsoft био је Бил Гејтс. Он је имао визију „рачунар на сваком радном столу и у сваком дому”. Компанија IBM склапа уговор са Microsoft-ом о куповини 16-битног оперативног система MS/DOS (Microsoft Disc Operating System). Њега је развила компанија Seattle Computer Products под називом 86-DOS. Microsoft га је купио, прилагодио потребама система, лиценцирао под новим именом и продао IBM-у. IBM је овај систем инсталирао на први персонални рачунар РС-DOS 1981. године. Примарни задатак оперативног система DOS био је управљање дисковима. Он није имао графички кориснички интерфејс већ линијски.

Током скоро двадесет година развоја DOS-а појавиле су се многе верзије. Када се 1984. године појавио Apple Machintosh, долази до наглог пораста интересовања за графички кориснички интерфејс. Зато се Microsoft усредсредио на његово креирање. 1985. године појавила се прва верзија Windows-а који је био графичка надградња на DOS. Затим је настао Windows NT који је био потпуно независан од DOS-а. Радни назив оперативног система са графичким корисничким интерфејсом било је Interface Manager јер је замишљен као допуна DOS-у. На крају је изабрано име Windows јер најбоље описује рачунарске прозоре који представљају темељ овог оперативног система.

Новонаправљени оперативни систем није био најбоље решење јер је тада могао да се направи бољи. Међутим, Microsoft је желео да овим системом направи брзи прелазни корак како не би изгубио тржиште. Док је IBM желела озбиљнији оперативни систем али и подршку само за њихов хардвер. Из тих разлога долази до разлаза ове две компаније. IBM развија свој оперативни систем OS/2, a Microsoft Windows.

Последње верзије оперативних система компаније Microsoft су редизајниране и имају потпуно нови приступ када су у питању графички кориснички интерфејси. Ови системи се могу користити на серверима, моћним рачунарима, али и на таблетима и паметним телефонима.

Image title

Слика 2.5.4.1. Бил Гејтс

Статистички гледано, највећи број корисника су Windows корисници. Чак 87,7% свих рачунара на свету ради на Windows оперативном систему, док свега 2,3% ради на Linux-у. Неке од разлика ова два оперативна система:

  • Linux је бесплатан и Оpen Source Software, што значи да га у целости можемо користити потпуно бесплатно и вршити модификације на њему. Windows није бесплатан и испоручује уз Microsoft лиценцу која не дозвољава приступ изворном коду.

  • Linux је безбеднији али није у потпуности заштићен од вируса. Како је Linux кернел Open Source softver, он је под будним оком многих програмера, а та заједница му даје додатну сигурност. Што се тиче приватности, Linux дистрибуција не прикупља било какве податке о корисницима. Windows је веома изложен нападима хакера, зато се препоручује инсталирање неког антивируса. Пожељно је да буде антивирус пакет уз који долази и firewall и додатни безбедносни софтвер. Наш Windows подразумевано прикупља податке о нашим активностима, али Microsoft тврди да све податке прикупља анонимно.

  • Linux се сматра једним од најстабилнијих оперативних система на тржишту. Многи Linux сервери раде без престанка преко годину дана, а да им није потребан чак ни рестарт. Зато је веома популаран у пословном окружењу. Windows са собом носи гомилу пратећег софтвера који временом додатно оптерећују оперативни систем, чинећи га спорим и тромим. Из тог разлога корисници морају да реинсталирају Windows с времена на време.

  • Једна од најбољих ствари у вези са Linux-ом је што кориснику пружа потпуну слободу над софтвером, и потпуну аутономију над надоградњом на нову верзију. Код Windows-а корисници имају веома малу контролу над ажурирањима. Може се десити да у току рада на неком важном пројекту у позадини почне процес ажурирања који ће успорити рад. Због притужби корисника Windows је обезбедио Microsoft store за преузимање софтвера.

  • Кроз сталне измене и унапређивање, Linux је постао веома интуитиван, па га већина корисника може користити и без техничког предзнања. Прилагодио се потребама корисника не жртвујући најбитније елементе које га чине Linux-ом. Широка распрострањеност и доступност на већини рачунара чини Windows веома једноставним за коришћење.

  • Linux се може прилагодити да изгледа идентично као неки од Windows-а или macOS. Уколико се барата кодом, може се прилагодити и сам оперативни систем. Док је прилагођавање Windows-а ограничено. Може се играти бојама, иконицама, бирати тема.

  • Подршка за рад на старијим рачунарима је оно што Linux-у даје предност у односу на Windows. То значи да ако имамо стари лаптоп или рачунар, без проблема се може инсталирати Linux и радиће као сат. Windows је веома распрострањен па има и бољу харверску подршку, али не може радити на старом хардверу.

  • Linux никада није био познат по својој подршци за игре. Све значајније игре је могуће покренути на Windows-у осим ако нису рађене за конзолу.

Оперативни системи компаније Аpple

Оперативни системи компаније Аpple са графичким интерфејсом појавили су се 1984. године. Верзија 7.6 која се појавила 1996. године је прва верзија која је носила назив Мас ОS, док су се претходне звале системски софтвер и испоручивале уз хардвер. Прве верзије су биле намењене Macintosh рачунарима.

Прва издања оперативних система имала су могућност да покрећу и извршавају само један програм у одређеном тренутку. Тек касније је верзија System Software допуштала систему да покреће више програма одједном. Реализоване су многе верзије овог произвођача и носиле су имена великих мачака. А када су искоришћени сви називи, Apple je одлучио да верзије оперативних система називају по местима у Калифорнији.

IOS је оперативни систем који компанија Apple 2007. године развија за паметне телефоне iPhone. Касније је подржао друге уређаје ове компаније (iPod Touch, iPad, iPad mini, итд.).

Епохална новина коју је овај систем донео је кориснички интерфејс који се заснива на мултитач приступу. А то значи да уређај има могућност да у истом тренутку препознаје више притисака екрана. Пре појаве iOS-а, телефони нису имали екране осетљиве на додир, или је он захтевао релативно јако притискање и није имао могућност регистровања више додира у истом тренутку. Ситуација се променила уградњом капацитивних екрана у iPhone уређаје. Усавршено је скроловање, омогућено је увеличавање прстима. То су биле главне новине.

Андроид

Андроид је један од најпопуларнијих оперативних система за мобилне уређаје. Пре свега је намењен за паметне телефоне и таблет рачунаре. Заснован је на језгру оперативног система Linux. Његов развој је започела компанија Андроид. На почетку је финансијски подржавала компанија Google, а касније откупила. Први телефон са овим системом је био HTC Dream и продат је 2008. године.

Компанија Google развија Андроид у сарадњи са конзорцијумом Open Handset Alliance. Њега чине хардверске, софтверске и телекомуникационе компаније које су поборници отворених стандарда за мобилне уређаје. Андроид је пројекат отвореног кода. Овакав начин лиценцирања омогућио је велику популарност овог система јер је привукао велику пажњу програмера. Интеракција корисника са оперативним системом се одвија слично као када је у питању iOS. Хардверске компоненте паметних телефона (акцелерометар, жироскоп, сензор растојања, итд.) користе се да би неке апликације одговориле на додатне корисничке акције.

Image title

Слика 2.5.6.1. Лого последње верзије Андроида

Андроид и iOS су два најпопуларнија оперативна система за мобилне телефоне и таблете. Ако узмемо у обзир само оперативне системе, постоје разлике, али сваки од њих предњачи у некој области. Када упоређујемо Андроид и iOS морамо имати у виду уређаје на којима су они инсталирани.

  • Предност iOS-а у односу на Андроид је такозвани Apple екосистем. Ово је назив за чињеницу да су сви Аpple-ови уређаји (Маc, iPad, Apple Watch, iPhone) међусобно повезани. Сви подаци се могу брзо и лако делити између свих уређаја, без потребе за коришћењем додатних програма и апликација. Могуће је повезати Андроид и Windows, али је за iOS далеко лакше.

  • Андроид има већи избор апликација, али су на iOS бољег квалитета.

  • IOS се искључиво налази на уређајима које производи Аpple, док се Андроид налази на свим осталим. У поређењу са Андроидом, Аpple-ови производи су доста скупљи.

  • Аpple je злогласан по нечему што се назива Planned Obsolescence (планирана неупотребљивост). То значи да Аpple намерно успорава старије моделе својих производа како би корисници купили нове уређаје. Аpple је водећа корпорација по томе да своје производе чини тешким и скупим за поправке.

Честa недоумица корисника андроида је да ли је Андроид дистрибуција Linux-а.

Постоји само један аргумент који иде у прилог класификацији Андроида као Linux-а. Сваки телефон или таблет који ради на Андроиду садржи Linux карнел. Чак можете проверити и на којој верзији карнела ради ваш уређај у Поставкама -> О уређају -> Информације о софтверу.

Међутим, постоји више аргумената који објашњавају зашто Андроид није дистрибуција Linux-а:

  • не користи стандардни Linux карнел;

  • не укључује GNU софтвер и библиотеке;

  • немогуће је покретати Linux апликације на Андроиду и обрнуто;

  • продукт је Google-а;

  • статус „отвореног кода” је дискутабилан;

  • модификација није могућа.

Суштински, све зависи од дефиниције Linux дистрибуције. Уколико се водимо тиме да Linux дистрибуција мора садржати GNU софтвер, Андроид није дистрибуција Linux-а. Уколико на дистрибуцију Linux гледамо као на оперативни систем који садржи карнел и испуњава један или више додатних критеријума онда и даље Андроид није дистрибуција Linux-а. Иако сваки Андроид уређај садржи Linux карнел, Андроид углавном не задовољава остале карактеристике и критеријуме који се доводе у везу са Linux дистрибуцијама. Али, ако дефиницију дистрибуције Linux-а једноставно посматрамо као оперативни систем који је базиран на Linux карнелу, онда је Андроид дистрибуција Linux-а.