ОС1/Октобар 2013

Извор: SI Wiki
< ОС1
Датум измене: 20. септембар 2021. у 17:53; аутор: Ivan Pešić (разговор | доприноси) (Нова страница: {{tocright}} [http://os.etf.bg.ac.rs/OS1/rokovi/2013/okt/OS1%20Okt%202013.pdf Zadaci na stranici predmeta.] == 1. zadatak == === Postavka === Koja je razlika između m…)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу

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

1. задатак

Поставка

Која је разлика између мултипроцесорских и дистрибуираних рачунарских система?

Решење

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

2. задатак

Поставка

Коришћењем операције yield(jmp_buf old, jmp_buf new) која чува контекст нити чији је jmp_buf дат као први аргумент, одузима јој процесор и рестаурира контекст нити чији је jmp_buf дат као други аргумент, којој предаје процесор, реализовати операцију Semaphore::wait() у школском језгру.

Решење

Semaphore::wait() {
	lock();
	if(--val < 0) {
		jmp_buf old = Thread::running->context;
		blocked.put(Thread::running);
		Thread::running = Scheduler::get();
		jmp_buf new = Thread::running->context;
		yield(old, new);
	}
	unlock();
}

3. задатак

Поставка

Која је разлика између (тешког) процеса и нити (тхреад)?

Решење

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

4. задатак

Поставка

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

Решење

var mutex : Semaphore := N;

process P:
	begin
		loop
			wait(mutex);
			<critical>
			signal(mutex);
			<non-critical>
	end
end P;

5. задатак

Поставка

Ако током свог првог пролаза линкер у својој табели не пронађе симбол који је дефинисан у текућем фајлу (извози се), да ли ће пријавити грешку? Образложити.

Решење

Не јер ако се не налази у табели симбола значи да симбол није дефинисан и не долази до конфликта имена.

6. задатак

Поставка

Која је разлика између бест фит и wорст фит алгоритма континуалне алокације меморије?

Решење

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

7. задатак

Поставка

У неком систему са виртуелном меморијом број странице у виртуелној адреси је величине 48 бита. Да би чување ПМТ учинио изводљивим, систем користи хасх табелу са 64К улаза за смешање ПМТ сваког процеса. Хасх функција је проста модуло функција: улаз у табелу одређује се помоћу 16 најнижих бита броја странице. У сваком улазу хасх табеле налази се 64-битна глава уланчане листе записа за алоциране странице које се пресликавају у тај улаз. Сваки запис садржи виших 32 бита броја странице, број оквира у који је та страница пресликана (32 бита, вредност 0 означава да страница не може да се преслика) и показивач на следећи запис (64 бита, вредност 0 означава крај листе). Неки процес је алоцирао 256 најнижих и 256 највиших страница свог виртуелног адресног простора. Колико простора (у бајтовима) укупно заузима ПМТ овог процеса?

Решење

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.

8. задатак

Поставка

У неком систему подржан је само асинхрони излаз на излазни уређај помоћу следеће функције

IOReqID output (IODevID deviceID, IOReq* request);

која задаје (асинхроно) излазну операцију спецификовану другим аргументом на уређају идентификованом првим аргументом. Ова функција одмах враћа контролу позиваоцу, уз идентификацију задате операције (резултат типа IOReqID је већи од 0 у случају исправно задатог захтева). Функција

void ioWait (IOReqID);

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

Решење

IOReqID output_user(IODevID deviceID, IOReq* request, bool synchronous) {
	IOReqID id = output(deviceID, request);
	if(synchronous && id > 0) wait(id);
	return id;
}

9. задатак

Поставка

Шта означава скраћеница ФТП? Укратко објаснити чему служи овај протокол.

Решење

Филе Трансфер Протоцол - у размени фајлова учествују 2 рачунара. Један игра улогу сервера а други улогу клијента. На оба рачунара се извршавају програми који имплементирају овај протокол.

10. задатак

Поставка

Која метода алокације фајлова је ефикаснија за директни приступ, уланчана или индексирана и зашто?

Решење

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.