<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://andromeda.df.lu.lv/wiki/index.php?action=history&amp;feed=atom&amp;title=LU-LSP-b18</id>
	<title>LU-LSP-b18 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://andromeda.df.lu.lv/wiki/index.php?action=history&amp;feed=atom&amp;title=LU-LSP-b18"/>
	<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b18&amp;action=history"/>
	<updated>2026-04-21T12:29:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b18&amp;diff=8071&amp;oldid=prev</id>
		<title>Leo: Created page with &quot;{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}   * Pasniedzējs: Krišjānis Nesenbergs &#039;&#039;(epasts: vards.uzvards @ gmail.com)&#039;&#039; ** Kursa sākotnējais aut...&quot;</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b18&amp;diff=8071&amp;oldid=prev"/>
		<updated>2019-09-03T11:12:13Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}   * Pasniedzējs: Krišjānis Nesenbergs &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039; ** Kursa sākotnējais aut...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pasniedzējs: Krišjānis Nesenbergs &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
** Kursa sākotnējais autors: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* {{KursiGGroup|lu-lsp-b}}&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 25% mājas darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens).&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c (Mainot atbilstošo uzdevuma kodu un faila formātu pēc nepieciešamības)&lt;br /&gt;
* [!] Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Darbi jāiesniedz kā &amp;#039;&amp;#039;&amp;#039;pielikums&amp;#039;&amp;#039;&amp;#039; e-pasta vēstulei, nevis vēstules tekstā&lt;br /&gt;
* E-pasta tēmai jābūt formā &amp;quot;LSP MD1 Vārds Uzvārds&amp;quot;, aizstājot MD1 ar faktisko darba kodu, un ierakstot savu vārdu un uzvārdu&lt;br /&gt;
* E-pasts jāsūta pasniedzējam: leo.selavo pie gmail punkts com&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas beigām (vai brīdim, kad vienojamies, ka publiski apskatīsim PD risinājumu).&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Papildus praktiskajos darbos un lekcijās var izpelnīties &amp;quot;plusiņus&amp;quot; ar dalību diskusijās, unikālu risinājumu un ideju piedāvāšanu, trāpīgu jautājumu uzdošanu, atbildēšanu uz kolēģu jautājumiem u.t.t., kas savukārt palīdzēs savākt +10% no kopējā vērtējuma &amp;quot;par darbu klasē&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 min!), rezultāts tiek samazināts par:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;10%&amp;#039;&amp;#039;&amp;#039; par ik dienu pirmo piecu dienu laikā pēc termiņa, un&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; piecas vai vairāk dienas pēc termiņa. &lt;br /&gt;
** Divas nedēļas pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kalendārs ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4&lt;br /&gt;
|-&lt;br /&gt;
! Datums, nedēļa &lt;br /&gt;
! Kursa saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
==== 04.09.2018.====&lt;br /&gt;
| &lt;br /&gt;
[L00] 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.)&lt;br /&gt;
&lt;br /&gt;
Vispārīgs pārskats par valodu C.&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/2c87i9k0vc3mthr/L00_Ievads.pdf?dl=0 Slaidi L00]&lt;br /&gt;
&lt;br /&gt;
[PD0] Praktiskais darbs #0:&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar shell komandām un uzdot jautājumus par neskaidrībām: [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
|&lt;br /&gt;
Uzdots [[LU-LSP-b:MD0 | MD0]] mājas darbs - programmēšanas stils - izlasīt un ņemt vērā turpmākajos darbos, kā arī pieteikties vēstkopai!&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.09.2018.====&lt;br /&gt;
| [L01] Datu struktūras un algoritmi valodā C.&lt;br /&gt;
&lt;br /&gt;
C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/cyebsiafqrkykcq/L01_C_data_algorithms.pdf?dl=0 Slaidi L01]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[http://selavo.lv/~kursi/lsp/1-apvienota-ievadlekcija.pdf Iepriekšējo gadu lekcijas piezīmes: apvienota ievadlekcija]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[PD1] [[LU-LSP-b13:L01 | Praktiskais darbs #1]] - darbs ar tekstu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Uzdots&amp;#039;&amp;#039;&amp;#039; [[LU-LSP-b:MD1 | MD1]] mājas darbs - dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.09.2018.====&lt;br /&gt;
| [L02] Darbs ar failiem.&lt;br /&gt;
&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam. Linux piedāvātās programmas darbam ar failu izvadu/ievadu (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.). Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru. &lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/1h0o1u3tjj0ph0m/L02_files.pdf?dl=0 Slaidi L02]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[http://selavo.lv/~kursi/lsp/2-faili.pdf Lekcijas piezīmes: faili]&lt;br /&gt;
[http://selavo.lv/~kursi/lsp/2-valoda-c.pdf Lekcijas piezīmes: valoda-c]&lt;br /&gt;
[http://selavo.lv/~kursi/lsp/3-algoritmi.pdf Lekcijas piezīmes: algoritmi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[PD2] [[LU-LSP-b13:L02 | Praktiskais darbs #2]] - failu kopēšana. &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Uzdots&amp;#039;&amp;#039;&amp;#039; [[LU-LSP-b:MD2 | MD2]] mājas darbs - datubāze. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.09.2018.====&lt;br /&gt;
| [L03] Failu sistēma&lt;br /&gt;
&lt;br /&gt;
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ā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens.  Sistēmas izsaukums stat(). Direktoriju struktūra. Izsaukumi opendir(), readdir() un closedir().&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/mjo8zcjux7ygq5b/L03_file_system.pdf?dl=0 Slaidi L03]&lt;br /&gt;
&lt;br /&gt;
[PD3] [[LU-LSP-b13:L03 | Praktiskais darbs #3]] - direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Mājas darba [[LU-LSP-b:MD1 | MD1]] &amp;#039;&amp;#039;&amp;#039;nodošanas&amp;#039;&amp;#039;&amp;#039; termiņš.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Uzdots&amp;#039;&amp;#039;&amp;#039; [[LU-LSP-b:MD3 | MD3]] mājas darbs - direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 02.10.2018.====&lt;br /&gt;
| &lt;br /&gt;
[VIESLEKCIJA] Dmitry G. Korzun, Ph.D, Adjunct Professor, Leading Research Scientist Petrozavodsk State University, Institute of Mathematics and Information Technology, Department of Computer Science &amp;quot;Edge-Centric Computing and Fog Computing (2h). Methods of involving and supporting local and remote devices for cooperative service construction and delivery.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[L04] 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. &lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/tl0cjj17yn0p859/L04_more_files.pdf?dl=0 Slaidi L04]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[http://selavo.lv/~kursi/lsp/4-faili.pdf Lekcijas piezīmes]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Mājas darba [[LU-LSP-b:MD2 | MD2]] &amp;#039;&amp;#039;&amp;#039;nodošanas&amp;#039;&amp;#039;&amp;#039; termiņš. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.10.2018.====&lt;br /&gt;
| &lt;br /&gt;
[PD4] [[LU-LSP-b13:L04 | Praktiskais darbs #4]] - programmas analīze. Iespēja strādāt pie MD3 - izņēmuma kārtā, termiņš ir vakarā pēc praktiskajiem darbiem 19:00&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
Mājas darba [[LU-LSP-b:MD3 | MD3]] &amp;#039;&amp;#039;&amp;#039;nodošanas&amp;#039;&amp;#039;&amp;#039; termiņš.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Mājas darba [[LU-LSP-b:MD2 | MD2]] &amp;#039;&amp;#039;&amp;#039;nodošanas&amp;#039;&amp;#039;&amp;#039; termiņš. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.10.2018.====&lt;br /&gt;
| &lt;br /&gt;
[L05] 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.&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/si26ce9jnmrtspa/L05_memory_arch_stack.pdf?dl=0 Slaidi L05]&lt;br /&gt;
&lt;br /&gt;
[PD_A] Praktiskajos darbos apskatīsim MD1.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.10.2018.====&lt;br /&gt;
| [L06] 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. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/b09vpj64cy60kme/L06_memory_paging_protection.pdf?dl=0 Slaidi L06]&lt;br /&gt;
&lt;br /&gt;
[PD5] [[LU-LSP-b13:L05 | Praktiskais darbs #5]] - &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Uzdots&amp;#039;&amp;#039;&amp;#039; [[LU-LSP-b:MD4 | MD4]] mājas darbs - atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.11.2018 ====&lt;br /&gt;
| LEKCIJA NENOTIEK&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 06.11.2018.====&lt;br /&gt;
| [L07] 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() un free() veiktspējai.&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/zqq0jbldw0bciu4/L07_memory_dynamic_reservation.pdf?dl=0 Slaidi L07]&lt;br /&gt;
&lt;br /&gt;
[PD6] [[LU-LSP-b13:L06 | Praktiskais darbs #6]] - atmiņas rezervācija.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 13.11.2018.====&lt;br /&gt;
|&lt;br /&gt;
[L08] Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi, kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/fr3i3tys808343j/L08_memory_algorithms.pdf?dl=0 Slaidi L08]&lt;br /&gt;
&lt;br /&gt;
[PD8] [[LU-LSP-b:L08 | Praktiskais darbs #8]] - vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
Mājas darba [[LU-LSP-b:MD4 | MD4]] &amp;#039;&amp;#039;&amp;#039;nodošanas&amp;#039;&amp;#039;&amp;#039; termiņš.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 20.11.2018.====&lt;br /&gt;
|&lt;br /&gt;
[KD1] Vidus semestra &amp;#039;&amp;#039;&amp;#039;kontroldarbs&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[L09] : Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/9tsu0fecra9f6y0/L09_KD_debugging.pdf?dl=0 Slaidi L09]&lt;br /&gt;
&lt;br /&gt;
[PD_D] Izmēģināt [[LU-LSP-b13:LA | atkļūdošanas]] rīkus. Plānot MD5 grupas. Sākt gatavoties Kursa projektam!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Uzdots&amp;#039;&amp;#039;&amp;#039; [[LU-LSP-b:MD5 | MD5]] - atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
Domāt kursa projekta tēmas!&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.11.2018.====&lt;br /&gt;
|&lt;br /&gt;
[L10] Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads). Kooperējošies procesi un preemptīvā daudz-uzdevumu metode. Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;. &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/qx2ffq19u2rtx86/L10_multitasking_processes_threads.pdf?dl=0 Slaidi L10]&lt;br /&gt;
&lt;br /&gt;
[PD9] Praktiskais darbs #9: Programma kas taisa N pavedienus, kur katrs izdrukā M burtus. (Jāprot, bet nav jāiesūta)&lt;br /&gt;
&lt;br /&gt;
+Izvēles (nav jāiesūta, vai e-pastā): [[LU-LSP-b13:L09 | Praktiskais darbs #9.1]] - steka satura analīze un piekļuve stekam.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Mājas darba [[LU-LSP-b:MD5 | MD5]] grupu izveidošanas termiņš.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Apspriežam kursa projekta tēmas&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Katra grupa: lūdzu atsūtiet vienu e-pastu ar paredzamajiem dalībniekiem!&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 04.12.2018 ====&lt;br /&gt;
| ====== LEKCIJA NENOTIEK ======&lt;br /&gt;
&lt;br /&gt;
Pēc izvēles mājās vai datorklasē:&lt;br /&gt;
* [PD10] [[LU-LSP-b13:L10 | Praktiskais darbs #10]] - starpprocesu komunikācija.&lt;br /&gt;
* Pabeigt izvēlētā kursa projekta noteikumus [https://docs.google.com/document/d/1Lvo-8oxibzqM8ANdjn8lR4ueCwGLSIcpL1Xtu7InHEs/edit?usp=sharing Google doc]&lt;br /&gt;
* Sākt darbu pie protokola formulēšanas - kādas ziņas Jūsuprāt nepieciešams sūtīt tīklā, lai programma pilnvērtīgi strādātu.&lt;br /&gt;
&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Termiņš izvēlētā kursa projekta noteikumiem  [https://docs.google.com/document/d/1Lvo-8oxibzqM8ANdjn8lR4ueCwGLSIcpL1Xtu7InHEs/edit?usp=sharing Google doc]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Mājas darba [[LU-LSP-b:MD5 | MD5]] &amp;#039;&amp;#039;&amp;#039;nodošanas&amp;#039;&amp;#039;&amp;#039; termiņš.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sākam diskutēt par protokolu&amp;#039;&amp;#039;&amp;#039; - nākamajā lekcijā būtu jānonāk līdz pirmajai protokola versijai!&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.12.2018.====&lt;br /&gt;
| &lt;br /&gt;
[L11] Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija. Klienta un servera arhitektūra. Iteratīvie un paralēlie serveri. Sockets. Komunikācija starp nesaistītiem procesiem. &lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/vkce978v56zk9uw/L11_lifecycle_ipc.pdf?dl=0 Slaidi L11]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[L12] Signāli. Alarm serviss un signāls. &lt;br /&gt;
Diskusija par komunikācijas protokolu izstrādi.&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/go536558ez25tip/L12_signals_course_project.pdf?dl=0 Slaidi L12]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[PD10] [[LU-LSP-b13:L10 | Praktiskais darbs #10]] - starpprocesu komunikācija.&lt;br /&gt;
!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
Termiņš: Kursa projekts: spēles noteikumi+uzmetums protokolam GoogleDoc dokumentā.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.12.2018.====&lt;br /&gt;
| &lt;br /&gt;
[L13] Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/deyef80stvuqyu9/L13_posix_threads.pdf?dl=0 L13 Slaidi].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[PD_KP2] Darbs pie [https://docs.google.com/document/d/1eKufkNWABehv7_r552aGX-vLr67KmPO74q_5w8jF3dw/edit?usp=sharing kursa projekta]. &lt;br /&gt;
|&lt;br /&gt;
Termiņš: Protokola gala versija&lt;br /&gt;
Ieskatam servera/klienta komunikācijā neobligāts [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], kas nav jānodod&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.12.2018. - Ziemassvētku un Jaungada brīvdienas&lt;br /&gt;
|&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 15.01.2019.====&lt;br /&gt;
| [EX] &amp;#039;&amp;#039;&amp;#039;Eksāmens 14:30&amp;#039;&amp;#039;&amp;#039; 312. telpā.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD1]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* MD2 - &amp;#039;&amp;#039;nav uzdots&amp;#039;&amp;#039;.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
&lt;br /&gt;
* [http://selavo.lv/wiki/index.php/Linux_komandas Noderīgas Linux komandas]&lt;br /&gt;
* [http://bit.ly/bashbyex Bash by Example] @ibm/developerworks&lt;br /&gt;
* [http://tuxradar.com/content/how-linux-kernel-works Intro to Linux kernel]&lt;br /&gt;
&lt;br /&gt;
* [http://www.lysator.liu.se/c/bwk-tutor.html Programming in C: A Tutorial] (by Brian W. Kernighan)&lt;br /&gt;
* [http://www.gnu.org/software/make/manual/make.html Gnu make] dokumentācija&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Tipiskas unix direktoriju hierarhijas] īss apraksts.&lt;br /&gt;
&lt;br /&gt;
* Sockets:&lt;br /&gt;
** [http://gnosis.cx/publish/programming/sockets.html Programming IP Sockets on Linux] (tutorial @ gnosis.cx)&lt;br /&gt;
** [http://www.linuxhowtos.org/C_C++/socket.htm Sockets Tutorial] @ Linux Howtos&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Berkeley_sockets Berkeley sockets] (Wikipēdija)&lt;br /&gt;
&lt;br /&gt;
* http://www.hiraeth.com/alan/tutorials/courses/unixprog.html&lt;br /&gt;
* http://lkml.org/&lt;br /&gt;
* [http://tldp.org/LDP/lkmpg/2.6/html/index.html The Linux Kernel Module Programming Guide]&lt;br /&gt;
&lt;br /&gt;
=== Programmēšanas analīzes rīki ===&lt;br /&gt;
* [http://pmd.sourceforge.net/pmd-5.2.1/ PMD] - scans source code and looks for bugs, dead code, suboptimal code, overcomplicated expressions, duplicate code.&lt;br /&gt;
&lt;br /&gt;
=== Linux veiktspējas analīze ===&lt;br /&gt;
* [http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html Top 20 Linux monitoring tools] @cyberciti&lt;br /&gt;
* [http://www.tecmint.com/command-line-tools-to-monitor-linux-performance/ 20 rīki Linux veikstpējas monitoringam] (IPTraf u.c.) @tecmint&lt;br /&gt;
* [http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html CPU analīze]&lt;br /&gt;
* [http://www.cyberciti.biz/tips/linux-disk-performance-monitoring-howto.html Disku I/O analīze]&lt;br /&gt;
* [http://www.linuxprogrammingblog.com/io-profiling IO profiling] at Linux programming blog&lt;br /&gt;
* [https://www.linux.com/learn/tutorials/470979-who-and-what-is-on-my-network-probing-your-network-with-linux Tīkla analīze]&lt;br /&gt;
&lt;br /&gt;
== Atziņas ==&lt;br /&gt;
* [http://norvig.com/21-days.html Teach yourself programming in 10 years] by Peter Norvig&lt;br /&gt;
* [https://rhodecode.com/blog/code-review-learn-nasa-codes/ Code review: Learn how NASA codes (blog)], and [http://cacm.acm.org/magazines/2014/2/171689-mars-code/fulltext Mars Code (ACM article)]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
</feed>