MAC OS:N JA UNIXIN VERTAILEMINEN

Koko: px
Aloita esitys sivulta:

Download "MAC OS:N JA UNIXIN VERTAILEMINEN"

Transkriptio

1 Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Opintojakson Käyttöjärjestelmät seminaarityö Markus Hämäläinen, Ilkka Tommola ja Antti Laapas MAC OS:N JA UNIXIN VERTAILEMINEN Työn tarkastaja: Professori Heikki Kälviäinen Työn ohjaaja: Professori Heikki Kälviäinen

2 TIIVISTELMÄ Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Markus Hämäläinen, Ilkka Tommola ja Antti Laapas Mac OS:n ja Unixin vertaileminen Seminaarityö sivua, 2 kuvaa Työn tarkastaja: Professori Heikki Kälviäinen Hakusanat: Unix, Mac OS, muistinhallinta, prosessien hallinta, tiedostojärjestelmä Keywords: Unix, Mac OS, memory management, process control, file system Tässä työssä tutkitaan kahden suositun käyttöjärjestelmän, Unixin ja Mac OS:n ominaisuuksia ja eroavuuksia. Unix on näistä kahdesta vanhempi ja eri kehitysversioiltaan haarautuneempi. Työssä luodaan kirjallisuuden perusteella katsaus Mac OS- ja Unixkäyttöjärjestelmien yleisiin toimintaperiaatteisiin sekä vertaillaan järjestelmiä toisiinsa mm. muistin- ja prosessien hallinnan sekä tiedostojärjestelmien osalta. Seminaarityö osoittaa, että eri käyttötapojen vuoksi järjestelmät ovat kehittyneet tietyiltä ominaisuuksiltaan selvästi toisistaan eroaviksi, joskin niiden toiminnassa sekä historiassa on myös selkeitä yhtymäkohtia. ii

3 ABSTRACT Lappeenranta University of Technology Faculty of Technology Management Degree Program in Information Technology Markus Hämäläinen, Ilkka Tommola and Antti Laapas Comparison of Mac OS and Unix Seminar Report 25 pages, 2 figures Examiner: Professor Heikki Kälviäinen Keywords: Unix, Mac OS, memory management, process control, file system In this report the properties and differences of two popular operating systems, Unix and Mac OS, are studied. Unix is the older one of these two and it has more different development branches. In the report, a review of general working principles of these systems is made and their differences in terms of process control, memory management and file systems are being compared based on literature. This seminar report indicates that because of different uses these systems have developed to clearly differ from each other by certain properties, although they have clear similarities in their operations and history. iii

4 ALKUSANAT Työ on tehty Lappeenrannan teknillisen yliopiston kurssin Käyttöjärjestelmät seminaarityönä. Haluamme kiittää perheenjäseniämme heidän tuestaan. Kiitämme myös Heikki Kälviäistä, joka työn ohjaajana antoi tärkeitä neuvoja raportin laadintaan. iv

5 SISÄLLYSLUETTELO 1 JOHDANTO TAUSTA TAVOITTEET JA RAJAUKSET TYÖN RAKENNE UNIXIN JA MAC OS:N HISTORIA UNIX MAC OS UNIXIN JA MAC OS:N ESITTELY UNIX MAC OS MUISTINHALLINTA PROSESSIEN HALLINTA TIEDOSTOJÄRJESTELMÄ MUUT EROT MAC OS X:N JA UNIXIN VÄLILLÄ YHTEENVETO LÄHTEET

6 SYMBOLI- JA LYHENNELUETTELO 2D Two-Dimensional 3D Three-Dimensional A/UX Apple Unix BSD Berkeley Software Distribution BIOS Basic Input-Output System CSRG Computer Systems Research Group CPU Central Processing Unit GNU GNU's Not Unix IEEE Institute for Electrical and Electronics Engineers I/O Input/Output Mac OS Mac Operating System MIT Massachusetts Institute of Technology Multics Multiplexed Information and Computing Service NB New B OSF Open Systems Foundation POSIX Portable Operating Systems Interface RAM Random Access Memory SCO Santa Cruz Operation SPARC Scalable Processor Architecture SUS Single Unix Specification SVR4 Unix System V Release 4 TCP/IP Transmission Control Protocol/Internet Protocol UCB University of California, Berkeley 2

7 1 JOHDANTO 1.1 Tausta Unix ja Mac OS ovat eri versioineen suosittuja käyttöjärjestelmiä. Näistä Unix on selvästi vanhempi ja eri kehitysversioiltaan haarautuneempi. Mac OS:n (Operating System) viimeisin versio Mac OS X on vahvasti Unixiin pohjautuva, mutta sitä ei kuitenkaan lueta perinteisten Unix-järjestelmien joukkoon. Mac OS on perinteisesti ollut suosittu työpöytäkäytössä, Unix puolestaan on nykyään yleinen palvelinkäytössä. Näiden eri käyttötapojen johdosta molempien järjestelmien ominaisuudet ovat kehittyneet tietyissä määrin toisistaan eroaviksi. 1.2 Tavoitteet ja rajaukset Työn tavoitteena on luoda katsaus Mac OS- ja Unix-käyttöjärjestelmien yleisiin toimintaperiaatteisiin sekä vertailun tekeminen näiden kahden järjestelmän välillä. Työssä keskitytään erityisesti muistin- ja prosessien hallintaan sekä tiedostojärjestelmiin kyseisissä käyttöjärjestelmissä. Työssä käsitellään käyttöjärjestelmää kernelin eli ytimen lisäksi kokoelmana välttämättömiä apuohjelmia ja kirjastoja. Mac OS:ää käsitellessä paneudutaan lähinnä sen tuoreimpaan työpöytä- ja palvelinkoneissa käytettävään versioon eli Mac OS X:ään. Työssä ei perehdytä käyttöliittymien eroihin. 1.3 Työn rakenne Luvussa 2 esitellään käsiteltyjen käyttöjärjestelmien historiaa. Luvussa 3 käydään läpi joitakin yleisiä asioita molemmista järjestelmistä. Luvussa 4 perehdytään järjestelmien muistinhallintaan, luvussa 5 järjestelmien prosessinhallintaan ja luvussa 6 järjestelmien tiedostojärjestelmiin. Luvussa 7 luodaan vielä katsaus järjestelmien välisiin muihin eroavaisuuksiin, jotka eivät liity aiemmissa luvuissa käsiteltyihin asioihin. Lopuksi työn avainasiat kootaan yhteenvedossa (luku 8). 3

8 2 UNIXIN JA MAC OS:N HISTORIA 2.1 Unix Vuonna 1965 ryhmä General Electricin ja Bell Labsin tiedemiehiä liittyi MIT-yliopiston (Massachusetts Institute of Technology) projektiin, jossa tavoitteena oli luoda Multicsosituskäyttöjärjestelmä (Multiplexed Information and Computing Service) suurtietokoneita varten. Projektissa ei saavutettu sille asetettuja tavoitteita ja vuonna 1969 Bell Labs vetäytyi yhteistyöstä. Multics kehittyi lopulta toimivaksi järjestelmäksi, mutta siitä tuli suppeampi kuin alun perin oli tarkoitettu. (The Creation of the UNIX* Operating System 2007) Muutama Bell Labsin työntekijä alkoi kehitellä vaihtoehtoista järjestelmää Multicsille. Varsinainen alkusysäys Unixille tapahtui vuoden 1969 keväällä, jolloin tutkijat keskustelivat siitä, millainen tietokoneen käyttöjärjestelmän tulisi olla. Ken Thompson ja Dennis Ritchie kirjoittivat ensin mainitun aiemmin luomasta Space Travel -pelistä version PDP-7-koneelle, mitä varten he joutuivat luomaan myös joitakin alijärjestelmiä. Nyt koneella oli jo jonkinlainen järjestelmä ei kuitenkaan vielä varsinainen käyttöjärjestelmä. (The Creation of the UNIX* Operating System 2007) Kesän 1969 aikana Thompson jatkoi järjestelmän kehittämistä ja toteutti mm. tiedostojärjestelmän, käyttäjätason apuohjelmia sekä komentotulkin. Järjestelmä alkoi olla valmis ja vuonna 1970 Brian Kernighan ehdotti nimeä "Unix", joka muodostui sanaleikkinä nimestä "Multics". Vanhentuneen PDP-7:n tilalle hankittiin PDP-11, ja järjestelmän kirjoittaminen sille alkoi joulukuussa Ensimmäinen käytännön sovellus järjestelmälle oli tekstinkäsittely Bell Labsin patenttiosastolla. (The Creation of the UNIX* Operating System 2007) Alun perin Unix oli kirjoitettu symbolisella konekielellä, mutta Thompsonin tavoite oli kirjoittaa se korkeamman tason kielellä. Aluksi hän kokeili Fortrania, josta kuitenkin luopui nopeasti. Thompson loi yksinkertaisen kielen, jota hän kutsui nimellä "B". Seuraava vaihe oli NB eli "New B" ja lopulta kesällä 1972 alkoi Unixin uudelleenkirjoittaminen C- kielellä. Työ valmistui seuraavan vuoden kesällä. Unixia levitettiin aluksi edullisilla 4

