Difference between revisions of "LU-LSP-b12"

From DiLab
Jump to: navigation, search
 
(38 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3069|2DAT3122}}


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


==== Praktisko un mājas darbu iesniegšana ====
==== Praktisko un mājas darbu iesniegšana ====
* Darbi jāiesniedz uz kursa asistenta e-pastu [[Image:atis-email.gif]]
* Darbi jāiesniedz uz '''kursa asistenta''' e-pastu [[Image:atis-email.gif]]
* Darbi jāiesniedz kā pielikums e-pasta vēstulei
* Darbi jāiesniedz kā '''pielikums''' e-pasta vēstulei, nevis vēstules tekstā
* E-pasta tēmai jābūt formā "LSP MD1 Vārds Uzvārds" vai "LSP_MD1_Vārds_Uzvārds", aizstājot MD1 ar faktisko darba kodu, un ierakstot savu vārdu un uzvārdu
* E-pasta tēmai jābūt formā "LSP MD1 Vārds Uzvārds", aizstājot MD1 ar faktisko darba kodu, un ierakstot savu vārdu un uzvārdu
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos
Line 17: Line 17:
==== Praktisko darbu vērtēšanas kritēriji ====
==== Praktisko darbu vērtēšanas kritēriji ====
* No kursa kopējā vērtējuma 15% var saņemt par praktisko darbu kvalitatīvu izpildīšanu
* No kursa kopējā vērtējuma 15% var saņemt par praktisko darbu kvalitatīvu izpildīšanu
* Papildus par prakstiskajiem darbiem saņem plusiņus, kas ietilpst 10% no kopējā vērtējuma "par darbu klasē". Tie pienākas ikvienam, kas iesniedz PD lekcijas laikā.
* Papildus par praktiskajiem darbiem saņem plusiņus, kas ietilpst 10% no kopējā vērtējuma "par darbu klasē". Tie pienākas ikvienam, kas iesniedz PD '''patstāvīgu''' risinājumu lekcijas laikā.
* Ja lekcijas beigu daļā PD risinājums tiek apskatīts publiski, PD jāiesūta līdz šim laikam. Vēlāk iesniegti darbi netiek vērtēti.
* Ja lekcijas beigu daļā PD risinājums tiek apskatīts publiski, PD jāiesūta līdz šim laikam. Vēlāk iesniegti darbi netiek vērtēti.
* Vēlāk (arī stipri) iesūtīti darbi var tikt izlaboti, bet netiek vērtēti.
* Vēlāk (arī stipri) iesūtīti darbi var tikt izlaboti, bet netiek vērtēti.
Line 25: Line 25:
* Mājas darbu iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma
* Mājas darbu iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 min), rezultāts tiek samazināts par:
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 min), rezultāts tiek samazināts par:
** '''10% dienā''' pirmo piecu dienu laikā pēc termiņa, un
** '''10%''' par ik dienu pirmo piecu dienu laikā pēc termiņa, un
** ''50%''' vēlāk nekā piecas vai vairāk dienas pēc termiņa.
** '''50%''' piecas vai vairāk dienas pēc termiņa.
** Visi mājas darbi jāiesūta līdz kursa beigās noteiktam ''deadline'', vēlāk iesniegtie netiek vērtēti.
** Visi mājas darbi jāiesūta līdz kursa beigās noteiktam ''deadline'', vēlāk iesniegtie netiek vērtēti.


Line 39: Line 39:
! Uzdevumi
! Uzdevumi
|-
|-
| 04.09.2011.
| 04.09.2012.
|
|
Ievads kursā. Unix un Linux operētājsistēmu pamatkoncepcijas un vēsture. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.)
Ievads kursā. Unix un Linux operētājsistēmu pamatkoncepcijas un vēsture. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.)
Line 45: Line 45:
[[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]].
[[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]].


[http://jupiter.cs.fmf.lu.lv/~kursi/lsp/1-ievadlekcija.pdf Lekcijas piezīmes] un [[LU-LSP-b12:L01 | praktiskais darbs #1]].
[[LU-LSP-b12:L01 | Praktiskais darbs #1]].
|
|
Uzdots [[LU-LSP-b12:MD#MD0 | MD0]] mājas darbs - programmēšanas stils.
Uzdots [[LU-LSP-b12:MD0 | MD0]] mājas darbs - programmēšanas stils.
|-
|-
| 11.09.2011.
| 11.09.2012.
|
|
Vispārīgs pārskats par valodu C.
Vispārīgs pārskats par valodu C.


[[LU-LSP-b12:L02 | Praktiskais darbs #2]].
|
|
'''Uzdots''' [[LU-LSP-b12:MD1 | MD1]] mājas darbs - dzimtas koks.
|-
|-
| xx.09.2011.
| 18.09.2012.
| Datu struktūras un algoritmi valodā C. ''Hash'' tabulas.
| Datu struktūras un algoritmi valodā C.


Darbs pie MD1
|
|
|-
|-
| xx.09.2011.
| 25.09.2012.
| Darbs ar failiem; sistēmas izsaukumi faila ievadam un izvadam. Linux piedāvātās programmas darbam ar failu izvadu/ievadu (''cat, tail, head, less, cp'' u.c.). Failu ievada un izvada ātrdarbība, ņemot vērā sistēmas arhitektūru.
| Darbs ar failiem; sistēmas izsaukumi faila ievadam un izvadam. Linux piedāvātās programmas darbam ar failu izvadu/ievadu (''cat, tail, head, less, cp'' u.c.). Failu ievada un izvada ātrdarbība, ņemot vērā sistēmas arhitektūru.


[[LU-LSP-b12:L03 | Praktiskais darbs #3]].
|
|
Mājas darba [[LU-LSP-b12:MD1 | MD1]] '''nodošanas''' termiņš.

'''Uzdots''' [[LU-LSP-b12:MD2 | MD2]] mājas darbs - datubāze.
|-
|-
| xx.10.2011.
| 02.10.2012.
| Faila izmēra noteikšana. Failu saites, stingrās un vājās (hard links, soft links). Failu glabāšana un pieeja operētājsistēmā. I-nodes. Sistēmas izsaukums stat(). Direktoriju struktūra. Izsaukumi opendir(), readdir() un closedir().
| Faila izmēra noteikšana. Failu saites, stingrās un vājās (hard links, soft links). Failu glabāšana un pieeja operētājsistēmā. ''i-node'' jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra. Izsaukumi opendir(), readdir() un closedir().


[[LU-LSP-b12:L04 | Praktiskais darbs #4]].
|
|
|-
|-
| xx.10.2011.
| 09.10.2012.
| Programma rakstīšanai log failā. Log faili. Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm. Faila piekļuves tiesību režīmi pie open() un umask. Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().
| Programma rakstīšanai log failā. Log faili. Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm. Faila piekļuves tiesību režīmi pie open() un umask. Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().


[[LU-LSP-b12:L05 | Praktiskais darbs #5]].
|
|
Mājas darba [[LU-LSP-b12:MD2 | MD2]] '''nodošanas''' termiņš.


'''Uzdots''' [[LU-LSP-b12:MD3 | MD3]] mājas darbs - direktoriju koka apstaigāšana.
|-
|-
| xx.10.2011.
| 16.10.2012.
|
|
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi. Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi. Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.


Praktiskā darba PD5 un iepriekšējo pārskats. Darbs pie MD3.
|
|
|-
|-
| 25.10.2011.
| 23.10.2012.
| Atkārtojums par virtuālo atmiņu un procesa TEXT,DATA, HEAP un STACK segmentiem. Virtuālās atmiņas lapas. Page fault un segmentation fault. Atmiņas aizsardzība. ''setjmp()'' un ''longjmp()''.
| Atkārtojums par virtuālo atmiņu un procesa TEXT,DATA, HEAP un STACK segmentiem. Virtuālās atmiņas lapas. Page fault un segmentation fault. Atmiņas aizsardzība. ''setjmp()'' un ''longjmp()''.


[[LU-LSP-b12:L06 | Praktiskais darbs #6]] - atmiņas alokācija.
|
|
Mājas darba [[LU-LSP-b12:MD3 | MD3]] '''nodošanas''' termiņš.

'''Uzdots''' [[LU-LSP-b12:MD4 | MD4]] mājas darbs - setjmp() un longjmp() lietojums.
|-
|-
| xx.11.2011.
| 30.10.2012.
| Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas. Brīvās atmiņas saraksti. Prasības malloc() in free() veiktspējai.
| Vidus semestra '''kontroldarbs'''.
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi, kas darbojas uz atmiņas fragmentiem.

[[LU-LSP-b12:L07 | Praktiskais darbs #7]] - vēlreiz par atmiņas alokāciju.
|
|
|-
|-
| 08.11.2011.
| 06.11.2012.
| Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas. Brīvās atmiņas saraksti. Prasības malloc() in free() veiktspējai.
|
|
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni. Kooperējošies procesi un preemptīvā daudz-uzdevumu metode. Komanda '''ps'''. getpid() un getppid(). fork().

[[LU-LSP-b12:L08 | Praktiskais darbs #8]] - vienkāršs atmiņas alokators fiksēta izmēra objektiem.
|
Mājas darba [[LU-LSP-b12:MD4 | MD4]] '''nodošanas''' termiņš.

'''Uzdots''' [[LU-LSP-b12:MD5 | MD5]] - atmiņas fragmentācijas algoritmu novērtējums
|-
|-
| 15.11.2011.
| 13.11.2012.
|
|
Vidus semestra '''kontroldarbs'''.
* Atmiņas fragmentācija. Alokācijas algoritmi, kas darbojas uz atmiņas fragmentiem.
* Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni. Kooperējošies procesi un preemptīvā daudzuzdevumu metode. Komanda '''ps'''. getpid() un getppid(). fork().


Apspriede par iepriekšējo PD risinājumiem. Atkļūdošana: Linux rīki un to lietošana. Darbs pie mājasdarbiem.
|
|
Mājas darba [[LU-LSP-b12:MD5 | MD5]] grupu izveidošanas termiņš. Katra grupa: atsūtiet vienu e-pastu ar paredzamo sastāvu!
|-
|-
| 22.11.2011.
| 20.11.2012.
| Daudz-uzdevumu vide. ''wait()'' un ''exec()''. ''system()''.
| Daudz-uzdevumu vide. ''wait()'' un ''exec()''. ''system()''.


[[LU-LSP-b12:L09 | Praktiskais darbs #9]] - steka satura analīze un piekļuve stekam.
|
|
|-
|-
| 29.11.2011.
| 27.11.2012.
| Klienta un servera arhitektūra. Sockets. Komunikācija starp nesaistītiem procesiem. Daudzlietotāju sistēmas (spēles) arhitektūra).
| Klienta un servera arhitektūra. Sockets. Komunikācija starp nesaistītiem procesiem. Daudzlietotāju sistēmas (spēles) arhitektūra).
|
|
Mājas darba [[LU-LSP-b12:MD5 | MD5]] '''nodošanas''' termiņš.
|-
|-
| 06.12.2011.
| 04.12.2012.
| Serveri, iteratīvie un paralēlie. Klienta programmatūra un tas īpašības. Signāli. Alarm serviss un signāls. Procesa ielādēšana, uzsākšanās un pieci veidi kā process var beigties. exit() un _exit().
| Serveri, iteratīvie un paralēlie. Klienta programmatūra un tas īpašības. Signāli. Alarm serviss un signāls. Procesa ielādēšana, uzsākšanās un pieci veidi kā process var beigties. exit() un _exit().


[[LU-LSP-b12:L10 | Praktiskais darbs #10]] - datortīkla klienta programma.
|
|
Kursa projekta definēšana.
Kursa projekta definēšana.


|-
|-
| 13.12.2011.
| 11.12.2012.
| Pavedieni.
| Pavedieni.


[[LU-LSP-b12:L11 | Praktiskais darbs #11]] - servera programma.
|
|
|-
|-
| 20.12.2011.
| 18.12.2012.
| Kursa kopsavilkums. Darbs pie [[LU-LSP-b12:projekts | kursa projekta]].
| Kursa kopsavilkums. Darbs pie [[LU-LSP-b12:projekts | kursa projekta]].


Line 129: Line 159:
|
|
|-
|-
| 24.12.2011. - 01.01.2012.
| 24.12.2012. - 01.01.2013.
| Ziemassvētku un Jaungada brīvdienas
| Ziemassvētku un Jaungada brīvdienas
|
|
 
 
|-
|-
| 17.01.2012.
| 13.01.2013, plkst. 23:59
| Pēdējais termiņš nokavēto mājas uzdevumu iesniegšanai.
| '''Eksāmens''', 14:30, 312.telpā.
|
 
|-
| 15.01.2013.
| '''Eksāmens 12:30''' 312. telpā.
|
|
 
 
Line 144: Line 179:


* [[LU-LSP-b12:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.
* [[LU-LSP-b12:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.

Eksāmens izpaužas kā kursa projekta aizstāvēšana.

<!--
* [[LU-LSP-b12:MD1 | MD1]]: Ģimenes koka ģenerēšanas programma.
* [[LU-LSP-b12:MD1 | MD1]]: Ģimenes koka ģenerēšanas programma.
* [[LU-LSP-b12:MD2 | MD2]]: Datu bāze ģimenes kokam.
* [[LU-LSP-b12:MD2 | MD2]]: Datu bāze ģimenes kokam.
* [[LU-LSP-b12:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.
* [[LU-LSP-b12:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.
* [[LU-LSP-b12:MD4 | MD4]]: Procedūru izsaukumu steka izdruka.
* [[LU-LSP-b12:MD4 | MD4]]: Setjmp un longjmp.
* [[LU-LSP-b12:MD5 | MD5]]: Setjmp un longjmp.
* [[LU-LSP-b12:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.

* [[LU-LSP-b12:MD6 | MD6]]. Atmiņas fragmentācijas algoritmu novērtējums
<!-- * [[LU-LSP-b12:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. -->



Eksāmens izpaužas kā [[LU-LSP-b12:projekts | kursa projekta]] aizstāvēšana.
Eksāmens izpaužas kā [[LU-LSP-b12:projekts | kursa projekta]] aizstāvēšana.
Line 160: Line 193:
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]

Eksāmens izpaužas kā kursa projekta aizstāvēšana.
-->
-->


Line 174: Line 209:
== Saites ==
== Saites ==


* 2011. gada kurss [[LU-LKP-b11:index | Linux sistēmas programmēšana]]
* 2011. gada kurss [[LU-LSP-b11 | Linux sistēmas programmēšana]]


* 2010. gada kurss [[LU-LKP-B10:index | Linux kodola programmēšana]]
* 2010. gada kurss [[LU-LKP-B10:index | Linux kodola programmēšana]]

Latest revision as of 11:05, 17 January 2013

Linux sistēmas programmēšana (LSP)

LU DF bakalaura studiju kurss DatZ3069, meklēt eStudijās.


  • Pasniedzējs: Leo Seļāvo (epasts: vards.uzvards @ gmail.com)
  • Asistents: Atis Elsts (epasts: vards.uzvards @ gmail.com)
  • Vērtējums = 15% praktiskie darbi, 25% mājas darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens).

Praktisko un mājas darbu iesniegšana

  • Darbi jāiesniedz uz kursa asistenta e-pastu Atis-email.gif
  • Darbi jāiesniedz kā pielikums e-pasta vēstulei, nevis vēstules tekstā
  • E-pasta tēmai jābūt formā "LSP MD1 Vārds Uzvārds", aizstājot MD1 ar faktisko darba kodu, un ierakstot savu vārdu un uzvārdu
  • Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c
  • Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos

Praktisko darbu vērtēšanas kritēriji

  • No kursa kopējā vērtējuma 15% var saņemt par praktisko darbu kvalitatīvu izpildīšanu
  • Papildus par praktiskajiem darbiem saņem plusiņus, kas ietilpst 10% no kopējā vērtējuma "par darbu klasē". Tie pienākas ikvienam, kas iesniedz PD patstāvīgu risinājumu lekcijas laikā.
  • Ja lekcijas beigu daļā PD risinājums tiek apskatīts publiski, PD jāiesūta līdz šim laikam. Vēlāk iesniegti darbi netiek vērtēti.
  • Vēlāk (arī stipri) iesūtīti darbi var tikt izlaboti, bet netiek vērtēti.

Mājas darbu vērtēšanas kritēriji

  • No kursa kopējā vērtējuma 25% veido mājas darbi
  • Mājas darbu iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma
  • Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 min), rezultāts tiek samazināts par:
    • 10% par ik dienu pirmo piecu dienu laikā pēc termiņa, un
    • 50% piecas vai vairāk dienas pēc termiņa.
    • Visi mājas darbi jāiesūta līdz kursa beigās noteiktam deadline, vēlāk iesniegtie netiek vērtēti.


Kalendārs

Datums, nedēļa Kursa saturs Uzdevumi
04.09.2012.

Ievads kursā. Unix un Linux operētājsistēmu pamatkoncepcijas un vēsture. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.)

UNIX čaulas populārākās komandas un lietojumi.

Praktiskais darbs #1.

Uzdots MD0 mājas darbs - programmēšanas stils.

11.09.2012.

Vispārīgs pārskats par valodu C.

Praktiskais darbs #2.

Uzdots MD1 mājas darbs - dzimtas koks.

18.09.2012. Datu struktūras un algoritmi valodā C.

Darbs pie MD1

25.09.2012. Darbs ar failiem; sistēmas izsaukumi faila ievadam un izvadam. Linux piedāvātās programmas darbam ar failu izvadu/ievadu (cat, tail, head, less, cp u.c.). Failu ievada un izvada ātrdarbība, ņemot vērā sistēmas arhitektūru.

Praktiskais darbs #3.

Mājas darba MD1 nodošanas termiņš.

Uzdots MD2 mājas darbs - datubāze.

02.10.2012. Faila izmēra noteikšana. Failu saites, stingrās un vājās (hard links, soft links). Failu glabāšana un pieeja operētājsistēmā. i-node jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra. Izsaukumi opendir(), readdir() un closedir().

Praktiskais darbs #4.

09.10.2012. Programma rakstīšanai log failā. Log faili. Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm. Faila piekļuves tiesību režīmi pie open() un umask. Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().

Praktiskais darbs #5.

Mājas darba MD2 nodošanas termiņš.

Uzdots MD3 mājas darbs - direktoriju koka apstaigāšana.

16.10.2012.

Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi. Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.

Praktiskā darba PD5 un iepriekšējo pārskats. Darbs pie MD3.

23.10.2012. Atkārtojums par virtuālo atmiņu un procesa TEXT,DATA, HEAP un STACK segmentiem. Virtuālās atmiņas lapas. Page fault un segmentation fault. Atmiņas aizsardzība. setjmp() un longjmp().

Praktiskais darbs #6 - atmiņas alokācija.

Mājas darba MD3 nodošanas termiņš.

Uzdots MD4 mājas darbs - setjmp() un longjmp() lietojums.

30.10.2012. Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas. Brīvās atmiņas saraksti. Prasības malloc() in free() veiktspējai.

Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi, kas darbojas uz atmiņas fragmentiem.

Praktiskais darbs #7 - vēlreiz par atmiņas alokāciju.

06.11.2012.

Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni. Kooperējošies procesi un preemptīvā daudz-uzdevumu metode. Komanda ps. getpid() un getppid(). fork().

Praktiskais darbs #8 - vienkāršs atmiņas alokators fiksēta izmēra objektiem.

Mājas darba MD4 nodošanas termiņš.

Uzdots MD5 - atmiņas fragmentācijas algoritmu novērtējums

13.11.2012.

Vidus semestra kontroldarbs.

Apspriede par iepriekšējo PD risinājumiem. Atkļūdošana: Linux rīki un to lietošana. Darbs pie mājasdarbiem.

Mājas darba MD5 grupu izveidošanas termiņš. Katra grupa: atsūtiet vienu e-pastu ar paredzamo sastāvu!

20.11.2012. Daudz-uzdevumu vide. wait() un exec(). system().

Praktiskais darbs #9 - steka satura analīze un piekļuve stekam.

27.11.2012. Klienta un servera arhitektūra. Sockets. Komunikācija starp nesaistītiem procesiem. Daudzlietotāju sistēmas (spēles) arhitektūra).

Mājas darba MD5 nodošanas termiņš.

04.12.2012. Serveri, iteratīvie un paralēlie. Klienta programmatūra un tas īpašības. Signāli. Alarm serviss un signāls. Procesa ielādēšana, uzsākšanās un pieci veidi kā process var beigties. exit() un _exit().

Praktiskais darbs #10 - datortīkla klienta programma.

Kursa projekta definēšana.

11.12.2012. Pavedieni.

Praktiskais darbs #11 - servera programma.

18.12.2012. Kursa kopsavilkums. Darbs pie kursa projekta.

Vienota komunikācijas protokola definēšana kursa projektam.

24.12.2012. - 01.01.2013. Ziemassvētku un Jaungada brīvdienas

 

13.01.2013, plkst. 23:59 Pēdējais termiņš nokavēto mājas uzdevumu iesniegšanai.

 

15.01.2013. Eksāmens 12:30 312. telpā.

 

Mājas darbi

  • MD0: Izlasīt kodēšanas stila dokumentus.
  • MD1: Ģimenes koka ģenerēšanas programma.
  • MD2: Datu bāze ģimenes kokam.
  • MD3: Vienādo failu meklēšana direktorijas kokā.
  • MD4: Setjmp un longjmp.
  • MD5: Atmiņas fragmentācijas algoritmu novērtējums.


Eksāmens izpaužas kā kursa projekta aizstāvēšana.

Literatūra

  • Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9. (Indiešu eksemplāram ir ISBN 81-317-0005-4)
  • "Linux system programming" by Robert Love, O'Reilly Media, 2007, ISBN 0596009585
  • "Building Embedded Linux Systems" O'Reilly Media, 2008, ISBN 0596529686

Saites

Linux veiktspējas analīze

Atziņas