ОС1/Септембар 2013

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

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

1. задатак

Поставка

Шта је био основни мотив увођења мултипрограмирања у до тада пакетне рачунарске системе?

Решење

Ово питање појавило се на септембарском року 2011. године као 1. питање.

2. задатак

Поставка

Коришћењем стандардних библиотечних функција setjmp() и longjmp(), реализовати операцију

void yield(jmp_buf old, jmp_buf new);

која чува контекст нити чији је jmp_buf дат као први аргумент, одузима јој процесор и рестаурира контекст нити чији је jmp_buf дат као други аргумент, којој предаје процесор.

Решење

void yield(jmp_buf old, jmp_buf new) {
	if(setjmp(old) == 0) {
		longjmp(new, 1);	
	}
}

3. задатак

Поставка

Коришћењем системских позива fork() и execlp() написати програм run који, када се покрене као процес, креира процесе-децу над свим програмима који се налазе у фајловима чија су имена дата аргументима програма run (нпр. run p1.exe p2.exe p3.exe).

Решење

int main(int argc, char* argv[]) {
	for(int i = 1; i < argc; i++) {
		int pid = fork();
		if(pid == 0) {
			execlp(argv[i]);
			return -1;
		}
		else if(pid < 0)
			return -2;
	}
	return 0;
}

4. задатак

Поставка

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

Решење

var semA : Semaphore := 1;
	semB : Semaphore := 0;

process A:
	begin
		loop
			wait(semA);
			<critical>
			signal(semB);
			<non-critical>
	end
end A;

process B:
	begin
		loop
			wait(semB);
			<critical>
			signal(semA);
			<non-critical>
	end
end B;

5. задатак

Поставка

Коју услугу оперативни систем треба да обезбеди процесима да би они користили преклопе (оверлаyс)?

Решење

Преклопи не захтевају подршку ОС-а. Све обавља преводилац и генерисани код. ОС само обезбеђује услуге за алокацију дела виртуелног адресног простора.

6. задатак

Поставка

Ако је учестаност поготка у ТЛБ 90%, а време приступа ТЛБ износи 20% од времена приступа физичкој меморији, колико (процентуално) је дуже ефективно време приступа виртуелној меморији у односу на приступ физичкој меморији код страничења у два нивоа?

Решење

0.9 * ( 0.2т_рам + т_рам) + 0.1 * ( 0.2т_рам + 3т_рам) = 1.49 т_рам

Однос: 49%

7. задатак

Поставка

Шта је сврха технике цопy-он-wрите код страничне организације виртуелне меморије?

Решење

Служи са уштеду меморије која би се беспотребно трошила све док један од процеса не затражи промену те странице када се алоцира нова страница и копира се садржај. Уколико више процеса деле исту страницу, само ће онај који је направио измену добити нову страницу док ће остали наставити да деле исту страницу.

8. задатак

Поставка

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

Решење

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

9. задатак

Поставка

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

Процеси А, Б, C и D извршавају системске позиве отварања и затварања истог фајла у следећем редоследу (неки процес извршава позив затварања фајла само ако га је успешно отворио):

  1. А: опен(РЕАД)
  2. Б: опен(WРИТЕ)
  3. C: опен(РЕАД)
  4. А: цлосе
  5. C: цлосе
  6. D: опен(WРИТЕ)

Решење

Успешно: 1, 2, 4, 5, 6

Неуспешно: 3

10. задатак

Поставка

Шта је највећи недостатак организације фајл система помоћу ФАТ?

Решење

Веома велика осетљивост на отказе. Било какво оштећење у ФАТ узрокује штету. Могуће је уништити цео фајлсистем.