Difference between revisions of "LU-OSI-m"

From DiLab
Jump to: navigation, search
(Redirecting to LU-OSI-m14)
(12.02.2019)
(34 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{LUDFKurss|Operētājsistēmu inženierija|OSI|DatZ5048|2DAT5244|maģistru un doktorantu}}
#REDIRECT [[LU-OSI-m14]]

* Pasniedzējs: Leo Seļāvo ''(epasts: vards.uzvards @ gmail.com)''

* {{KursiGGroup|lu-osi-m}}

* Vērtējums = 40% mājas un praktiskie darbi, 10% aktīva dalība kursā, 20% KD1 un 30% KD2(eksāmens).


{{KursiMD|OSI|50%|10%}}

* Mājas/praktiskie darbi iesniedzami kā saite uz GIT repozitoriju, piemēram [http://www.github.com github portalā]. Ja mājas darbi balstās uz iepriekšējo, tad iespējams iesniegt saiti uz attiecīgo "branch" repozitorijā.


== Kalendārs ==

{| border=1 cellspacing=0 cellpadding=4
|-
! Nedēļas datumi
! Kursa saturs un lasāmviela
! Darbi un termiņi
|-
|
==== 05.02.2019 ====
|
* Ievads, operētājsistēmas.
[http://selavo.lv/kursi/osi-m/notes/l1_intro.pdf Lekcijas piezīmes un "case study"].

|
|-
|
==== 12.02.2019 ====
|
* PC aparatūra un x86 programmēšana.
[http://selavo.lv/kursi/osi-m/notes/l2_x86.pdf Lekcijas piezīmes]

Lasāmviela: [http://pacman128.github.io/pcasm/ Carter, Paul A. PC Assembly Language]. July 23, 2006. (Piezīme: nelasīt 5, 6, and 7.2. nodaļas)

Lasāmviela: [https://cs.nyu.edu/~mwalfish/classes/15fa/ref/ritchie84.pdf 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.

|
<!-- * Uzdots mājas darbs [http://selavo.lv/kursi/osi-m/hw/hw1_shell.pdf MD1]: programmēt čaulu -->
* Pasludināts praktiskais darbs [[LU-OSI-M10:PD#PD1 | PD1]].
|-
|

==== 19.02.2019 ====
|
* OS organizācija.
[http://selavo.lv/kursi/osi-m/notes/l3_os_org.pdf Lekcijas piezīmes]

Lasāmviela: [http://www.cs.utexas.edu/users/dahlin/Classes/UGOS/reading/engler95exokernel.pdf 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.
|
* Pasludināts [[LU-OSI-M10:PD#PD2 | PD2]].
|-
|

==== 26.02.2019 ====
|
* Adrešu apgabali lietojot segmentāciju.
[http://selavo.lv/kursi/osi-m/notes/l4_segmentation.pdf Lekcijas piezīmes].
Lasāmviela: bootasm.S, bootother.S, bootmain.c, main.c, un init.c no [[LU-OSI-m12#xv6 | xv6]].

* Adrešu apgabali lietojot adrešu tabulas.
[http://selavo.lv/kursi/osi-m/notes/l5_page_tables.pdf Lekcijas piezīmes].
Lasāmviela: setupsegs no [[LU-OSI-m12#xv6 | xv6]].
|
|-
|

==== 05.03.2019 ====
|
Pārtraukumu un izņēmumu (exception) apstrāde.
[http://selavo.lv/kursi/osi-m/notes/l6_interrupt.pdf Lekcijas piezīmes].
Lasāmviela: trapasm.S, trap.c, syscall.c, un usys.S no [[LU-OSI-m12#xv6 | xv6]].
|
* [[LU-OSI-M10:PD#PD1 | PD1]] nodošanas '''termiņš'''.
|-
|

==== 12.03.2019 ====
|
Daudzprocesoru vides un slēgšanas mehānismi (locking).
[http://selavo.lv/kursi/osi-m/notes/l7_lock.pdf Lekcijas piezīmes].
Lasāmviela: spinlock.c un pārskatīt mp.c no [[LU-OSI-m12#xv6 | xv6]].
[http://www.cis.temple.edu/~ingargio/cis307/readings/spinsem.html Vēl par spinlock-iem, semaforiem un futex]
|
* [[LU-OSI-M10:PD#PD2 | PD2]] nodošanas '''termiņš'''.
|-
|

==== 19.03.2019 ====
|
Pavedieni, procesi un konteksta pārslēgšanās.
[http://selavo.lv/kursi/osi-m/notes/l8_threads.pdf Lekcijas piezīmes].
Lasāmviela: proc.c, swtch.S, un sys_fork (sysproc.c) no [[LU-OSI-m12#xv6 | xv6]].
|
* Pasludināts [[LU-OSI-M10:PD#PD3| PD3]].
|-
|

==== 26.03.2019. - 02.04.2019.====
|
''Lieldienu brīvdienas''
|
|-
|

==== 09.04.2019 ====
|
Procesi un koordinācija.
[http://selavo.lv/kursi/osi-m/notes/l9_coordination.pdf Lekcijas piezīmes].
Lasāmviela: proc.c, sys_exec, sys_sbrk, sys_wait, sys_exit, un sys_kill no [[LU-OSI-m12#xv6 | xv6]].
|
* [[LU-OSI-M10:PD#PD3 | PD3-A]] nodošanas '''termiņš'''.
|-
|
==== 18.04.2019 ====
|
* Faili un disku ievads/izvads.
[http://selavo.lv/kursi/osi-m/notes/l10_fs.pdf 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 [[LU-OSI-m12#xv6 | xv6]].

* Vārdu piešķiršana (naming).
[http://selavo.lv/kursi/osi-m/notes/l11_name.pdf Lekcijas piezīmes].
Lasāmviela: namei un pārējo no fs.c, sysfile.c un file.c no [[LU-OSI-m12#xv6 | xv6]].
|
* [[LU-OSI-M10:PD#PD3 | PD3-B]] nodošanas '''termiņš'''.
* Pasludināts [[LU-OSI-M10:PD#PD4| PD4]].
|-
|

==== 23.04.2019 ====
|
Augstas veiktspējas failu sistēmas.
[http://selavo.lv/kursi/osi-m/notes/l12_hi_perf_fs.pdf Lekcijas piezīmes].

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.
-->

|
|-
|
==== 30.04.2019 ====
| Vidus semestra '''kontroldarbs'''
|
[[LU-OSI-M10:PD#PD4 | PD4-A]] nodošanas '''termiņš'''.

|-
|
==== 07.05.2019 ====
|
Plānošana (scheduling).
[http://selavo.lv/kursi/osi-m/notes/l17_schedule.pdf Lekcijas piezīmes].

Lasāmviela: [http://www.cs.brown.edu/courses/cs161/papers/livelock.pdf 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.

|
[[LU-OSI-M10:PD#PD4 | PD4-B]] nodošanas '''termiņš'''.

|-
|
==== 14.05.2019 ====
|
Mikrokodoli.
[http://selavo.lv/kursi/osi-m/notes/l15_mkernel.pdf Lekcijas piezīmes].

Lasāmviela: [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.7556&rep=rep1&type=pdf Liedtke, Jochen. "Improving IPC by Kernel Design."] 14th ACM Symposium on Operating System Principles (SOSP). Asheville, North Carolina: 5-8 December 1993.
|
[[LU-OSI-M10:PD#PD4 | PD4-C]] nodošanas '''termiņš'''.

|-
|
==== 21.05.2019 ====
|

Virtuālās mašīnas.
[http://selavo.lv/kursi/osi-m/notes/l16b_vm2.pdf Lekcijas piezīmes 2010].
[http://selavo.lv/kursi/osi-m/notes/l16_vm.pdf Lekcijas piezīmes 2009 (atsaucās uz "Disco" publikāciju)].

Lasāmviela: Keith Adams, Ole Agesen, [http://selavo.lv/kursi/osi-m/doc/adams06vmware.pdf "A Comparison of Software and Hardware Techniques for x86 Virtualization"] (VMware).


Lasāmviela (neobligāta): [http://www-flash.stanford.edu/~bugnion/Disco/sosp-html/ Bugnion, Edouard, Scott Devine, and Mendel Rosenblum. "Disco: Running Commodity Operating Systems on Scalable Multiprocessors."] In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles. Saint-Malo, France: October 1997.
|
[[LU-OSI-M10:PD#PD4 | PD4]] visu daļu nodošanas '''termiņš'''.
|-
|
==== 28.05.2019 ====
|

Mērogojama koordinācija.
[http://selavo.lv/kursi/osi-m/notes/l18_scalablecoord.pdf Lekcijas piezīmes].

* Lasāmviela: Mellor-Crummey, John M., and Michael L. Scott. [http://www.cs.rice.edu/~johnmc/papers/tocs91.pdf "Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors."] ACM Transactions on Computer Systems 9, no. 1 (January 1991): 21-65.

* Lasāmviela (papildus): Andrew Baumann, Paul Barhamy, Pierre-Evariste Dagandz, Tim Harrisy, Rebecca Isaacsy, Simon Peter, Timothy Roscoe, Adrian Schupbach, and Akhilesh Singhania, [http://www.sigops.org/sosp/sosp09/papers/baumann-sosp09.pdf "The Multikernel: A new OS architecture for scalable multicore systems."] In Proceedings of the
22nd SOSP, Big Sky, MT, USA, Oct 2009.

|
PD5 (individuālā projekta) tēmas izvēle (iesūtīt e-pastu).
|-
|

==== xx.05.2019 ====
|
Čaula (shell).
[http://selavo.lv/kursi/osi-m/notes/l19_shell.pdf Lekcijas piezīmes].

* Lasāmviela: [http://www.scs.stanford.edu/nyu/04fa/sched/readings/rc.pdf Duff, Tom. "Rc - The Plan 9 Shell."]
* Lasāmviela: [https://stuff.mit.edu/afs/sipb/user/yandros/doc/es-usenix-winter93.html Haahr, Paul, and Byron Rakitzis. "Es: A Shell with Higher-order Functions."] In USENIX Technical Conference Proceedings (Winter 1993): 51-60.
|
|-
|

==== xx.06.2019 ====
|
Kursa nobeiguma kontroldarbs
|
KD2
|-
|
(papildus

tēmas)
|

OS kļūdas un testēšana.
[http://selavo.lv/kursi/osi-m/notes/l22_bugs.pdf Lekcijas piezīmes].

* Lasāmviela: [http://stanford.edu/~engler/deviant-sosp-01.pdf Engler, Dawson, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf. "Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code."] Symposium on Operating Systems Principles. Stanford, CA: Computer Systems Laboratory, Stanford University, 2001, pp. 57-72.
* Lasāmviela: [http://pdos.csail.mit.edu/6.097/readings/osbugs.pdf Andy Chou, Junfeng Yang, Benjamin Chelf, Seth Hallem, and Dawson Engler. "An Empirical Study of Operating Systems Errors."]


XFI.
[http://selavo.lv/kursi/osi-m/notes/l21_xfi.pdf Lekcijas piezīmes].

* Lasāmviela: [http://research.microsoft.com/pubs/64368/xfi.pdf Erlingsson, Úlfar, Martín Abadi, Michael Vrable, Mihai budiu, and George C. Necula. "XFI: Software Guards for System Address Spaces."] Presented at the Symposium on Operating System Design and Implementation (OSDI), Seattle, WA, November 6-8, 2006.


Drošība: OKWS.
[http://selavo.lv/kursi/osi-m/notes/l20_okws.pdf Lekcijas piezīmes].

* Lasāmviela: [http://www.usenix.org/event/usenix04/tech/general/full_papers/krohn/krohn.pdf Krohn, Maxwell. "Building Secure High-Performance Web Services with OKWS."] In Proceedings of the USENIX 2004 Technical Conference. Boston, MA: June 27-July 2, 2004, pp. 185-198.


Multics un UNIX.
[http://selavo.lv/kursi/osi-m/notes/l13_multics.pdf Lekcijas piezīmes].

* Lasāmviela: [http://www.multicians.org/f7y.html Corbató, F. J., J. H. Saltzer, and C. T. Clingen. Multics - The First Seven Years.] Presented at the Spring Joint Computer Conference, 1972. Montvale, NJ: The American Federation of Information Processing Societies Press, 1972.


OS servisu abstrakcijas.
[http://selavo.lv/kursi/osi-m/notes/l14_plan9.pdf Lekcijas piezīmes].

* Lasāmviela: [http://doc.cat-v.org/plan_9/4th_edition/papers/9 Pike, Rob, Dave Presotto, Sean Dorward, Bob Flandrena, Ken Thompson, Howard Trickey, and Phil Winterbottom. Plan 9.] 4th ed. Murray Hill, NJ: Bell Laboratories.
|
|-
|

==== xx.06.2019 ====
|
* '''Eksāmens''' 12:30
* '''Projektu demo sesija''' (kā daļa no eksāmena)
|
Termiņš visiem nodevumiem
|-
|}

== Praktiskie darbi (PD) ==

* [[LU-OSI-M10:PD#PD1 | PD1]]
* [[LU-OSI-M10:PD#PD2 | PD2]]
* [[LU-OSI-M10:PD#PD3 | PD3]]
* [[LU-OSI-M10:PD#PD4 | PD4]]
* [[LU-OSI-M10:PD#PD5 | PD5]]
* [[LU-OSI-M10:PD#PD6 | PD6]]

* 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 (paldies Andrejam Vihrovam par piemēru):

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 ==
* [http://jupiter.cs.fmf.lu.lv/kursi/osi-m/slides/osi01_intro.pdf Ievadlekcija, operetajsistēmas]
* [http://jupiter.cs.fmf.lu.lv/kursi/osi-m/slides/osi02_x86-arch.pdf X86 arhitektūra]
* [http://jupiter.cs.fmf.lu.lv/kursi/osi-m/slides/osi04_segmentation.pdf Adrešu segmentācija, virtuālās adreses un adrešu tabulas]
* [http://jupiter.cs.fmf.lu.lv/kursi/osi-m/slides/osi13_multics.pdf Multics]

== Literatūra un xv6 ==

* Grāmata: [https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf "xv6 - a simple, Unix-like teaching operating system"]

Lekciju lasāmviela un praktiskie darbi atsaucas uz xv6 pirmkodu. Tas ir pieejams divos formātus:

* kā [http://selavo.lv/kursi/osi-m/doc/xv6-rev8.pdf PDF fails]
* kā [http://selavo.lv/kursi/osi-m/doc/xv6-rev8.tar.gz saarhivēta direktorija ar pirmkoda failiem]
* kā [http://selavo.lv/kursi/osi-m/doc/xv6-rev8/ direktorija ar pirmkoda failiem]
* [http://selavo.lv/kursi/osi-m/doc/xv6-book-rev8/ Piezīmes par vx6], tematiski organizētas.

== Saites ==
* [[OSI-M_Tools | Rīki]]
* [http://www.dgp.toronto.edu/~ajr/258/notes/pdp11.html 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)".

* [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.]
** [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
** [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/lecture-notes-and-readings/ Lecture notes and readings]
* [https://www.youtube.com/playlist?list=PLfciLKR3SgqNJKKIKUliWoNBBH1VHL3AP MIT lekciju video]

=== Interesanti OS projekti un lasāmviela ===
* [http://wiki.osdev.org/Main_Page OSDev Wiki]
* [http://bit.ly/V4E8xX Baking Pi] - how to write an OS for Raspberry Pi
* [http://gusc.lv/2012/11/im-writing-my-own-os/ Gusc writing his own OS] - check the comments - have interesting sources

----
''[[Leo:Kursi | '''Citi kursi''']] (ko lasa Leo Seļāvo) LU''

Revision as of 13:34, 12 February 2019

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

  • Ievads, operētājsistēmas.

Lekcijas piezīmes un "case study".

12.02.2019

  • PC aparatūra un x86 programmēšana.

Lekcijas piezīmes

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.

  • Pasludināts praktiskais darbs PD1.

19.02.2019

  • OS organizācija.

Lekcijas piezīmes

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

  • Adrešu apgabali lietojot segmentāciju.

Lekcijas piezīmes. Lasāmviela: bootasm.S, bootother.S, bootmain.c, main.c, un init.c no xv6.

  • Adrešu apgabali lietojot adrešu tabulas.

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.

  • PD1 nodošanas termiņš.

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

  • PD2 nodošanas termiņš.

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. - 02.04.2019.

Lieldienu brīvdienas

09.04.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.

18.04.2019

  • Faili un disku ievads/izvads.

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.

  • Vārdu piešķiršana (naming).

Lekcijas piezīmes. Lasāmviela: namei un pārējo no fs.c, sysfile.c un file.c no xv6.

23.04.2019

Augstas veiktspējas failu sistēmas. Lekcijas piezīmes.

Lasāmviela: Journaling the Linux ext2fs Filesystem


30.04.2019

Vidus semestra kontroldarbs

PD4-A nodošanas termiņš.

07.05.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ņš.

14.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ņš.

21.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).


Lasāmviela (neobligāta): Bugnion, Edouard, Scott Devine, and Mendel Rosenblum. "Disco: Running Commodity Operating Systems on Scalable Multiprocessors." In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles. Saint-Malo, France: October 1997.

PD4 visu daļu nodošanas termiņš.

28.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).

xx.05.2019

Čaula (shell). Lekcijas piezīmes.

xx.06.2019

Kursa nobeiguma kontroldarbs

KD2

(papildus

tēmas)

OS kļūdas un testēšana. Lekcijas piezīmes.


XFI. Lekcijas piezīmes.


Drošība: OKWS. Lekcijas piezīmes.


Multics un UNIX. Lekcijas piezīmes.


OS servisu abstrakcijas. Lekcijas piezīmes.

xx.06.2019

  • Eksāmens 12:30
  • Projektu demo sesija (kā daļa no eksāmena)

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 (paldies Andrejam Vihrovam par piemēru):

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*

Slaidi

Literatūra un xv6

Lekciju lasāmviela un praktiskie darbi atsaucas uz xv6 pirmkodu. Tas ir pieejams divos formātus:

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)".

Interesanti OS projekti un lasāmviela


Citi kursi (ko lasa Leo Seļāvo) LU