MAC OS:N JA UNIXIN VERTAILEMINEN
|
|
- Ville Virtanen
- 8 vuotta sitten
- Katselukertoja:
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 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ätiedotApplen 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ätiedotSisä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ätiedotHistoriaa. 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ätiedotConcurrency - 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ätiedotLinux 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ätiedotKä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ätiedotWINE 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ätiedotKYMENLAAKSON 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ätiedotTietokone. 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ätiedotPertti 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ätiedotUnix-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ätiedotKä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ätiedotLINUX 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ätiedotMenetelmä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ätiedotAlkuraportti. 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ätiedotTI10 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ätiedotLinux 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ätiedotARKIPÄ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ätiedotTIETOKONE 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ätiedot2 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ätiedotVALO-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ätiedotUCOT-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ätiedotAvoimen 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ätiedotMaastotietokannan 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ätiedotTietotekniikan 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ätiedotLuento 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ätiedotSQLite 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ätiedotSQL 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ätiedotTi 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ätiedotTietojenkä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ätiedotKä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ätiedotCUDA. 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ätiedotMetropolia 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ätiedotTekstinkä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ätiedotLuento 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ätiedotTiedostojen 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ätiedotSisä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ätiedotCT50A2601 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ätiedotArkkitehtuurikuvaus. 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ätiedotTikon 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ätiedotLinuxissa 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 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ätiedotLisenssin 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ätiedotKYMENLAAKSON 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ätiedotHaaga-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ätiedotHYÖ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ätiedotKYMENLAAKSON 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ätiedotOngelma(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ätiedot1 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ätiedot4. 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ätiedotPedacode 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ätiedotPikaintro 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ätiedotOHJ-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ätiedotOngelma(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ätiedotTehtä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ätiedotTietokoneen 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ätiedotOHJELMISTOKEHITYS -suuntautumisvaihtoehto
OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä
LisätiedotSisä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ätiedotUbuntu - 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ätiedotELM 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ätiedotMikä 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ätiedotPRINCIPLES 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ätiedotKieliversiointityö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ätiedotMP3 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ätiedotUnix-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ätiedotOhjelmointi 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ätiedotLaskennallisen 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ätiedotMac 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ätiedotMuistihierarkia 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ätiedotTietokonejä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ätiedotSivu 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ätiedotJouko 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ätiedotLinux 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ätiedotRekursiolause. 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ätiedotPerussurffaajat: 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ätiedotLisensointikuulumisia - 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ätiedotGNU/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ätiedotHarjoituksen 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ätiedotNero 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ätiedotVisual 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ätiedotVirtualisoi 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ätiedotDemo 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ätiedotKä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ätiedotJussi 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ätiedotNä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ätiedotAutomaatiojä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ätiedotJavan 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ätiedot010627000 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ätiedotVirtualisointiympä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ätiedotSisä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ätiedotDirectory 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ätiedotKYMENLAAKSON 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ätiedotAction 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ätiedotASENNUSOHJEET 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ätiedotFinFamily 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ätiedotStandardit 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ätiedotUNIXIN 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ätiedotTIETOKANNAT: 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