Operētājsistēma UNIX

Izmaiņas! Eksāmens pārcelts uz 2012.gada 23.janvārī 8:30, LU MII (414.aud.)

 

Pasniedzējs: Prof. Guntis Bārzdiņš

Līdzautori: Ģirts Folkmanis, Juris Krūmiņš, Kristaps Džonsons, Leo Trukšāns

 

Kredītpunkti: 4

Kursa kods: DatZ6007

 

Kursa anotācija

Kursā tiek aplūkotas UNIX grupas operētājsistēmu (Linux,BSD, Solaris, MacOS X, utt.) arhitektūra un efektīvas izmantošanaspamati. Tiek uzskatīts, ka studenti jau ir apguvoši operētājsistēmu undatortīklu teorētiskos pamatus. Līdz ar to te galvenā uzmanība veltītašo zināšanu pielietošanai atvērtu un drošu augstas veiktspējasdatorsistēmu izveidei. Programmā ietvertas padziļinātas sadaļas parlieljaudas aplikācijām, daudzprocesoru sistēmām, datoru klāsteriem,grid, un paralēlo programmēšanu.

Kursa prasības

Kursa rezultātā studentam jāvar orientēties visos kursāapskatītajos jautājumos, jāmāk instalēt un konfigurēt kāda no UNIXveida operētājsistēmām, jāsaprot tās sastāvdaļas. Tāpat jāmāk arīinstalēt un konfigurēt populārākās aplikācijas (tīmekļa serveris,datubāzes vadības sistēma, desktop aplikācijas, utt.)

Kursa kredīta iegūšanai nepieciešams:
1. Savlaicīgi iesniegt kursa laikā uzdotos praktiskos (mājas) darbus.
2. Padziļināti izpētīt un prezentēt kādu ar kursu saistītu tēmu.
3. Eksāmena laikā sekmīgi atbildēt uz 3 nejauši izvēlētiemjautājumiem par tēmām, kas minētas kursa aprakstā, kā arī pasniedzējapapildjautājumiem.

Aptuvens kursa plāns

1.UNIX vēsture un paveidi (Linux, *BSD, Solaris, etc.)
2.UNIX operētājsistēmas kopējā arhitektūra, katalogu sistēmas hierarhija
3.Kernel funkcijas un uzbūve, atšķirības starp paveidiem
4.Instalācijas procesa soļi, atšķirības starp paveidiem, ditributīviem
5.Lietotāji, identifikatori, permīcijas
6.UNIX failu sistēmu paveidi, realizācija
7.Procesa jēdziens, prioritāte, darbības ar procesiem, fork-exec modelis
8.UNIX startēšanas procesa soļi un to funkcijas
9.Komandas, pipe, scripting. Shell paveidi
10.gcc kompilātors un tā iespējas
11.Aplikāciju instalācija: tarball, packages, ebuild, etc.
12.Kernel kompilācijas process
13.X Windows darbības pamati, windows manager
14.Tīkla konfigurācija, IP maršrutizācija UNIX vidē
15.TCP/IP aplikāciju aizsardzības metodes, iptables/pf
16.Web servera aplikāciju kopa (Apache, PHP, MySQL)
17.E-pasta aplikāciju kopa (SMTP, POP3) un DNS
18.Tīkla failu sistēmas (NFS, Samba, etc.)
19.HPC un HA klāsteri. Beowulf, Mosix, heartbeat arhitektūra. Grid komponentes. MPI un paralēlā programmēšana
20.32-bit un 64-bit UNIX atšķirības, savietojamība 

Ieteicamā Literatūra

1. A.S.Tanenbum, A.S.Woodhull., Operating Systems, Design and Implementation, Prentice Hall; Third Edition, 2006
2. K. Kopper., The Linux Enterprise Cluster, No Starch Press, 430p., 2005.
3. Nemeth E., Snyder G., Seebass S., Hein T.R., UNIX System Administration Handbook, Prentice Hall PTR; 3rd edition, 896p., 2000
4. Welsh M., Kaufman L., Dalheimer M.K, Dawson T., Running Linux, O'Reilly; 4th Edition, 692p., 2002

