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