ОС1/Јун 2016
1. задатак
Поставка
Шта се сматрало највећим недостатком првобитних пакетних (батцх) система и како је тај недостатак решен?
Решење
Првобитни батцх системи су ефикасно делили ресурсе али нису интерактивни. Основни недостатак био је слабо искоришћење главног ресурса рачунара - процесора. Недостатак је решен увођењем тиме схаринг-а
2. задатак
Поставка
Коришћењем функције yield(jmp_buf old, jmp_buf new) која чува контекст једне нити и предаје процесор другој нити, реализовати операцију wait на бројачком семафору у школском језгру
Решење
Видети задатак из октобарског рока 2013.
3. задатак
Поставка
За следеће случајеве навести у које стање прелази текући (руннинг) процес и назначити да ли се то дешава као последица системског позива од стране тог текућег процеса или спољашњег прекида.
Решење
4. задатак
Поставка
Написати код који реализује Петерсонов алгоритам међусобног искључења два упоредна процеса помоћу упосленог чекања.
Решење
shared var turn : integer := 1, flag1, flag2 : boolean := false;
process P1
begin
loop
flag1 := true; turn := 2;
while flag2 and turn = 2 do null;
<critical section>
flag1 := false;
<non-critical section>
end
end P1;
process P2
begin
loop
flag2 := true; turn := 1;
while flag1 and turn = 1 do null;
<critical section>
flag2 := false;
<non-critical section>
end
end P2;
5. задатак
Поставка
Прецизно објаснити зашто класичан линкер свој посао обавља у два пролаза (а не може само у једном). Образложење илустровати примером.
Решење
У првом пролазу линкер прави глобалну мапу .обј фајлова и глобално дефинисаних извезених симбола и њихових адреса релативно у односу на почетак .обј фајла. У другом пролазу разрешава неразрешена адресна поља користећи дефинисане симболе у табели симбола.
6. задатак
Поставка
Виртуелни адресни простор система је 8ГБ, адресибилна јединица је 16-битна реч, а виртуелни адресни простор је организован странично са страницом величине 32КБ. Физички адресни простор је величине 2ГБ. Табеле пресликавања страница су организоване у два нивоа, с тим да табела првог нивоа има 2К улаза. Сваки улаз у ПМТ оба нивоа заузима само онолико колико је потребно да се смести број оквира (ПМТ другог нивоа је поравната на оквир). Колико меморије заузимају укупно ПМТ процеса који је алоцирао својих првих 128 страница?
Решење
ВАС: 2^33Б -> ВА: 32б, паге сизе 32КБ = 2^15Б -> паге 14б, АУ = 2Б
ПАС: 2ГБ = 2^31Б -> ПА: 30б
ПМТ1: 2К = 2^11 -> 11б
ВА: паге1(11) : паге2(7) : оффсет(14)
128 страница -> ПМТ1 и 1 ПМТ2 = 2^11 * 2^2 + 2^7 * 2^2 = 8.5КБ
7. задатак
Поставка
Неки систем са страничном организацијом меморије користи технику цопy он wрите. Један процес је тек креирао други процес позивом fork(). Ако новокреирани процес одмах по покретању изврши операцију уписа у меморију, који изузетак ће генерисати процесор, паге фаулт или неки други и који? Прецизно објаснити зашто и како.
Решење
Процесор ће генерисати изузетак wрите прохибитед, јер је у десктриптору ове странице означено да она није дозвољена за упис због тек креираног процеса детета.
8. задатак
Поставка
На асемблеру неког замишљеног РИСЦ процесора са ЛОАД/СТОРЕ архитектуром написати програм који преноси блок података задате дужине са задате адресе на излазни уређај коришћењем програмираног улаза/излаза са прозивањем (поллинг).
Решење
LD R1, blockAddr
LD R2, cnt
ST [ctrl], #0..1
wait: LD R0, [status]
AND R0, #1..0
JZ wait
LD R0, [R1]
ST [data], R0
INC R1
DEC R2
JNZ wait
ST [ctrl], R0
9. задатак
Поставка
Ако фајл систем користи две врсте кључева, дељени (схаред) и ексклузивни (еxцлусиве), са имплицитним закључавањем приликом отварања фајла, који кључ ће бити захтеван од стране процеса који отвара фајл са најавом само операције читања?
Решење
- Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.
10. задатак
Поставка
Неки систем евидентира слободне блокове фајл система тако што у један слободан блок смешта списак (индекс) до н наредних слободних блокова (најмање 0, највише н), као и број следећег таквог индексног блока. Колики је број блокова којима систем треба да приступи (на читање или упис) у најгорем случају приликом алокације једног слободног блока за садржај фајла? Број првог таквог блока у ланцу је глобални податак који се налази у меморији и његова евентуална измена се не броји.
Решење
- Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.