ОС1/Јун 2016

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Задаци на страници предмета.

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ики тако што ћете га решити.