9 akateemisilla lisensseillä ja vuodesta 1975 alkaen hallituksellisella sekä kaupallisilla lisensseillä. (The Creation of the UNIX* Operating System 2007) Thompson toimi vierailevana professorina Kalifornian yliopiston Berkeleyn kampuksella (UCB, University of California, Berkeley), jossa hän opetti Unixia ja kehitti järjestelmää, josta myöhemmin tuli Versio 6. Järjestelmästä tuli välittömästi suosittu ja Berkeleyn opiskelijat ja professorit jatkoivat sen parantelua. Lopulta muodostettiin järjestelmä nimeltä BSD (Berkeley Software Distribution) Versio 4.2, joka ostettiin myös moniin muihin yliopistoihin. (The Creation of the UNIX* Operating System 2007) UCB:ssa perustettu CSRG-ryhmä (Computer Systems Research Group) oli tärkeä tekijä Unixin levittämisessä ja kehittämisessä. CSRG mm. teki suurimman osan työstä TCP/IPprotokollien luomisessa ja Unix olikin tärkeässä asemassa Internetin alkuaikoina. Unix oli levinnyt yliopistomaailmaan ja lopulta liikeyritykset saivat tietää järjestelmästä palkatessaan uusia ohjelmoijia, jotka olivat käyttäneet sitä yliopistossa. Uusi liiketoimintamahdollisuus sai nopeasti alkunsa: Unixille alettiin kirjoittaa kaupalliseen käyttöön tarkoitettuja ohjelmia. Unix oli houkutteleva liiketoimintasovelluksiin osituskäyttö- ja moniajomahdollisuuksiensa vuoksi. Lisäksi järjestelmä oli yhteensopiva eri toimittajien koneiden kanssa ja sisälsi mahdollisuuden sähköpostin käyttöön. (The Creation of the UNIX* Operating System 2007) ja 90-luvuilla kehitystyö Unixin parissa jatkui ja useita eri levitysversioita julkaistiin. Bell Labsin julkaisuja olivat Versiot 6 ja 7, System III ja System V. Bell Labsin virallisten versioiden lisäksi tärkeitä olivat Berkeleyn BSD-julkaisut Novell osti Unixin AT&T:ltä, mutta myi kaksi vuotta myöhemmin koko Unix-liiketoimintansa Santa Cruz Operationille (SCO). Bell Labsissa jatkettiin kehitystyötä koko ajan ja järjestelmästä kehitettiin versiot 8, 9 ja 10. Nykyisin Unix-pohjaisia järjestelmiä on saatavilla lukuisilta yhtiöiltä. Näitä ovat mm. Sun Microsystemsin Solaris, Hewlett-Packardin HP-UX, IBM:n AIX ja Compaqin Tru64 UNIX. Lisäksi on olemassa useita vapaasti saatavilla olevia Unixja Unix-yhteensopivia versioita, kuten Linux, FreeBSD ja NetBSD. (The Creation of the UNIX* Operating System 2007) Suurin osa Unix-pohjaisista järjestelmistä perustuu jompaankumpaan kahdesta perusversiosta - AT&T:n System V:hen tai Berkeleyn BSD:hen. Näiden kahden väliset 5