Praktiskie darbi

Brīdinājums! Praktiskie darbi būs diezgan apjomīgi.Iespējamie mājas darbi varētu būt aptuveni sekojoši, taču tie tiksprecizēti vai nomainīti kursa gaitā:

1) Operētājsistēmas instalēšana (kāds no Linux/GNUdistributīviem, vai cita operētājsistēma), kodola pārkompilēšana,uzstādīšana,
2) Mājas darbs, saistīts ar shell programmēšanu - skripti, "mazo" komandu izmantošana (grep, awk, utt.).
3) Noteiktu aplikāciju instalēšana izmantojot distributīvapiedāvātās iespējas, kā arī "ar roku" - no .tar.gz failiem.Programmatūras Apache, PHP, MySQL instalēšana, konfigurēšana. Simbolisks mērķis - parādīt kā darbojas kāda web aplikācija, kas izmanto šīs komponentes.

Šie darbi pagaidām ir tikai paraugs un var mainīties vai tikt papildināti!

Emulators

Izmantojiet LU Linux centrā pieejamos eksperimentiem domātos datorus!

Studentiem, kam nav iespēju instalēt Linux/GNU vai citu*nix operētājsistēmu uz datora cietā diska, tiek ieteikts instalētsistēmu izmantojot emulatoru. Ir pieejama  VMware Server bezmaksas emulatora versija.

Slaidi

1. lekcija - Ievads. Unix vēsture Originalais 1973.gada Unix raksts

2.&3. lekcija - UNIX operētājsistēmas kopējā arhitektūra. Unix paveidi un to instalācija.Slaidi. 1.mājas darbs - to skatīt šī kursa Moodle versijā. 

4. lekcija - Unix drošības pamati.  Noderīgi progr.fragmentu paraugi.

5. lekcija - Shell scripting. Slaidi.

6. lekcija - Unix startesanas process. 2.majas darbs - to iesniegt šī kursa Moodle lapā

7. lekcija - Aplikāciju veidošana un instalēšana UNIX vidē.

 

8. lekcija  - X11: Unix grafiskā lietotāja saskarne (GUI).

 

9. lekcija - Unix servera vide. Nodarbības otrā daļā U.Bojāra (DERI, Galway) vieslekcija par praktisko Semantisko tīmekli Unix vidē.

10. lekcija - Klasteri, grid, SMP. MPI paralela programmesana. 

 

11. lekcija - Uzdevumu izpilde Unix GRID vidē. – 3.majas darbs – to skatīt un iesniegt Moodle lapā.

Leo Trukšāna slaidi par Semaforu grāmatu paralēlai programmēšanai.

 Kārļa slaidi. Karla piemēri. Grid Lietotaja Celvedis Uzmanību! Šie materiāli labi apraksta procesu, bet balstās uz vecām komandām, kuras vairs nestrādā. Atbilstošās jaunās komandas atrodamas sekojošā HelloWorld paraugā , kas nesen pārbaudīts.
Nemot vera pretrunigo info dazados materialos, šobrīd pareiza GRID proxy sertifikata veidosanas komanda ir sekojosa:
voms-proxy-init -voms balticgrid -hours 24

12. lekcija - Unix administrēšana. 

 

13. lekcija - Unix kerneļa kompilēšana. 64bit Unix. 

 

14. lekcija - Serveru virtualizācija, XEN . Leo Truksana slaidi par XEN praktisko lietosanu. Kristapa Dzonsona slaidi par "assisted virtualization" atbalstu Intel un AMD procesoros.  

 

Dzintara Lepeša Linux kernel moduļu slaidi. 

 

Jāņa Tragheima MPI slaidi. 

 

 

 

 

 

Lapas iepriekšējā gada versija