Difference between revisions of "LU-LSP-b11:L06a"
(New page: ===Praktiskais darbs #6a=== Programmu analīze. Šoreiz nekas pašiem nav jāprogrammē - tā vietā gatavas programmas darbība un kods. Programmas kods dots [http://jupiter.cs.fmf.lu....) |
|||
Line 6: | Line 6: | ||
Programmas kods dots [http://jupiter.cs.fmf.lu.lv/~kursi/lsp/pd6a.c šeit]. Uzdevumi: |
Programmas kods dots [http://jupiter.cs.fmf.lu.lv/~kursi/lsp/pd6a.c šeit]. Uzdevumi: |
||
# Sakompilēt šo kodu, aizstājot NAME_FIRST_LETTER un SURNAME_FIRST_LETTER programmas kodā ar saviem personīgajiem iniciāļiem. |
# '''Sakompilēt''' šo kodu, aizstājot NAME_FIRST_LETTER un SURNAME_FIRST_LETTER programmas kodā ar saviem personīgajiem iniciāļiem. Komanda: |
||
gcc -Os -Wall pd6a.c -opd6a |
|||
# Palaist šo |
# Palaist šo programmu. Noskaidro, kādus sistēmas izsaukumus tā lieto. Kāds ir '''kopējais sistēmas izsaukumu skaits'''? Kāds konkrēti ir '''visbiežāk izmantotais''' sistēmas izsaukums? Kā izskaidrot lielo sistēmas izsaukumu skaitu? |
||
# Programmas darbības laikā Linux kodols uztur tai atbilstošus failus /proc failusistēmā. Tie atrodami zem /proc/<pid>/, kur <pid> ir programmas identifikators. Pēc jūsu izvēles, iepazīstieties ar trīs tur atrodamiem failiem (vēlams, lai visiem kursā nebūtu izvēlēti vieni un tie paši.) Kā šie konkrētie faili varētu palīdzēt programmu atkļūdošanai vai kontrolei? (Runājot par kontroli, svarīgi ir tas, ka daži no failiem ir rakstāmi.) Uzrakstiet vienu-divus teikumus par katru. Nav obligāti skaidrot katru failā esošo skaitli, bet aptuveno ideju "kas šajā failā glabājas"! |
# Programmas darbības laikā Linux kodols uztur tai atbilstošus failus /proc failusistēmā. Tie atrodami zem /proc/<pid>/, kur <pid> ir programmas identifikators. Pēc jūsu izvēles, '''iepazīstieties ar trīs tur atrodamiem failiem''' (vēlams, lai visiem kursā nebūtu izvēlēti vieni un tie paši.) Kā šie konkrētie faili varētu palīdzēt programmu atkļūdošanai vai kontrolei? (Runājot par kontroli, svarīgi ir tas, ka daži no failiem ir rakstāmi.) '''Uzrakstiet vienu-divus teikumus par katru.''' Nav obligāti skaidrot katru failā esošo skaitli, bet aptuveno ideju "kas šajā failā glabājas"! |
||
# Opcionāls uzdevums papildus vērtējumam: izskaidrot 120 -- 125 programmas koda rindiņu nozīmi un lietojumu. |
# Opcionāls uzdevums papildus vērtējumam: izskaidrot 120 -- 125 programmas koda rindiņu nozīmi un lietojumu. |
||
Revision as of 14:27, 11 October 2011
Praktiskais darbs #6a
Programmu analīze.
Šoreiz nekas pašiem nav jāprogrammē - tā vietā gatavas programmas darbība un kods.
Programmas kods dots šeit. Uzdevumi:
- Sakompilēt šo kodu, aizstājot NAME_FIRST_LETTER un SURNAME_FIRST_LETTER programmas kodā ar saviem personīgajiem iniciāļiem. Komanda:
gcc -Os -Wall pd6a.c -opd6a
- Palaist šo programmu. Noskaidro, kādus sistēmas izsaukumus tā lieto. Kāds ir kopējais sistēmas izsaukumu skaits? Kāds konkrēti ir visbiežāk izmantotais sistēmas izsaukums? Kā izskaidrot lielo sistēmas izsaukumu skaitu?
- Programmas darbības laikā Linux kodols uztur tai atbilstošus failus /proc failusistēmā. Tie atrodami zem /proc/<pid>/, kur <pid> ir programmas identifikators. Pēc jūsu izvēles, iepazīstieties ar trīs tur atrodamiem failiem (vēlams, lai visiem kursā nebūtu izvēlēti vieni un tie paši.) Kā šie konkrētie faili varētu palīdzēt programmu atkļūdošanai vai kontrolei? (Runājot par kontroli, svarīgi ir tas, ka daži no failiem ir rakstāmi.) Uzrakstiet vienu-divus teikumus par katru. Nav obligāti skaidrot katru failā esošo skaitli, bet aptuveno ideju "kas šajā failā glabājas"!
- Opcionāls uzdevums papildus vērtējumam: izskaidrot 120 -- 125 programmas koda rindiņu nozīmi un lietojumu.
Izmantojamie rīki
- strace utilīta
- ps utilīta
- proc failu sistēma (/proc)
Iesūtīšana
Risinājumus nosūtīt uz kursa asistenta e-pastu, rakstot atbildes vēstules tekstā. E-pasta "Subject" obligāti iekļaut burtus "LSP".