LU-OSI-m11

From DiLab
Jump to: navigation, search

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% dalība klasē, 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.
  • 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.



Kalendārs

Nedēļas datumi Kursa saturs un lasāmviela Darbi un termiņi
08.09.2011 Ievads, operētājsistēmas.

Lekcijas piezīmes un "case study".

Pasludināts praktiskais darbs PD1.
08.09.2011 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.

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

Pasludināts PD2.

22.09.2011

Adrešu apgabali lietojot segmentāciju. Lekcijas piezīmes. Lasāmviela: bootasm.S, bootother.S, bootmain.c, main.c, un init.c no xv6.

22.09.2011

Adrešu apgabali lietojot adrešu tabulas. Lekcijas piezīmes. Lasāmviela: setupsegs no xv6.

29.09.2011

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

06.10.2011

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

13.10.2011

Pavedieni, procesi un konteksta pārslēgšanās. Lekcijas piezīmes. Lasāmviela: proc.c, setjmp.S, un sys_fork (sysproc.c) no xv6.

  • PD2 nodošanas termiņš.
  • Pasludināts PD3.
20.10.2011

Procesi un koordinācija. Lekcijas piezīmes. Lasāmviela: proc.c, sys_exec, sys_sbrk, sys_wait, sys_exit, un sys_kill no xv6.

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

03.11.2011 Vidus semestra kontroldarbs
10.11.2011

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

Lasāmviela: Journaling the Linux ext2fs Filesystem


PD4-A nodošanas termiņš.

24.11.2011

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

01.12.2011

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

08.12.2011

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

15.12.2011 Praktiskie darbi neklātienē.
22.12.2011

Mērogojama koordinācija. Lekcijas piezīmes.

Lasāmviela: Mellor-Crummey, John M., and Michael L. Scott. "Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors." ACM Transactions on Computer Systems 9, no. 1 (January 1991): 21-65.

xx.xx.xx

(papildus

tēmas)

Čaula (shell). Lekcijas piezīmes.

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.

24.12.2011. - 01.01.2012. Ziemassvētku un Jaungada brīvdienas
19.01.2012 Projektu demo sesija (12:30, kā daļa no eksāmena)
19.01.2012 Eksāmens (12:30)

Praktiskie darbi (PD)

QUEMU

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

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

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