Käyttöjärjestelmät ja systeemiohjelmointi (6 op)
Toteutuksen tunnus: CT00CL95-3006
Toteutuksen perustiedot
Ilmoittautumisaika
01.08.2025 - 30.07.2026
Ajoitus
01.08.2025 - 31.07.2026
Opintopistemäärä
6 op
Virtuaaliosuus
6 op
Toteutustapa
Etäopetus
Toimipiste
LUT-yliopisto
Osaamistavoitteet
Opiskelija ymmärtää, kuinka käyttöjärjestelmä rakentuu, miten se keskeiset toiminnot on toteutettuja miten se toimii yhdessä sovellusohjelmien kanssa. Opiskelija osaa jakaa monimutkaiset ongelmat pienempiin kokonaisuuksiin, ja tietää, miten käyttöjärjestelmän kokoinen, iso ohjelmistoprojekti suunnitellaan ja toteutetaan. Opiskelijalla on kokonaiskuva tietokonejärjestelmän rakenteesta sekä niiden liittymäkohdista algoritmiikkaan, tietokonearkkitehtuuriin, käyttöjärjestelmiin, kääntäjiin ja tulkkeihin sekä ohjelmistotuotantoon. Opiskelija ymmärtää systeemiohjelmoinnin merkityksen sovelluskehityksessä ja järjestelmän ylläpidossa. Opiskelija tuntee käyttöjärjestelmän perustoiminnot. Opiskelija osaa kirjoittaa Posix-ohjelmia C-kieltä käyttäen, osaa soveltaa Posix-kirjastoja ja järjestelmätason funktioita ohjelmissaan. Opiskelija osaa ohjelmoida Unix-järjestelmän komentosarjoja.
Toteutustapa ja opetusmenetelmät
Luennot 28 h. Harjoitukset 14 h ja harjoituksiin valmistautuminen 14 h. Harjoitustyö 52 h. ja tenttiin valmistautuminen 51 h. Verkkotentti 3 h. Yhteensä 162 h.
Oppimateriaali ja suositeltava kirjallisuus
Lappeenrannan suomenkielinen toteutus: Kasurinen, Jussi. Tietokoneet ja käyttöjärjestelmät. ISBN 978-952-94-9108-7, 2024. Latauslinkki kurssimateriaaleissa. Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. Operating Systems: Three Easy Pieces, Arpaci-Dusseau Books March, 2015 (Version 1.00). Lisämateriaaleina: A. Silberschatz, P. Galvin, G. Gagne: Operating System Concepts, Wiley, 2012 W. Richard Stevens and Stephen A. Rago: Advanced Programming in the UNIX Environment, 2nd edition, 2011. Ellie Quigley: Unix Shells by Example, 4th edition, 2010. William Stallings: Operating Systems: Internals and Design Principles, 7th Edition, 2011. Lisäksi muu luennoilla ilmoitettu materiaali.
Sisältö
Käyttöjärjestelmän perusrakenteet ja –toiminnot: tiedostojärjestelmä, prosessit, prosessien ajoitus ja hallinta, muistinhallinta, oheislaitteet. Unix-järjestelmän rakenne. C-ohjelmointikieli ja sen ohjelmointiympäristö ja työkalut Unix-järjestelmässä. Unixin komentotulkki-ohjelmointi. Standardi I/O-kirjasto, kehittyneet I/O-toiminnot. Järjestelmätiedot ja –tiedostot. Prosessit, prosessien hallinta, prosessien väliset suhteet. Säikeet ja niiden hallinta. Palveluprosessit. Prosessienvälinen kommunikointi. Signaalit ja niiden hallinta.
Lisätietoja opiskelijalle: mm. edeltävä osaaminen
Opettajat: Jussi Kasurinen
Linkki opintojaksoesitteelle: https://sis-lut.funidata.fi/student/courseunit/otm-ef7d91ef-38ec-41fb-82ee-b11667b7bb6b/brochure
CT60A0200 Ohjelmoinnin perusteet, CT60A0210 Käytännön ohjelmointi, BM40A0300 Tietorakenteet ja algoritmit tai CT60A0210 C-ohjelmoinnin perusteet (tai vastaava C-ohjelmointikurssi).
Arviointimenetelmät
0-5, tentti 50 %, harjoitustyöt 50 %.
Arviointiasteikko
1-5