ОС1 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (Ispomerani materijali: SUETF materijali pomereni u materijale za stari projekat; scientificmind nije koristan; Bebićevi ispiti su rešeni i na vikiju)
ознака: ручно враћање
 
(Није приказано 17 међуизмена 6 корисника)
Ред 1: Ред 1:
{{tocright}}
{{Предмет
'''Оперативни системи 1''' (енгл. ''Operating systems 1'') су обавезан предмет у четвртом семестру.
| назив    = Оперативни системи 1
 
| шифра    = 13С112ОС1, 13Е112ОС1
== Странице ==
| семестар  = 4
* [http://os.etf.bg.ac.rs/OS1/ Страница предмета]
| статус    = обавезни
| страница  = [http://os.etf.bg.ac.rs/OS1/ os.etf.rs/OS1]
| одсек    = СИ, РТИ
| следећи  = ОС2
}}
'''Оперативни системи 1''' (енгл. ''Operating systems 1'') је мали, али потпуно функционалан обавезан предмет у четвртом семестру на СИ и РТИ.


== Корисне везе ==
== Корисне везе ==
* '''[[github:KockaAdmiralac/OS-kolokvijumi|Сви колоквијуми спојени у један документ и категорисани по области, спремни за штампу]]'''
* '''[[github:KockaAdmiralac/OS-kolokvijumi|Сви колоквијуми спојени у један документ и категорисани по области, спремни за штампу]]'''
{{Материјали
* [https://drive.google.com/open?id=1861zDxYoWeF7meMNlUweyGvGJtPkafQz ETF SI] (водич за стари пројекат, решења старијих рокова)
| vuk            = 1861zDxYoWeF7meMNlUweyGvGJtPkafQz
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/8383729297 ETF Materijali (Box)] (стари пројекат, решења рокова)
| box           = 8383729297
* [[github:nikolabebic95/Fakultet/tree/master/Godina2/OS1|''GitHub'' налог nikolabebic95]] (модификација јун 2016)
}}
* [https://siwiki.rs/w/images/4/44/OS1_ispitna_teorija_izvu%C4%8Deno_osnovno.docx Ispitna Teorija Podsetnik]
* [[github:nikolabebic95/Fakultet/tree/master/Godina2/OS1|''GitHub'' налог nikolabebic95]]
 
== Настава ==
Настава је подељена на следећи начин:
* '''Први блок:''' Увод у оперативне системе, адресирање меморије (компајлер, линкер), организација и алокација меморије (континуална, сегментна, сегментно-странична, странчина), дељење меморије (динамичко учитавање, преклопи, логичко дељење меморије, дељене библиотеке, учитавање на захтев, замена страница)
* '''Други блок:''' Процеси и нити, имплементација процеса и нити (прекиди, системски позиви, промена контекста), синхронизација процеса (семафори, бафери, произвођач/потрошач, међупроцесна комуникација)
* '''Трећи блок:''' Улазно-излазни подсистем (знаковни и блоковски уређаји, прикључнице, меморијски-пресликани фајлови, драјвери, управљање дисковима, ''spooling''), фајл систем (основни концепти, организација фајл подсистема, методе алокације фајла, руковање слободним простором)
На вежбама се углавном пролазе задаци са претходних колоквијума, и тачна категоризација тих задатака може са наћи у збирци задатака у [[#Корисне везе|одељку за корисне везе]].


== Пројекат ==
== Пројекат ==
Пројекат се може предати и у предроку, а пројекти предати у предроку који су такође међу најбоље урађеним добијају бонус 10% бодова уколико је студент из текуће генерације. Пројекат носи 30% укупне оцене, и предаја пројекта је услов за излазак на испит.
Пројекат се може предати и у предроку, а пројекти предати у предроку добијају бонус 10% бодова уколико је студент из текуће генерације. Пројекат носи 30% укупне оцене, и предаја пројекта је услов за излазак на испит.


=== Стари пројекат ===
Од школске 2021/2022. године се на пројекту, као на [[ОС2|Оперативним системима 2]], модификује ради са окружењем слично као код [[github:mit-pdos/xv6-riscv|xv6]] оперативног система (сам пројекат је сличан као претходних година, само прилагођеним на ново окружење). Од додатних ресурса за израду овог пројекта су засад доступни:
Пројекат се радио са Borland C++ 3.1 преводиоцем на 32-битној Windows 7 виртуелној машини. Обично се радило на језгру оперативног система чији је задатак да управља више нити.
* Репозиторијуми на ''GitHub'' са ОС1 пројектима почев од 2022. године: [https://github.com/search?q=os1+projekat+created%3A%3E2022-06-01&type=repositories претрага] и [[github:topics/os1-projekat|тема]]
** Уколико се ваш пројекат не појављује у претрази, додајте <code>os1-projekat</code> таг на њега па ће се појављивати у теми.
* [[github:insanetree/os1-vm-conf/blob/main/konfiguracijaVM.md|Упутство за подешавање пројекта на некој Linux дистрибуцији заснованој на ''Debian'']] (Александар Поповић)
** Уколико користите ''Ubuntu'' 22.04 или новији, шансе су да ћете морати да инсталирате старије верзије поменутих GNU алата.
* [https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf xv6 књига]


Корисни материјали за израду старог пројекта:
=== Старе модификације ===
* '''[https://drive.google.com/open?id=1FfSk-shJZ2_ZyA9GGEC8Pp3KEYH94zlT Водич за пројекат]''' (Алекса Митровић и Кристијан Жижа)
Модификације пре јуна 2022. године односе се на стари пројекат, али можда буду релевантне и за нови.
* [https://gist.github.com/lazanet/4c60bca936fdf6ce6f813f98cadf0c27 Покретање пројекта без виртуелне машине на Linux-у] (Лазар Митровић)
{{#dpl:
* [https://gist.github.com/bogdanbebic/e0ed7002e1341715c26c4599b0726586 Упутства за постављање Borland C++ 3.1 у Visual Studio Code окружењу и честе грешке при изради пројекта] (Богдан Бебић)
| namespace      =
** [https://drive.google.com/open?id=1sZYVGqPz1NNcEvSRCuICKryXMvrxrnY_ Додатне датотеке за постављање у Visual Studio Code]
| titleregexp    = ОС1/Модификације .*20[01]\d
* [http://www.suetf.org/materijali/ir2os1/Uputstvo%20za%20izradu%20projekta%20iz%20OS1%20pomocu%20Notepadpp.rar Uputstvo za izradu projekta u Notepad++]
| titleregexp    = ОС1/Модификације .*202[01]
* [[Медиј:OS1 modifikacija jul 2020.pdf|Модификације дате на одбрани пројекта у јулу 2020. године]]
| noresultsheader = Тренутно нема модификација.
* [http://www.bitsavers.org/pdf/borland/borland_C++/Borland_C++_Version_3.1_Users_Guide_1992.pdf Корисничко упутство за Borland C++ 3.1 преводилац]
| format          = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦17¦-1}²]],,
* [[Медиј:OS1 vodič 2019.pdf|Водич из 2018/2019. године (Милош Јовановић, 2017/0741)]]
}}
 
* [[Медиј:OS1 modifikacija jul 2020.pdf|јул 2020]] (PDF)
=== Нови пројекат ===
Од школске 2021/2022. године постоје велике шансе да се на пројекту, као на [[ОС2|Оперативним системима 2]], модификује оперативни систем [[github:mit-pdos/xv6-riscv|xv6]] са додатним могућностима (можда истим као претходних година, само прилагођеним на ново окружење). Од ресурса за израду овог пројекта засад је доступна [https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf xv6 књига.]


=== Модификације ===
=== Модификације ===
Модификације пре јуна 2022. године односе се на стари пројекат, али можда буду релевантне и за нови.
Модификације за пројекат који важи од школске године 2021/22.
{{#dpl:
{{#dpl:
| namespace      =
| namespace      =
| titleregexp    = ОС1/Модификације .*
| titleregexp    = ОС1/Модификације .*20[2-9][2-9]
| noresultsheader = Тренутно нема модификација.
| noresultsheader = Тренутно нема модификација.
| format          = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦17¦-1}²]],,
| format          = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦17¦-1}²]],,
Ред 42: Ред 55:


== Испитни рокови ==
== Испитни рокови ==
Док колоквијуми на предмету увек имају решења, испити обично немају, тако да су овде сакупљени неки решени рокови.
Док колоквијуми на предмету увек имају решења, испити обично немају, тако да су овде сакупљени неки решени рокови. Уколико желите да додате рок, посетите '''[[Project:Направи#Стандард (латиница)|страницу за прављење рока]]'''.
{{#dpl:
{{#dpl:
| namespace      =
| namespace      =
Ред 48: Ред 61:
| noresultsheader = Тренутно нема решених рокова.
| noresultsheader = Тренутно нема решених рокова.
| format          = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],,
| format          = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],,
| ordermethod = title
| ordermethod     = title
}}
}}


Ред 60: Ред 73:
* <math>I</math> — Бодови са писменог дела испита (0-30)
* <math>I</math> — Бодови са писменог дела испита (0-30)
* Укупни бодови: <math>P = Pr + K + I</math>
* Укупни бодови: <math>P = Pr + K + I</math>
* Услов: <math>K \geq 16</math>, <math>I > 15</math>
* Услов: <math>K \geq 16</math>, <math>I \geq 15</math>
{| class="wikitable"
{| class="wikitable"
! Бодови
! Бодови
Ред 69: Ред 82:
|}
|}


=== Рачунање ===
=== Калкулатор ===
<div class="calculator">
<div class="calculator">
* <math>PR</math>: <span data-variable="PR" data-max="40"></span>
* <math>PR</math>: <span data-variable="PR" data-max="40"></span>
* <math>K</math>: <span data-variable="K" data-max="40"></span>
* <math>K</math>: <span data-variable="K" data-max="40"></span>
* <math>I</math>: <span data-variable="I" data-max="30"></span>
* <math>I</math>: <span data-variable="I" data-max="30"></span>
* <math>P</math>: <span data-variable="P" data-expression="PR K I + + I 15 - 1 min 0 max * K 15.99 - ceil 1 min 0 max *"></span>
* <math>P</math>: <span data-variable="P" data-expression="PR K I + + I 14.999 - ceil 1 min 0 max * K 15.999 - ceil 1 min 0 max *"></span>
* Оцена: <span data-expression="P 10 / ceil 5 max 10 min"></span>
* Оцена: <span data-expression="P 10 / ceil 5 max 10 min"></span>
</div>
</div>
Ред 83: Ред 96:
* {{zadaci|prepis}}
* {{zadaci|prepis}}
** Модификације за пројекат од 2018 до 2020. године: [https://cdn.discordapp.com/attachments/693907701771665448/858783731958153236/modifikacije.zip]
** Модификације за пројекат од 2018 до 2020. године: [https://cdn.discordapp.com/attachments/693907701771665448/858783731958153236/modifikacije.zip]
[[Категорија:Четврти семестар]]
[[Категорија:Обавезни предмети]]
[[Категорија:ОС1]]

Тренутна верзија на датум 24. јун 2024. у 19:11

Оперативни системи 1 (енгл. Operating systems 1) је мали, али потпуно функционалан обавезан предмет у четвртом семестру на СИ и РТИ.

Корисне везе

Настава

Настава је подељена на следећи начин:

  • Први блок: Увод у оперативне системе, адресирање меморије (компајлер, линкер), организација и алокација меморије (континуална, сегментна, сегментно-странична, странчина), дељење меморије (динамичко учитавање, преклопи, логичко дељење меморије, дељене библиотеке, учитавање на захтев, замена страница)
  • Други блок: Процеси и нити, имплементација процеса и нити (прекиди, системски позиви, промена контекста), синхронизација процеса (семафори, бафери, произвођач/потрошач, међупроцесна комуникација)
  • Трећи блок: Улазно-излазни подсистем (знаковни и блоковски уређаји, прикључнице, меморијски-пресликани фајлови, драјвери, управљање дисковима, spooling), фајл систем (основни концепти, организација фајл подсистема, методе алокације фајла, руковање слободним простором)

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

Пројекат

Пројекат се може предати и у предроку, а пројекти предати у предроку добијају бонус 10% бодова уколико је студент из текуће генерације. Пројекат носи 30% укупне оцене, и предаја пројекта је услов за излазак на испит.

Од школске 2021/2022. године се на пројекту, као на Оперативним системима 2, модификује ради са окружењем слично као код xv6 оперативног система (сам пројекат је сличан као претходних година, само прилагођеним на ново окружење). Од додатних ресурса за израду овог пројекта су засад доступни:

Старе модификације

Модификације пре јуна 2022. године односе се на стари пројекат, али можда буду релевантне и за нови.

Модификације

Модификације за пројекат који важи од школске године 2021/22.

Испитни рокови

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

Литература

Доступан је уџбеник из предмета од 2020. године:

Начин оцењивања

  • — Бодови са пројекта (0-30)
  • — Бодови са колоквијума (0-40)
  • — Бодови са писменог дела испита (0-30)
  • Укупни бодови:
  • Услов: ,
Бодови
Оцена 5 6 7 8 9 10

Калкулатор

  • :
  • :
  • :
  • :
  • Оцена:

Потребна помоћ