Difference between revisions of "LU-OSI-m11"

From DiLab
Jump to: navigation, search
(Kalendārs)
 
(7 intermediate revisions by the same user not shown)
Line 9: Line 9:


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






== Kalendārs ==
== Kalendārs ==


{| border=1 cellspacing=0 cellpadding=4
== MD ==
|-
! Nedēļas datumi
! Kursa saturs un lasāmviela
! Darbi un termiņi
|-
| 08.09.2011
| Ievads, operētājsistēmas.
[http://selavo.lv/kursi/osi-m/notes/l1_intro.pdf Lekcijas piezīmes un "case study"].
| Pasludināts praktiskais darbs [[LU-OSI-M10:PD#PD1 | PD1]].
|-
| 08.09.2011
| PC aparatūra un x86 programmēšana.
[http://selavo.lv/kursi/osi-m/notes/l2_x86.pdf Lekcijas piezīmes]

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

Lasāmviela: [http://www.cs.utexas.edu/~mwalfish/classes/f09-cs395t/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.

|
|-
| 15.09.2011
| 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]].
|-
| 22.09.2011
|
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-M10:index#xv6 | xv6]].
|
|-
| 22.09.2011
|
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-M10:index#xv6 | xv6]].
|
|-
| 29.09.2011
|
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-M10:index#xv6 | xv6]].
|
[[LU-OSI-M10:PD#PD1 | PD1]] nodošanas '''termiņš'''.
|-
| 06.10.2011
|
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-M10:index#xv6 | xv6]].
[http://www.cis.temple.edu/~ingargio/cis307/readings/spinsem.html Vēl par spinlock-iem, semaforiem un futex]
|
|-
| 13.10.2011
|
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, setjmp.S, un sys_fork (sysproc.c) no [[LU-OSI-M10:index#xv6 | xv6]].
|
* [[LU-OSI-M10:PD#PD2 | PD2]] nodošanas '''termiņš'''.
* Pasludināts [[LU-OSI-M10:PD#PD3| PD3]].
|-
| 20.10.2011
|
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-M10:index#xv6 | xv6]].
|
* [[LU-OSI-M10:PD#PD3 | PD3-A]] nodošanas '''termiņš'''.
|-
| 27.10.2011
|
* 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-M10:index#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-M10:index#xv6 | xv6]].
|
* [[LU-OSI-M10:PD#PD3 | PD3-B]] nodošanas '''termiņš'''.
* Pasludināts [[LU-OSI-M10:PD#PD4| PD4]].
|-
| 03.11.2011
| Vidus semestra '''kontroldarbs'''
|
|-
| 10.11.2011
|
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.
-->

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

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

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

Lasāmviela: [http://l4ka.org/publications/1993/improving-ipc.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ņš'''.

|-
| 08.12.2011
|

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

|-
| 15.12.2011
| Praktiskie darbi neklātienē.
|

|-
| 22.12.2011
|

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

Lasāmviela: [http://www.cs.rice.edu/~johnmc/papers/tocs91.pdf 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).
[http://selavo.lv/kursi/osi-m/notes/l19_shell.pdf Lekcijas piezīmes].

* Lasāmviela: [http://plan9.bell-labs.com/sys/doc/rc.pdf Duff, Tom. "Rc - The Plan 9 Shell."]
* Lasāmviela: [http://192.220.96.201/es/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.

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

* [[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]]

== 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*

* "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]

== xv6 ==

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

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


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

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

Latest revision as of 15:16, 15 December 2011

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



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