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

Samankaltaiset tiedostot
Unixin historia: avaruuspelistä moderniksi käyttöjärjestelmäksi

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

Metropolia Ammattikorkeakoulu

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

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

UNIX:in historia. Kehitysyhteisön rooli UNIX:in alkuvuosina. hyväksymispäivä arvosana. arvostelija. Mikko Visa

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

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

Luento 3. Timo Savola. 7. huhtikuuta 2006

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

2 Konekieli, aliohjelmat, keskeytykset

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Kieliteknologian ATK-ympäristö Toinen luento

Unix. Markus Norrena

Luento 1 Tietokonejärjestelmän rakenne

Julkaiseminen verkossa

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 2. Timo Savola. 31. maaliskuuta 2006

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

GNU/Linux kotikäytössä

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006

Pikaintro käyttöjärjestelmiin

Muistihierarkia Kiintolevyt I/O:n toteutus

Järjestelmän ulkoinen muisti I/O

Applen käyttöjärjestelmät

ATK tähtitieteessä. ATK-osuuden jälkeen alkaa varsinainen tutkimusprojekti. Lisätietoa myöhemmin.

ATK tähtitieteessä. Aikataulu. Käyttöjärjestelmistä. Varoitus!

Hakemistojen sisällöt säilötään linkitetyille listalle.

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

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

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

LINUX-HARJOITUS, MYSQL

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

Web-sisällönhallintajärjestelmät. Sisältö. Mitä on web-sisällönhallinta?

Teemu Kerola Orientointi Syksy 2018

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

4. Lausekielinen ohjelmointi 4.1

Perustietoa käyttöjärjestelmistä. o Tietokoneen toimintaperiaate o Käyttöjärjestelmistä o Esimerkkejä käyttöjärjestelmistä o Peruskäyttöharjoitus

Kieliteknologian ATK-ympäristö Viides luento

Muistihierarkia Kiintolevyt I/O:n toteutus

Kieliteknologian ATK-ympäristö Viides luento

MAC OS:N JA UNIXIN VERTAILEMINEN

Linux - käyttöoikeudet

Lataa Pienten matematiikkaa 2 - Sisko Kemppainen

Lataa Pienten matematiikkaa 3 - Sisko Kemppainen. Lataa

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

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

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

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä


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

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

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

SIMULINK S-funktiot. SIMULINK S-funktiot

5. HelloWorld-ohjelma 5.1

Web-sisällönhallintajärjestelmät

Käyttöjärjestelmät II

Suomen avoimien tietojärjestelmien keskus COSS ry

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Tabletit opetuskäytössä - työpaja

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

Tietokoneen toiminta (Computer Organization I)

Komentotulkki. Kysymyksiä

linux: Ympäristömuuttujat

Linuxissa uusi elämä 1

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

TUTUSTUMINEN LINUX-KÄYTTÖJÄRJESTELMÄÄN

Tietokoneet ja verkot. Kilpailupäivä 1, keskiviikko Kilpailijan numero. Server 2003 Administrator. XP pro Järjestelmänvalvojan

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Käyttöjärjestelmät II

Julkaiseminen verkossa, esitysgrafiikkaa (laitteistosta, tietotekniikka ja tulevaisuus) H9T1: Tiedostojen vienti internetiin

Lataa Matemaattisia kaavoja ja taulukoita - Esko Valtanen. Lataa

ATK yrittäjän työvälineenä

Unix-perusteet. Tulostaminen

Linux. Alkutarkistukset

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 2: Linux

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

Sisällönkuvaukset Projektinhallinta 3 op. Sisältö. 2. Palvelinalustat 3 op

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

Tähtitieteen käytännön menetelmiä Kevät 2009

TAMPEREEN TEKNILLINEN YLIOPISTO

Tietokoneen toiminta (Computer Organization I)

KYMENLAAKSON AMMATTIKORKEAKOULU

Puun pienpolton itsestään säätyvä tekniikka - How to make the fireplace combustion more clean Link to technical description in SlideShare:

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Tieteellinen laskenta I (Scientific Computing I)

