Unix/Linux-ohjelmointiympäristöLaajuus (5 op)
Opintojakson tunnus: TI00FA70
Opintojakson perustiedot
- Laajuus
- 5 op
- Opetuskieli
- suomi
- Vastuuhenkilö
- Simo Silander
Osaamistavoitteet
Opintojaksolla syvennetään C-ohjelmointitaitoja tutustumalla UNIX-systeemikutsujen käyttöön. Opintojakson tavoite on hankkia itsenäiseen sovelluskehitystyöhön riittävä UNIX-järjestelmän tuntemus.
Opintojakson jälkeen opiskelija osaa hyödyntää C-kielen kirjastorutiinien lisäksi UNIX-systeemikutsuja siirrännässä ja tiedostojenhallinnassa, sekä erityisesti samanaikaisten prosessien ja säikeiden välisessä kommunikoinnissa, synkronoinnissa ja kilpailutilanteiden hallinnassa.
Sisältö
Käyttöjärjestelmätoteutuksen laitteistovaatimukset. Sovelluksen toimintaympäristö. C-kirjastot vs. systeemikutsut. Virhetilanteiden käsittely. Dynaaminen muistinhallinta. Tiedostojärjestelmä ja siirräntä. Prosessit. Muistinhallinta. Signaalit. Estymätön ja asynkroninen siirräntä. Prosessien välinen kommunikointi ja poissulkeminen: yhteiskäyttöinen muisti, semaforit, sanomajonot. Säikeet ja niiden synkronointi sekä poissulkeminen.
Esitietovaatimukset
C-ohjelmointiosaaminen
Arviointikriteerit, tyydyttävä (1)
Opiskelija on saavuttanut kurssin tavoitteet tyydyttävästi. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät minimivaatimuksin.
Arviointikriteerit, hyvä (3)
Opiskelija on saavuttanut kurssin tavoitteet hyvin. Hän tunnistaa, osaa nimetä ja pystyy käyttämään opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät hyvin.
Arviointikriteerit, kiitettävä (5)
Opiskelija on saavuttanut kurssin tavoitteet erinomaisesti. Hän tunnistaa, osaa nimetä, pystyy käyttämään ja soveltamaan opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja monipuolisesti. Hän on suorittanut opintojaksolla annetut tehtävät erinomaisesti ja on pystynyt tuomaan ratkaisuihin merkittävästi omaa panostaan.
Arviointikriteeri, hyväksytty/hylätty
Opiskelija on saavuttanut kurssin tavoitteet tyydyttävästi. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät minimivaatimuksin.
Oppimateriaalit
Luentokalvot ja harjoitustehtävät.
Opintojakson runko seuraa kirjaa Stevens W.R., Rago S.A.: Advanced Programming in the UNIX Environment, 3rd ed., Addison Wesley/ Pearson, 2013.
Käsittelemme kurssilla samoja asioita kuin tämä kirja, mutta emme yhtä perusteellisesti. Useimmat opintojakson esimerkkiohjelmista ovat peräisin tämän kirjan sivuilta.
Systeemikutsuihin ja työympäristöön tutustumisessa kannattaa käyttää tarkentavana materiaalina myös Unix-järjestelmän manuaalisivuja.
Lisätiedot
Tieto- ja viestintätekniikan tutkinto-ohjelman valinnainen opintojakso.