Difference between revisions of "LU-OSI-m"
(→30.04.2019) |
|||
(19 intermediate revisions by the same user not shown) | |||
Line 107: | Line 107: | ||
| | | | ||
− | ==== 26.03 | + | ==== 26.03.2019 ==== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
Procesi un koordinācija. | Procesi un koordinācija. | ||
Line 122: | Line 115: | ||
* [[LU-OSI-M10:PD#PD3 | PD3-A]] nodošanas '''termiņš'''. | * [[LU-OSI-M10:PD#PD3 | PD3-A]] nodošanas '''termiņš'''. | ||
|- | |- | ||
− | | | + | | |
− | ==== | + | |
+ | ==== 02.04.2019 ==== | ||
| | | | ||
* Faili un disku ievads/izvads. | * Faili un disku ievads/izvads. | ||
Line 138: | Line 132: | ||
| | | | ||
− | ==== | + | ==== 09.04.2019.==== |
| | | | ||
Augstas veiktspējas failu sistēmas. | Augstas veiktspējas failu sistēmas. | ||
Line 144: | Line 138: | ||
Lasāmviela: [http://pdos.csail.mit.edu/6.828/2009/readings/journal-design.pdf Journaling the Linux ext2fs Filesystem] | Lasāmviela: [http://pdos.csail.mit.edu/6.828/2009/readings/journal-design.pdf Journaling the Linux ext2fs Filesystem] | ||
− | |||
<!-- | <!-- | ||
* [http://pdos.csail.mit.edu/6.097/readings/journal-softupdate.pdf Ganger, Gregory R., M. Kirk McKusick, Craig A. N. Soules, and Yale N. Patt. "Soft Updates: A Solution to the Metadata Update Problem in File Systems."] ACM Transactions on Computer Systems 18, 2 (May 2000): 127-153. | * [http://pdos.csail.mit.edu/6.097/readings/journal-softupdate.pdf Ganger, Gregory R., M. Kirk McKusick, Craig A. N. Soules, and Yale N. Patt. "Soft Updates: A Solution to the Metadata Update Problem in File Systems."] ACM Transactions on Computer Systems 18, 2 (May 2000): 127-153. | ||
--> | --> | ||
+ | | | ||
+ | |- | ||
+ | | | ||
+ | ==== 15.04.2019. - 22.04.2019.==== | ||
| | | | ||
+ | ''Lieldienu brīvdienas'' | ||
+ | | | ||
|- | |- | ||
− | | | + | | |
− | ==== | + | |
+ | ==== 23.04.2019 ==== | ||
| Vidus semestra '''kontroldarbs''' | | Vidus semestra '''kontroldarbs''' | ||
| | | | ||
− | |||
− | |||
|- | |- | ||
− | | | + | | |
− | ==== | + | ==== 30.04.2019 ==== |
| | | | ||
Plānošana (scheduling). | Plānošana (scheduling). | ||
Line 170: | Line 168: | ||
|- | |- | ||
− | | | + | | |
− | ==== | + | |
+ | ==== 07.05.2019 ==== | ||
| | | | ||
Mikrokodoli. | Mikrokodoli. | ||
Line 181: | Line 180: | ||
|- | |- | ||
− | | | + | | |
− | ==== | + | |
+ | ==== 14.05.2019 ==== | ||
| | | | ||
Line 196: | Line 196: | ||
[[LU-OSI-M10:PD#PD4 | PD4]] visu daļu nodošanas '''termiņš'''. | [[LU-OSI-M10:PD#PD4 | PD4]] visu daļu nodošanas '''termiņš'''. | ||
|- | |- | ||
− | | | + | | |
− | ==== | + | |
+ | ==== 21.05.2019 ==== | ||
| | | | ||
Line 213: | Line 214: | ||
| | | | ||
− | ==== | + | ==== 28.05.2019 ==== |
| | | | ||
Čaula (shell). | Čaula (shell). | ||
Line 224: | Line 225: | ||
| | | | ||
− | ==== | + | ==== 04.06.2019 ==== |
| | | | ||
Kursa nobeiguma kontroldarbs | Kursa nobeiguma kontroldarbs | ||
Line 269: | Line 270: | ||
| | | | ||
− | ==== | + | ==== 04.06.2019 ==== |
| | | | ||
* '''Eksāmens''' 12:30 | * '''Eksāmens''' 12:30 | ||
Line 294: | Line 295: | ||
== QEMU == | == QEMU == | ||
Praktiskajiem darbiem nepieciešams uzstādīt modificētu QEMU emulatoru. | Praktiskajiem darbiem nepieciešams uzstādīt modificētu QEMU emulatoru. | ||
− | Ubuntu 11.04 vidē tas darāmas sekojoši | + | Ubuntu 11.04 vidē tas darāmas sekojoši: |
binutils, GCC un GDB der jau tie, kas ir Ubuntu [1]. Lai uzstādītu | binutils, GCC un GDB der jau tie, kas ir Ubuntu [1]. Lai uzstādītu | ||
Line 337: | Line 338: | ||
* [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/ MIT OCW kurss] kurš kalpo kā pamats mūsu kursam | * [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/ MIT OCW kurss] kurš kalpo kā pamats mūsu kursam | ||
** [http://pdos.csail.mit.edu/6.828/2014 Analogs kurss MIT 2014.g.] | ** [http://pdos.csail.mit.edu/6.828/2014 Analogs kurss MIT 2014.g.] | ||
+ | ** [https://pdos.csail.mit.edu/6.828/2018 Analogs kurss MIT 2018.g.] | ||
** [https://pdos.csail.mit.edu/6.828/2016/reference.html References] | ** [https://pdos.csail.mit.edu/6.828/2016/reference.html References] | ||
** [https://pdos.csail.mit.edu/6.828/2016/xv6.html Xv6 operētājsistēma | ** [https://pdos.csail.mit.edu/6.828/2016/xv6.html Xv6 operētājsistēma |
Revision as of 12:41, 9 April 2019
Īsceļi: Kalendārs | PD | QEMU | Slaidi | Literatūra | Saites
Operētājsistēmu inženierija (OSI)
LU DF maģistru un doktorantu studiju kurss DatZ5048, meklēt eStudijās.
- Pasniedzējs: Leo Seļāvo (epasts: vards.uzvards @ gmail.com)
- Vērtējums = 40% mājas un praktiskie darbi, 10% aktīva dalība kursā, 20% KD1 un 30% KD2(eksāmens).
Praktisko un mājas darbu iesniegšana izpildāma noteiktajos datumos un laikos elektroniski, e-studijās.
- Iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma.
- Ja darbs iesniedzams e-pastā, tad Subj. jānorāda sekojošā formā "OSI MD1 Vards Uzvards" - piemērs MD1 iesniegumam.
- Iesniegto failu vārdam jābūt sekojošā formātā, ar svītru tukšumu vietā, piemēram: "OSI_MD1_Vards_Uzvards.pdf"
- Ja iesniedzams teksts, piemēram, eseja vai apraksts, tad failam jābūt PDF formātā, ja vien nav prasīts citādi uzdevuma nosacījumos.
- Ja iesniedzami vairāki faili, piemēram, programmas pirmkods, tad tie iepriekš arhivējami kā *.zip arhīvs ar tādu pat faila vārdu kā aprakstīts iepriekš: "OSI_MD1_Vards_Uzvards.zip".
- Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, pasniedzējs darbu var nepieņemt.
- Mājas/praktiskie darbi iesniedzami kā saite uz GIT repozitoriju, piemēram github portalā. Ja mājas darbi balstās uz iepriekšējo, tad iespējams iesniegt saiti uz attiecīgo "branch" repozitorijā.
Kalendārs
Nedēļas datumi | Kursa saturs un lasāmviela | Darbi un termiņi |
---|---|---|
05.02.2019 |
|
|
12.02.2019 |
Lasāmviela: Carter, Paul A. PC Assembly Language. July 23, 2006. (Piezīme: nelasīt 5, 6, and 7.2. nodaļas) Lasāmviela: Ritchie, Dennis M. "The Evolution of the Unix Time-sharing System." AT&T Bell Laboratories Technical Journal 63, no. 6, Part 2 (October 1984): 1577-93. |
|
19.02.2019 |
Lasāmviela: Engler, D. R., Kaashoek, M. F., and O'Toole, J. 1995. Exokernel: an operating system architecture for application-level resource management. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles (Copper Mountain, Colorado, United States, December 03 - 06, 1995). M. B. Jones, Ed. SOSP '95. ACM, New York, NY, 251-266. |
|
26.02.2019 |
Lekcijas piezīmes. Lasāmviela: bootasm.S, bootother.S, bootmain.c, main.c, un init.c no xv6.
Lekcijas piezīmes. Lasāmviela: setupsegs no xv6. |
|
05.03.2019 |
Pārtraukumu un izņēmumu (exception) apstrāde. Lekcijas piezīmes. Lasāmviela: trapasm.S, trap.c, syscall.c, un usys.S no xv6. |
|
12.03.2019 |
Daudzprocesoru vides un slēgšanas mehānismi (locking). Lekcijas piezīmes. Lasāmviela: spinlock.c un pārskatīt mp.c no xv6. Vēl par spinlock-iem, semaforiem un futex |
|
19.03.2019 |
Pavedieni, procesi un konteksta pārslēgšanās. Lekcijas piezīmes. Lasāmviela: proc.c, swtch.S, un sys_fork (sysproc.c) no xv6. |
|
26.03.2019 |
Procesi un koordinācija. Lekcijas piezīmes. Lasāmviela: proc.c, sys_exec, sys_sbrk, sys_wait, sys_exit, un sys_kill no xv6. |
|
02.04.2019 |
Lekcijas piezīmes. Lasāmviela: iread, iwrite, filewrite, fileread, wdir, mknod1 un saistīto kodu no sistēmas izsaukumiem iekšā fs.c, bio.c, ide.c un file.c no xv6.
Lekcijas piezīmes. Lasāmviela: namei un pārējo no fs.c, sysfile.c un file.c no xv6. |
|
09.04.2019. |
Augstas veiktspējas failu sistēmas. Lekcijas piezīmes. Lasāmviela: Journaling the Linux ext2fs Filesystem |
|
15.04.2019. - 22.04.2019. |
Lieldienu brīvdienas |
|
23.04.2019 |
Vidus semestra kontroldarbs | |
30.04.2019 |
Plānošana (scheduling). Lekcijas piezīmes. Lasāmviela: Mogul, Jeffrey, and K. K. Ramakrishnan. "Eliminating Receive Livelock in an Interrupt-driven Kernel." Proceedings of the USENIX 1996 Annual Technical Conference. San Diego, CA: January 1996. |
PD4-B nodošanas termiņš. |
07.05.2019 |
Mikrokodoli. Lekcijas piezīmes. Lasāmviela: Liedtke, Jochen. "Improving IPC by Kernel Design." 14th ACM Symposium on Operating System Principles (SOSP). Asheville, North Carolina: 5-8 December 1993. |
PD4-C nodošanas termiņš. |
14.05.2019 |
Virtuālās mašīnas. Lekcijas piezīmes 2010. Lekcijas piezīmes 2009 (atsaucās uz "Disco" publikāciju). Lasāmviela: Keith Adams, Ole Agesen, "A Comparison of Software and Hardware Techniques for x86 Virtualization" (VMware).
|
PD4 visu daļu nodošanas termiņš. |
21.05.2019 |
Mērogojama koordinācija. Lekcijas piezīmes.
22nd SOSP, Big Sky, MT, USA, Oct 2009. |
PD5 (individuālā projekta) tēmas izvēle (iesūtīt e-pastu). |
28.05.2019 |
Čaula (shell). Lekcijas piezīmes.
|
|
04.06.2019 |
Kursa nobeiguma kontroldarbs |
KD2 |
(papildus tēmas) |
OS kļūdas un testēšana. Lekcijas piezīmes.
|
|
04.06.2019 |
|
Termiņš visiem nodevumiem |
Praktiskie darbi (PD)
- Kursa beigās jāiesniedz pašnovērtējums. Prezentācija ar 3 slaidiem, kur katrs atbild uz sekojošiem jautājumiem:
- Kam ieteiktu OSI kursu
- Ko kursā var apgūt, ko man tas deva, pozitīvais.
- Kas sagādaja visvairāk grūtības, negatīvais, pārsteigumi.
QEMU
Praktiskajiem darbiem nepieciešams uzstādīt modificētu QEMU emulatoru. Ubuntu 11.04 vidē tas darāmas sekojoši:
binutils, GCC un GDB der jau tie, kas ir Ubuntu [1]. Lai uzstādītu «īpašo» QEMU no MIT kursa lapas, var izpildīt šādus soļus:
sudo apt-get install binutils build-essential sudo apt-get install checkinstall sudo sed -i -e 's/TRANSLATE=1/TRANSLATE=0/' /etc/checkinstallrc sudo apt-get build-dep qemu-kvm wget -c http://web.mit.edu/6.828/src/qemu.2010/qemu-0.12.5-6828.2010-08-31.tar.gz tar xzf qemu-0.12.5-6828.2010-08-31.tar.gz cd qemu-0.12.5-6828 ./configure --target-list="i386-softmmu" make sudo checkinstall cd .. && rm -rf qemu-0.12.5-6828*
- "sed" rinda ir tāpēc: https://bugs.launchpad.net/ubuntu/+source/checkinstall/+bug/815506
- Pēdējam checkinstal var atbildēt "n", "<enter>", "<enter>"
Slaidi
- Ievadlekcija, operetajsistēmas
- X86 arhitektūra
- Adrešu segmentācija, virtuālās adreses un adrešu tabulas
- Multics
Literatūra un xv6
Lekciju lasāmviela un praktiskie darbi atsaucas uz xv6 pirmkodu. Tas ir pieejams divos formātus:
- kā PDF fails
- kā saarhivēta direktorija ar pirmkoda failiem
- kā direktorija ar pirmkoda failiem
- Piezīmes par vx6, tematiski organizētas.
Saites
- Rīki
- PDP-11 assemblera piezīmes. Dažos vecākos kursa uzdevumos vai tekstos varētu būt "iezagūšās" PDP asssemblera instrukcijas, piemēram "TST -(SP)".
- MIT OCW kurss kurš kalpo kā pamats mūsu kursam
- MIT lekciju video
Interesanti OS projekti un lasāmviela
- OSDev Wiki
- Baking Pi - how to write an OS for Raspberry Pi
- Gusc writing his own OS - check the comments - have interesting sources
Citi kursi (ko lasa Leo Seļāvo) LU