Kymenlaakson Ammattikorkeakoulu

Ohjelmointi 1. Kumppanit

Vaasan yliopisto Vasa Universitet University of Vaasa. Tekniikan ja innovaatiojohtamisen yksikkö School of Technology and Innovations

Transkriptio:

Unixin historia Teemu Kemppainen Seminaarialustus Helsingin yliopisto, tietojenkäsittelytieteen laitos Tietojenkäsittelytieteen historia -seminaari, kevät 2007

Sisältö Unixin syntymätarina Avaruuspelistä moderniksi käyttöjärjestelmäksi Vuodet 1969-1973 Unixin tekniikka Ken Thompson (vas) ja Dennis Ritchie. Kuva: Peter H. Salus, A Quarter Century of Unix Unix tänä päivänä

Ennen Unixia: Multics Multiplexed Information and Computing Service Käynnistyi 1964 MIT, Bell Telephone Labs, General Electric Monen käyttäjän KJ, tavoitteita pääteyhteydet muunneltava laitetuki kehittynyt tiedostojärjestelmä jatkuva operaaatio virtuaalimuisti korkean tason kieli (PL/I)

Multics loppuu Liikaa erimielisyyksiä osallistujien välillä Bell Labs irtaantuu Multicsista keväällä 1969 Thompson keskittyy ohjelmoimaan avaruuspeliä Ken Thompsonin Space Travel -peli Kuva: Peter H. Salus: A Quarter Century of Unix

Keväällä 1969 Multicsin loputtua Bell Labsilla vielä ideoitiin tiedostojärjestelmää Thompson toteuttaa tiedostojärjestelmän PDP-7:lla, jonka koodaamisen oppi avaruuspeliä kirjoittaessaan Tämä hanke laajenee... PDP-7 -tietokone http://www.columbia.edu/acis/history/pdp7.jpg

Ken Thompsonin kesä '69 Vaimo & vastasyntynyt poika lähtivät Kaliforniaan Thompsonilla PDP-7-tietokone ja neljä viikkoa aikaa: 1. viikko: KJ:n ydin 2. viikko: komentotulkki shell 3. viikko: tekstieditori 4. viikko: assembler assembler: kääntää symbolisen konekoodin konekoodiksi

Huijaus! Vanha PDP-7 kävi riittämättömäksi esim. DMA ei toiminut Bell Labs ei halunnut myöntää varoja käyttöjärjestelmätutkimukseen Haetaankin varoja tekstinkäsittelyjärjestelmän laatimiseen Bell Labs suostuu PDP-11 http://www.psych.usyd.edu.au/pdp-11/images/ken-den.jpeg Saadaan PDP-11 ($65000) vuonna 1970

Unix kehittyy... 1970: cp cat ls -komennot 1971: man-sivut Ensimmäinen cat-komennosta 1972: Unix V2 10 asennusta ei vielä esim. lockoutia samanaikaiset tulosteet sekaantuivat Putket ja toolbox-ajattelu: paljon pieniä ja yksinkertaisia apuohjelmia joita voi yhdistää tekemään monimutkaisemman tehtävän

C-kieli 1973 Fortran ei kelvannut Ken Thompsonille Hän tekee B-nimisen tulkkaavan kielen Sen ongelma: hitaus Dennis Ritchie toteuttaa B-kielen pohjalta C- kielen Koko Unix kirjoitettiin C:llä vuonna 1973 Ensimmäinen kokonaan C:llä tehty Unix oli V4 joka ilmestyi marraskuussa 1973

