ОПЕРАТИВНИ СИСТЕМИ
скрипта проф. Градимир Савић, дипл.инж. школска година 2013/2014
Електротехничка школа „Раде Кончар“ Београд
Функција ОС ........................................... ................................................................. ............................................ ............................................. ...................................... ............... 4 Оперативни систем (системски софтвер) ............................................ ................................................................... .............................. ....... 4 Апликативни софтвер ........................................... ................................................................. ............................................ ......................................... ................... 5 Задатак оперативног система .......................................... ................................................................. ............................................. ............................. ....... 6 Развој ОС ............................................. .................................................................... ............................................. ............................................. ......................................... .................. 7 Карактеристике савремених ОС ............................................ ................................................................... ............................................. ...................... 7 Изврсавање програма ........................................... .................................................................. ............................................. ......................................... ................... 7 У\И операције ............................................ ................................................................... ............................................. ............................................. .............................. ....... 7 Комуникација............................................. .................................................................... ............................................. ............................................. .............................. ....... 7 Управљање системом датотека .......................................... ................................................................. ............................................. .......................... .... 8 Врсте ОС ............................................. .................................................................... ............................................. ............................................. ......................................... .................. 9 Једнокориснички ОС -MS DOS ........................................... .................................................................. ............................................. ........................... ..... 10 Структура ОС ............................................. ................................................................... ............................................ ............................................. ................................ ......... 12 МОНОЛИТНИ СИСТЕМИ ............................................. .................................................................... ............................................. ........................... ..... 12 МИКРО ЈЕЗГРО ............................................ .................................................................. ............................................ ............................................. ......................... .. 13 МОДУЛАРНИ ОС ......................................... ............................................................... ............................................ ............................................. ......................... .. 14 Појам фајла – датотеке – датотеке /FILE/ ................................................ ....................................................................... ............................................. ........................ .. 15 ПОЈАМ ФАЈЛА – ДАТОТЕКЕ – ДАТОТЕКЕ (FILE) ......................................... ............................................................... .................................... .............. 15 ОЗНАЧАВАЊЕ ДАТОТЕКА .......................................... ................................................................. ............................................. ........................... ..... 15 ОРГАНИЗАЦИЈА ДАТОТЕКА (FILE SYSTEM) ........................................... ........................................................... ................ 15 Појам процеса и стање процеса .......................................... ................................................................. ............................................. ........................... ..... 17 КОНКУРЕНТНИ ПРОЦЕСИ .......................................... ................................................................. ............................................. ............................... ......... 19 Проблем управљања конкурентним процесима ............................................................ ............................................................. .. 20 УПРАВЉАЊЕ МЕМОРИЈОМ ............................................ ................................................................... ............................................. ........................... ..... 21 Проблем управљања меморијом ............................................ ................................................................... ........................................... .................... 21 Систем са више нивоа ........................................... ................................................................. ............................................ ....................................... ................. 22 Виртуелне и физичке адресе ........................................... .................................................................. ............................................. ........................... ..... 24 Фрагментација ........................................... .................................................................. ............................................. ............................................. ............................ ..... 24 Статички сегмент и статичке странице ............................................ ................................................................... .................................... ............. 25 Рад са партицијама ............................................ .................................................................. ............................................ ........................................... ..................... 25 Статичке партиције ........................................... ................................................................. ............................................ ........................................... ..................... 25 Динамичке партиције ........................................... .................................................................. ............................................. ....................................... ................. 25 Статички сегменти и статичке странице .......................................... ................................................................. ................................ ......... 26 Виртуелна меморија .......................................... ................................................................ ............................................ ............................................. ......................... .. 29 Организација са динамичким сегментима ........................................... .................................................................. ............................ ..... 29 Организација са динамичким страницама ........................................... .................................................................. ............................ ..... 30 Динамичка сегментно-странична организација .......................................... .............................................................. .................... 31 Заштита меморије .......................................... ................................................................. ............................................. ............................................. ............................ ..... 32 Управљање уређајима. .......................................... ................................................................ ............................................ ........................................... ..................... 33 У/И модули ............................................. ................................................................... ............................................ ............................................. ................................ ......... 33 Технике извршавања У/И операција ............................................ ................................................................... .................................... ............. 33 Програмирани У/И .......................................... ................................................................ ............................................ ....................................... ................. 33 .................................................................. ............................................. ........................ .. 33 Прекидима управљан У/И ........................................... Директан приступ меморији ........................................... .................................................................. ........................................... .................... 34 Управљање датотекама ............................................ ................................................................... ............................................. ....................................... ................. 35 Логички и физички систем за управљање датотекама .......................................... ................................................... ......... 35 Датотеке .......................................... ................................................................. ............................................. ............................................. ....................................... ................ 36 Директоријуми ........................................... .................................................................. ............................................. ............................................. ............................ ..... 36 Организација система датотека .......................................... ................................................................. ............................................. ........................... ..... 39
Оперативни системи-скрипта
2
Електротехничка школа „Раде Кончар“ Београд
Организација датотека .......................................... ................................................................ ............................................ ....................................... ................. 39 Методе приступа ........................................... ................................................................. ............................................ ............................................. ......................... .. 40 Методе доделе простора на диску ............................................. .................................................................... ....................................... ................ 40 Удаљени системи датотека .......................................... ................................................................ ............................................ .................................... .............. 42 Заштита оперативних система ............................................ ................................................................... ............................................. ........................... ..... 43 Захтеви система заштите савремених система ............................................ ................................................................ .................... 43 Врсте напада ........................................... ................................................................. ............................................ ............................................. ................................ ......... 44 Вируси ............................................. ................................................................... ............................................ ............................................. .................................... ............. 46 Црви ............................................. .................................................................... ............................................. ............................................. ....................................... ................ 47 Тројански коњ ............................................ .................................................................. ............................................ ............................................. ......................... .. 47 Механизми заштите .......................................... ................................................................ ............................................ ....................................... ................. 47 Рачунарске мреже и начин рада у мрежи......................................... ............................................................... .................................... .............. 49 Начин рада у мрежи .......................................... ................................................................ ............................................ ........................................... ..................... 49 Централизована обрада ............................................ .................................................................. ............................................ ................................ .......... 49 Обрада на мрежи равноправних рачунара .......................................... ................................................................. ......................... .. 49 Обрада у клијент-сервер окружењу .......................................... ................................................................. .................................... ............. 49 Топологија мреже .......................................... ................................................................. ............................................. ............................................. ............................ ..... 50 Потпуна повезаност .......................................... ................................................................ ............................................ ........................................... ..................... 50 Делимична повезаност .......................................... ................................................................ ............................................ ....................................... ................. 50 Мрежа са структуром дрвета ........................................... .................................................................. ............................................. ........................... ..... 51 Мрежа са структуром звезде ........................................... .................................................................. ............................................. ........................... ..... 51 Мрежа са структуром прстена ........................................... .................................................................. ............................................. ........................ .. 52 Мрежа са структуром магистрале .......................................... ................................................................. ........................................... .................... 53 Локалне рачунарске мреже .......................................... ................................................................ ............................................ .................................... .............. 55 Погодности LAN мрежа .......................................... ................................................................ ............................................ .................................... .............. 55 Недостаци LAN мрежа .......................................... ................................................................ ............................................ ....................................... ................. 56 Глобалне рачунарске мреже ............................................ .................................................................. ............................................ ................................ .......... 57
Оперативни системи-скрипта
3
Електротехничка школа „Раде Кончар“ Београд
Функција ОС Рачунар је Рачунар је уређај (hardware) уређај (hardware) koji обрађује, обрађује, памти или размењује информације. информације. Начин на који то ради је ради је одређен у програму. програму. Програм (software) Програм (software) је је низ команди које одређују шта треба урадити са подацима. подацима. Значи, Значи, два неодвојива дела рачунара су: су:
хардвер – хардвер – уређај (hardware уређај (hardware ) i софтвер – софтвер – програм (software). програм (software).
Пошто хардвер не може да ради без софтвера, софтвера, а софтвер нема смисла без хардвера јасно хардвера јасно је је да они чине рачунар. рачунар. На пример, пример, ако замислимо да је да је људско биће рачунар, рачунар, онда би хардвер представљале ћелије ткива, органи, органи, ...), а мисли и идеје би представљали софтвер. софтвер . (ткива, Хардвером треба управљати, управљати, тј. тј. на неки начин треба „натерати“ процесор да сабере два броја, броја, диск да диск да запамти одређену слику, слику, монитор да прикаже податке како треба, треба, поинтер да прати кретање миша, миша, штампач да одштампа жељене одштампа жељене подат итд. итд. То је То је посао софтвера или програма. програма. Дакле, Дакле, исправан хардвер не ради ако нема софтвера. софтвера. Тип софтвера који управља хардвером зове се системски софтвер ( софтвер ( јер јер управља системом) системом) или оперативни систем. систем. Софтвер не служи само да управља хардвером него и за пружање услуга кориснику ( кориснику (човеку човеку). ). Тако су за разне послове креирани различити програми. програми. Ако желите Ако желите да откуцате неки текст одређени програм вам нуди ту могућност. могућност. Ако желите Ако желите да креирате неку слику користићете неки другипрограм. другипрограм. Чак и Чак и корисник може направити неки свој програм за неку посебну c посебну cврху врху.. Ова врста софтвера која пружа разне услуге корисницима тј. тј. има конкретну примену ( примену (application ) u свакодневном послу се зове апликативни софтвер ( софтвер (примењени примењени или употребни програм). програм). Дакле, Дакле, софтвер делимо на: на:
системски ( системски (оперативни оперативни систем за управљање хардвером) хардвером) и апликативни ( апликативни (примењиви примењиви). ).
Софтвер се креира помоћу неког програмског језика програмског језика.. Најпознатији програмски језици програмски језици су: су: Basic, система је креирана Pascal, Fortran, C, C++, Java, Delphi, VisualBasic itd. Већина данашњих оперативних система је („написана“) у C-u. у C-u. ) ) Оперативни систем Оперативни систем ( системски софтвер системски софтвер
је скуп програма који управљају хардвером, хардвером, подацима и извршавају наредбе корисника. корисника. Функције оперативног система су: су:
управљање процесором ( процесором (CPU ), ), управљање меморијом ( меморијом (RAM ), ), управљање I/O управљање I/O уређајима, уређајима, управљање подацима и управљање апликацијама. апликацијама.
Оперативни системи-скрипта
4
Електротехничка школа „Раде Кончар“ Београд
Дакле, Дакле, ОС контролише и управља рачунаром уз помоћ инструкција корисника. корисника. Ако би графички приказали однос корисника и рачунара онда би то изгледало као на слици 1. Наиме, Наиме, корисник ради корисник ради на некој апликацији ( апликацији (уноси уноси текст, текст, слуша музику, музику, пројектује, пројектује, рачуна, рачуна, ...). Апликација ...). Апликација користи оперативни систем да би извршила обраду података на хардверу. хардверу.
Апликативни софтвер Апликативни софтвер или просто апликације се користе за извршавање одређених послова на рачунару: рачунару: обрада текста, текста, табеларни прорачуни, прорачуни, цртање, цртање, обрада слике, слике, обрада звука, звука, компоновање, компоновање, креирање анимација, анимација, учење, учење, забава итд. итд. Апликације су онај део рачунара који крајњи корисник највише корисник највише користи. користи. Апликације користе оперативни систем да би приступиле хардверу. хардверу. Због тога се апликације креирају и прилагођавају за разне оперативне системе. системе. Другим речима, речима, апликација израђена за Windows за Windows обично неће радити на PC на PC који користи Linux користи Linux OS. Познате апликације које се свакодневно користе су: су: за унос и обраду текста, текста, за табеларну обраду података, података, за креирање презентација, презентација, за креирање база података, података, за креирање WEB креирање WEB страница за читање WEB читање WEB страница, страница, за креирање и обраду слике, слике, за креирање графика и цртежа, цртежа, за обраду звука, звука, итд. итд. Сличне апликације постоје за све ОС. ОС. Ово су апликације опште намене. намене. Поред њих, њих, постоје апликације за посебне намене ( намене (банкарско банкарско пословање, пословање, евиденција грађана, грађана, статистика, статистика, финансијко пословање, пословање, итд). итд).
Оперативни системи-скрипта
5
Електротехничка школа „Раде Кончар“ Београд
Корисници кроз апликације користе функције рачунара (обрада, памћење и пренос информација). Да би апликације правилно функцеонисале треба да су прилагођене оперативном систему и да користе његове предности. Дакле, познавање оперативног система је неопходан предуслов за креирање и коришћење ОС.
Задатак оперативног система Оперативни систем је програм који обједињује у складну целину разнородне делове рачунара и сакрива од корисника оне детаље функцеонисања ових делова који нису битни за коришћење рачунара.Значи, оперативни систем има двоструку улогу. С једне стране, он управља деловима од којих се састоји рачунар (процесор, I/O контролери, радна меморија), са циљем да они буду што целисходније употребљени. С друге стране, оперативни систем ствара за крајњег корисника рачунара приступачно радно окружење, тако што претвара рачунар од машине која рукује битима,бајтима и блоковима у машину која рукује датотекама и процесима.
Оперативни системи-скрипта
6
Електротехничка школа „Раде Кончар“ Београд
Развој ОС У првој генерацији рачунарских система оперативни системи нису постојали, тако да је оператер који је опслуживао рачунарски систем, био у обавези да све потребне радње, пре свега везане за улаз и излаз података неког програма, обави сам. У другој генерацији рачунарских система долази до настанка првих контролних програма који су помагали оператеру да опслужује рачунарски систем. Тада су, дакле, први пут функције опслуживања и управљања системом подељене између оператера и контролних програма. Али ти контролни програми нису били толико софистицирани да би их могли назвати оперативни систем. У трећој генерацији рачунарских система, контролно управљачке функције се још више пребацују на сам рачунар и због тога долази до настанка већег броја контолних и управљачких програма велике комплексности. Скуп свих тих програма назван је оперативни систем.
Карактеристике савремених ОС Ранији ОС (MS DOS, UNIX, VMS, ...) су радили у тзв. текстуалном моду . То значи да је корисник куцао текстуалне наредбе које су углавном биле компликоване. Коришћење рачунара је било доста непрактично и тешко за учење. То је био један од разлога зашто је мало људи тада користило рачунаре. Познато је да обрада једне слике тражи многоструко више рачунарских ресурса од обраде било ког текста. Развојем хардвера рачунари су имали све боље перформансе и рад са графиком је постајао све лакши. То је био предуслов за појаву тзв. графички орјентисаних оперативних система (Windows, Linux, Mac OS). Ови ОС су увели појам показивача (поинтер) који се користи као кажипрст. Померање овог поинтера се обавља помоћу миша. Овим поинтером се бирају команде или сличице које се затим стартују неким од тастера миша. Ова графичка веза између корисника и рачунара се назива GUI (Graphical User Interface ). Предности при коришћењу GUI-а су једноставност при раду, интуитивно и брзо учење. Коришћење GUI-a личи на споразумијевање „рукама“. Дакле, уместо да се куцају компликоване наредбе просто се прстом показује на њих. То је допоринијело огромном повећању броја корисника PC рачунара. Данас не постоји ОС који нема или не развија GUI.
Изврсавање програма ОС пуни главну меморију програмом и почиње његово извршавање.Корисницки програми не могу да сами себи доделе процесор.
У \И операције Систем мора да комуницира са дисковима, USB уређајима, магнетним тракама и другим уређајима ниског нивоа.Корисник задаје уређај и операцију коју треба извршити а систем конвертује тај захтев у специфицне команде уређаја и или контролера. Кориснички програми не могу да приступе недељивим уређајима сваки пут када им је то потребно већ само када се ти уређаји не користе од стране неког другог уређаја.
Комуникација Слање порука између система захтева да се поруке деле у пакете података, шаљу до мрежног контролера, преносе преко комуникацеоних медијума и на месту одредишта испоруче као целина. Кориснички програми нису у могућности да координирају приступом мрежи већ је то задатак ОС.
Оперативни системи-скрипта
7
Електротехничка школа „Раде Кончар“ Београд
Управљање системом датотека Постоји пуно детаља о којима корисници не морају да воде рачуна при креирању датотеке, брисању, додели меморије...Нпр.потребно је водити евиденцију о блоковима на диску који се користе за датотеке. Брисање датотеке захтева брисање информација о имену датотеке и ослобађање додељених блокова. Да би се обезбедео ауторизован приступ датотеци потребно је проверити заштиту. Кориснички програми не могу да обезбеде заштиту нити доделе или ослободе меморију.
Оперативни системи-скрипта
8
Електротехничка школа „Раде Кончар“ Београд
Врсте ОС ОС можемо класификовати по више критеријума. По броју процесора ОС могу бити:
Једнопроцесорски Вишепроцесорски
Вишепроцесорски системи представљају могућност значајног побољшања за велики број апликација које имају проблем са процесором. Код њих се велики послови декомпонују на неколико мањих послова који се извршавају истовремено и тако се време извршавања апликација смањује. По броју подржаних процесора и процеса: Тип ОС Монопрограмски Вишепрограмски Вишепроцесорски Дистрибуирани
Бр.процесора 1 1 ≥1 ≥1
Бр.процеса 1 ≥1 ≥1 ≥1
Дељена меморија Да Не
Монопрограмски ОС су најстарији ОС и у датом временском интервалу они могу да извршавају само један посао,тј.извршавање другог посла може да започне тек након сто се први у потпуности заврши. Вишепрограмски ОС су пројектовани тако да у датом временском интервалу могу да извршавају више послова. Код њих постоји преклапање захтева за процесором и У/И уређајима од стране више програма или корисника.Тако се потиже искорисчење процесора а циљ је да процесор увек има шта да ради. Вишепроцесорски ОС управљају радом рачунара који има више процесора при чему сви користе дељену меморију.Могу бити:
Симетрични (сви процесори су једнаки и У/И активност може да буде урађена на било ком процесору), Асиметрични (постоји главни процесор и он углавном ради У/И активност и дистрибуира рад осталих процесора).
Дистрибуирани ОС су пројектовани тако да у датом временском интервалу могу да извршавају више послова на више процесора који у општем случаји не користе дељену меморију. По начину рада:
Који подржавају пакетну обраду, Који подржавају обраду са дељењем процесорског времена, Који подржавају обраду у реалном времену.
Код пакетне обраде се послови извршавају оним редом којим пристижу у ред послова спремних за извршавање.Користио се код уређаја са бушеним картицама и магнетним тракама.Недостатак је да неки кратки послови дуго ћекају заврсетак већ униетих послова. Код ОС са дељеним временом сваком кориснику се у унапред дефинисаном квантуму времена додели процесор.Након истека тог времена ОС одузима процесор од тог процеса и додељује га следећем процесору. Обрада у реалном времену је присутна код система где се време одговора захтева у строго дефинисаним границама.Овде није дозвољено прекорачење договореног времена одговора. У употреби су најчешће системи опште намене који користе више начина рада.
Оперативни системи-скрипта
9
Електротехничка школа „Раде Кончар“ Београд
Једнокориснички ОС-MS DOS MS DOS(Microsoft Disk Operating S ystem) је настао 1981 године и ова верзија је била на дискети и зато је остао тај назив. Неки програми ОС су у RAM-у а неки на диску. Важан је програм који интерпретира наредбе ОС, које уноси корисник , налази се на диску и зове COMMAND.COM.Без њега је рад на рачунару немогућ. Ако дође до квара било којег типа, рачунар се поново стартује са CTRL+ALT+DEL, тзв.софтверски ресет рачунара. MS DOS је ОС развијен пре Windows OS код кога корисник комуницира са рачунаром у графичком окружењу.Код MS DOS-а команде и захтев за стартовање програма исписују се на командној линији уносом са тастатуре,сто подразумева познавање синтаксе овог ОС. Било какав други текст MS DOS третира као неразумњиву поруку и исписује на екрану Bad command or file name.
Након укључења рачунара тестира се хардвер и учитава OS .Након преласка у DOS појављује се тзв.prompt C:\> који означава активну јединицу (C:активна јединица,\ ознака кореног директоријума,> ознака краја одзивног знака).Одзивни знак указује да је рачунар спреман да изврши неку команду.Иза одзивног знака налази се курсор.MS DOS допушта исписивање и малих и великих слова и све их третира као велика. Притиском на Enter по завршетку исписа команде корисник саопштава рачунару да треба да изврши команду. DATE испис текућег датума CLS Clear Screen брисање екрана TIME испис текућег времена верзија оперативног система VER Shift+PrtSc шампање текста на екран Ctrl+PrtSc све са екрана на штампач За идентификацију спољних уређаја користе се ознаке A:,B: дискетна јединица C:,D:, диск Прелазак са једне на другу јединицу C:\>A: или A:\>C: Припрема дискете за употребу на рачунару врши се помоћу наредбе FORMAT, којом се форматизује дискета, при томе се сав претходни садржај губи. C:\>format: C:\>format A:\s служи за прављење системске дискете(boot) неопходне за подизање система. Подаци се морају организовати ради чувања и ефикаснијег коришћења.Скуп сродних података зове се фајл или тека.За сваки фајл се мора увести идентификација.Она садржи име и тип фајла. Име чини ниска од 8 знакова, а тип(екстензија) три знака.Тип описује садржај фајла. Нпр.Arj-архива, Bat-низ наредби управљачког језика, Com-извршни програм, Exe- извршни програм, Sys-системски програм, Dat-подаци, Dbf-датотека, Doc-документ у Word-u,Xls-документ у Excel-у, Gif-слика, Txt-текст. Списак фајлова је директоријум. Директоријум је простор у меморији у којем се евидентирају поддиректоријуми и фајлови.
Оперативни системи-скрипта
10
Електротехничка школа „Раде Кончар“ Београд
При форматирању диска отвара се корени директоријум, у коме се отварају поддиректоријуми и тако у дубину.Тако се добије структура у виду стабла. У сваком директоријуму је списак поддиректоријума и фајлова. Да бисмо дошли до неког фајла морамо рећи рачунару где се он налази. То се назива пут. Пут се састоји од имена свих директоријума кроз које се мора проћи од кореног до оног у ком је наш фајл. Имена директоријумума се раздвајају обрнутим косим цртама. C:\vezba1\test> Dir исписује комплетан садржај на екрану и фајлове и директоријуме Dir/p листа страницу по страницу Dir/p/w листа прозор по прозор и страницу по страницу Dir*.* * је џокер знак ,мења низ знакова а ? мења само један знак креира директоријум MD Make Directory c:\>md vezba CD Change Directory c:\cd vezba, c:\vezba> прелазак на други директоријум cd.. повратак на претходни директоријум cd\ повратак на корени директоријум rd Remove Directory брисање директоријума,мора бити празан и не смије бити активан type dan.txt читање текстуалног фајла ren dan.txt noc.txt промена имена del dan.txt брисање фајла copy c:\vezba\dan.txt c:\I1\dan.txt одакле, шта, где, у шта move слично копирању tree структура текућег директоријума
Оперативни системи-скрипта
11
Електротехничка школа „Раде Кончар“ Београд
Структура ОС МОНОЛИТНИ СИСТЕМИ Оперативни систем који користи овакву структуру (UNIX) је реализован као скуп процедура (тј. функција које су организоване по модулима), од којих свака може позвати сваку ако је то потребно. Монолитни оперативни системи немају правилну структуру као слојевити оперативни системи, јер се састоје од модула чија сарадња није ограничена правилима као код слојевитих оперативних система. То значи да се из сваког од модула монолитних оперативних система могу слободно позивати операције свих осталих модула. Ово је досад највише коришћена организација и може се са пуним право назвати “Велика збрка”. Структура је таква да уопште нема структуре. Што се тиче сакривања информација, то овде уопште не постоји, тј. свака процедура је видљива у односу на било коју другу процедуру, за разлику од структуре која садржи модуле или пакете, у којој је већина информација сакривена унутар модула, тако да се само у одређеним тачкама могу позвати ван модула. Чак је и у монолитским системима могуће постићи мало структурности:
Главни програм који призива захтевану услужну процедуру. Скуп услужних процедура које извршавају позиве система. Скуп корисничких процедура које помажу услужним процедурама.
У овом моделу, за сваки позив система постоји једна услужна процедура која одрађује тај позив. На следећој слици је структурни модел монолитног система.
Могу се уочити три нивоа.На највишем нивоу (1) главни програм позива захтевану услужну (сервисну) процедуру (2) која извршава системски позив. За сваки системски позив постоји по једна сервисна процедура. Корисничке (”utility”) процедуре која се налазе на трећем нивоу врше неку обраду података или приступ хардверу. Корисничке процедуре се позивају од стране услужних процедура.
Оперативни системи-скрипта
12
Електротехничка школа „Раде Кончар“ Београд
МИКРО ЈЕЗГРО Алтернатива структури монолитног оперативног система је архитектура са микро језгром (мицрокернел) као што је приказано на слици:
Код архитектуре са микро језгром само најважније функције ОС-а се налазе у језгру. Мање важни сервиси и апликације су ван језгра и извршавају се у корисничком режиму рада. Компоненте ОС изван микро језгра се имплементирају као сервер процеси.Ове компоненте комуницирају међусобно тако што шаљу поруке преко микро језгра. Микро језгро врши валидацију порука, преноси поруке између компонената и даје компонентама приступ хардверу. Компоненте могу бити драјвери уређаја, сервер датотека, сервер процеса, програми за управљање виртуелном меморијом...Нпр.ако апликација треба да отвори датотеку тада она шаље поруку серверу датотека преко микро језгра.Сваки од сервера може да пошаље поруку другим серверима и може да позива примитивне функције унутар микро језгра.Тако је остварена клијентсервер архитектура унутар једног рачунара. Основне предности ОС са микро језгром су следеће:
Додавање новог сервиса на захтева модификовање језгра ОС, Систем је безбеднији јер се више операција извршава у корисничком режиму рада, Представља подршку дистрибуираним системима, Представља подршку објектно-оријентисаним ОС, Омогућава једноставније пројектовање језгра и поузданији ОС.
Оперативни системи-скрипта
13
Електротехничка школа „Раде Кончар“ Београд
МОДУЛАРНИ ОС Савремени ОС се може декомпоновати у модуле који обезбеђују следеће функције:
управљање процесима управљање меморијом управљање У/И уређајима управљање датотекама управљање мрежом.
На слици је дат приказ модуларног ОС који садржи све претходно наведене модуле.Постоји неколико предности модуларних ОС:
лакше је модификовати систем и исправљати грешке јер промене утичу само на неке делове система, информације се чувају само где је то потребно, информацијамма се приступа само унутар дефинисане и ограничене области.
Оперативни системи-скрипта
14
Електротехничка школа „Раде Кончар“ Београд
Појам фајла – датотеке /FILE/ ПОЈАМ ФАЈЛА – ДАТОТЕКЕ (FILE) За појам фајла су везани садржај и атрибути. Садржај фајла образују кориснички подаци. У атрибуте фајла спада, на пример, величина или време његовог настанка. Атрибути фајла се чувају у дескриптору фајла. Датотеке омогућују корисницима да организују податке у складу са својим потребама.
ОЗНАЧАВАЊЕ ДАТОТЕКА Свака датотека има име које бира корисник . Пожељно је да име датотеке указује на њен конкретан садржај, али и на врсту њеног садржаја (ради класификације датотека по њиховом садржају). Зато су имена датотека дводелна, тако да први део имена датотеке означава њен садржај, а други део означава врсту њеног садржаја, односно њен тип. Ова два дела имена датотеке обично раздваја тачка. Тако, на пример: godina1.txt може да представља име датотеке, која садржи податке о ученицима прве године. На то указује први део имена godina1, док други део имена txt ове датотеке говори да је датотека текстуална (да садржи само видљиве ASCII знакове). Управљање датотеком обухвата не само управљање њеним садржајем, него и управљање њеним именом. Тако, на пример, стварање датотеке подразумева и задавање њеног садржаја, али и задавање њеног имена (што се дешава у току едитовања, компилације, копирања и слично). Такође, измена датотеке може да обухвати не само измену њеног садржаја, него и измену њеног имена (што се дешава, на пример, у едитовању).
ОРГАНИЗАЦИЈА ДАТОТЕКА (FILE SYSTE M) Датотеке се групишу у скупове датотека. На пример, природно је да датотеке са подацима о ученицима појединих година истог смера припадају једном скупу датотека. Скупу датотека пристаје назив директоријумум (дирецторy, фолдер), ако се прихвати гледиште да скуп датотека садржи имена свих датотека које су обухваћене поменутим скупом. Ради разликовања директоријумума, сваки од њих поседује име које бира корисник . За директоријумуме су довољна једноделна имена, јер нема потребе за класификацијом директоријумума (поготово не по њиховом садржају). Тако, на пример: Смер може да представља име директоријумума, који обухвата датотеке са подацима о ученицима свих година студија истог смера. Разврставањем датотека у директоријумуме настаје хијерархијска организација датотека, у којој су на вишем нивоу хијерархије директоријумуми, а на нижем нивоу се налазе датотеке, које припадају поменутим директоријумумима (односно, чија имена су садржана у овим директоријумумима). Оваква хијерархијска организација повлачи за собом и хијерархијско означавање датотека. Хијерархијску ознаку или путању (path name) датотеке образују име директоријумума коме датотека припада и име датотеке. Делове путање обично раздваја знак / (или знак \). Тако, на пример: smer1/godina1.txt представља путању датотеке, која садржи податке о студентима прве године студија са првог смера. Хијерархијска организација датотека има више нивоа, када један директоријум обухвата, поред датотека, и друге директоријуме (односно садржи, поред имена датотека, и имена других директоријума). Обухваћени директоријуми се налазе на нижем нивоу хијерархије. На пример, директоријум skola обухвата директоријуме појединих смерова. На врху хијерархијске организације датотека се налази коренски директоријум (root). У случају више нивоа у хијерархијској организацији датотека, путању датотеке образују имена директоријума са свих нивоа хијерархије (наведена у редоследу од највишег нивоа на доле), као и име датотеке. На пример: /skola/smer1/godina1.txt представља путању датотеке godina1.txt, која припада директоријуму smer1. Овај директоријум припада директоријуму скола, а он припада коренском директоријуму (који нема имена). На претходно описани начин се образује и путања директоријума. Тако, на пример: /skola/smer1 представља путању директоријума smer1, који припада директоријумуму skola из коренског директоријумума. Хијерархијска организација датотека дозвољава да постоје датотеке са истим именима (односно, да постоје директоријумуми са истим именима), под условом да припадају разним директоријумумима. На пример, на слици 1 је приказана хијерархијска организација датотека, у којој се налазе датотеке са истим именима и директоријумуми са истим именима. skola1 смер1
skola2 смер2
godina1.txt . . .
смер1
смер2 godina1.txt . . .
Слика 1.Графичка представа хијерархијске организације фајлова
Оперативни системи-скрипта
15
Електротехничка школа „Раде Кончар“ Београд
У хијерархијској организацији датотека (приказаној на слици 1) коренском директоријумуму припадају директоријумуми skola1 i skola2. Сваки од њих садржи директоријумуме smer1 i smer2. При томе, оба директоријума са именом smer1 садрже датотеку godina1.txt. Путање омогућују разликовање истоимених директоријумума, односно истоимених датотека. Тако, путање: /skola1/smer1 /skola2/smer1 омогућују разликовање директоријумума са именом smer1, а путање: /skola1/smer1/godina1.txt /skola2/smer1/godina1.txt омогућују разликовање датотека са именом godina1.txt. Захваљујући хијерархијској организацији датотека, могуће је управљање целим директоријумумима, као што је, на пример, копирање целог директоријумума (односно копирање свих датотека и директоријумума, који му припадају). Навођење потпуне путање датотеке (односно, директоријумума) је потребно кад год је могућ неспоразум, због датотека са истим именима (односно, због директоријумума са истим именима). Али, ако постоји могућност одређивања неког директоријумума као радног (working directory), тада се његова путања подразумева и не мора се наводити. На пример, ако се подразумева да је: /skola1/smer1 радни директоријумум, тада: godina1.txt означава датотеку, која припада директоријуму smer1 из директоријумума skola1.
Оперативни системи-скрипта
16
Електротехничка школа „Раде Кончар“ Београд
Појам процеса и стање процеса Имамо хардвер, оперативни систем и корисничке програме. Видели смо да је један од задатака ОС-а да сакрије хардвер од апликацеоних програма, односно да обезбеди лакши приступ хардверу. То се остварује преко низа проширених инструкција, који се зову системски позиви (system calls ). Процеси Процеси представљају један од најважнијих концепата оперативних система. Програм је низ инструкција који остварује неки алгоритам. Процес је програм у статусу извршавања, заједно са свим ресурсима који су потребни за рад програма. Значи: програм је фајл на диску. Када се тај фајл учита у меморију и почиње да се извршава добијемо процес. Стања процеса Процеси се налазе у једном од следећих стања:
процес се извршава (RUNNING) - процесор управо извршава код овог процеса процес је спреман, али се не извршава (READY ) - процес је добио све потребне ресурсе, спреман је за извршавање, чека процесор процес је блокиран, чека на нешто (нпр. чека штампач да заврши са штампањем – BLOCKED) за даљи рад процеса потребни су неки ресурси, који тренутно нису на располагању, чека IO операцију, резултат неког другог процеса итд.
Имамо 4 преласка између различитих стања: процес прелази из стања ИЗВРШАВАЊА у стање БЛОКИРАН када су му за даље извршавање потребни неки ресурси, који тренутно нису доступни. Ову промену стања врши сам процес: предаје захтев за неки ресурс, па чека тај ресурс. Нпр.: пошаље захтев скенеру да скенира неку слику, и чека резултат скенирања 2. процес прелази из стања ИЗВРШАВАЊА у стање СПРЕМАН ако му истекне додељено процесорско време (time-sharing ) – тада процес прелази у листу процеса који чекају на процесор 3. процес прелази из стања СПРЕМАН у стање ИЗВРШАВАЊА када се процесор ослободи и може да извршава код посматраног процеса (изабере се из листе чекања по неком критеријуму и извршава се) 4. процес прелази из стања БЛОКИРАН у стање СПРЕМАН, када дође до потребних ресурса и спреман је за даљи рад, али процесор тренутно није слободан, па прелази у листу чекања (нпр. скенер је завршио скенирање, и сад процес може наставити са радом (спреман је), али процесор је тренутно заузет извршавањем неког другог процеса, па мора да чека у реду… ) 1.
Суспендовани процеси Код неких оперативних системима процеси могу бити и суспендовани (sуspended ). На тај начин добијамо још два стања: 1.
процес је суспендован и спреман (ако је дошло до суспендовања у стању спреман)
Оперативни системи-скрипта
17
Електротехничка школа „Раде Кончар“ Београд
2.
процес је суспендован и блокиран (ако је дошло до суспендовања у стању блокиран).
Процес који је суспендован, престаје да се такмичи за ресурсе, ослобађају се ресурси које је заоузео, али остаје и даље процес. Процес који је у стању суспендован и блокиран прелази у стање суспендован и спреман, ако постаје спреман, тј. ако може да настави са радом (нпр. процес пошаље захтев скенеру да скенира слику, чека да скенер заврши са радом, па се блокира, у међувремену се суспендира, па постаје суспендован и блокиран, када скенер заврши скенирање, процес прелази из стања суспендован и блокиран у стање суспендован и спреман.) Из стања суспендован и блокиран у стање блокиран и из стања суспендован и спреман у стање спреман процеси могу прећи само еxплицитно, тј. захтевом корисника. Из стања спреман у стање суспендован и спреман процес прелази из неког од сљедећих разлога :
превелик број спремних процеса – процеси се суспендирају као заштита од преоптерећивања система еxплицитно суспендирање процеса од стране корисника (нпр. да би корисник могао проверити неке међурезултате извршавања процеса – и након тога могао наставити рад без поновног покретања целог програма.) избегавање заглављивања (dead lock) – до заглављивања се долази када два (или више) процеса блокирају један други у извршавању (нпр. процесу П1 треба ресурс А који је код процеса П2, а процесу П2 треба ресурс Б који држи П1
- ови процеси су се заглавили, јер ниједан од њих не може наставити са радом – у овом случају један од процеса се суспендује, па други може да одради свој задатак , па када се ресурси ослободе и први ће моћи да заврши свој рад
Оперативни системи-скрипта
18
Електротехничка школа „Раде Кончар“ Београд
КОНКУРЕНТНИ ПРОЦЕСИ Нит (thread ) је ентитет који се извршава користећи програм и друге ресурсе од придруженог процеса. Свака нит је придружена неком процесу. Једном процесу се може придружити више нити. Рад са више нити (mу ltithreading ) се односи на могућност оперативног система да подржи извршавање више нити у оквиру једног процеса. Традицеоналан приступ је извршавање једне нити по процесу. Примери оперативних система са таквим приступом су MS-DOS и више верзија UNIX-a. Већина савремених оперативних система подржава нити. На пример, све новије верзије оперативног система Windows иSolaris podržavajу rad sa nitima. Takođe, savremeni pr ogramski jezici kao što sу Ada и Java podržavajу niti. Процес је дефинисан паром <програм, процесор>. Паралелно (упоредно, истовремено, конкурентно) извршавање више процеса је могуће само ако се рачунарски систем састоји од више централних процесора. За такав рачунарски систем се каже да је вишепроцесорски. На систему са једним процесором могуће је само квазипаралелно извршавање процеса. У било ком тренутку извршава се само један процес. Пример квазипаралелних процеса P1, P2 и P3 је приказан на слици доле лево. Пример паралелних процеса P1, P2 и P3 је дат на слици доле десно. Претпостављено је да систем има 3 процесора и да се на сваком од њих извршава само по један процес.
Slika 1.
Slika 2.
Једна нит може да захтева сервис неке друге нити. Тада та нит мора да сачека да се позвани сервис заврши. Потребан је механизам синхронизације једне нити са другом нити или са хардвером. То се може урадити помоћу сигнала који има значење да је позвани део посла завршен. Конкурентне нити су нити које се извршавају у исто време. Конкурентне нити могу да се такмиче за ексклузивно коришћење ресурса. Нити могу да постављају истовремене захтеве за истим ресурсом или истим сервисом. Оперативни систем мора да обезбеди интеракцију између конкурентних нити. Критична секција је сегмент кода чије инструкције могу да утичу на друге нити. Када једна нит извршава критичну секцију ни једна друга нит не смије да извршава ту исту критичну секцију.
Оперативни системи-скрипта
19
Електротехничка школа „Раде Кончар“ Београд
Слика 3. Тешкоће које настају у софтверској реализацији алгоритама за управљање критичним секцијама су:
стално тестирање променљивих или стања чекања, што троши процесорско време, сви детаљи имплементације директно завише од програмера и могућност грешке је увек присутна, не постоји начин да се наметне протокол који зависи од кооперације, програмер може да изостави неки део, ови протоколи су сувише компликовани.
Проблем управљања конкурентним процесима Управљање конкурентним процесима усложњава оперативне системе. За управљање конкурентним процесима потребно је да:
Метод за дељење времена мора да буде имплементиран тако да омогући сваком од креираних процеса да добије приступ систему. Овај метод укључује могућност прекидања оних процеса који не уступају процесор довољно. Процес и системски ресурси морају да имају заштиту и морају да буду заштићени међусобно. Величина меморије коју дати процес може да користи мора да буде ограничена за било који процес, као и операције које може да извршава на уређајима као што су дискови. Систем има уграђене механизме унутар језгра за превенцију потпуног застоја између процеса.
Оперативни системи-скрипта
20
Електротехничка школа „Раде Кончар“ Београд
УПРАВЉАЊЕ МЕМОРИЈОМ Управљање меморијом је једна од основних функција оперативних система. За извршавање сваког процеса је потребна оперативна меморија. Савремени оперативни системи омогућавају сваком процесу да добије више виртуелне меморије, него што је укупна величина стварне (физичке) меморије на датом рачунарском систему. Главни циљ код управљања меморијом је да се комбиновањем велике споре меморије са малом брзом меморијом оствари ефекат велике брзе меморије. За управљање меморијом битни су програмски преводилац, оперативни систем и хардвер. Прво, програмски преводилац структуира адресни простор дате апликације. Затим, оперативни систем пресликава структуре програмског преводеоца у хардвер. На крају, хардвер извршава стварне приступе меморијским локацијама.
Проблем управљања меморијом Најважније активности оперативног система у делу за управљање меморијом су: 1) вођење евиденције о томе који се делови меморије тренутно користе и ко их користи, 2) доношење одлуке о учитавању процеса у меморију, односно које процесе пребацити у меморију када меморијски простор постане расположив, 3) додела и ослобађање меморијског простора по потреби. Да би се један програм извршио неопходно је да се у меморију унесу и његове инструкције и подаци, како би били доступни централном процесору. То не значи да све инструкције и сви подаци морају да буду у меморији све време током извршавања програма. Могуће је унијети у меморију само један део инструкција програма са подацима неопходним за њихово извршавање. По извршавању тог дела програма у меморију се може унијети, у све локације, следећи низ наредби са подацима потребним за њихово извршавање. У условима вишепрограмског рада оваква могућност је посебно занимљива. Држањем у меморији делова, а не целих програма, могуће је активирати више програма у једном временском интервалу чиме се повећава степен вишепрограмског рада, а тиме и степен искоришћења осталих ресурса рачунара. Наравно, овакав начин рада захтева додатне хардверске компоненте и повећава сложеност оперативног система. Са становишта оперативног система меморија је подељена у два нивоа. Први ниво чини примарна (главна) меморија у којој се налазе тренутно активни делови различитих програма, док други ниво чини секундарна (помоћна) меморија са релативно брзим приступом, на којој се чувају комплетне копије свих активних програма. Оперативни систем проблем управљања меморијом своди на проблем временске и просторне расподеле програма или делова програма између два нивоа меморије. Другим речима, управљање меморијом се састоји од следеће три компоненте:
управљање уношењем ("fetch policy ") – у смислу доношења одлуке о томе када ће се програм или његови делови унети у меморију, управљање смештањем (" placement policy ") – у смислу доношења одлуке о томе где ће се програм или његови делови сместити у меморији, управљање заменом ("replacement policy ") – у смислу доношења одлуке о томе који ће се програм или делови програма избацити из меморије да би се ослободео простор за уношење другог програма или делова другог или истог програма.
Различите методе и технике управљања меморијом које се примењују у оперативним системима разликују се управо по томе како и на основу чега доносе неку од наведених одлука. На слици 1 су приказани начини управљања меморијом. Додела меморије може да буде континуална и дисконтинуална. Ако се за дати процес користе суседне меморијске локације у оквиру датог дела меморије, тада је то континуална додела меморије. Уколико се за дати процес користе делови меморије код којих постоји дисконтинуитет у погледу суседности локација, тада је то дисконтинуална додела меморије. Само управљање меморијом може да буде статичко и динамичко. Статичко управљање меморијом је када се цео програм уноси у меморију пре извршавања програма. Динамичко управљање меморијом је када се величина меморије одређује на основу величине програма у тренутку уношења програма у меморију или када се делови програма могу уностити у меморију у току извршавања програма.
Оперативни системи-скрипта
21
Електротехничка школа „Раде Кончар“ Београд
Слика 1. Начини управљања меморијом Према томе, у општем случају постоје следећи начини управљања меморијом: - помоћу статичких партиција, - помоћу динамичких партиција, - помоћу статичких страница, - помоћу статичких сегмената, - помоћу динамичких страница, - помоћу динамичких сегмената, - помоћу динамичких страница и сегмената.
Систем са више нивоа Да би процесор могао да чита инструкције или извршава операције над подацима потребно је да те инструкције, односно подаци буду смештени унутар физичке (RAM) меморије. Процесор и RAM меморија су повезани помоћу магистрале података веома велике брзине. Магистрала података најчешће може имати ширину 32, 64 или 128 бита. Ширина магистрале података дефинише количину података која се може пренети у току једног циклуса магистрале. Ширина магистрале података не дефинише максималну величину програма или максималну величину података. То је одређено ширином адресне магистрале. Адресна магистрала може да има било коју ширину у зависности од процесора. Меморијски систем савремених рачунарских система је више нивоски систем, као на слици 2. Приказана су четири нивоа: регистри, кеш меморија, главна меморија (RAM) и магнетни дискови. За сваки ниво приказан је капацитет, просечно време приступа и назив меморије. Капацитет и просечно време се стално побољшавају. Такође, на сваком меморијском нивоу постоји компромис брзине и цене. Иако брзина преноса података између процесора и RAM меморије може да буде веома велика, у многим случајевима између процесора и RAM меморије се користи кеш меморија. Кеш меморија је много бржа, али и скупља. Она убрзава рад апликација. Из угла крајњег корисника кеш меморија је невидљива. У просеку око 10% укупне величине програма се налази у главној меморији, а око 1% програма се налази у кеш меморији. У регистрима се налази једна инструкција и неколико података.
Оперативни системи-скрипта
22
Електротехничка школа „Раде Кончар“ Београд
Слика 2. Меморијска пирамида На датом рачунару најчешће постоји више програма или процеса који су активни у исто време и сваки од њих приступа RAM меморији. Да би омогућио различитим процесима да коегзистирају на датом рачунару оперативни систем свакој апликацији додељује виртуелни адресни простор. Такође, оперативни систем пресликава виртуелни адресни простор у физички меморијски простор. У општем случају сваки пут када се програм учита у главну меморију он ће да буде на различитим меморијским локацијама. Однос између брзине приступа и цене код различитих нивоа меморије приказан је на слици 3.
Slika 3. Memorijski sistem kod savremenih račуnarskih sistema Програм за управљање меморијом (eng. memory manager ) извршава две основне операције: доделу континуалног меморијског простора и ослобађање заузете меморије. Понекад се користи и трећа операција помоћу које се може променити величина већ додељене меморије, тако што се величина додељене меморије смањи или повећа.
Оперативни системи-скрипта
23
Електротехничка школа „Раде Кончар“ Београд
Виртуелне и физичке адресе Разликујемо логички и физички меморијски адресни простор. Адреса коју генерише процесор назива се логичка адреса, док се адреса којом се пуни меморијски адресни регистар назива физичка адреса. Физичка адреса је адреса оперативне меморије. Пресликавање логичких адреса у физичке је обавезно. Физичке и логичке адресе су идентичне ако се примене методе везивања адреса (eng. address binding methods ) у време превођења и пуњења програма. Ако се примјени везивање адреса у време извршавања програма физичка и логичка адреса су различите и тада се логичка адреса назива виртуелна адреса. Управљање меморијом обухвата пресликавање адреса као што је то приказано на слици 4. Виртуелна адреса је адреса у програму и њу генерише процесор. Физичка адреса је адреса на рачунарском хардверу. Код савремених рачунара пресликавање из виртуелне у физичку адресу врши посебан хардвер који се назива јединица за управљање меморијом (eng. Memory Management Unit, MMU ). За ово пресликавање адреса се каже и да је то пресликавање или транслација из логичке у стварну (физичку) адресу. Хардвер шаље јединици за управљање меморијом физичке адресе и на тај начин врши адресирање главне меморије. Код већине савремених микрорачунарских система јединица за управљање меморијом је уграђена у чип процесора.
Слика 4. Пресликавање виртуелне адресе у физичку помоћу посебног хардвера У оквиру јединице за управљање меморијом налази се посебан регистар за релоцирање адреса. Вредност уписана у регистар за релоцирање се додаје свакој виртуелној адреси.
Фрагментација Фрагментација се односи на неискоришћену меморију коју систем за управљање меморијом не може да додели процесима. Постоје два типа фрагментације: интерна и екстерна. Интерна фрагментација је део меморије унутар региона или странице која је додељена датом процесу и не користи се од стране тог процеса. Интерна фрагментација је проузрокована различитом величином додељене меморије и програма који је учитан у тај део меморије. Тај део меморије није расположив за коришћење другим процесима система све док дати процес не заврши са радом или не ослободи додељену меморију. Интерна фрагментација не постоји код управљања меморијом помоћу динамичких партиција, код статичких сегмената и код динамичких сегмената. Екстерна фрагментација је неискоришћена меморија између партиција или сегмената. Ова меморија није континуална, већ се састоји из више мањих делова. Екстерна фрагментација не постоји код управљања меморијом помоћу статичких и помоћу динамичких страница. За превазилажење проблема екстерне фрагментације користи се техника сажимања или компакције (енг. compaction ). Компакција се извршава у три фазе. Прво се одређује нова локација за сваки блок који се премешта. Затим се ажурирају сви показивачи на тај блок у складу са новом локацијом. У трећој фази се подаци премештају на нову локацију.
Оперативни системи-скрипта
24
Електротехничка школа „Раде Кончар“ Београд
Статички сегмент и статичке странице Рад са партицијама Управљање меморијом помоћу партиција карактерише континуална додела меморије. Увођење партиција је једноставан метод који омогућава вишепрограмски рад, тј. да више програма који се извршавају буде у исто време у оперативној меморији. Меморија се дели на континуалне делове који се називају партиције. У зависности од тога када и како се партиције креирају и модификују разликујемо статичке и динамичке партиције.
Статичке партиције Управљање меморијом помоћу статичких партиција је један од најосновнијих начина управљања меморијом. За вишепрограмски рад неопходна је додела више партиција. Меморија се дели у партиције фиксне величине, као што је то показано на слици 1. Партиције су фиксиране у време иницијализације система и не могу се мењати у току извршавања програма. Свакој партицији се додељује по један процес. Програми се распоређују тако да буду смештени у најмањој партицији која је довољно велика да прихвати цео програм. Извршни програм који је припремљен за извршавање у датој партицији не може да се извршава у некој другој партицији без поновног повезивања (енг. relinking ).
Слика 1. Статичке партиције
Код овог начина управљања меморијом постоји потреба заштите кода оперативног система од могућих промена од стране корисничких процеса. Заштита се може урадити помоћу базног и граничног регистра.
Динамичке партиције Код управљања меморијом помоћу динамичких партиција у оперативну меморију се може учитати онолико програма колико има слободне меморије. Партиције нису фиксне величине, као што се види на слици 2. Величина партиције одговара величини програма који је учитан. Након учитавања програма у партицију, адресе програма су фиксне, тако да није могуће премештање програма у другу партицију. Оперативни систем за сваку партицију чува све битне податке као што су величина и почетна адреса.
Оперативни системи-скрипта
25
Електротехничка школа „Раде Кончар“ Београд
Слика 2. Додела партиција код динамичких партиција За разлику од статичких партиција, код динамичких партиција величина партиција се одређује према величини програма и то у тренутку уношења програма у меморију.
Статички сегменти и статичке странице У свим до сада наведеним начинима управљања меморијом било је неопходно да се повезивање програма обави статички, пре уношења у меморију и извршавања, те да се у меморији додели континуaлан меморијски простор. Последица тога је да су повезани програми релативно велики и да је приликом додељивања меморијског простора тим програмима било неопходно да се у меморији нађе одговарајући довољно велики слободан простор састављен од низа континуалних адреса. Један од проблема који се при томе јавља је и фрагментација, а самим тим и слабо искоришћење меморије. Управљање меморијом помоћу сегмената и страница карактерише могућност дисконтинуалне доделе меморије. Управљање меморијом помоћу сегмената је техника која са једне стране знатно умањује неповољне ефекте фрагментације, а са друге стране има и неке додатне предности. Основна идеја се састоји у томе да се не врши статичко повезивање програма већ се програм посматра као скуп логичких целина – сегмената, где сегмент може да буде главни програм, свака од процедура или област података. Све адресе у оквиру једног сегмента су релативне у односу на нулу. На тај начин, уместо да програм као код статичког повезивања представља један, релативно велики линеаран адресни простор он се састоји од више мањих линеарних адресних простора. Сегменти се сада могу сместити било где у меморији с тим што се у посебној табели, табели сегмената, воде адресе почетних локација у које су смештени појединачни сегменти, као што је приказано на слици 3. Адресни део наредби програма састоји се тада из два дела, односно уређеног пара (S, d), тако да се коришћењем табеле сегмената на начин приказан на слици може израчунати адреса локације којој се приступа (слика 4).
Оперативни системи-скрипта
26
Електротехничка школа „Раде Кончар“ Београд
Слика 3. Приступ меморији помоћу табеле сегмената Полазна идеја за управљање меморијом помоћу сегмената је кориснички поглед на програм као скуп главног програма, процедура, функција или модула. Управљање меморијом помоћу сегмената подразумева представљање логичког адресног простора као скупа сегмената. Сваки сегмент има своје име и дужину. Адресе имају два дела: име сегмента и померај унутар сегмента.
Слика 4. Пресликавање адреса помоћу табеле сегмената Уводење сегмената омогућава сваком процесу да буде подељен на неколико сегмената. Систем за управљање меморијом који се заснива на раду са сегментима попуњава табелу сегмената. Табела сегмената садржи базну и граничну адресу за сваки сегмент. Додатна поља ("Read/Write" i "Shared") у табели сегмената омогућавају заштиту и дељење меморије.
Оперативни системи-скрипта
27
Електротехничка школа „Раде Кончар“ Београд
Када се креира нови процес тада се у контролни блок процеса уписује показивач на празну табелу сегмената. Како се процесу додељују сегменти тако се потребни подаци уписују у табелу сегмената. Када процес заврши са радом тада се сви додељени сегменти враћају делу слободне меморије. Сегментација проузрокује екстерну фрагментацију и захтева сажимање меморије. На слици 4 је приказано пресликавање логичких адреса помоћу табеле сегмената. Базна адреса за дати сегмент S у физичкој меморији je означена са b. Дужина (величина) сегмента је l. Померај унутар сегмента је означен са d. Предност рада са сегментима је да када у меморији нема довољно места за тренутно активни процес, тада се из меморије може избацити само један сегмент, а не цео процес. С обзиром да су сегменти различите дужине и код овог начина управљања меморијом долази до фрагментације, али су њени негативни ефекти блажи од ефеката фрагментације код динамичких партиција. Посебна предност сегмената огледа се у чињеници да овај начин управљања меморијом омогућава да више различитих програма користе исте процедуре (сегменте), а да се при томе у меморији налази само једна копија тог сегмента. За овакве процедуре се каже да су "re-entrant" ili "shared" (тј. да се могу вишекратно позивати и да их више различитих модула може истовремено користити). У претходном начину управљања меморијом помоћу сегмената, виђено је да се програм не мора сместити у меморију у низу континуалних адреса. Други начин реализације исте идеје је помоћу страница. Страница и страна ће да буду у даљем тексту коришћене као синоними. Наиме, програм се статички повеже тако да се добија линеаран адресни простор као и у случају управљања меморијом помоћу партиција. Сада се тај адресни простор дели у делове (блокове) једнаке величине који се називају страницама. Меморијски простор се истовремено дели у блокове исте величине које се обично називају оквирима страна. Приликом смештања у меморију стране програма се могу униети у било који оквир стране у меморији, с тим што се у табели страна за сваку страну води почетна адреса оквира у који је она смештена. Овакав начин управљања меморијом у потпуности елеминише појаву спољне фрагментације. Са друге стране, како су величине страна фиксне, а програму се мора доделити цео број страна, по правилу један део последње стране остаје неискоришћен. Ова појава се назива интерном фрагментацијом. Имајући у виду величину странице може се реци да је ефекат интерне фрагментације на искоришћење меморије практично занемарљив. Пре извршавања било ког програма потребно је да оперативни систем:
одреди број страница у програму, резервише довољан број оквира страница у оперативној меморији, преслика странице програма у оквире страница.
Табела страница се може хардверски имплементирати на више начина. На пример, једно решене је да се користи скуп посебних регистара у којима се чувају базне адресе оквира страница. Друго могуће решене је да се користи меморијска табела страница са додатком базног регистра за табелу страница (енг. Page Table Base Register, PTBR ). Базни регистар за табелу страница показује на текућу табелу страница. Остала могућа решења се најчешће заснивају на комбинацији наведених решења и табелама страница које су реализоване у више нивоа. Управљање меморијом помоћу страница је веома ефикасан и једноставан начин управљања. У односу на сегментирање, страничење има ту предност да спречава појаву спољне фрагментације и омогућава висок степен искоришћења меморије. Као и сегментирање, и страничење је једна од техника за реализацију виртуелне меморије. Недостатак страничења у односу на сегментирање огледа се у чињеници да код страничења логичке целине послије повезивања губе свој идентитет. Управљање меморијом помоћу статичких страница смањује фрагментацију и омогућава једноставнију доделу и замену меморијског простора. Такође, рад са страницама омогућава доделу меморијског простора који није континуалан, односно додељен меморијски простор може да буде из више несуседних делова физичке меморије.
Оперативни системи-скрипта
28
Електротехничка школа „Раде Кончар“ Београд
Виртуелна меморија Концепт виртуелне меморије је једна од најбољих идеја примењених на рачунарске системе. Главни разлог за успех ове идеје је да виртуелна меморија ради аутоматски, тј. без интервенција програмера апликација. Основна предност коришћења виртуелне меморије је могућност извршавања програма који захтева меморијски простор већи од физичке (оперативне) меморије, расположиве на датом рачунарском систему. Концепт виртуелне меморије ствара утисак кориснику да је његов програм у потпуности учитан у меморију и извршен. Пре настанка концепта виртуелне меморије програмер је морао да води рачуна да његов програм може да стане у физичку меморију. Осим тога, применом виртуелне меморије могуће је дељење рачунара између процеса чија је величина укупног адресног простора већа од величине физичке меморије. Програм за управљање меморијом проширује RAM меморију са резервисаним делом меморијског простора на диску. Проширени део RAM меморије се назива заменски (eng. swap) prostor. Proširenje RAM меморије заменским простором има исти ефекат као инсталирање додатне RAM меморије. У многим случајевима довољно је повећати заменски простор како би се извршавали већи програми. Оперативни систем једино мора да обезбеди да програм и подаци буду расположиви у RAM меморији у тренутку када су потребни. Делови програма којим се не приступа често и делови програма који се користе за управљање грешкама се преносе на заменски простор. Када било који од тих делова затреба, програм за управљање меморијом тај део преноси у RAM меморију. Концепт виртуелне меморије посебно долази до изражаја код вишекорисничких оперативних система, јер код преношења делова програма или података у/из оперативне меморије процесор не мора да чека, већ одмах прелази на извршавање другог посла. Свака апликација има свој виртуелни адресни простор који оперативни систем пресликава у физичку меморију. Величина виртуелне меморије је ограничена само величином заменског простора на диску. Једноставно решене коришћено код првих Unix система је посебна партиција диска која се користи само као заменски простор. Код таквог решења простор диска се дели на два главна дела: један који се користи за страничење и други који се користи за file sistem. Проблем са оваквим приступом је нефлексибилност. Постоје следеће основне врсте организације виртуелне меморије:
сегментна, странична, сегментно-странична.
Организација са динамичким сегментима За пресликавање адреса код управљања меморијом помоћу динамичких сегмената оперативни систем користи табелу сегмената као што је приказано на слици 1.
Оперативни системи-скрипта
29
Електротехничка школа „Раде Кончар“ Београд
Слика 1. Пресликавање логичке адресе у физичку помоћу табеле сегмената
Организација са динамичким страницама Оперативни систем пресликава странице виртуелне меморије у оквире физичке меморије. Стварни приступ меморијским локацијама извршава хардвер који користи пресликавање задато од стране оперативног система. За пресликавање адреса код управљања меморијом помоћу динамичких страница оперативни систем користи табелу страница као што је приказано на слици 2. Табела страница је линеаран низ чији је индекс број виртуелне странице. Виртуелна страница се пресликава у број физичког оквира који садржи ту страницу. Типична табела страница, осим адресе оквира, има следеће додатне податке:
бит који показује да ли се страница налази у оперативној меморији, тј. да ли је страници додељен оквир или не (valid или present bit), бит који показује да ли је страница у оперативној меморији модификована или не (dirty или modified bit), бит који показује да ли је страница била скоро коришћена или не (referenced или used bit), дозвола приступа која означава да ли је страница read-only или read-write, неколико бита намењених за стварно адресирање странице у оперативној меморији.
Оперативни системи-скрипта
30
Електротехничка школа „Раде Кончар“ Београд
Слика 2. Пресликавање логичке адресе у физичку помоћу табеле страница Проблем који настаје код коришћења табеле страница је чињеница да су за сваки приступ подацима потребна два приступа физичкој меморији. Први меморијски приступ је приступ табели страница, а други стварним подацима.
Динамичка сегментно- странична организација Сегментирање и страничење се често комбинују како би се међусобно побољшали. Сегментирано страничење је корисно када табела страница постане веома велика. Велика секција суседних врста табеле страница које се не користе се не може заменити са једном врстом у табели сегмената која показује на нулту адресу табеле страница. Страничење сегмената доноси побољшања када постоје веома велики сегменти који захтевају велико време за доделу меморијског простора. Страничењем сегмената редукује се неискоришћена меморија услед екстерне фрагментације и поједностављује се додела меморије.
Оперативни системи-скрипта
31
Електротехничка школа „Раде Кончар“ Београд
Заштита меморије Један од основних задатака система за управљање меморијом је заштита процеса који деле меморију. Важна карактеристика система са страничењем је да сваки процес може да приступи само оним оквирима који се појављују у његовој табели страница. Заштита меморије се може имплементирати хардверски и софтверски. Хардверско решене је пресликавање адреса (енг. address translation ) и ово решене је описано у наставку текста. Софтверско решене може бити независно (енг. software faу lt isolation) или зависно од програмског језика (енг. strong typing ). Хардверска заштита меморије се може остварити коришћењем два регистра који се зову: базни (енг. басе) и гранични (енг. limit ) регистар. У базном регистру се налази најмања адреса физичке меморије где је дати програм смештен, док се у граничном регистру налази величина опсега меморије унутар кога програм може приступати, као што је то приказано на слици.
Логички адресни простор Прво се проверава да ли је генерисана адреса већа или једнака вредности која се налази у базном регистру. Ако је овај услов испуњен тада се проверава да ли је генерисана адреса мања од збира вредности у базном и граничном регистру. Ако је и овај услов испуњен дозвољава се приступ физичкој меморији. Оваквом хардверском заштитом елеминисана је могућност да неки кориснички програм након адресирања приступи делу меморије који је изван његовог дозвољеног адресног простора. Ако је генерисана адреса датог програма ван дозвољеног адресног простора тада ће доћи до системске грешке, тј. до такозване фаталне грешке. Једино оперативни систем може да напуни базни и гранични регистар коришћењем специјалне привилиеговане инструкције. Оперативни систем такође, спречава програме да мењају садржај ових регистара.
Оперативни системи-скрипта
32
Електротехничка школа „Раде Кончар“ Београд
Управљање уређајима. Улазни и излазни уређаји су веома важни за ефикасно коришћење рачунарског система. Они представљају везу људи са рачунаром. Улазни уређаји прикупљају податке из околине и преводе их у облик погодан за обраду у рачунарском систему. Излазни уређаји преузимају податке добијене обрадом и прослеђују их на даљу обраду или приказују у облику употребљивом за људе. Рачунари раде са великим бројем различитих уређаја. То су: уређаји за меморисање (нпр. дискови, траке), уређаји за пренос (нпр. модеми), уређаји који омогућују интерфејс са људима (нпр. тастатура, монитор, штампач) и други спецелизовани уређаји. Сваки од ових уређаја треба да има могућност да пошаље или прими податке из рачунарског система. Спољашњи уређаји се прикључују на рачунар преко У/И модула. / У И модули
Спољашњи уређаји рачунарског система се још називају и периферни уређаји или периферали. У већини рачунарских система процесор не контролише директно периферне уређаје, него су они прикључени на уређај који се назива У/И модул. У/И модул комуницира директно са процесором и процесор преко њега обавља сву потребну комуникацију са У/И уређајима. Периферни уређаји су знатно спорији од процесора тако да би њихова директна комуникација са процесором и меморијом знатно успорила цео систем. Осим тога, сваки периферни уређај ради у складу са одређеним правилима. Није исплативо укључивати у процесор логику рада великог броја различитих периферних уређаја. Са једне стране би то знатно успорило операције процесора, док би са друге стране онемогућило додавање нових типова У/И уређаја. У/И модул је директно прикључен на системску магистралу и обезбеђује размену информација са У/И уређајима и контролу њиховог рада на начин који најмање утиче на перформансе рачунарског система. Главне функције У/И модула су:
Контрола и усклађивање саобраћаја. Комуникација са процесором Комуникација са уређајима. Прихватање података. Откривање грешака.
Технике извршавања У И операција / Програмирани У /И Најједноставнији начин извршавања У/И операција је програмирани У/И. Када процесор извршава програм и наиђе на захтев за У/И операцијом, он одређује потребне адресе и шаље команду одговарајућем У/И модулу. Постоје четири типа команди које процесор може да пошаље У/И модулу:
Контролна команда која се користи за активирање периферног уређаја и којом се назначава акција коју треба предузети. Тест команда којом се испитује стање У/И модула и одговарајућих периферних уређаја. Команда за читање издаје директиву У/И модулу да прочита податак из периферног уређаја и смести га у интерни бафер. Команда за писање издаје директиву У/И модулу да прочита податак са магистрале и пренесе га у периферни уређај.
Прекидима управљан У /И Прекидима управљан У/И се примењује на скоро свим рачунарским системима, без обзира на њихову величину. Изузетак могу да буду једино рачунарски системи са врло ограниченом функцијом. Пример обављања У/И операције са периферним уређајем уз коришћење прекида је приказан на слици.
Оперативни системи-скрипта
33
Електротехничка школа „Раде Кончар“ Београд
Савремени рачунарски систем
Директан приступ меморији Недостаци оба претходно описана начина извршавања У/И операција су што захтевају интервенцију процесора при преносу података између меморије и У/И модула. Пренос податак се одвија преко процесора и брзина преноса је ограничена брзином којом процесор може да тестира и сервисира У/И модул. При извршавању сваке У/И операције процесор мора да изврши велики број инструкција због чега остали програми морају да чекају. Ови недостаци посебно долазе до изражаја при преносу великих количина података. У том случају је ефиксније применити технику преноса названу директан приступ меморији (енг.Direct memory access , DMA). Директан приступ меморији захтева додатни модул прикључен на системску магистралу који се DMA контролер. DMA контролер представља специјализовани процесор који може да извршава програмирани У/И. Када процесор треба да изврши У/И операцију, он упише DMA контролни блок у меморију. Контролни блок садржи адресу уређаја са кога се врши пренос или на који треба уписати податке. Затим процесор предаје адресу DMA контролног блока DMA контролеру и прелази на друге послове. DMA контролер наставља извршавање операције и преноси један по један бајт радећи директно са магистралом без помоћи централног процесора. DMA добија контролу над магистралом само када она није заузета од стране централног процесора. Магистрала може да буде слободна када је процесор не користи или када DMA контролер захтева од процесора да привремено суспендује своје операције са магистралом. Овакав начин рада DMA контролера се назива крађа циклуса, јер у суштиниDMA краде циклусе на магистрали од централног процесора. По завршетку операције, DMA шаље прекид процесору којим га обавештава да је операција извршена. На тај начин, процесору се шаље само један прекид, без обзира на количину пренесених података.
Оперативни системи-скрипта
34
Електротехничка школа „Раде Кончар“ Београд
Управљање датотекама Управљање подацима је једна од основних функција оперативних система. Корисници савремених рачунарских система не морају да воде рачуна о управљању подацима, које је неопходно код апликација које приступају датотекама меморисаним на секундарној меморији. Део оперативног система који управља подацима назива се систем за управљање подацима или систем за управљање датотекама (енг. File Manager ). Његов задатак је да омогући организацију података на такав начин да крајњи корисник може да им приступи брзо и лако.
Логички и физички систем за управљање датотекама Најважније активности оперативног система у делу за управљање подацима на секундарној меморији су: 1) планирање доделе секундарне меморије, 2) додела слободне секундарне меморије, 3) управљање слободним меморијским простором на секундарној меморији. Систем за управљање подацима има следеће функције:
идентификовање и лоцирање изабраних датотека, коришћење директоријума за описивање локације свих датотека и њихових атрибута, опис контроле приступа кориснику у дељеном систему, рад са блоковима ради приступа датотекама.
Систем за управљање подацима управља радом секундарне меморије и може се декомпоновати на логички и физички систем за управљање подацима. Постоје два одвојена аспекта система за управљање подацима: интерфејс ка крајњем кориснику и имплементација. Интерфејс обухвата датотеке и директоријуме, а имплементација физичку организацију података. На слици 1 су приказане компоненте система за управљање подацима.
Слика 1. Компоненте система за управљање подацима Задатак ОС је да преслика податке са којима ради крајњи корисник преко датотека на физички уређај или више физичких уређаја. За сваки уређај који се повезује са датим рачунарским системом потребан је посебан програм који се зове драјвер уређаја (енг. device driver ). Драјвер уређаја је или део ОС или је расположив оперативном систему. Намењен је за директну комуникацију са датим уређајем, контролером
Оперативни системи-скрипта
35
Електротехничка школа „Раде Кончар“ Београд
или каналом. Драјвер уређаја је одговоран покретање У/И операције на уређају и процесирање завршетка захтева за У/И операцијом. Драјвер диска приступа секторима, стазама, цилиндрима, уписно-читајућим главама диска, носачима глава и свим другим механичким деловима који обезбеђују да диск исправно ради. Када драјвер диска зна коју команду треба проследити диску, он је уписује у регистре контролера диска.
Датотеке Датотека је именовани и постојан скуп података који је меморисан на неком меморијском медијуму, односно на неком периферном уређају. Датотека је логичка јединица меморије која представља апстракцију физичких карактеристика датог меморисјког уређаја. За датотеку се може рећи и да је то апстрактни тип података који ОС дефинише и имплементира као низ логичких слогова. Тип података подразумева скуп вредности које податак може да има, меморијски простор потребан за смештање податка, као и операције које могу да се изврше над податком. За разлику од података који се налазе у оперативној меморији, подаци у датотеци су постојани, тј. остају сачувани и након искључења напајања или поновног укључења система. Подаци који се чувају у датотекама се могу изгубити једино отказом уређаја на којима се датотеке налазе. Битне карактерситике система датотека су: структура, именовање, заштита, физичка организација датотека и начини коришћења. На једном диску се може налазити више различитих система датотека. Уписивање логичке датотеке на моморијски уређај је једна од основних функција оперативних система, тј. главна функција система за управљање датотекама. У општем случају величина логичког слога је различита од величине физичког слога на уређају на коме се датотека складишти. Датотека није увек меморисана као целина на једном месту на диску, већ код реалних система садржај датотеке може да буде разбацан у више блокова који нису суседни, односно може доћи до фрагментације података. Свака датотека има атрибуте. Најважнији атрибути датотеке су: име, величина, датум и време последњег ажурирања, власник , дозволе, локација података, итд. Најчешће команде система за управљање подацима су:
креирање датотеке, читање и писање унутар датотеке, позиционирање унутар датотеке ради операције читања и писања, постављање и коришћење механизма заштите, промена власништва над датотеком, листање датотека у датом директоријуму, брисање датотеке.
Заштита датотека је важна особина ОС која омогућава да различити корисници складиште своје информације на дељеном рачунару и да тим информацијама могу да приступе само власници тих података и ауторизовани корисници. Важно је и спречити да не дође до губљења података. Датотеке или делови датотека могу да буду уништени на више начина: хардверске грешке, откази напајања, откази глава диска, прашина, велике температурне промене, велике промене влажности, софтверске грешке, вандализам других корисника, присуство јаких магнетних поља, итд.
Директоријуми Директоријум или каталог је структура података која садржи листу датотека и поддиректоријума. Директоријум омогућава аутоматско вођење евиденције о датотекама и пресликавање између имена датотека и самих датотека. И сам директоријуму је датотека. Директоријуму је посебна датотека која садржи једну или више датотека. Основна разлика у односу на корисничке датотеке је да подаци унутар директоријума нису кориснички подаци, већ системски подаци о систему датотека. Директоријум садржи информације о атрибутима, локацији и власнику датотеке. Директоријуми успостављају логичку организацију система датотека која је независна од организације уређаја. За приступ датотекама које се налазе у директоријумима користе се системски позиви који одговарају основним операцијама за рад са датотекама. Датотекама се може приступати помоћу апсолутне стазе и помоћу релативне стазе. Датотеке на различитим путањама могу имати исто име.
Оперативни системи-скрипта
36
Електротехничка школа „Раде Кончар“ Београд
Дискови могу да садрже на стотине хиљада или више милиона датотека. Директоријум обезбеђује систематичан начин за именовање и лоцирање тих датотека. Део система за управљање датотекама омогућава администрацију организације датотека које се могу налазити на више уређаја укључујући уређај који се само повремено повезују на дати систем. Постоји неколико начина за избор структуре података којом се представља садржај директоријумума. Једна могућност је да директоријумум подржава линеарни простор имена, као што је приказано на слици 2.
Слика 2. Линеарни простор имена Друга могућност је хијерархијски простор имена, као што је приказано на слици 3. Најједноставнији облик хијерархијског директоријума је структура података у облику стабла. На сваки директоријум сем кореног директоријума и на сваку датотеку показује тачно један директоријум. Директоријуми који имају хијерархијску структуру у облику стабла се често примењују у различитим ОС. Овакав начин омогућава да датотеке са истим именом могу да се појављују у различитим директоријумима.
Оперативни системи-скрипта
37
Електротехничка школа „Раде Кончар“ Београд
Слика 3. Хијерархијски простор имена Трећи могући начин за структуру података која се користи као садржај директоријума је ациклични граф, као што је показано на слици 4. Графови у општем случају могу бити циклични и ациклични. Код цикличних графова постоји затворена путања. Код ацикличних графова то није случај.
Слика 4. Ациклични граф
Оперативни системи-скрипта
38
Електротехничка школа „Раде Кончар“ Београд
Организација система датотека Системи датотека се складиште на дисковима или неком другом медијуму секундарне меморије. Сваки диск се може поделити на једну или више партиција, као на слици 1, при чему на партицијама могу да буду независни системи датотека. Нулти сектор диска се назива главни стартни слог (енг.Master Boot Record, MBR ) и користи се за стартовање рачунара. Табела партиција која се налази на крају главног стартног слога садржи почетну и крајњу адресу сваке партиције и једна од тих партиција је означена као активна.
Слика 1. Пример структуре система датотека Након стартовања рачунара BIOS (eng. Basic Inpу t-Oу tpу t System) чита и извршава главни стартни слог. На основу информације у главном стартном слогу лоцира се активна партиција на диску и учитава се у њен први блок који се назива боот блок (енг. boot block ) у оперативну меморију. Програм из боот блока пуни оперативни систем који се налази на активној партицији. Свака партиција има боот блок без обзира да ли се на њој налази оперативни систем који се може боот-ирати или не. Осим боот блока структура партиције диска зависи од система до система. Битан део партиције је и суперблок који садржи кључне параметре о систему датотека као што су: тип система датотека, величина система датотека, број слободних блокова у систему датотека и други административни подаци. Језгро оперативног система одржава суперблок у оперативној меморији и периодично га уписује на диск . С обзиром да суперблок садржи критичне податке неопходне за рад система, оперативни систем репликује садржај суперблока на диск за случај да откаже део диска на коме је уписан суперблок . Поред суперблока у партицији се налазе подаци о слободним и заузетим блоковима датог система датотека у облику битмапе или повезане листе показивача. Такође, у свакој партицији се налазе директоријумуми и датотеке који припадају датом систему датотека. Партиције могу да буду примарне, логичке и додатне. Примарне партиције су оне са којих је могуће подизање оперативног система. Сваки диск мора да има бар једну примарну партицију. Употребом више примарних партиција могуће је инсталирати и користити више оперативних система на истом диску. Логичке партиције су партиције чија је намена складиштење података. Са логичких партиција се не може подизати оперативни систем. Додатне партиције омогућавају превазилажење ограничења које постоји по питању максималног броја могућих партиција на једном диску. Додатна партиција може да садржи више логичких партиција.
Организација датотека Организација датотека означава логичку структуру слогова датотеке на основу начина на који им се приступа. Критеријуми који се користе код избора организације датотеке су:
брз приступ подацима, једноставност ажурирања, једноставност одржавања, поузданост.
Оперативни системи подржавају датотеке које на имплементационом нивоу могу бити низови бајтова, низови слогова или низови сложенијих организација података. Постоји велики број организација датотека које су имплементиране или предложене за имплементацију. Од свих до сада познатих организација датотека, најчешће се користе следеће:
серијска, секвенцијална, спрегнута, расута или директна (хеширана),
Оперативни системи-скрипта
39
Електротехничка школа „Раде Кончар“ Београд
индекс-секвенцијална, индексна са Б-стаблима, са више кључева.
Серијска организација датотеке омогућава да се подаци уписују редоследом којим настају. Могу се уписивати слогови променљиве дужине и променљив скуп поља унутар слога. Унутар серијске организације не постоји структура. Разлика између серијске и секвенцијалне организације датотека је у томе што код секвенцијалне организације постоји информација о везама између слогова логичке структуре датотеке. И код једне и код друге организације слогови се уписују у суседне локације унутар меморисјког простора додељеног датотеци. Сви слогови су исте дужине. Код спрегнуте организације се користе покзивачи. Постоје једноструко, двоструко и вишеструко спрегнуте датотеке. За расуту организацију је карактеристично да се адреса локације добија трансформацијом вредности идентификатора слога. Неопходно је да сваки слог има свој кључ. Индекс-секвенцијална организација датотеке уводи три зоне: примарну зону (или зону података), зону индекса и зону прекорачења. Због побољшања перформанси индекс-секвенцијалне датотеке се периодично реорганизују. Овај недостатак је отклоњен код индексне организације са Б-стаблима која има примарну зону и зону индекса. Основна карактеристика индексне организације са Б-стаблима је да постоји аутоматска реорганизација по потреби. Датотеке са више кључева су најчешће индексне датотеке са Б-стаблом или неком варијантом Б-стабла. За сваки кључ постоји по једна зона индекса.
Методе приступа Да би се подаци из датотеке користили потребно је да се подацима приступи и да се након тога учитају у оперативну меморију рачунара. Информацијама у датотеци се може приступити на више начина. Начини приступа ускладиштеним подацима се зову методе приступа. Најједноставнији метод приступа је секвенцијални приступ. Секвенцијални приступ је заснован на моделу датотеке у облику траке. Код секвенцијалног приступа постоји показивач на тренутну локацију унутар датотеке и подаци се процесуирају слог по слог. Овакав начин приступа се користи код едитора и програмских преводилаца. Други метод је директан приступ или релативни приступ. Претпоставља се да се у датотеци налазе логички слогови фиксне дужине. Директан приступ је заснован на моделу датотеке у облику диска. Датотека се може посматрати као нумерисан низ блокова или слогова и због тога се слоговима у датотеци може приступати брзо и то по произвољном редоследу. Директан приступ се користи код база података. Постоје и друге методе приступа које се заснивају на директном приступу, као што је индексирани приступ који се заснива на примени индекса. Код индексираног приступа за дату датотеку се креира индекс. Индекс садржи показиваче на блокове датотеке. Код таквих метода приступа прво се претражује индекс, а затим се на основу показивача директно приступа жељеном слогу. Перформансе приступа подацима директно завише од тога где се подаци налазе. Кеш меморија омогућава компонентама рачунара, које имају различите брзине рада, да ефикасније кумуницирају привременим премештањем података са споријег уређаја на бржи уређај. Кеш меморија је скупља од уређаја са којих се подаци привремено пребацују, тако да повећањем величине кеш меморије цена система расте.
Методе доделе простора на диску Један од проблема који се решава у оквиру систама за управљање датотекама је како доделити простор датотекама на диску тако да им се може брзо приступити и да коришћење простора на диску буде што је могуће боље. Постоји више могућих метода за доделу простора. Три главне методе за доделу простора на диску су:
додела суседних меморијских локација, додела повезаних блокова фиксне величине, коришћење шема са индексима.
Метода доделе суседних меморијских локација за складиштење дате датотеке користи суседне блокове диска. Додела суседних блокова је једноставна за реализацију. Суседност блокова побољшава перформансе. На тај начин ова имплементацеона метода омогућава брзо и једноставно израчунавање адресе блока у коме се налазе подаци. За приступ подацима потребан је само померај од почетка
Оперативни системи-скрипта
40
Електротехничка школа „Раде Кончар“ Београд
датотеке. Могућ је секвенцијалан и директан приступ подацима. Недостатак стратегије доделе суседних меморијских локација јесте екстерна фрагментација. Метода доделе повезаних блокова фиксне величине омогућава складиштење свих датотека тако што се користе блокови фиксне величине. Суседни блокови се повезују у повезану листу. Основна предност ове имплементацеоне методе је да нема екстерне фрагментације. Управљање меморијом је поједностављено јер су сви блокови исте величине. Не постоји потреба за премештањем или компакцијом неке датотеке. Блокови могу да буду разбацани било где на диску. Недостатак може да буде деградација перформанси код директног приступа подацима, јер је потребно следити показиваче од једног блока диска до следећег. Методе које користе шему са индексима свакој датотеци придружују табелу индекса. Сваки индекс у табели индекса показује на блокове диска који садрже стварне податке дате датотеке. Слог за сваку датотеку унутар директоријумума садржи број блока индекса и име датотеке. За мале датотеке неискоришћеност блока индекса може да буде велика, јер и у случајевима када се мали број показивача стварно користи цео блок индекса мора да буде додељен.Овакав начин имплементације система датотека обезбеђује брз директан приступ подацима.
Оперативни системи-скрипта
41
Електротехничка школа „Раде Кончар“ Београд
Удаљени системи датотека Један од ресурса који се може делити су подаци у облику датотека. Настанак рачунарских мрежа је омогућио комуникацију између удаљених рачунара, а самим тим и дељење датотека. Интернет је при томе дао свој посебан допринос. FTP (File Transfer Protocol ) је први имплементирани метод за дељење датотека чија је сврха пренос датотека између различитих рачунара. Други значајан метод је дистрибуирани систем датотека, који омогућава приступ удаљеним директоријумима са локалног рачунара. Трећи значајан метод је World Wide Web, где је за приступ удаљеним датотекама потребан читач или прегледник (енг. browser ), као што је на пример Mozilla Firefox, Internet Explorer, Opera, Google Chrome и други. Удаљени системи датотека (енг. remote file systems ) омогућавају датом рачунару да учини доступним један или више система датотека са једног или више удаљених рачунара. То је клијент-сервер модел. Рачунар на коме се налазе датотеке је сервер, а рачунар са кога се приступа удаљеним датотекама је клијент. Сервер може да има више клијената и клијент може да приступи датотекама које се налазе на више сервера. Код удаљених система датотека, а поготово на Интернету, веома је битно да постоји одговарајућа заштита података. За неке класе апликација довољно је да клијент уради аутентификацију сервера, док за неке друге, као што су банкарске апликације, преко Интернета неопходна је и аутентификација клијента од стране сервера. Различити корисници могу да имају различите типове приступа датој датотеци или директоријуму. Тада сервер проверава да ли дати корисник има право приступа датотеци у захтеваном начину рада. За аутентификацију се може користити IP(енг. Internet Protocol ) адреса. Међутим, то није потпуно сигуран начин аутентификације, јер неауторизован корисник може послати ауторизовану IP адресу и на тај начин да добије приступ подацима на серверу. Сигурнији начини аутентификације се реализује применом криптографије. LDAP (Lightweight Directory-Access Protocol ) протокол, познат као H.509 стандард је имплементиран у више оперативних система. То је подскуп хијерархијског протокола H.500 за дистрибуиране директоријуме. LDAP је једноставан за приступ директоријумумима. Омогућава корисницима да, само једним алатом за претраживање података, проналазе информације као што су корисничко име, сертификат о безбедности, адреса електронске поште, итд.
Оперативни системи-скрипта
42
Електротехничка школа „Раде Кончар“ Београд
Заштита оперативних система Проблем заштите постоји код свих рачунарских система, а посебно код система који су повезани на Интернет. Питање заштите је постало једно од најважнијих питања у сваком пословном систему. Оперативни систем има значајну улогу у решавању проблема заштите. Апсолутна заштита рачунарских система се не може остварити. Основни циљ је обезбедити висок ниво заштите и зато приступ решавању проблема заштите мора бити свеобухватан са сталним развијањем нових механизама заштите у складу са безбедносним проблемима који настају. Код савремених рачунарских система примењује се систем заштите на више нивоа, тј. заштита се примењује: 1. на нивоу мреже, 2. на нивоу оперативног система, 3. на нивоу апликације, 4. на нивоу базе података, 5. као процедурална заштита. Основна потреба за заштитом у оквиру оперативног система настаје због дељења ресурса као што су меморија, У/И уређаји, програми и подаци. Оперативни систем може да обезбеди следеће начине заштите:
Без заштите – када се делови кода са критичним секцијама извршавају у различито време; Изолацију – када се сваки процес извршава независно од других процеса без дељења ресурса и без међусобне комуникације. Сваки процес има свој адресни простор, датотеке и друге објекте; Све је дељиво или нема дељења ресурса – власник објекта декларише објекат као јавни или приватни. Ако је објекат јавни свако му може приступити, ако је приватни може му приступити само власник ; Дељење преко ограничења приступа – када оперативни систем обезбеђује да само ауторизовани корисник може да приступи датом објекту. У овом случају оперативни систем код сваког приступа датог корисника неком објекту проверава дозволу приступа; Дељење преко динамичких способности – када се концепт контроле приступа проширује тако да омогући динамичко креирање права за дељење објеката; Ограничено коришћење објеката – када се ограничава не само приступ датом објекту, већ операције које се могу вршити над објектом.
Сваки вишекориснички оперативни систем мора да обезбеди заштиту од неауторизованог приступа једног корисника ресурсима другог корисника. Систем лозинки који се углавном примењује није потпуно сигуран. Корисници обично бирају лозинке које се лако погађају или бирају сложеније, али их записују и остављају на видљивим местима. Нарушавањем система лозинки долази се до неауторизованог приступа ресурсима датог система.
Захтеви система заштите савремених система Код данашњих система који се заснивају на комуникацији корисничког процеса и сервиса који обезбеђују неку врсту услуге или обраде података постоје следећи захтеви система заштите: 1) Међусобна аутентикација, 2) Контрола приступа или ауторизација, 3) Заштићена комуникација, 4) Непорицање слања, односно према података, 5) Не понављање слања, 6) Нема одбијања сервиса. Међусобном аутентикацијом се обезбеђује верификација идентитета обе стране које учествују у комуникацији. Тек након завршене међусобне аутентикације се може наставити даља комуникација. Контролом приступа се обезбеђује да само ауторизовани корисници могу приступити траженим подацима. У супротном, неауторизовани корисник би могао да наруши интегритет података, тако што би могао да их мења. Заштићена комуникација гарантује тајност података који се преносе преко комуникацеоног канала. Непорицање има значење да ни једна страна која учествује у комуникацији не може да пориче слање, односно пријем података пренетих у току процеса комуникације. Не понављање слања обезбеђује систем од могућности да трећа страна копира целу или неки део послате поруке и након тога врши поново слање
Оперативни системи-скрипта
43
Електротехничка школа „Раде Кончар“ Београд
тих истих података. Захтев да нема одбијања сервиса обезбеђује да нема деградације перформанси датог система и гарантовање легитимним корисницима система да могу да користе потребан сервис.
Врсте напада Дати рачунарски систем или део мреже можемо посматрати са аспекта обезбеђивања информације. Уобичајен ток информација када заштита система није нарушена је од извора до одредишта као на слици 1.
Слика 1. Уобичајен ток информација када заштита система није нарушена Када је заштита система нарушена, тада постоје следеће могућности:
прекид тока информација, модификација информација, пресретање информација, фабрикација информација (слика 2).
Оперативни системи-скрипта
44
Електротехничка школа „Раде Кончар“ Београд
Слика 2. Ток информација када је заштита система нарушена Напади који проузрокују прекид тока информација се називају напади на расположивост система. Примери таквих напада су: прекид комуникацеоне линије, уништење неке хардверске компоненете или недоступност датог система за управљање датотекама. Напади који имају за циљ модификацију информација припадају класи напада на интегритет података. Примери таквих напада су: модификација садржаја електронске поште, модификација садржаја дате датотеке, модификација електронских докумената који се преносе преко мреже. Трећа врста напада су напади на тајност или поверљивост података. Они су проузроковани пресретањем информација које се преносе, тако што неауторизовани субјект добија приступ тим информацијама. Примери таквих напада су: коришћење снифер (енг. sniffer ) прогама, недозвољено копирање датотека или програма који се преносе. Четврта врста напада су напади на аутентичност, који су проузроковани фабрикацијом информација. Настају тако што неауторизовани субјект генерише фалсификоване или лажне информације унутар датог система. Примери напада на аутентичност су: додавање садржаја унутар неког електронског документа,
Оперативни системи-скрипта
45
Електротехничка школа „Раде Кончар“ Београд
генерисање непостојеће електронске поште или поновно слање поште послатих у неком претходном периоду. Напади на рачунарске системе се могу такође класификовати у две групе: пасивни и активни. Код пасивних напада нема промене података, док код активних може бити промене података, генерисање нових података, може се вршити поновно слање и може се применити масовно слање података чиме се угрожава расположивост нападнутог система. Крајњи ефекат злонамерних програма могу да буду веома различити укључујући и обарање оперативног система. Нападе на оперативне системе од стране злонамерних програма можемо поделити у неколико група: вируси, црви и Тројански коњ. У општем случају постоје злонамерни програми који могу постојати независно од других програма, као и програми који се инсталирају и извршавају као додатни делови неких других програма. Логичка бомба је злонамеран програм који се активира на неки догађај (нпр. на неки датум). Trapdoor је недокументовани део кода који омогућава приступ нежељеним корисницима. Бактерије су злонамерни програми који се репликују све док не напуне цео диск или док не потроше све процесорске ресурсе.
Слика 3. Класификација злонамерних програма
Вируси Рачунарски вирус је програм који се може сам репродуковати тако што додаје сопствени код неком другом програму. Разултат извршавања вируса може бити исписивање неке поруке на екрану, приказ слике на екрану, модификовање или брисање неке датотеке, позив неког телефонског броја, итд. Другим речима, вирус може урадити све што рачунарски програм може урадити. Циљеви аутора вируса су:
брзо ширење вируса, да се вирус тешко детектује, да одбрана од вируса буде што компликованија.
Типичан вирус у току свог животног циклуса пролази кроз следеће фазе:
фаза фаза фаза фаза
спавања, пропагације, тригеровања, извршавања.
У фази спавања вирус је беспослен. Из ове фазе вирус се може активирати на неки догађај, као што је датум, присуством неког другог програма или датотеке, итд. Ова фаза није обавезна за све вирусе. У фази пропагације се врши клонирање вируса. Идентична копија вируса се смешта унутар неког програма или датотеке и на тај начин се врши даље инфицирање. У фази тригеровања долази до активирања вируса и тада он започиње функцију за коју је и намењен. Последња фаза је фаза извршавања у којој вирус може само исписати неку поруку на екрану или извршити неку деструктивну операцију. Најпознатији типови вируса су: паразити, стално присутни у оперативној меморији, боот сектор (енг. boot sector ), стеалтх (енг. Stealth) и полиморфни. Паразити се увек налазе као део неког извршног програма.
Оперативни системи-скрипта
46
Електротехничка школа „Раде Кончар“ Београд
Стално присутни вируси у меморији су обично део неког системског програма и инфицирају све програме који се извршавају. Boot сектор вируси инфицирају главни boot слог (master boot record ) и шире се након подизања система са диска. Stealth вируси су посебно пројектовани да буду невидљиви приликом детекције од стране антивирусних софтвера. Полиморфни вируси су вируси који мутирају приликом сваког инфицирања, чиме остварују да детекција на основу карактеристичног узорка вируса није могућа
Црви Црв је рачунарски програм који копира самог себе са једног рачунара на други. Црви се могу користити за преношење вируса или за замену постојећих датотека верзијама датотека које представљају Тројанске коње. Обично се црви преносе преко рачунарске мреже користећи недостатке оперативних система у погледу заштите. Црви се брзо репликују и троше пуно меморије на хост рачунарима. Најчешће се преносе уз електронску пошту и уз додатке електронској пошти. Између црва и вируса не постоји баш увек јасна граница. Црви су доста слични вирусима, али између њих постоји разлика. За разлику од вируса, за активирање црва није потребан корисник и они скривају своје ширење на друге рачунаре. Пропагација црва може бити много бржа од пропагације вируса. Брзина пропагације је пропорцеонална броју рањивих рачунара.
Тројански коњ Тројански коњ је програм који се најчешће преноси на циљни рачунар као невидљиви додатак уз неки други програм, а затим долази до његовог активирања. Могу се пренети копирањем програма, скидањем са Интернета, као и отварањем додатка у електронској пошти. Активности Тројанских коња могу бити веома различите. Могу да обришу податке, пошаљу своју копију на све рачунаре са листе електронске поште и да омогући додатне нападе на дати рачунар. Обично остварују повезивање са неким удаљеним рачунаром и преносе информације са рачунара на коме су инсталирани. Тројански коњи који се извршавају у оквиру језгра оперативног система су најопаснији. Тада ови програми имају потпуну контролу над датим системом. То значи да програми као што су, на пример, драјвер уређаја, сцреен савер и било који други програми које оперативни систем извршава представљају потенцијални извор напада. Тројански коњи се најчешће приказују као корисни програми, али у суштити они увек имају неку нежељену активност по онога ко их користи. Они се користе за индиректно извршавање функција које неауторизвани корисници не би могли да остваре директно.
Механизми заштите Заштита система може бити имплементирана на више различитих начина. Под физичком заштитом подразумева се обезбеђење зграда, обезбеђење просторија и неки начин контроле идентитета корисника система. Главни проблем заштите код свих оперативних система је аутентикација. Традиционалан механизам заштите је систем код кога се користи корисничко име и лозинка којим се верификује идентитет корисника и на тај начин искључује могућност рада неидентификованих корисника. Тајност лозинке је главни део система којим се наовај начин обезбеђује заштита. Од начина имплеменатације система лозинки највише зависи колико ће систем бити заштићен. Зато већина данашњих система не омогућава корисницима унос оних лозинки које нису довољно сигурне и које се називају слабе лозинке. Примеру слабих лозинки су име и презиме, реч из речника, име члана породице, итд. У циљу боље заштите, потребно је да оперативни систем подржи јаке лозинке, односно: 1. контролише да лозинке буду речи које се не могу наћи у речнику, 2. контролише да лозинке буду речи најмање 6 карактера дужине, 3. контролише да лозинке буду састављене и од слова и бројева, 4. обезбеди да лозинке имају период важења, 5. ограничи број покушаја пријављивања на систем са погрешном лозинком, тако што ће након максималном броја покушаја аутоматски забранити кориснички налог. Најважнија лозинка у датом систему је лозинка систем администратора, јер она има комплетну контролу над системом. Управо због тога највећи број напада на систем има за циљ проналажење лозинке систем администратора. Систем заштите који се заснива на лозинкама се може нарушити погађањем лозинки. Други начин је методом грубе силе где се коришћењем данашњих рачунара веома брзо може претражити
Оперативни системи-скрипта
47
Електротехничка школа „Раде Кончар“ Београд
комплетан скуп могућих лозинки чија је максимална дужина унапред позната. Нарушавање система заштите који се заснива на лозинкама се може нарушити као резултат визуелног или електронског мониторинга. Визуелни мониторинг настаје гледањем у тастатуру приликом уноса корисничког имена и лозинке. Електронски мониторинг се може урадити помоћу сниффинг алата којим се може снимити идентитет корисника и његова лозинка. Криптовање података који садрже лозинку решава овај проблем.
Оперативни системи-скрипта
48
Електротехничка школа „Раде Кончар“ Београд
Рачунарске мреже и начин рада у мрежи Рачунарска мрежа се формира повезивањем рачунара или комуникацеоне опреме преко комуникацеоног канала тако да преко ње могу да се преносе подаци, програми или да се деле поједини уређаји неког рачунарског система. Постоје два основна типа рачунарских мрежа: - локалне рачунарске мреже (енг. Local area networks, LAN ) које повезују уређаје који су релативно близу једни другима, - глобалне рачунарске мреже (енг. Wide area networks, WAN ) које покривају веће географске површине.
Начин рада у мрежи Послови у рачунарској мрежи могу да се извршавају на три начина: 1. на једном централном рачунару, 2. на скупу равноправних рачунара, 3. клијент-сервер окружење.
Централизована обрада У овом начину обраде сви послови се извршавају искључиво на једном рачунару (нпр. mainframe рачунару или серверу предузећа) док се остали чворови мреже користе искључиво за унос података и приказ евентуалних разултата. Овај начин рада уобичајен је код мрежа које се састоје из централног рачунара и терминалске мреже.
Обрада на мрежи равноправних рачунара Други пример организације мреже је мрежа равноправних рачунара (енг. peer to peer ). Употребом технологија које обезбеђују нпр. Artisoft LANtastic, Microsoft Windows for Workgroups ili Apple Localtalk , рачунари у овој врсти мреже могу да комуницирају директно један са другим без постојања сервера. Ова врста мреже обезбеђује основне мрежне сервисе који укључују дељивост датотека и штампача, уз много мања улагања у опрему. Недостатак ове организације је успоравање комуникације кроз мрежу са растом броја рачунара, тако да у мрежама овог типа које имају више од 25 рачунара или деле велику базу података, комуникација може да буде веома спора. Због тога се ова врста мреже користила у малим предузећима које немају потребу за брзином и капацитетом клијент-сервер архитектуре. Данас се, због пада цене рачунарске опреме, ова врста мреже релативно ретко користи.
Обрада у клијент-сервер окружењу Велики број мрежа садржи снажнији микрорачунар или радну станицу са мрежним оперативним системом који управља активностима у мрежи. Уобичајено је да се апликативни софтвер (нпр. за обраду текста, табелирање, електронску пошту, итд.) и подаци смештају на серверу. Сервер дистрибуира програме и податке осталим чворовима у мрежи на њихов захтев. Такође, на захтев клијената сервер може да извршава и појединачне послове или делове послова, док се један део послова (обично оних који имају мање захтеве за ресурсима) одвија и на клијентима. Коришћење сервера пружа мрежи већу брзину и снагу обраге, али захтева већа улагања и везује се са одређеним проблемима у одржавању. За мрежу која допушта овакав начин обраде се каже да има клијент-сервер архитектуру, док се за послове који се извршавају на овакав начин каже да раде у клијент-сервер окружењу.
Оперативни системи-скрипта
49
Електротехничка школа „Раде Кончар“ Београд
Топологија мреже Топлологија представља физички изглед или облик мреже. Чворови у систему могу да буду физички повезани на различите начине. Сви начини повезивања могу да се пореде према следећим критеријумима: 1. Основна цена: Колико је исплативо повезивати различите чворове у мрежи? 2. Цена комуникације: Колико времена је потребно да би се порука послала из чвора А до чвора Б? 3. Поузданост: Ако нека од веза или неки чвор мреже откаже да ли ће остали чворови моћи међусобно да комуницирају?
Потпуна повезаност У потпуно повезаној мрежи сваки чвор је повезан директном линијом са свим осталим чворовима у мрежи (слика 1). Основна цена оваквог начина повезивања је јако висока и пропорцеонална је квадрату броја чворова у мрежи. Са друге стране, овакав начин повезивања омогућује јако брзо преношење порука које се обавља без посредника у преносу. Оваква мрежа је врло поуздана јер је потребан јако велики број прекида на комуникацеоним линијама да би се мрежа поделила на делове између којих није могућа комуникација. У пракси се потпуно повезана мрежа ретко користи због велике цене повезивања.
Слика 1. Потпуно повезана мрежа
Делимична повезаност У делимично повезаној мрежи директне везе постоје између неких, али не и између свих парова чворова у мрежи (слика 2). Због тога је основна цена оваквог начина повезивања нешто нижа него код потпуно повезане мреже. Комуникација у оваквој мрежи може да буде спорија јер порука мора да прође кроз више чворова.
Оперативни системи-скрипта
50
Електротехничка школа „Раде Кончар“ Београд
Слика 2. Делимично повезана мрежа Делимично повезана мрежа има мањи ново поузданости од потпуно повезане мреже. У неким случајевима отказ једне од комуникацеоних линија може да доведе до поделе мреже у два дела између којих не постоји комуникација. Ради смањивања оваквог ефекта у делимично повезаним мрежама се важнији чворови обично повезују са најмање два друга чвора.
Мрежа са структуром дрвета У хијерархијским мрежама чворови су организовани у облику дрвета (слика 3). Овај начин повезивања се често примењује у мрежи великих предузећа. Сваки чвор (сем оног који представља корен дрвета) има јединственог директног претходника и једног или више наследника. Основна цена повезивања је у општем случају мања од цене повезивања у делимично повезану мрежу. Недостатак оваквог начина повезивања је што комуникација између два чвора није директна уколико се не ради о чвору и његовом директном наследнику. Уколико један од чворова откаже тада између његових директних наследника није могућа даља комуникација.
Слика 3. Мрежа са структуром дрвета
Мрежа са структуром звезде У овом типу мреже један од чворова у мрежи је повезан са свим осталим (слика 4). Међусобне везе између чворова (сем са чвором у центру) не постоје. Основна цена формирања ове мреже је релативно ниска и линеарно је пропорцеонална броју чворова у мрежи. Цена комуникације је релативно ниска јер порука између било која два чвора захтева највише два преноса, који се врше преко централног чвора. Последица овакве организације је могуће загушење на чвору који се налази у центру.
Оперативни системи-скрипта
51
Електротехничка школа „Раде Кончар“ Београд
Слика 4. Мрежа са структуром звезде Због тога се у највећем броју мрежа са овом топологијом у центру обично не налази рачунар, већ уређај задужен само за управљање саобраћајем и његово прослеђивање чворовима мреже. То може да буде комуникацеони процесор или посебан уређај који се назива switch. Због смањења загушења и цене мреже прави се и комбинација хијерархијске топологије и топологије звезде (слика 5). Код мреже са топологијом звезде најкритичнији ресурс је чвор у центру. У случају његовог отказа мрежа се распада на међусобно неповезане делове. Отказ било ког чвора на периферији нема никаквог утицаја на остале чворове у мрежи.
Слика 5. Комбинација мрежа са структуром звезде и дрвета
Мрежа са структуром прстена У овом случају су сви уређаји повезани у комуникацеони канал који формира затворену кружну линију (слика 6). Сваки рачунар у прстену може да комуницира директно са другим рачунаром у прстену. Поруке кроз прстен могу да се преносе само у једном или у оба смера.
Оперативни системи-скрипта
52
Електротехничка школа „Раде Кончар“ Београд
Слика 6. Мрежа са структуром прстена Основна цена повезивања у мрежу облика прстена је пропорцеонална броју чворова. Цена комуникације кроз мрежу са n чворова може да буде јако висока. То је посебно изражено код прстена са једноструким везама и једносмерним саобраћајем где може да буде потребно и n – 1 преноса за предају поруке уколико чвор шаље поруку свом суседу који се налази у супротном смеру од смера преношења поруке. Поузданост система зависи од начина преноса података. У случају једносмерног преноса отказ било ког чвора спречава даљу комуникацију, док се код двосмерног преноса прстен распада и постаје специјална врста магистрале. Ови ефекти се могу умањити увођењем вишеструких веза између чворова, али то може да знатно повећа основну цену прстена.
Мрежа са структуром магистрале У мрежи са топологијом магистрале са више приступних тачака (енг. mу ltiacess bus) сви чворови у мрежи су везани директно на комуникацеони канал који може да буде организован у облику праве линије (слика 7) или прстена (слика 8). У овој врсти мреже пренос податак између чворова се врши у оба смера. Основна цена формирања оваквог типа мреже је пропорционална броју чворова. Цена комуникације је мала, али при већем оптерећењу комуникацеони канал може да постане уско грло. Један од проблема ове врсте мреже је могућност појаве колизије, односно сударање послатих пакета, када једна или обе поруке морају да се понове. У таквим случајевима, перформансе мреже са магистралом опадају и пренос кроз мрежу се успорава.
Слика7. Мрежа са магистралом у облику праве линије Отказ било ког појединачног чвора не утиче на функционисање магистрале, али отказ комуникацеоне линије доводи до потпуног прекида саобраћаја на магистрали.
Оперативни системи-скрипта
53
Електротехничка школа „Раде Кончар“ Београд
Слика 8. Мрежа са магистралом у облику прстена
Оперативни системи-скрипта
54
Електротехничка школа „Раде Кончар“ Београд
Локалне рачунарске мреже Локалне рачунарске мреже представљају комбинацију хардвера, софтвера и комуникацеоних канала који повезују два или више рачунара унутар одређеног подручја. Хардверски уређаји у мрежи се понекад називају и чворовима.
Типична LAN мрежа може да садржи различите дељиве периферне уређаје (нпр. штампаче и/или јединице магнетних трака), као и велики број различитих рачунара (најчешће радних станица и/или рачунара уз један до два маинфраме рачунара). Сваки од уређаја у LAN мрежи треба да поседује мрежну картицу (енг. network interface card, NIC ) преко које се уређај прикључује на мрежу. Саставни део мреже је и оперативни систем који управља свим активностима у мрежи. Овакав оперативни систем мора да буде инсталиран на најмање једном рачунару у мрежи. За PC платформу најпознатији мрежни оперативни системи су Novell Netware, Microsoft Windows NT Advanced Server, IBM LAN Server и различите врсте Unixa. LAN се обично конфигурише у три облика: звезда, магистрала и прстен. Као преносни медијум у LAN мрежи може да се користи било жица (упоредна жица, коаксијални или оптички кабл) било микроталаси. Најчешће коришћени протоколи у LAN мрежи су Ethernet за топологију магистрале, брзи Ethernet за топологију звезде и IBM Token Ring за топологију прстена. LAN мреже могу да садрже и хардверске и софтверске уређаје који дозвољавају комуникацију са другим LAN мрежама или рачунарским ресурсима. Мост (енг. bridge) повезује две или више LAN мрежа заснованих на сличној технологији, док мрежни пролаз (енг. gateway ) допушта кориснику LAN-a да кумуницира са mainframe рачунаром или са рачунаром или програмом на некој несличној мрежи – нпр. комерцијалном базом података расположивом на глобалној мрежи.
Погодности L A N мрежа Мотивација за формирање мреже је најчешће:
Могућност рада са дељеним ресурсима, нпр. штампање датотека на штампачима који се налазе на другој локацији, обрада информација из дистрибуиране базе или употреба специјализованих хардверских уређаја који се налазе на различитим локацијама. Повећање брзине обраде информација дељењем послова између рачунара у мрежи. Поузданост рада. Уколико дође до отказа појединог чвора у мрежи, остали чворови могу преузети његове функције до успостављања нормалног стања. Комуникација између чворова у мрежи.
Оперативни системи-скрипта
55
Електротехничка школа „Раде Кончар“ Београд
Недостаци L A N мрежа LAN мреже могу да буду врло компликоване и обично захтевају посебно оспособљена лица за њихово одржавање и свакодневно функцеонисање. Чак и када таква лица постоје, LAN мреже су много слабије заштићене и много више изложене опасностима по сигурност података од рачунара који раде као самосталне јединице. Без обзира на брзину микрорачунара који се налазе у мрежи, постоје апликације са врло великим бројем трансакција које LAN мреже не могу да подрже на прави начин. Крајњи корисник захтева посебну обуку за употребу LAN-а, као и додатну обуку која у великој мери зависи од типа апликације који ће користити. Због ових недостатака, LAN мреже састављене искључиво од микрорачунара неће потпуно заменити маинфраме рачунаре као што је изгледало пре неколико година. Последњих година је присутан обрнут тренд да се све више користе маинфраме рачунари (тј. сервери предузећа) који су захваљујући развоју технологије и паду цена постали доступни већем броју фирми.
Оперативни системи-скрипта
56
Електротехничка школа „Раде Кончар“ Београд
Глобалне рачунарске мреже Насупрот локалним мрежама, глобалне рачунарске мреже могу да покривају велике географске површине користећи један или више различитих комуникацеоних канала као што су телефонске линије, микроталаси или сателитске комуникације. Фирме могу да одаберу да користе јавне глобалне рачунарске мреже чије услуге пружају локални провајдер или да направе своје личне, користећи комбинацију јавних и приватних ресурса. Комуникацеоне везе у глобалним рачунарским мрежама су под контролом комуникацеоних процесора. За прослеђивање саобраћаја са глобалних на неку од локалних мрежа и обрнуто се користи уређај који се назива рутер (енг. router ). Рутер се користи и за прослеђивање порука кроз неколико повезаних LAN мрежа. Једна од посебних врста глобалне рачунарске мреже је мрежа са наплатом (енг. val уe -added networks, VAН ). Мрежа са наплатом је приватна мрежа која нуди на располагање сервисе у мрежи уз наплату услуга. Обично VAН ради само са дигиталним преносом података, без подршке звучне комуникације. Провајдери VAН-a обично изнајмљују комуникацеоне канале и додају извјестан проценат екстра трошкова и/или одређене сервисе за које корисници желе да плаћају. Сервиси могу да буду нпр. електронска пошта, јавне базе података, електронске новине, разне дискусионе групе, откривање грешака, боље време одзива или просто пружање свих услуга по економској цени. Корисници VAН-a не морају додатно да инвестирају у мрежну опрему или софтвер, нити да сами брину о телекомуникацеоним везама. Они су у обавези да плате само количину пренетих података, плус цену претплате. Због тога су VAН мреже погодне као алтернатива за фирме које желе да имају могућност комуникације, али не желе или нису у моућности да саме одржавају скупу инфраструктуру приватне VAН мреже.
Оперативни системи-скрипта
57