10 erot ovat saatavilla olevissa apuohjelmissa ja tiedostorakenteen toteutuksessa. Useimmat Unix-järjestelmät sisältävät ominaisuuksia molemmista perusversioista, mikä on osoitus Unixille tyypillisestä tavasta tarjota joustavuutta ja mahdollisuus tehdä asiat usealla vaihtoehtoisella tavalla. (Love et al. 2005) Koska Unix-versioita on useita, käyttäjälle tarjoutuu mahdollisuus valita järjestelmä, joka parhaiten vastaa hänen tarpeitaan ja järjestelmälle asetettuja vaatimuksia. Tämä valinnanvapaus on monien mielestä vahvuus, mutta jotkut näkevät sen myös heikkoutena. Toisistaan poikkeavat versiot ovat joiltakin osin epäyhteensopivia. Unixista ei ole olemassa "oikeaa" versiota - ainoastaan erilaisia toteutuksia. (Love et al. 2005) IEEE (Institute for Electrical and Electronics Engineers) loi standardin 1003 (IEEE 1003), joka tunnetaan myös nimellä POSIX (Portable Operating Systems Interface). POSIX yhdistettiin SUS-standardin (Single Unix Specification) kanssa ja siitä tuli yksi yhtenäinen standardi Unix-versioita varten. Kaikki Unixit eivät noudata POSIX:ia tarkasti, mutta suurin osa noudattaa siinä hahmoteltuja pääperiaatteita. (Love et al. 2005) Aikaiset Unix-versiot olivat pääasiassa kaupallisia. Vuonna 1984 insinööri Richard Stallman aloitti GNU-projektin (GNU's Not Unix). Projektin tarkoituksena oli luoda Unixin kaltainen käyttöjärjestelmä, jota kuka tahansa voisi levittää ja käyttää ilmaiseksi. Stallman johtaa nykyisin Free Software Foundation -järjestöä, ja monet hänen ja tukijoidensa luomista ohjelmista ovat käytössä sekä kaupallisissa että avoimen lähdekoodin Unix-versioissa. (Love et al. 2005) Vuoden 1994 oikeusjutun sopimusratkaisun jälkeen BSD Unix on ollut vapaasti levitettävänä ja siitä ovat muodostuneet NetBSD, FreeBSD ja OpenBSD -projektit. BSD:n tekniikan pohjalta on luotu myös Darwin, johon puolestaan Mac OS X perustuu. (Love et al. 2005) 2.2 Mac OS Vuonna 1976 Steve Wozniak, Steve Jobs ja Ronald Wayne perustivat yhtiön nimeltä Apple. Yhtiön ensimmäinen tuote oli Apple I -tietokone, jonka käyttöjärjestelmänä toimi hyvin yksinkertainen "System Monitor". Seuraavaa mallia, Apple II:sta, valmistettiin 6

11 useina eri versioina ja niitä varten luotiin useita eri käyttöjärjestelmiä. Vuonna 1984 julkistettiin Macintosh, jonka käyttöjärjestelmänä toimi "Mac System Software", joka oli yhden käyttäjän yksiajokäyttöjärjestelmä. Muutaman seuraavan vuoden aikana Apple paranteli Macintoshin käyttöjärjestelmää ja loi muutaman muun huomionarvoisen järjestelmän, mm. Unix-versio A/UX:n (Apple Unix) vuonna A/UX yhdisti monia Macintosh-käyttöjärjestelmän ominaisuuksia Unixiin. Merkillepantavaa oli erityisesti järjestelmän helppo asennus. A/UX:n viimeinen versio julkaistiin vuonna System Softwaresta julkaistiin vuonna 1991 versio 7, joka oli suuri harppaus eteenpäin edellisistä Macintosh-järjestelmistä. Siinäkin oli kuitenkin puutteita, kuten vain yhteistoiminnallinen moniajo ja muistinsuojauksen puute. Järjestelmästä, jonka nimi vaihdettiin version 7.6 yhteydessä Mac OS:ksi, julkaistiin vielä versiot 8 ja 9, viimeinen versio oli vuonna (Singh 2004) Vuonna 1985 Steve Jobs jätti Applen ja perusti yrityksen NeXT Computer, Inc. Yritys julkaisi ensimmäisen tietokoneensa vuonna Käyttöjärjestelmänä siinä toimi NEXTSTEP 0.8, joka perustui Mach 2.5:een ja 4.3BSD:hen. The Mach Project Home Pagen (1997) mukaan Mach on käyttöjärjestelmä, jonka kehittäminen aloitettiin vuonna 1985 Carnegie Mellon -yliopistossa, jossa kehitystyö jatkui vuoteen 1994 asti. NEXTSTEP:in viimeiseksi versioksi jäi 3.3 vuodelta Järjestelmän seuraajasta, OPENSTEP:istä, julkaistiin kolme versiota vuosina luvun puolivälin aikoihin Apple yritti epätoivoisesti kehittää Microsoftin Windows-käyttöjärjestelmälle kilpailijaa, ja päätyi lopulta ostamaan NeXT:in. Apple nimesi tulevan NeXT-perustaisen järjestelmänsä Rhapsodyksi, josta julkaistiin kaksi kehittäjäversiota. Vuonna 1999 julkaistiin sekä Rhapsodyyn että Mac OS:ään perustuva Mac OS X. (Singh 2003) Vuonna 1999 julkaistu Mac OS X kulki nimellä Server 1.0, ja syksyllä 2000 julkaistiin ns. julkinen betaversio Mac OS X:sta 29,95 dollarin hintaan käyttäjäkokemuksien keräämiseksi. Tämän jälkeisiin Mac OS X:n julkaisuihin on viitattu nimellä suuret kissat, koska jokaisen julkaistun version koodinimi on nimetty jonkin kissapedon mukaan: esim. heinäkuussa 2001 julkaistun version 10.0 koodinimi on Cheetah. Tuorein versio on lokakuussa 2010 julkaistu 10.7, koodinimeltään Lion. (Mac OS X 2010) 7

12 3 UNIXIN JA MAC OS:N ESITTELY 3.1 Unix Unix on kerrosmalliin perustuva monen käyttäjän moniajojärjestelmä. Siihen voi siis olla kirjautuneena useita käyttäjiä samanaikaisesti. Lisäksi jokainen käyttäjä voi ajaa useita ohjelmia yhtä aikaa. Käyttöjärjestelmän olennainen osa tunnetaan Unix-terminologiassa nimellä kernel. Kernelin tehtävä on pitää käyttäjät ja prosessit erillään ja säädellä pääsyä laitteistoon. (Fiamingo et al. 1998) Kernel hallinnoi prosesseja, input/output-laitteita, tiedostojärjestelmäoperaatioita ja kaikkia muita käyttöjärjestelmän vaatimia kriittisiä toimintoja. Kernel myös vastaa muistinhallinnasta. Kaikki edellämainitut ovat itsenäisiä toimintoja, sillä käyttäjän prosessit eivät ohjaa niiden suoritusta. Juuri kernel mahdollistaa moniajon ja usean käyttäjän tilan. (Love et al. 2005) Kernel rakennetaan juuri sille laitteistolle, jolla sitä suoritetaan. Esimerkiksi Sun:in Sparctietokoneelle (Scalable Processor Architecture) rakennettu kernel ei toimi Intelprosessorilla varustetussa tietokoneessa ilman muutoksia. Koska kernel käsittelee hyvin matalan tason toimintoja, kuten kiintolevyn ohjausta tai moniajon hallintaa, ei käyttäjä yleisesti ottaen pääse siihen käsiksi suoraan. (Love et al. 2005) Kuten muutkin käyttöjärjestelmät, Unix toimii välikerroksena laitteiston ja tietokoneella ajettavien ohjelmien välillä. Itse asiassa Unix on enemmän kuin pelkkä käyttöjärjestelmä. Sen erottaa perinteisistä järjestelmistä standardisoidut kirjastot ja sovellukset, joita käyttäjät ja kehittäjät voivat käyttää. Standardisoitu käyttöliittymä mahdollistaa sovellusten siirrettävyyden ja tarjoaa käyttäjille tutun ympäristön. (UNIX Unleashed 1997) Unixin kerrosmalli UNIX Unleashed:in (1997) mukaan: laitteisto tiedostojärjestelmä ja prosessienhallinta kirjastot sovellukset 8

13 Kuten myös kuvasta 1 on nähtävissä, laitteiston yläpuolella toimivat tiedostojärjestelmä ja prosessienhallinta. Välissä sijaitsevat kirjastot, ja ylimpänä kerroksena toimivat sovellukset. Järjestelmän käyttäjä käyttää kirjastoja ja sovelluksia, joista Unixin käyttöliittymä muodostuu. (UNIX Unleashed 1997) Kuva 1. Unixin kerrosmalli (UNIX Unleashed 1997). Käyttäjätason ohjelmien ei tarvitse olla tietoisia laitteistosta - ainoastaan siitä, kuinka kernelin kanssa kommunikoidaan. Koska käyttäjätason ohjelmat eivät ole riippuvaisia laitteistotasosta, ovat ne helposti siirrettävissä. Käyttäjän ohjelmat kommunikoivat kernelin kanssa standardisoitujen järjestelmäkutsujen avulla. Nämä kutsut pyytävät kerneliltä palveluja, kuten tiedoston avaaminen, sulkeminen, lukeminen ja siihen kirjoittaminen, pääsyoikeuksien muuttaminen, hakemiston vaihtaminen sekä prosessien luominen ja sulkeminen. (Fiamingo et al. 1998) Ohjelmien siirrettävyys tarkoittaa käytännössä sitä, että samaa ohjelmaa voidaan ajaa erityyppisillä tietokonelaitteistoilla ilman muutoksia. Tämä on mahdollista, mikäli sovellus käyttää standardoitua Unixin käyttöliittymää laitteiston hallintaan. Sovelluskehittäjän on 9

14 siis pienellä vaivalla mahdollista tukea samaa sovellusta monilla eri laitteistoalustoilla, mikä pienentää kehityskuluja ja laajentaa potentiaalista asiakaskuntaa. Käyttäjille etuna ohjelmien siirrettävyyden lisäksi on se, että tarjolla on laajempi valikoima ohjelmia. (Unix Unleashed 1997) Vuonna 1984 MIT:ssä Unixeille alettiin kehittää X Window Systemiä (lyh. X), graafista käyttöliittymää, joka toimii abstraktiokerroksena käyttäjän ja laitteiden välillä. X käyttää palvelin-asiakas-mallia, jossa X-palvelin tarjoaa käyttöliittymäkomponentit, joita käyttääkseen X-asiakas ottaa yhteyden palvelimeen. X-palvelin ja X-asiakas eivät välttämättä sijaitse samalla koneella, koska kommunikointi tapahtuu verkkoläpinäkyvästi. Käyttäjän on ensin autentikoiduttava palvelimelle X display managerin kautta. Nykyisin Unix-klooneissa suositaan freedesktop.org-yhteisön kehittämää X.orgia, jonka tavoitteena on saavuttaa yhteensopivuus eri työpöytäympäristöjen välillä. Alkuperäisestä X Window Systemistä poiketen X.orgia voidaan laajentaa moduuleilla, kun taas X Window System oli monoliittinen. Modulaarisuus helpottaa uusien kirjastojen ja laiteajureiden lisäämistä. (Baclit et al. 2009) 3.2 Mac OS Kuten Unixia, myös Mac OS X:ää voidaan tarkastella kerrosmallina. Alemmilla kerroksilla on välttämättömät palvelut, joihin kaikki ohjelmistot pohjautuvat; ylemmillä kerroksilla on edistyneempää teknologiaa ja palveluita, jotka rakentuvat alempien kerroksien pohjalle sekä täydentävät niitä. Kuva 2 havainnollistaa tätä kerrosrakennetta. (Mac OS X Technology Overview 2009) Pohjakerroksen tärkein komponentti on Darwin, jota voidaan pitää Mac OS X:n ytimenä. Se pohjautuu FreeBSD-ympäristöön, joka puolestaan on variantti BSD:n Unixympäristöstä. Darwiniin sisältyvät kernel-ympäristö, laitteiden ajurit, prosessien välisen kommunikoinnin tuki sekä matalan tason komennot ja palvelut, joita kaikki käyttöjärjestelmän ohjelmat käyttävät. Darwinin lisäksi pohjakerroksessa on useita muita ydinpalveluita ja -teknologioita, jotka monesti ovat korkeamman tason kokoajia Darwinin datatyypeistä ja funktioista. Ydinpalveluihin lukeutuvat mm. muistinhallinta, prosessien 10

15 hallinta, matalan tason verkkokommunikaatiot sekä datan muotoilu. (Mac OS X Technology Overview 2009) Kuva 2. Mac OS X:n rakenne (Mac OS X Technology Overview 2009) Seuraavana Mac OS X:n kerrosmallissa on grafiikka ja media kerros, jonka avulla järjestelmä esittää 2D- (Two-Dimensional) ja 3D- (Three-Dimensional) grafiikoita sekä esittää videota ja audiota. Grafiikoiden esityksessä tärkeimpiä teknologioita on Quartz; videon ja audion esittämisessä QuickTime. Sovelluskehyskerrokseen sisältyy perusteknologioita, joilla voidaan rakentaa sovelluksia. Käyttäjäkokemus-kerroksen teknologioilla omat sovellukset voidaan saada mukautumaan paremmin Mac OS X:ään. (Mac OS X Technology Overview 2009) Mac OS X:n versiot 10.6 jälkeen sisältävät 64-bittisen kernelin. Tämän myötä kernel tukee suuria muistikonfiguraatioita tehokkaammin, ja buffer-välimuisti kasvaa nopeuttaen I/Osuorituskykyä (Input/Output). (Mac OS X Technology Overview 2009) 11

16 4 MUISTINHALLINTA Minkä tahansa järjestelmän avainosa on muisti. Kernelin vastuulla on tarjota kaikille prosesseille asianmukainen määrä muistia. Jotkut prosessit vaativat muistia jopa niin paljon, että senhetkinen käytettävissä oleva muisti ei riitä. Tähän voi olla syynä esimerkiksi se, että muita prosesseja on liian paljon suorituksessa. Ongelmaan ratkaisuna toimii virtuaalimuisti, joka tarkoittaa sitä, että järjestelmä vapauttaa prosessille fyysistä muistia siirtämällä osia siitä kiintolevylle. Kun kiintolevylle siirrettyä prosessin osaa taas tarvitaan, se palautetaan fyysiseen muistiin. Tätä menetelmää kutsutaan sivutukseksi, ja sen ansiosta järjestelmä voi tarjota moniajomahdollisuuden myös silloin, kun fyysisen muistin määrä on hyvin rajoitettu. (Love et al. 2005) Toinen näkökohta virtuaalimuistin käyttöön on vaihdanta. Tällöin kernel tunnistaa vähiten kiireellisen prosessin tai prosessin, joka ei vaadi välitöntä suoritusta. Kernel siirtää tämän prosessin kokonaisuudessaan pois RAM-muistista (Random Access Memory) kiintolevylle. Kun prosessia taas tarvitaan, sitä voidaan suorittaa joko kiintolevyltä tai fyysisestä RAM-muistista. Kahden kuvatun menetelmän erona on se, että sivutuksessa ainoastaan osa prosessista siirretään kiintolevylle, kun taas vaihdannassa koko prosessi siirretään. (Love et al. 2005) Kiintolevyn osa, jota käytetään virtuaalimuistina, on Unixissa nimeltään swap space eli "vaihdantatila". Jos tämä tila loppuu, seuraa vakavia ongelmia - jopa järjestelmävika on mahdollinen. Virtuaalimuistille tulisikin aina varata riittävästi tilaa. Koska levyt ovat huomattavasti hitaampia kuin fyysinen RAM-muisti, heikkenee suorituskyky merkittävästi kun virtuaalimuistia joudutaan käyttämään. Tätä ilmiötä voidaan ehkäistä hankkimalla järjestelmään riittävä määrä RAM-muistia. (Love et al. 2005) Unixin aiemmat versiot käyttivät yksinkertaista osiointia ilman virtuaalimuistia ja uudemmat Unixin versiot käyttävät sivutettua virtuaalimuistia. Unixin SVR4-versiossa (System V Release 4) on itse asiassa kaksi muistinhallintatapahtumaa. Sivutussysteemi allokoi sivuja keskusmuistilta prosesseille ja myös sivuja kiintolevyn puskuriin, mikä on tehokasta muistinhallintaa käyttäjän prosesseille ja levyjen I/O:lle. Sivutettu virtuaalinen 12

17 muisti sopii kuitenkin huonommin kernelin muistin allokointiin, mistä syystä sille on oma prosessinsa. (Stallings 2005) Mac OS X:n kernel pohjautuu Mach 3.0:aan, joka huolehtii Mac OS X:n muistinhallinnasta. Mach varmistaa, ettei sovellus pysty kirjoittamaan dataa toisen sovelluksen tai käyttöjärjestelmän muistiin. Eristämällä sovellukset toisistaan sekä käyttöjärjestelmän prosesseista Mach tekee käytännössä mahdottomaksi sen, että haitallisesti käyttäytyvä sovellus voisi vahingoittaa muuta käyttöjärjestelmää. Mikäli sovellus kaatuu oman virhekäyttäytymisensä takia, vaikuttaa se vain tähän sovellukseen itseensä eikä muuhun käyttöjärjestelmään. (Mac OS X Technology Review 2009) Mac OS X:ssä virtuaalimuisti on tavallaan "päällä" kaiken aikaa. Virtuaalimuistisysteemi antaa jokaiselle prosessille oman yksityisen virtuaaliosoitetilan. Mach ylläpitää osoitekarttoja, jotka kontrolloivat sovelluksen virtuaaliosoitteiden kääntämisen fyysiseen muistiin ja tyypillisesti vain osa sovelluksen virtuaalimuistin datasta tai koodista on fyysisessä muistissa missään vaiheessa. Kun sivuja tarvitaan, ne ladataan fyysiseen muistiin. Mach laajentaa näitä muistiobjektien abstraktiolla: matalalla tasolla toimiva tehtävä pystyy muokkaamaan muistikarttoja. (Mac OS X Technology Review 2009) 13

18 5 PROSESSIEN HALLINTA Yksi kernelin tärkeimmistä tehtävistä on prosessien luominen ja hallinta. Prosessit ovat suorituksessa olevia ohjelmia, joita kutsutaan joissakin käyttöjärjestelmissä myös "tehtäviksi" tai "töiksi". Prosesseilla on omistaja - ihminen tai järjestelmä - joka aloittaa niiden kutsumisen tai suorituksen. Näiden hallitseminen voi olla hyvin monimutkaista, koska usein yksi prosessi kutsuu toista. Usein prosessien tarvitsee myös kommunikoida toistensa kanssa. Tämä tarkoittaa sitä, että ne lähettävät ja vastaanottavat informaatiota, joka mahdollistaa muiden toimintojen suorittamisen. Kernel hallitsee kaikkia edellä mainittuja toimenpiteitä ilman, että käyttäjä on tietoinen siitä. (Love et al. 2005) Unixissa prosessit käyttävät toistensa kanssa kommunikointiin ohjelmistokeskeytyksiä, joita kutsutaan signaaleiksi. Esim. kun lapsiprosessi päättyy, se ilmoittaa poistumisesta emoprosessilleen signaalilla. UNIX Versio 7 käyttää 15 signaalia ja SVR4 sekä 4.3BSD käyttävät 31 signaalia. Prosessit voivat lähettää signaaleja itsellensä tai toisille prosesseille, jos lähettävän käyttäjän todellinen tai efektiivinen käyttäjä on sama kuin vastaanottajalla. Pääkäyttäjä voi kuitenkin aina lähettää signaaleja ilman rajoituksia. Tyypillinen Unixissa käytettävä ohjelma, jolla käyttäjä lähettää signaaleja toisille prosesseille, on kill. Vaikka killiä käytetään yleensä prosessien päättämiseen, sillä on muitakin hyödyllisiä käyttötapoja. Koska Unixin kehityshaarat käsittelivät signaaleja eri tavalla, yhteiset signaalinkäsittelytavat päätettiin määritellä POSIX.1-standardissa. (Şimşek 2005) Lewinen (1991) mukaan signaalien käsite on yhtä vanha kuin Unix itse. Hän huomauttaa, että aikaisissa Unixin versioissa signaalimekanismissa oli lukuisia suunnitteluvirheitä. Nämä korjattiin myöhemmin BSD-versiossa, johon POSIX-standardi suurilta osin perustuu. Lewine mainitsee yhtenä merkittävistä ongelmista sen, että kun signaalin käsittely alkaa, signaalinkäsittelijää häiritseviä signaaleja ei voida blokata. Toisaalta myös signaalimekanismien laajennettavuudessa oli parantamisen varaa. Alkuvaiheessa Ritchien (1984) mukaan Unix pystyi ajamaan kerrallaan vain yhtä prosessia per terminaali eli taustaprosesseja ei voinut olla ajossa. Kun Unix kehittyi lisää, siihen lisättiin järjestelmäkutsut fork ja wait, joiden avulla ohjelmien ajaminen Ritchien mukaan tapahtuu seuraavalla tavalla (tässä fork, exec, wait ja exit ovat siis järjestelmäkutsuja): 14

19 1. Käyttäjä syöttää komennon terminaalilla komentotulkille. 2. Komentotulkki luo lapsiprosessin fork-kutsulla. 3. Lapsiprosessi käyttää exec-kutsua, joka käynnistää ohjelman tiedostosta. 4. Sillä aikaa emokomentotulkki käyttää wait-kutsua ja odottaa lapsiprosessin päättymistä exit-kutsulla. 5. Komentotulkki palaa kohtaan 1. Mac OS X:ssä prosessit jakavat CPU:n (Central Processing Unit) eli suorittimen tehokkaasti. Prosessien hallinta perustuu Mac OS X:ssä Mach 3.0:aan, joka priorisoi tehtäviä niin, että aktiivisuustaso on maksimitasolla sekä varmistaa sen, että jokainen tehtävä saa tarvitsemansa resurssit. Mach käyttää tiettyjä kriteereitä määritelläkseen, kuinka tärkeä kukin tehtävä on ja kuinka paljon aikaa sille on annettava. (Mac OS X Technology Review, 2009) Mach jakaa Unixin prosessin abstraktiotason kahteen komponenttiin: tehtävään ja säikeeseen. Machissa tehtävä koostuu käyttöjärjestelmän resurssien kokoelmasta osoiteavaruus mukaan lukien. Tehtävä voidaan ajatella osana Unix-prosessia, joka koostuu esim. osoiteavaruudesta, tiedoston kuvauksista ja resurssien käyttöinformaatiosta; lyhyesti ottaen tehtävä on siis prosessi ilman kontrollivirtaa. Machin säie puolestaan on suorituksen perusyksikkö, joka ajetaan täsmälleen yhteen tehtävään liittyen. Säikeet ajetaan valerinnakkaisina yhden prosessorin tapauksessa, ja usean prosessorin tapauksessa useita säikeitä voidaan ajaa rinnakkain. Perinteinen BSD-prosessi on siis Machissa tehtävä, jolla on kontrolloiva säie. (Tevanian Jr. et al. 1987) Säie on Machissa aina jossakin seuraavista tiloista: (1) running, jolloin se joko on suoritettuna jollain prosessorilla tai sillä on käyttäjän lupa tulla suoritetuksi; (2) willsuspend -tilassa, jolloin se voi edelleen olla ajettuna jollakin prosessorilla, kunnes thread_wait-kutsu suoritetaan tai (3) suspended-tilassa, jolloin säiettä ei suoriteta millään prosessorilla, ennen kuin se palaa running tilaan. Kaikki nämä tilat pätevät myös tehtäviin. Tehtävän tila vaikuttaa kaikkiin säikeisiin, jotka ajetaan tehtävän yhteydessä, ja niinpä säie voidaan suorittaa vain siinä tapauksessa, mikäli se ja sen tehtävä ovat joko running- tai will-suspend tilassa. (Tevanian Jr. et al. 1987) 15

20 6 TIEDOSTOJÄRJESTELMÄ Tiedostojärjestelmä on looginen kokoelma tiedostoja levyllä tai levyosiolla. Levyosio on eräänlainen säiliö informaatiota varten, ja se voi käsittää koko kiintolevyn. Yhdellä levyosiolla on yleensä vain yksi tiedostojärjestelmä, mikä mahdollistaa erilaisten tiedostojärjestelmien loogisen hallinnan ja ylläpidon. Levyosiot ovat näkymättömiä käyttäjälle, jotka voivat liikkua vaivattomasti useiden tiedostojärjestelmien välillä ilman että he edes huomaavat siirtyneensä yhdestä toiseen. (Love et al. 2005) Unix-järjestelmissä tiedostojärjestelmä on komponentti, joka mahdollistaa käyttäjille tallennusmedialla olevien tiedostojen ja hakemistojen tarkastelemisen, järjestämisen, suojaamisen ja vuorovaikuttamisen niiden kanssa. Unixissa on erityyppisiä tiedostojärjestelmiä. Näitä ovat levy-, verkko-, erikois- sekä virtuaalitiedostojärjestelmät. (Love et al. 2005) Mac OS X:n tiedostojärjestelmän asettelu poikkeaa huomattavasti perinteisistä Unixjärjestelmistä, mutta silti usein samat työkalut ovat käytössä myös Mac OS X - järjestelmässä. Toinen merkittävä ero on se, että Unix erottelee isot ja pienet kirjaimet, kun taas Mac OS X ei tee tätä. (Love et al. 2005) Koska Unixissa isoilla ja pienillä kirjaimilla on eri merkitys, ovat esimerkiksi tiedostot real_file, Real_file ja REAL_FILE kolme eri tiedostoa. Yleensä Unixin tiedostonimet on kirjoitettu pelkillä pienillä kirjaimilla, näin erityisesti järjestelmätiedostojen ollessa kyseessä. Mac OS X:n tapa käsitellä tiedostonimiä aiheuttaa sen, että real_file, Real_file ja REAL_FILE käsitellään samana tiedostona - vain yksi näistä voi olla olemassa kerrallaan. Vaikka Mac OS X ei välitä isoista ja pienistä kirjaimista, tallentaa se jokaisen merkin juuri sellaisena kuin se on järjestelmään syötetty - siis isona tai pienenä kirjaimena. Nämä erot järjestelmien välillä tulee ottaa huomioon, kun tiedostoja siirretään Mac OS X:n ja muiden Unix-järjestelmien välillä. (Love et al. 2005) Ritchie & Thompson (1974) jaottelevat Unixin käyttäjälle näkyvät tiedostojärjestelmän osaset näin: 16

21 Tavalliset tiedostot. Tiedostot voivat sisältää mitä tahansa käyttäjä haluaa niissä säilyttää, esim. tekstiä tai ohjelmia. Tekstitiedostot koostuvat tekstiriveistä ja ohjelmat ovat binäärisiä merkkijonoja. Järjestelmän ei tarvitse puuttua tiedostojen rakenteeseen, vaan se määrittyy tiedostoja käyttävien ohjelmien kautta. Tiedostoilla on nimi, joka koostuu korkeintaan 14 merkistä mukaan lukien vapaaehtoinen tiedostopääte. Hakemistot. Tiedostojärjestelmä koostuu tiedostoista, jotka sijoitetaan puumaisesti juurihakemiston alle siten, että juuri haarautuu alihakemistoihin. Esim. ohjelmat voidaan sijoittaa yleisesti sovittuun hakemistoon juuren alle, josta järjestelmää käyttävät ihmiset löytävät ne helposti, joskaan tämä ei ole välttämätöntä. Jokaisella käyttäjällä on yleensä oma kotihakemisto henkilökohtaisia tiedostoja varten. Toisaalta juuren alle voidaan kiinnittää hakemistoja, jotka sijaitsevat fyysisesti eri medialla. Hakemistoihin viitattaessa erottimena käytetään vinoviivaa (/). Jos hakemistopolku alkaa vinoviivalla, viitataan juurihakemistoon muussa tapauksessa polku on sen hakemiston alla, jossa ollaan (/alpha/beta/gamma vrt. alpha/beta). Jokainen hakemisto koostuu vähintään kahdesta merkinnästä: "." viittaa hakemistoon itseensä ja ".." on linkki hakemistopuun ylempään haaraan eli siihen hakemistoon, jonka alihakemistossa ollaan. Erikoistiedostot. Kaikkia Unixin laitteita (tallennusvälineet, verkkolaitteet yms.) voidaan käsitellä samaan tapaan kuin mitä tahansa tiedostoa. Laitetiedostot sijaitsevat /dev-hakemiston alla. Unixin tapa pitää kaikkea tiedostoina mahdollistaa yhtenäisen tavan resurssien käsittelemiseen ja tarjoaa käyttäjälle yhtenäisen mekanismin kanssakäymiseen järjestelmän kanssa. Näistä syistä johtuen on helppo ymmärtää, että tiedostojärjestelmät ovat keskeinen osa Unix-käyttöjärjestelmää. (Love et al. 2005) Fiamingo et al. (1998) määrittelee hakemiston siten, että se on tiedosto, joka sisältää taulukon muodossa listan siihen kuuluvista tiedostoista ja yhdistää tiedostot niihin liittyviin inode-numeroihin. Inode on erityinen tiedosto, jonka kautta ydin lukee kunkin tiedoston metatiedot, kuten tiedoston oikeudet, omistajuuden, datablokkien fyysisen sijainnin levyllä ja päivämääräkirjanpidon tiedoston luonnista, muokkauksesta ja käyttämisestä. 17

22 7 MUUT EROT MAC OS X:N JA UNIXIN VÄLILLÄ Mac OS X perii edeltäjältään NEXTSTEP:iltä hakemistopalveluiden konseptin ja siihen liittyvän NetInfo-tietokannan. Tämä aiheuttaa sen, että perinteisiä Unixin /etc-hakemiston sisältämiä tiedostoja ei oteta huomioon Mac OS X -järjestelmän normaalin toiminnan yhteydessä. Kun muissa Unixeissa järjestelmän ylläpitäjä tarkistaa tai muokkaa asetuksia /etc-hakemiston tiedostoissa, tapahtuvat vastaavat toimenpiteet Mac OS X:n puolella NetInfo-tietokantaan käyttäen komentorivipohjaista käyttöliittymää tai graafista "NetInfo Manager"-työkalua. (Love et al. 2005) Suurin ero Mac OS X:n ja muiden Unixien välillä on käynnistysprosessi. Mac OS X noudattaa samantyylistä prosessia kuin standardit Unix-järjestelmät, mutta tapahtumien järjestys on hieman erilainen. Kun Mac-tietokone käynnistetään, hallitsee konetta aluksi firmware, joka vastaa standardin PC-tietokoneen BIOS:ia (Basic Input Output System). Kun firmware on suorittanut tehtävänsä, luovuttaa se komennon BootX-lataajalle, joka käynnistää Mach-mikrokernelin. Seuraavaksi laiteajureista vastaava alijärjestelmä, I/O Kit, valmistellaan, ja suoritetaan juuritiedostojärjestelmän liittäminen. Näiden toimenpiteiden jälkeen ladataan mach_init, joka huolehtii Mach-mikrokernelistä. Lopulta BSD:n initprosessi käynnistetään ja sille annetaan prosessitunnus "1", kuten standardeissa Unixjärjestelmissä. (Love et al. 2005) Koska Mac OS X:n tiedostojärjestelmässä on säilytetty yhteensopivuus aikaisempien Mac OS -käyttöjärjestelmien tiedostomuotojen kanssa, aiheuttaa perinteisten Unix-ohjelmien mv ja cp käyttäminen tiedostojen siirtämiseen ja kopiointiin tiettyjä ongelmia, joiden välttämiseksi Apple on luonut omat työkalunsa tiedostojen siirtoa varten. (Love et al. 2005) 18

23 8 YHTEENVETO Unixin neljän vuosikymmenen pituinen historia on huomattavasti pidempi kuin Mac OS - järjestelmien, jotka ovat lähtöisin 1980-luvulta. Unix kehitettiin yksinkertaisten käytännöllisten tarpeiden takia ja se laajeni lopulta erittäin monipuoliseksi käyttöjärjestelmäksi. Mac OS -järjestelmät kehitettiin nimenomaan Applen tietokoneita varten. Yhtymäkohta näiden järjestelmien historiassa on 2000-luvun taite, jolloin Unixiin perustuva Mac OS X näki päivänvalonsa. Sekä Unix että Mac OS X perustuvat samoihin periaatteisiin ja järjestelmät ovat pitkälti samankaltaisia pinnan alla. Unixin ja Mac OS:n välillä on kuitenkin oleellisia eroavaisuuksia. Unix-pohjaisissa järjestelmissä käytetään erilaisia kerneleitä, joiden toteutukset muistin- ja prosessien hallinnassa vaihtelevat versiosta toiseen. POSIX-standardin johdosta Unixin eri versioilla on kuitenkin tietyt standardoidut ominaisuudet. Myös Mac OS X on suunniteltu noudattamaan suurta osaa POSIX-standardista, vaikka sen kernel ei olekaan peräisin Unixista, vaan on Applen kehittämä versio Machista. Tiedostojärjestelmissä Unix ja Mac OS X eroavat hakemistorakenteidensa lisäksi sen suhteen, miten ne käsittelevät tiedostonimiä. Myös järjestelmäasetusten sijainneissa ja käynnistysprosesseissa on merkittäviä eroavaisuuksia. 19

24 LÄHTEET Baclit, R., Sicam, C., Membrey, P., Newbigin, J Foundations of Centos Linux. Apress, pp Fiamingo, F., DeBula, L., Condron, L Introduction to Unix. University Technology Services. The Ohio State University. Lewine, D POSIX Programmer's Guide: Writing Portable UNIX Programs with the POSIX.1 Standard. O'Reilly, Fifth Edition. Love, P., Merlino, J., Zimmerman, C., Reed, J., Weinstein, P Beginning Unix. Wiley Publishing, Inc.. Mac OS X. [Wikipedian www-sivuilla]. Päivitetty [viitattu ]. Saatavissa: Mac OS X Technology Overview [Apple Inc:n www-sivuilla]. Päivitetty [viitattu ]. Saatavissa: ology_overview/osx_technology_overview.pdf Ritchie, D. M The Evolution of the Unix Time-sharing System. AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp Ritchie, D. M. & Thompson, K The UNIX Time-Sharing System. The Bell System Technical Journal 57 no. 6, part 2 (July-August 1978). Şimşek, B Signals [verkkojulkaisu]. [viitattu ]. Saatavissa: Singh, A A History of Apple's Operating Systems, [verkkojulkaisu]. [viitattu ]. Saatavissa: 20

25 Singh, A What is Mac OS X? [verkkojulkaisu]. [viitattu ]. Saatavissa: Stallings, W Operating Systems - Internals and Design Principles. Pearson Education, Inc. Tevanian Jr., A. & Rashid, R.F. & Golub, D.B. & Black, D.L. & Cooper, E. & Young, M.W Mach Threads and the Unix Kernel: The Battle for Control. Department of Computer Science, Carnegie-Mellon University, Pittsburgh. The Creation of the UNIX* Operating System. [Bell Labsin www-sivuilla]. Päivitetty [viitattu ]. Saatavissa: The Mach Project Home Page [Carnegie Mellon -yliopiston www-sivuilla]. Päivitetty [viitattu ]. Saatavissa: 2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html UNIX Unleashed, System Administrator's Edition [verkkojulkaisu]. Päivitetty [viitattu ]. Saatavissa: 21

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä Linux 00 Keskeiset piirteet Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Mikä Linux on? 2. Kuinka Linux syntyi ja kehittyy? 3. Mitkä ovat Linuxin vahvuudet? 2 1 Linux on

Lisätiedot

Applen käyttöjärjestelmät

Applen käyttöjärjestelmät Applen käyttöjärjestelmät Ari Karjalainen Tietojenkäsittelytieteen historia-seminaari 2006 Helsingin yliopisto, Tietojenkäsittelytieteen laitos apple Yksi yhtiö, monta käyttöjärjestelmää... Applen käyttöjärjestelmät

Lisätiedot

Sisältö. Unixin syntymätarina. Unixin tekniikka. Unix tänä päivänä. Avaruuspelistä moderniksi käyttöjärjestelmäksi Vuodet

Sisältö. Unixin syntymätarina. Unixin tekniikka. Unix tänä päivänä. Avaruuspelistä moderniksi käyttöjärjestelmäksi Vuodet Unixin historia Teemu Kemppainen Seminaarialustus Helsingin yliopisto, tietojenkäsittelytieteen laitos Tietojenkäsittelytieteen historia -seminaari, kevät 2007 Sisältö Unixin syntymätarina Avaruuspelistä

Lisätiedot

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä 1973. Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä 1973. Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux Historiaa Linux on Unix-yhteensopiva käyttöjärjestelmä. Unixin perusta luotiin 1964 MIT:ssa aloitetussa MULTICS-projektissa (http://www.cs.helsinki.fi/u/kerola/tkhist/k2000/alustukset/unix_hist/unix_historia.htm)

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta

Lisätiedot

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen Käyttöjärjestelmien historia Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen Käyttöjärjestelmien jaottelu Voidaan jaotella erilaisin menetelmin Aikajana (määrä,

Lisätiedot

WINE API ja Virtualisointiohjelmistot

WINE API ja Virtualisointiohjelmistot WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Kristopher Vuorela UBUNTUN ASENNUS JA ALKEET 206101312 Linux järjestelmät Lukukausi: Kevät 2015 Työ valmistui: 15.04.2015

Lisätiedot

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin

Lisätiedot

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013 Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi

Lisätiedot

Unix-perusteet. Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet

Unix-perusteet. Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet Unix-perusteet Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet Mikä on unix? Monen käyttäjän käyttöjärjestelmä Siis monta käyttäjää ja monta ohjelmaa jokaisella Kaikkiin koneisiin mikrosta supertietokoneeseen

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

LINUX LINUX. Viisi hyvää syytä käyttää Linuxia MUISTA! GNU Free Documentation License

LINUX LINUX. Viisi hyvää syytä käyttää Linuxia MUISTA! GNU Free Documentation License GNU Free Documentation License LINUX Lähde: http://www.ubuntufi.org/ LINUX Linux-käyttöjärjestelmäydin on saanut alkunsa suomalaisen Linus Torvaldsin ansiosta Linux (GNU+Linux) on levinnyt maailmalla nopeasti

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmäraportti - Konfiguraationhallinta Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,

Lisätiedot

TI10 Joni Hämäläinen & Jan Lampikari

TI10 Joni Hämäläinen & Jan Lampikari Seminaarityön raportti 1(11) Opintojakso: Linux Perusteet Opettaja: Tomi Pahula Opintojakson toteutus: Syksy 2012 Opintojakson seminaarityö: 21.11.2012 Opiskelijaryhmä: Opiskelijat: Raportti palautettu:

Lisätiedot

Linux palomuurina (iptables) sekä squid-proxy

Linux palomuurina (iptables) sekä squid-proxy Linux palomuurina (iptables) sekä squid-proxy Linux-järjestelmät Winai Prathumwong TI10HJ 06.11.2012 2 Iptables (Netfilter) Johdanto Iptables on Linux-kernelin sisäänrakennetun palomuurin, Netfilter:in

Lisätiedot

ARKIPÄIVÄN SUOMEA-ohjelma vaatii toimiakseen multimedia-pc:n, jossa on seuraavat tekniset ominaisuudet ja ohjelmat asennettuna.

ARKIPÄIVÄN SUOMEA-ohjelma vaatii toimiakseen multimedia-pc:n, jossa on seuraavat tekniset ominaisuudet ja ohjelmat asennettuna. ASENNUS Ennen ARKIPÄIVÄN SUOMEA-ohjelman käytön aloittamista se on asennettava tietokoneeseen. Asentaminen suoritetaan alla esitettävien ohjeiden mukaisesti. Huom: ARKIPÄIVÄN SUOMEA-ohjelmasta on saatavana

Lisätiedot

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ aaro.leikari@hotmail.com TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ 25.01.2016 SISÄLLYS 1. Käyttöjärjestelmän asentaminen... 1 1.1 Windowsin asettamia laitteistovaatimuksia... 1 1.2 Windowsin asentaminen...

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

VALO-ohjelmat ja LTSP kouluissa. Elias Aarnio Innopark, AVO-hanke elias.aarnio@innopark.fi 040-8204614

VALO-ohjelmat ja LTSP kouluissa. Elias Aarnio Innopark, AVO-hanke elias.aarnio@innopark.fi 040-8204614 VALO-ohjelmat ja LTSP kouluissa Elias Aarnio Innopark, AVO-hanke elias.aarnio@innopark.fi 040-8204614 Mikä ihmeen VALO? VALO = Vapaat ja avoimen lähdekoodin ohjelmat Kyse on siis Open Sourcesta eli avoimesta

Lisätiedot

UCOT-Sovellusprojekti. Asennusohje

UCOT-Sovellusprojekti. Asennusohje UCOT-Sovellusprojekti Asennusohje Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 1.00 Julkinen 15. joulukuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

Avoimen lähdekoodin kehitysmallit

Avoimen lähdekoodin kehitysmallit Avoimen lähdekoodin kehitysmallit Arto Teräs Avoimen lähdekoodin ohjelmistot teknisessä laskennassa -työpaja CSC, 25.5.2009 Avoimen lähdekoodin kehitysmallit / Arto Teräs 2009-05-25

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Tietotekniikan koulutus Savonlinnassa

Tietotekniikan koulutus Savonlinnassa Tietotekniikan koulutus Savonlinnassa Paikka Savonlinnan ammatti ja aikuisopisto Pohjolankatu 4 6, Savonlinna Hinta 80 euroa/osallistuja, sisältää 20 h Koulutuspäivän kesto 5 tuntia, klo 10:00 15:00 Ilmoittautuminen

Lisätiedot

Luento 2. Timo Savola. 31. maaliskuuta 2006

Luento 2. Timo Savola. 31. maaliskuuta 2006 UNIX-käyttöjärjestelmä Luento 2 Timo Savola 31. maaliskuuta 2006 Osa I Prosessit Prosessien hierarkia Jokaisella prosessilla on numero (process ID, pid) Jokaisella prosessilla on

Lisätiedot

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010 SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus

Lisätiedot

SQL Server 2005 Express Edition tietokannan asennusohje

SQL Server 2005 Express Edition tietokannan asennusohje 1 SQL Server 2005 Express Edition tietokannan asennusohje SQL Server 2005 Express Edition on Microsoftin tietokantaohjelmiston ilmaisversio. Asennukset tulee tehdä käyttäjätunnuksella, jolla on administrator-oikeudet.

Lisätiedot

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen Ti5316800 LÄHIVERKOT -erikoistyökurssi X Window System Jukka Lankinen 2007-2008 Sisällys Esitys vastaa seuraaviin kysymyksiin: Mikä on X Window System? Minkälainen X on? Mistä sen saa? Miten X:ää käytetään?

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

Lisätiedot

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Kurssin sisältö Johdanto, historiaa

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

Metropolia Ammattikorkeakoulu

Metropolia Ammattikorkeakoulu Metropolia Ammattikorkeakoulu UNIX-käyttöjärjestelmä TX00BW20 Sami Sainio sami.sainio@metropolia.fi Kurssin rakenne ja arvostelu 7 x luennot ja laboratorioharjoitukset Pieni projekti? Kurssin lopussa tentti

Lisätiedot

Tekstinkäsittelystä. H4: Tekstinkäsittelyn perusharjoitus. Toimisto ohjelmista

Tekstinkäsittelystä. H4: Tekstinkäsittelyn perusharjoitus. Toimisto ohjelmista Tekstinkäsittelystä Toimisto ohjelmista OpenOffice vs. LibreOffice ODF (Open Document Format for Office Applications) LibreOfficen + ohjepaketti + kielityökalujen asennus Word 2003 vs. Word 2007 vs. Word

Lisätiedot

Luento 3. Timo Savola. 7. huhtikuuta 2006

Luento 3. Timo Savola. 7. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 3 Timo Savola 7. huhtikuuta 2006 Osa I Käyttöoikeudet Käyttöoikeudet Monen käyttäjän järjestelmä Prosessit kuuluvat eri käyttäjille Tiedostot kuuluvat

Lisätiedot

Tiedostojen siirto ja FTP - 1

Tiedostojen siirto ja FTP - 1 Tiedostojen siirto ja FTP Tiedonsiirto Sibelius-Akatemian hakemistosi ja jonkun muun koneen välillä (esim. kotikoneesi) Taustaa FTP on lyhenne sanoista File Transfer Protocol. Se on yhteystapa jolla siirretään

Lisätiedot

Sisältö Tervetuloa Linuxin käyttäjäksi Olet tässä

Sisältö Tervetuloa Linuxin käyttäjäksi Olet tässä Sisältö 1 Tervetuloa Linuxin käyttäjäksi 1 1.1 Ympäristöasiaa...................................... 2 1.2 Juurta jaksaen...................................... 5 1.3 Lopetus..........................................

Lisätiedot

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö 0349955 Pekka Hyvärinen 0342194 Joonas Heikelä 0327708 Miro Temonen 0350122 Sami Tuominen Yleistä Seminaarityö osa kurssia Käyttöjärjestelmät

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Toukokuu 2012 1 (14) Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Asennusohje Toukokuu 2012 2 (14) Sisällysluettelo 1. Vaatimukset palvelimelle... 3 1.1..NET Framework 4.0... 3 1.2. Palvelimen Internet

Lisätiedot

Linuxissa uusi elämä 1

Linuxissa uusi elämä 1 17.06.19 Linuxissa uusi elämä 1 Linux on hyvä vaihtoehto Windowsille Uusiin tai vanhempiin tietokoneisiin Miksi käyttäisin Linuxia Tekniikan Maailman Linux vinkki Siirtyisinkö Linuxiin? 17.06.19 Linuxissa

Lisätiedot

Älypuhelimet. Sisällysluettelo

Älypuhelimet. Sisällysluettelo Älypuhelimet Jussi Huhtala Sisällysluettelo Älypuhelimen määritelmä Historia Laitteistoarkkitehtuuri Käyttöjörjestelmät Android Symbian ios Yhteenveto 1 Älypuhelin Puhelin joka sisältää normaalit puhelimen

Lisätiedot

Lisenssin hakeminen PTC:n verkkosivun kautta

Lisenssin hakeminen PTC:n verkkosivun kautta 10.4.13 (rev. 2) Lisenssin hakeminen PTC:n verkkosivun kautta Kun haetaan ensimmäisen kerran Mathcad-lisenssi, sen voi tehdä PTC: kotisivulta. Kun konetta vaihdetaan, voi Mathcadin lisenssin voi käydä

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

Lisätiedot

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

Lisätiedot

HYÖDYNNÄ SUBSCRIPTION-ETUSI SUBSCRIPTION SOPIMUSTEN HALLINTA

HYÖDYNNÄ SUBSCRIPTION-ETUSI SUBSCRIPTION SOPIMUSTEN HALLINTA HYÖDYNNÄ SUBSCRIPTION-ETUSI SUBSCRIPTION SOPIMUSTEN HALLINTA Autodesk Subscription sopimuksella saat kaikki edut irti ohjelmistostasi. Tässä ohjeessa käydään läpi, kuinka voit käyttää Subscription Centerissä

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU

KYMENLAAKSON AMMATTIKORKEAKOULU 1 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Ole Halonen GNU-ohjelmointityökalut Linux-järjestelmät 206101310 Seminaarityö 22.11.2012 2 Sisällysluettelo 2 1 Johdanto

Lisätiedot

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, sovellusohjelmille ja käyttäjille? 2012-2013 Lasse Lensu

Lisätiedot

1 Tivax siirto uuteen koneeseen

1 Tivax siirto uuteen koneeseen Tivax siirto uuteen koneeseen 1 1 Tivax siirto uuteen koneeseen 1.1 Tivax ohjelman asentaminen Huom. Siirrossa mahdollisesti esiintyvien ongelmien ratkaisu on veloituksetonta ainoastaan asiakkaille, joilla

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Pikaintro käyttöjärjestelmiin

Pikaintro käyttöjärjestelmiin Tietotekniikan laitos Jyväskylän yliopisto TIES406 Tietotekniikan opintojen aktivointi, luento 17.8.2011 Outline Tietokonelaitteisto 1 Tietokonelaitteisto 2 3 4 Outline Tietokonelaitteisto 1 Tietokonelaitteisto

Lisätiedot

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 12: Käyttöjärjestelmät, alkua Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Mikä on käyttöjärjestelmä

Lisätiedot

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

Tehtävä: FIL Tiedostopolut

Tehtävä: FIL Tiedostopolut Tehtävä: FIL Tiedostopolut finnish BOI 2015, päivä 2. Muistiraja: 256 MB. 1.05.2015 Jarkka pitää vaarallisesta elämästä. Hän juoksee saksien kanssa, lähettää ratkaisuja kisatehtäviin testaamatta esimerkkisyötteillä

Lisätiedot

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Ubuntu - tiedostohallinta

Ubuntu - tiedostohallinta Ubuntu - tiedostohallinta Seuraavassa läpikäydään Ubuntun peruskäyttöä: Tiedostohallinta ja hakemistorakenne Tiedostoselain Hakemistorakenne Lähteinä on käytetty seuraavia: http://fi.wikibooks.org/wiki/ubuntu_tutuksi

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Mikä on internet, miten se toimii? Mauri Heinonen

Mikä on internet, miten se toimii? Mauri Heinonen Mikä on internet, miten se toimii? Mauri Heinonen Mikä on Internet? Verkkojen verkko Muodostettu liittämällä lukuisia aliverkkoja suuremmaksi verkoksi Sivustojen tekemiseen käytetään kuvauskielta HTML

Lisätiedot

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

MP3 Manager Software for Sony Network Walkman

MP3 Manager Software for Sony Network Walkman MP3 Manager Software for Sony Network Walkman Käyttöohje WALKMAN on Sony Corporationin kuulokestereotuotteisiin liittyvä rekisteröity tavaramerkki. on Sony Corporationin tavaramerkki. NW- E55/75 2004 Sony

Lisätiedot

Unix-perusteet. Tiedosto-oikeudet

Unix-perusteet. Tiedosto-oikeudet Unix-perusteet Tiedosto-oikeudet Tietoturvaan liittyviä seikkoja kulunvalvonta kellä oikeus päästä laitteiden luokse käyttöoikeudet käyttäjätunnus & salasana tiedostojärjestelmän oikeudet unixissa omistajan,

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto Julian Voss, Quantum man, 2006 (City of Moses Lake, Washington, USA) Kolme näkökulmaa

Lisätiedot

Mac OS:n ja Windowsin vertaileminen

Mac OS:n ja Windowsin vertaileminen Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Opintojakson Käyttöjärjestelmät seminaarityö Kalle Koponen, Ville Laitinen, Markus Salminen, Miko Tollander

Lisätiedot

Muistihierarkia Kiintolevyt I/O:n toteutus

Muistihierarkia Kiintolevyt I/O:n toteutus Luento 8 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen muisti on paljon

Lisätiedot

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949. Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Sivu 1/5 Mitä CD- tai DVD-muotoa tulisi käyttää? Tässä artikkelissa Tarpeita vastaavan levyn ja muodon valinta Tietoja Live File Systemin ja masteroidun levymuodon eroista Miksi Live File System -muodosta

Lisätiedot

Jouko Nielsen. Ubuntu Linux

Jouko Nielsen. Ubuntu Linux Jouko Nielsen Ubuntu Linux 19.4.2017 SISÄLLYS 1 UBUNTU... 3 2 LUETTELO VERSIOISTA... 4 3 OMINAISUUDET... 4 4 ASENNUS... 5 5 UBUNTU SERVER... 9 LÄHTEET... 10 3 1 UBUNTU Ubuntu on debian pohjainen Linux

Lisätiedot

Linux ylläpitäjän opas. Tärkeimmät komennot, logit ja muuta hömppä *^_^* by Hannu Laitinen ETA14KT

Linux ylläpitäjän opas. Tärkeimmät komennot, logit ja muuta hömppä *^_^* by Hannu Laitinen ETA14KT Linux ylläpitäjän opas Tärkeimmät komennot, logit ja muuta hömppä *^_^* by Hannu Laitinen ETA14KT Lyhyesti - Linux on eräs versio Unix käyttöjärjestelmästä jonka kehitys alkoi jo vuonna 1969 AT&T labroratorioissa

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

Perussurffaajat: Tiia Tirkkonen, Teppo Porkka, Janne Tuomisto. Verkkopalvelun arviointisuunnitelma Spotify

Perussurffaajat: Tiia Tirkkonen, Teppo Porkka, Janne Tuomisto. Verkkopalvelun arviointisuunnitelma Spotify Perussurffaajat: Tiia Tirkkonen, Teppo Porkka, Janne Tuomisto Verkkopalvelun arviointisuunnitelma Spotify Tampereen teknillinen yliopisto Hypermedia MATHM- 00000 Hypermedian opintojakso 30.9.2011 Sisällysluettelo

Lisätiedot

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Osa II OUGF / 12.5.2004 c Sisält ltö Mitä uutta? Yleistä lisensoinnista Lisensointiin liittyviä ongelmia Hankinnassa muistettavia asioita

Lisätiedot

GNU/Linux kotikäytössä

GNU/Linux kotikäytössä GNU/Linux kotikäytössä Perttu Ahola Kempeleen Lukio harjoitustutkielma Syksy 2006 Sisällysluettelo 1. Johdanto 2. Käyttöjärjestelmä 2.1. Käyttöjärjestelmän vaatimukset työpöytäkäytössä 3. Linux 3.1. Historia

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Nero 7:n Windows Vista TM -tuki

Nero 7:n Windows Vista TM -tuki Nero 7:n Windows Vista TM -tuki Nero AG Sivu 1 Tietoja tekijänoikeudesta ja tavaramerkistä Tämä opaskirjanen ja sen sisältö on Nero AG:n omaisuutta ja suojattu tekijänoikeudella. Kaikki oikeudet pidätetään.

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

Virtualisoi viisaasti paranna palvelua. Iikka Taanila Systems Architect IBM Systems and Technology Group

Virtualisoi viisaasti paranna palvelua. Iikka Taanila Systems Architect IBM Systems and Technology Group Virtualisoi viisaasti paranna palvelua Iikka Taanila Systems Architect IBM Systems and Technology Group Älykkäämpi IT Web Servers App Servers End Users App Servers App Servers App/DB Server App/DB Servers

Lisätiedot

Demo 13. Aihe: Linux. Opettaja: Antti Ekonoja. Tekijä: Heini Puuska

Demo 13. Aihe: Linux. Opettaja: Antti Ekonoja. Tekijä: Heini Puuska Demo 13 Aihe: Linux Opettaja: Antti Ekonoja Tekijä: Heini Puuska Päiväys: 30.5.2011 Sisällys 1 Linux... 1 2 Jakelupaketit... 1 2.1 Debian... 1 2.2 Ubuntu... 1 2.3 Red Hat... 1 2.4 Fedora... 2 2.5 SUSE...

Lisätiedot

Käyttöjärjestelmän rakenne

Käyttöjärjestelmän rakenne Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa

Lisätiedot

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska

Lisätiedot

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen Näissä ohjeissa käydään läpi Microsoftin MS-DOS 6.22 -käyttöjärjestelmän asennus Microsoftin Virtual PC 2007 -virtuaalikoneeseen. Asennusta varten sinulla on oltava Virtual PC 2007 asennettuna tietokoneellasi

Lisätiedot

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite

Lisätiedot

Javan asennus ja ohjeita ongelmatilanteisiin

Javan asennus ja ohjeita ongelmatilanteisiin Javan asennus ja ohjeita ongelmatilanteisiin Javaa tarvitaan Fivaldin Sovellusikkunan alaisiin sovelluksiin, jotka käyttävät Oracle Forms -tekniikkaa. Visma Fivaldin osalta suosittelemme aina käyttämään

Lisätiedot

010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva

010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva 010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva Pekka Jäppinen 31. lokakuuta 2007 Pekka Jäppinen, Lappeenranta University of Technology: 31. lokakuuta 2007 Tietokone Koostuu raudasta ja ohjelmista

Lisätiedot

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). 1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.

Lisätiedot

Sisältö IT Linux 2001:n uudet ominaisuudet IT Linux 2001:n yhteensopivuus Red Hat 7.0:n kanssa Asennuksen valmistelu

Sisältö IT Linux 2001:n uudet ominaisuudet IT Linux 2001:n yhteensopivuus Red Hat 7.0:n kanssa Asennuksen valmistelu Sisältö 1 IT Linux 2001:n uudet ominaisuudet 1 1.1 Uudet ominaisuudet......................... 1 1.2 KDE 2.0................................. 2 1.3 XFree86 4.0.1.............................. 2 1.4 Uusi

Lisätiedot

Directory Information Tree

Directory Information Tree IP-osoite / Host taulu, jossa neljä 8 bit lukua esim. 192.168.0.10/24, unix, linux, windows windows\system32\drivers\etc DNS (Domain Name System), muuttaa verkkotunnuksen IPosoitteeksi. X.500 perustuu

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Linux pohjaiset pilvipalvelut Linux järjestelmät TI 11/12 TIVE Santeri Kangaskolkka TI 12 Janne Enroos TI 12 Mikä on

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

ASENNUSOHJEET INTERNET-ASENNUS. Navita Yritysmalli. YHTEYSTIEDOT Visma Solutions Oy Mannerheiminkatu 5 53900 LAPPEENRANTA Puh.

ASENNUSOHJEET INTERNET-ASENNUS. Navita Yritysmalli. YHTEYSTIEDOT Visma Solutions Oy Mannerheiminkatu 5 53900 LAPPEENRANTA Puh. 1/5 ASENNUSOHJEET INTERNET-ASENNUS Navita Yritysmalli YHTEYSTIEDOT Visma Solutions Oy Mannerheiminkatu 5 53900 LAPPEENRANTA Puh. 010 7564 986 Käyttöönotto Matti Sihvo Koulutus Jan-Markus Viikari LAITEVAATIMUKSET

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Standardit IEC 61508 (perustandardi) ja IEC 61511 (prosessit)

Standardit IEC 61508 (perustandardi) ja IEC 61511 (prosessit) Standardit IEC 61508 (perustandardi) ja IEC 61511 (prosessit) DI Jouko Järvi Automation Partners Oy IEC 61508 IEC TC 65 (Industrial Process Measurement and Control), SC 65A (System Aspects) kutsui kokoon

Lisätiedot

UNIXIN JA LINUXIN VERTAILEMINEN

UNIXIN JA LINUXIN VERTAILEMINEN Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma CT50A2601 käyttöjärjestelmät kurssin seminaarityö Markus Melander, Antti Paarvio, Veli-Ensio Heiniluoto,

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot