22.01.2021.
Писмени испит из предмета Оперативни системи За смер Р.
1
50 поена
- [40] Написати програм који израчунава проценат који заузимају извршни фајлови у директоријуму задатом првим аргументом командне линије, као и у свим његовим поддиректоријумима. Под извршним фајлом сматрати сваки регуларан фајл за кога било која група корисника има право извршавања. При претраживању не треба пратити симболичке линкове.
- [10] Све грешке у системским позивима појединачно обрадити.
Пример: једно покретање програма би могло бити облика:
$ ./zadatak1 . 82% $ ./zadatak1 temp 100%
2
50 поена
- [20] Написати програм који ажурира фајл са резултатима чија је путања
/tmp/rezultati.
Фајл се састоји од линија, од којих је свака у форматуime prezime poeni.
Са стандардног улаза корисник уноси име, презиме и број поена, раздвојене празним карактером, све док не унесе ознаку за крај фајла. Уколико линија са улаза није у описаном формату, штампа се порука и наставља са радом. Програм треба да уписује једну по једну линију у фајл/tmp/rezultati.
Обезбедити закључавање фајла при упису методом record locking-a. - [20] Када је корисник завршио са уносом података, програм треба да сортира дати фајл по броју поена у опадајућем редоследу и да резултат сортирања штампа на стандардни излаз. За сортирање фајла користити екстерни програм
sort
. Неке од опција овог програма су:+n
- сортирање се врши нумерички,+5
- сортирање се врши по шестој колони, при чему је сепаратор између колона празан карактер. - [10] Све грешке у системским позивима појединачно обрадити.
Пример: једно покретање програма би могло бити облика:
$ ./zatadak2 Marko Markovic 20 Pera Peric 5 Laza Lazic 10 Sortirano: Marko Markovic 20 Laza Lazic 10 Pera Peric 5