C-kieli 1973 Hello World PDP-11-konekielellä.TITLE HELLO WORLD.MCALL.TTYOUT,.EXIT HELLO:: MOV #MSG,R1 ;STARTING ADDRESS OF STRING 1$: MOVB (R1)+,R0 ;FETCH NEXT CHARACTER BEQ DONE ;IF ZERO, EXIT LOOP.TTYOUT ;OTHERWISE PRINT IT BR 1$ ;REPEAT LOOP DONE:.EXIT MSG:.ASCIZ /Hello, world!/.end HELLO Hello World C-kielellä #include<stdio.h> main() { printf("hello, world!"); } Lähde: http://www.answers.com/topic/pdp-11 C-kieli teki Unixista siirrettävän Tähän asti laitteisto & käyttöjärjestelmä erottamattomasti naimisissa keskenään

Unixin tekniikkaa (V4 vuodelta 1973) Moniajo Monen käyttäjän tuki käyttäjätunnukset, sisäänkirjautuminen, kotihakemistot Tiedostojen suojaukset Tiedostojärjestelmän hierarkkinen rakenne hakemistot http://www.rhyshaden.com/images/unix1.gif

Unixin tekniikkaa (2/3) Liitettävien levyyksiköiden tuki nauhojen, levyjen vaihtaminen Prosessit itsenäisesti suoritettavat ohjelmat Putket ja suodattimet Peter H. Salus: A Quarter Century of Unix ls grep txt more

Unixin tekniikkaa (3/3) Komentotulkki ( shell ) $ _ # _ > _ C-kielinen lähdekoodi mukana Kannusti käyttäjiä jatkokehittelemään järjestelmää Bugikorjaukset usein vapaaehtoisten tekemiä Välimuisti (luki levyltä useita lohkoja kerralla)

Unix esitellään maailmalle ACM:n käyttöjärjestelmäkonferenssi 1973 Ritchien ja Thompsonin artikkeli The UNIX timesharing system ACM:n tieteellisessä julkaisussa 1974 Unix alkoi levitä ympäri maailman

Bell Labsin Unix-politiikka Antitrust-päätökset vuodelta 1949: AT&T Bell Labs ei saa tehdä rahaa Unixilla Seuraus 1: Unixia lisensoidaan lähdekoodeineen puoli-ilmaiseksi (joitakin tuhansia dollareita) ei-kaupallisille tahoille Seuraus 2: Koska AT&T ei anna virallista käyttäjätukea, syntyy käyttäjäyhteisö Maailmanlaajuinen jo 1970-luvulla Suomi: FUUG (Finnish Unix User Group) 1984

Unix vuodelta 1973 on yhä moderni Unixissa jo yli 30 vuotta sitten melkein kaikki ydintekniikat jotka nykyisissä käyttöjärjestelmissä, paitsi... Graafinen käyttöliittymä, multimedia Verkko-ominaisuudet Nykyaikainen tietoturva

Toisaalta... The success of Unix lies not so much in new inventions but rather in the full exploitation of a carefully selected set of fertile ideas -Ritchie & Thompson, 1974

http://en.wikipedia.org/wiki/image:unix_history.svg

Yhteenveto Unix syntyi 1969 Bell Labsin tutkimusyksikössä Päähahmot: Ken Thompson, Dennis Ritchie Ei pitkän tähtäimen suunnitelmaa C-kieli syntyy Unixin rinnalla Nykyään Unix elää useana eri versiona Ei yhteistä, vahvaa Unix-standardia Linux on Unixin kaltainen järjestelmä Unixin piirteitä on kaikissa nykyisissä käyttöjärjestelmissä MacOS X pohjautuu BSD Unixiin

Ken Thompson (1943-) Unixin pääohjelmoija Shakkiharrastaja Tietokoneshakin MM 1980-1983, Belleshakkikone M.Sc., Electrical Engineering and Computer Science, Berkeley 1966 Eläkkeelle Bell Labsilta 2000 Nyt Googlella töissä http://www.chessbase.com/columns/column.asp?pid=102

Dennis Ritchie (1941-) Keskeinen vaikuttaja Unixissa Kehitti C-kielen Koulutus: Ph.D., Harvard 1968, fysiikka, sovellettu matematiikka Bell Labsille 1967 http://en.wikipedia.org/wiki/image:dennis_ritchie.jpg