ОС2/Фебруар 2019
1. задатак
Поставка
Код Мултилевел Феедбацк Qуеуе распоређивања, прецизно навести у којој ситуацији (на који догађај у систему) распоређивач „деградира“ процес (смешта га у ред спремних процеса нижег приоритета од оног у ком је раније био), а када га „промовише“ (смешта у ред вишег приоритета од оног у ком је био)?
Решење
- Процес се деградира када му истекне временски квант.
- Процес се промовише кад је дуго чекао.
2. задатак
Поставка
На језику Јава написати код серверског процеса који прихвата клијентски захтев преко прикључнице (соцкет) на порту 6060 и одмах раскида конекцију.
Решење
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket sock = new ServerSocket(6060);
Socket client = sock.accept();
sock.close();
} catch (IOException e) {
// ...
}
}
}
3. задатак
Поставка
Шта је СОАП, а шта WСДЛ?
Решење
- СОАП је протокол за размену порука између апликација.
- WСДЛ је језик за описивање wеб сервиса, заснован на XМЛ.
4. задатак
Поставка
Шта је техника „старења“ (енгл. агинг) и за шта се она употребљава?
Решење
Техника старења је техника у алгоритмима распоређивања заснованим на приоритету која спречава изгладњивање. Што дуже неки процес чека, повећава му се приоритет, и тако долази на ред.
5. задатак
Поставка
Три упоредна процеса, А, Б и C заузимају и ослобаˇају три недељива ресурса X, Y и З по следећем редоследу:
A: request(X), release(X), request(Y), release(Y) B: request(Y), release(Y), request(X), release(X) C: request(Y), request(Z), release(Z), release(Y)
Да ли ова три процеса могу да уђу у стање мртве блокаде (деадлоцк)? Ако могу, дати сценарио по коме долазе у ово стање и нацртати граф заузећа ресурса у том стању. Ако не могу, прецизно објаснити (доказати) зашто не могу.
Решење
Ова три процеса могу да уђу у стање мртве блокаде, ако процес А заузме X а процес Б заузме Y ресурс. На графу заузећа се види петља A->Y->B->X->A
6. задатак
Поставка
Неки систем примењује алгоритам часовника (давања нове шансе, цлоцк, сецонд-цханце) за избор странице за избацивање. У доњој табели дате су различите ситуације у којима треба одабрати страницу за замену. Дате су вредности бита референцирања за све странице које учествују у избору и позиција „казаљке“. Казаљка се помера у смеру према вишим бројевима страница. За сваку од датих ситуација навести која страница ће бити замењена.
Ситуација 1 | Ситуација 2 | Ситуација 3 | ||||
---|---|---|---|---|---|---|
Страница | Бит реф. | Казаљка | Бит реф. | Казаљка | Бит реф. | Казаљка |
0 | 1 | 1 | 1 | |||
1 | 1 | 1 | 1 | |||
2 | 0 | X | 0 | 1 | X | |
3 | 0 | 0 | 1 | |||
4 | 1 | 0 | 1 | |||
5 | 0 | 1 | X | 1 | ||
6 | 1 | 1 | 1 | |||
7 | 1 | 1 | 1 |
Решење
Ситуација | Страница |
---|---|
1 | 2 |
2 | 2 |
3 | 2 |
7. задатак
Поставка
Код слаб алокатора, да ли једна структура звана цацхе садржи алоциране структуре кернела истог или различитих типова?
Решење
Цацхе садржи плоче које у себи садрже алоциране стукуре једног типа, тако да један цацхе служи за један тип.
8. задатак
Поставка
Да ли структура РАИД0 повећава отпорност на отказе? Образложити како/зашто.
Решење
Не, јер не постоји никаква редунданса. Отпорност се смањује јер се отказом једног диска трајно губе подаци целог система, па се РАИД 0 користи тамо где поузданост није битна.
9. задатак
Поставка
Шта је јоурналинг у фајл систему
Решење
Бележење или јоурналинг је функционалност фајл система где се све модификације фајл система моделују као трансакције и не врше се синхроно, већ се записују у "записник" (јоурнал) и извршавају асинхроно. У случају пада система, неизвршене трансакције се могу извршити или поништити тако да систем остане у конзистентном стању.
10. задатак
Поставка
На ком језику су написане библиотеке попут ОпенГЛ и СQЛите које су саставни део Андроид система?
Решење
Написане су на C/Ц++.