Introduktion till datateknik för språkvetare ht 2007



Relevanta dokument
Allmänt om programvaror och filer i Windows.

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Föreläsning 1 Unix. Datorer och datoranvändning Föreläsningar 2018/19. Operativsystem. Unix

Introduktion till datateknik för språkvetare

Kapitel 11. Program Att köra program Skript Interpreterande och kompilerande programspråk Att kompilera program

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Introduktion till Unix och Linux

Datorsystem och programmering

Filers innehåll. Grundläggande databehandling. Representation av text. pffb = påhittat filformat för bilder

Operativsystem och användargränssnitt

Introduktion till programmering, hösten 2011

Kort-kort om utdelade användarkonton och datormiljön på NADA

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Introduktion till datateknik för språkvetare

Kort om World Wide Web (webben)

Introduktion till datateknik för språkvetare

Introduktion till datateknik för språkvetare

Kapitel 11. Program Skript Att köra program Interpreterande och kompilerande programspråk

Datorn från grunden. En enkel introduktion. Innehåll: Inledning 1 Vad är en dator? 2 Datorns olika delar 3 Starta datorn 5 Stänga av datorn 7

Föreläsning 2. Operativsystem och programmering

Program. Kapitel make Program Interpreterande och kompilerande program

Avslutning. Kapitel Komprimering av filer

Kort-kort om utdelade användarkonton och datormiljön på NADA

Linux på skrivbordet - Myt eller möjlighet

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Installationsmanual OpenOffice 3.0

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Programkonstruktion med datorintroduktion, 2D1339

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8

Introduktion till datorer och nätverk vid institutionen för naturgeografi och ekosystemvetenskap

DGC IT Manual Citrix Desktop - Fjärrskrivbord

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

Öppen/Fri programvara

Introduktion till datoranvändning. Välkomna till NADA. (Numerisk Analys och DAtalogi) och kursen. Datalogi, grundkurs 1, 15hp

Instruktion för användande av Citrix MetaFrame

Laboration 2 i datorintro för E1 Detta dokument innehåller instruktioner och övningar för introduktion till E-programmets datorsystem och web-mail.

Open Source - Eller som vi säger, Fri programvara

Välkommen som användare av medietekniks och informatiks publika studentserver

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Open Source - Eller som vi säger, Fri programvara

Instruktion för användande av Citrix MetaFrame

Introduktion till datateknik för språkvetare

Datorhistoria Introduktion till PBL

Windows 8.1, hur gör jag?

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Introduktion till hårdvara, mjukvara och operativsystem

Programmering i C++ Kompilering från kommandoraden

Lab 7, 48 steg till ett bättre liv i Unix-labbet

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Inledande programmering med C# (1DV402) Introduktion till C#

DATORINTRODUKTION. Laboration E ELEKTRO. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Ulf Holmgren

Kapitel 11. Program Skript Att köra program Interpreterande och kompilerande programspråk Att kompilera program

APA för nybörjare. Innan du börjar. Översikt

Open Source - Program och hur man väljer

Linux på skrivbordet - Myt eller möjlighet

DDR PC SOFTWARE 2 RELEASENOTES VERSION 2.5. Swerob Service AB Global Robot Parts AB

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Laboration 2 Datorverktyg vid LiU

Magnus Palm. Lättläst IT

Programvaror - Jo, tack, det vill vi ha...

DIG IN TO Dator och nätverksteknik

Grundkurs i programmering - intro

Introduktion till programmering och Python Grundkurs i programmering med Python

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

Internets historia Tillämpningar

Editering, Kompilering och Exekvering av Javaprogram

1642 uppfann Blaise Pascal världens första mekaniska räknemaskin. Den kunde både addera och subtrahera. Den kan ses som en föregångare till datorn.

Kapitel 12. Mer om program Att rapportera buggar och problem make

Kursansvarig. Välkomna till NADA. Datorn som verktyg. Datalogi, grundkurs 1, 15hp

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

LABBINTRODUKTION. Laboranter: Kurs: - Sonny Johansson, Sigurd Israelsson. Utskriftsdatum:

Introduktion till datateknik för språkvetare

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Fria upphovsrättslicenser underlättar kunskapsdelning och lärande

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Flytt av. Vitec Mäklarsystem

LAJKA-GUIDE. Så kör du. Windows på din Mac. 7 Fler spel och program 7 Enklare än Bootcamp 7 Körs direkt i OSX 7 Helt gratis

Internet. En enkel introduktion. Innehåll:

Svenska Linuxföreningen. Fri programvara Mycket mer än gratis 1(36) Copyright 2005, 2006 Marcus Rejås

BLI VÄN MED DIN DATOR ENHETER MAPPAR FILER

Hur man införskaffar e-böcker till Reader

Innehåll. 1 Inledning 5. 2 Förinställning 6. 3 Anpassa användargränssnittet 7. 4 Anpassa interna inställningar 9. 5 Förbereda att bränna en skiva 10

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Unix design. Unix är ett operativsystem från mellan 1969 och 1972, beroende på hur man räknar. Unix utvecklas fortfarande.

Dedikerad Server Vilket operativsystem ska jag välja? Är ni i startgroparna och ska beställa en dedikerad server eller en virtuell server?

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

Denna presentation är inte klar, kommentarer mottages tacksamt! CyberRymden

INSTALLATION AV VITEC MÄKLARSYSTEM

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

eller Snabbkurs i filhantering Tema: Mappar och filer i Windows samt Lagringsenheterna OBS! Endast för medlemmar i SeniorNet, Klubb Södertälje!

Anslutning till unixsystem från windowslabben

Lathund till First Class

Steg 5 Webbsidor One.com och OpenOffice Writer Mac OS X

Transkript:

Introduktion till datateknik för språkvetare ht 2007 Per Starbäck 9 oktober 2007

Kapitel 1 Datorer, operativsystem och filer En dator är, enligt Nationalencyklopedin, en automatisk maskin för beräkning och symbolbehandling. Benämningen avser nästan alltid en digital, elektronisk dator vars operationer styrs av ett i dess minne lagrat program... Karaktäristiskt är att datorn är generellare än andra maskiner och kan fås att utföra tämligen olika uppgifter genom att den får olika instruktioner program. Ett datorsystem kan indelas i tre delar: hårdvara, mjukvara och data. Hårdvaran är konkreta fysiska delar som processor, minne, hårddiskar och in- och utmatningsenheter som tangentbord, möss, cdrom-läsare, bildskärm, skrivare, osv. Mjukvaran eller programvaran är instruktioner till hårdvaran. Data är den information som matas in till datorn (indata), den som matas ut som resultat (utdata) och mellanresultat däremellan. Den lagras ofta i filer. 1.1 Operativsystem Mjukvaran i ett datorsystem delas ofta in i två delar systemprogram och tillämpningsprogram (applikationsprogram). Tillämpningarna är de program som man som användare kör för att använda datorn till något särskilt. Det är t. ex. ordbehandlare, kalkylprogram, musikspelare, spel och mycket mer. Systemprogrammen är program som är en essentiell del av datorsystemet, som t. ex. de program som gör att man kan logga in på datorn och välja vilka program (tillämpningar) man vill köra. Det centrala i systemprogramvaran är operativsystemet. Med detta brukar man mena en samling program som är tillräckliga för att använda datorn till att utföra en mängd olika uppgifter. Vad det innebär i praktiken kan vara olika för olika slags datorer. Dit kan t. ex. höra att kontrollera hårdvaran, ge allmänna sätt att lagra data i filer, hantera olika användare på datorn med mera. På en arbetsstation/persondator är en viktig del användargränssnittet hur man får information från datorn och hur man styr den, t. ex. en skrivbordsmiljö med fönstersystem och mus. Gränsen mellan operativsystemet och resten av systemprogrammen är luddig. Numer finns det framförallt två familjer av operativsystem för datorer i persondatorklassen: Unix-varianter och Unix-kompatibla system Microsoft Windows-varianter Tidigare var en tredje viktig grupp MacOS från Apple, men sedan MacOS X (alltså version 10 av MacOS) är även det en Unix-variant. 1.2 Unix Operativsystemet Unix skapades i slutet av 60-talet på Bell Labs utvecklingsavdelningen av American Telephone & Telegraph Company i USA. De hade just dragit sig ur ett gemensamt samarbete med General Electric och MIT (Massachusetts Institute of Technology) kring utvecklandet av ett nytt operativsystem Multics. Först användes Unix enbart internt, men i mitten av 70-talet började det spridas även utanför Bell Labs. Detta var före persondatorerna, och datorer var stora och dyra. En av förde- 3

1. DATORER, OPERATIVSYSTEM OCH FILER larna som Unix hade var att det gick att köra på relativt billiga datorer. Dessutom var licensavgiften till Bell Labs i början relativt låg (speciellt för universitet) och källkoden följde med så att man kunde se precis hur det fungerade och även införa egna ändringar i systemet. Allt detta gjorde Unix mycket populärt framförallt i den akademiska världen, och en mängd universitet använde Unix i undervisningen i datorvetenskap. Möjligheten att göra ändringar i koden ledde till att det uppstod en stor mängd varianter av Unix. En viktig variant var BSD (Berkeley Software Distribution) från University of California, Berkeley. Många använde den istället för en version direkt från Bell Labs. Berkeley spred sina tillägg och förändringar fritt, så man behövde ändå bara betala licenspengar till Bell Labs. De datorer som användes var som minst minidatorer som trots namnet var rätt stora 1, och avsedda för flera användare. På 80-talet tillverkades en mängd olika enanvändardatorer med Unix ar- Datorns ursprung: Datorn växte fram till stor del som en biprodukt av andra världskriget, från militära projekt i Storbritannien, Tyskland och USA som syftade till att knäcka koder och att beräkna missilbanor. Framförallt Alan Turing som ledde britternas projekt Enigma för att knäcka tyska koder har överhuvudtaget fått en viktig roll inom datorvetenskapen och ni kommer att stöta på honom senare. (T. ex. har den ena av våra datorsalar fått sitt namn efter honom.) Även om de är viktiga föregångare så var de kodknäckningsmaskiner som Enigma arbetade med för specialiserade för att de flesta skulle vilja räkna dem som datorer. Man kan argumentera för att Konrad Zuses maskin Z3 på den tyska sidan var den första datorn, eller kanske amerikanarnas ENIAC. Det var hursomhelst i USA som datorutvecklingen gick snabbast efter kriget, och där kom datorn in först även in i den civila sektorn. Den första kommersiella datorn blev där Univac I (1951). Som alltid finns det dock föregångare. En av de intressantaste var engelsmannen Charles Babbage som på 1800-talet projekterade maskiner som dock aldrig byggdes klart under hans livstid. 1 När de var nya var de förstås mindre än de då typiska datorerna. När de ännu mindre persondatorerna kom kallades dessa för mikrodatorer, men den termen används inte så mycket längre, nu när det närmast ses som normalstorlek för en dator. betsstationer. Olika tillverkare gjorde egna versioner av Unix som hade namn som Aegis, AIX, Solaris, Ultrix med flera. De olika Unix-varianterna var alla likadana i grunderna, men kunde ändå skilja sig åt vad gällde en mängd saker, så om man skrev ett program till en dator som använde en Unixdialekt gick det kanske inte att köra rakt av på ett system med en annan variant om man inte tog särskild hänsyn till skillnaderna. 1.3 GNU När Unix var nytt hade de flesta av dess användare möjlighet att läsa koden för att lära sig hur den fungerade och även möjlighet att införa egna ändringar för att få delar av systemet att bete sig annorlunda. Med tiden hade det blivit allt ovanligare. De flesta Unix-användare kom att sitta vid arbetsstationer som till stora delar var som svarta lådor som man inte hade insyn i. Detta gällde inte bara Unix, och inte bara operativsystem, utan även andra program man körde på sin dator. Allt oftare hade programmets användare inte möjlighet att studera programmet, vilket många upplevde som frustrerande. (Detta var ännu en tid när en stor del av datoranvändarna var programmerare själva.) 1983 utannonserade Richard M. Stallman på MIT planer på att skriva ett fritt operativsystem och det skulle få namnet GNU. Eftersom Unix redan då hade en så stark ställning så valde han att det skulle vara Unix-kompatibelt, dvs. bete sig som Unix trots att det inte var Unix. GNU stod för GNU s Not Unix. Senare startades en särskild stiftelse, Free Software Foundation (FSF), för att hålla i projektet och även i övrigt verka för fria program. Ordet free i free»dator«: Från början såg man datorn mest som en avancerad räknemaskin. Det engelska namnet computer betyder ju beräknare, och på svenska kallade man den i början för matematikmaskin. När man senare började behandla även text och alla möjliga slags data med datorer blev datamaskin allt vanligare. Den kortare formen dator konstruerades i slutet av 60-talet. 4

Persondatorer och Microsoft software (fri programvara) betyder inte gratis i detta sammanhang, utan syftar på fyra friheter för programmens användare: Friheten att köra programmet, oavsett syfte Friheten att studera hur programmet fungerar, och anpassa det till ens egna behov Friheten att sprida programmet till andra Friheten att förbättra programmet och sprida även förbättringarna till andra En del program som redan fanns och som var fria i denna betydelse kunde användas. T. ex. bestämde Stallman tidigt att man inte behövde skriva ett nytt fönstersystem eftersom fönstersystemet X (skrivet på MIT) var fritt. En del tillägg till Unix som skrivits till BSD var också möjliga att återanvända, eftersom Berkeley hade spritt dessa fritt. (Men hela BSD var ändå inte fritt, eftersom det i grunden byggde på det ursprungliga Unix från Bell Labs.) Men den största delen av koden fick man skriva själva. Allteftersom de olika delarna av GNU blev klara så gick de att använda på olika Unix-system trots att hela GNU inte var klart. Detta var eftersom GNU var Unix-kompatibelt de olika pusselbitarna gick att kombinera med andra Unix-delar. På många Unix-system använde folk därför GNU-program långt innan något fullständigt GNU-system fanns, och många såg på GNU som en samling program snarare än som ett (kommande) operativsystem. (Dessutom har flera GNU-program fått versioner som går att köra under andra operativsystem än Unix-system också.) En viktig del som kommit på efterkälken i GNU var den mest centrala delen av operativsystemet, kärnan, så utan den var det helt omöjligt att sätta ihop ett helt GNU-system. 1.4 Linux 1991 offentliggjordes Linux av den finlandssvenske studenten Linus Torvalds. Det var ett litet Unixliknande system, framförallt inspirerat av Minix, ett tidigare minimalt Unixliknande system, gjort särskilt för undervisning i operativsystem av Andrew S. Tanenbaum i Holland. Meddelandet från Torvalds började I m doing a (free) operating system (just a hobby, won t be big and professional like gnu) for 386(486) AT clones. Inom kort sattes hela GNU/Linux-system samman som använde Linux som operativsystemskärna istället för HURD som var den fortfarande bara halvfärdiga kärna som skrevs specifikt för GNU. Oftast kallas sådana system bara för Linux-system, efter den kärna som används. Detta gick att köra på vanliga persondatorer, som annars oftast körde MS-DOS från Microsoft. Persondatorerna hade med tiden blivit så pass kraftfulla att de kunde klara ett mer krävande system, och idag klarar vanliga persondatorer allt sådant som det tidigare krävdes särskilda arbetsstationer till. 1.5 Persondatorer och Microsoft Om man köpte en persondator på 70-talet, t. ex. en Apple II från Apple Computer (1977) eller ABC80 från svenska Luxor (1978), så följde normalt systemprogram som var specialiserade för just den datormodellen med från tillverkaren. De olika fabrikaten skilde sig markant, så det var inte så att tillverkare konkurrerade med i princip likadana produkter till konsumenterna, utan varje datorsystem var som en egen värld. Vid denna tid var IBM:s roll i datorvärlden så stor så att många såg datorer som närmast synonymt med IBM. Den spirande marknaden med persondatorer hade dock inte IBM gett sig in i. Än. När de gjorde det, med IBM PC år 1981, så ändrades den branschen på flera viktiga sätt. Ett skäl var att IBM använde en öppen arkitektur så att även andra tillverkare skulle kunna producera tillbehör och program till dessa datorer. Ett annat skäl var att IBM inte själva skrev ett operativsystem till sin persondator, utan licensierade detta från ett litet företag som redan skrev program för den tidens mikrodatorer Microsoft. IBM hade inte väntat sig att den öppna arkitekturen även skulle göra det möjligt för konkurrenter att tillverka hela datorer som var kompatibla med PC: Termen personal computer och dess förkortning PC användes redan på 70-talet för flera olika slags datorer. Efter att IBM PC släpptes så kom dock PC allt oftare att betyda bara IBM PC eller en dator som var kompatibel med den en PC-kompatibel dator. 5

1. DATORER, OPERATIVSYSTEM OCH FILER IBM:s egna. Så blev det dock, och den konkurrensen bidrog till att hårdvaran blev bättre och billigare i snabb takt. Efter ett tag gick andra ikapp IBM själva i att sälja PC-kompatibla datorer, och numer tillverkar de inga sådana datorer själva. Det blev istället Microsoft som praktiskt taget fick en ensamställning, som säljare av operativsystem till dessa datorer från flera olika tillverkare. Först var detta MS-DOS och det fortsatte 1985 med Microsoft Windows som ett grafiskt tillägg till MS-DOS. Senare kom versioner av Microsoft Windows som inte längre var tillägg till MS-DOS, utan som stod för sig själva. 1.6 Unix och Unix-liknande system idag En stor del av Unix-liknande system idag är fri programvara. Det finns nu en mängd olika distributioner av GNU/Linux som publiceras av olika företag och organisationer. Dessa skiljer sig åt mer eller mindre mycket beroende på vilka val distributörerna har gjort angående vilka program som ska vara med och inte vara med. Några av de populäraste distributionerna är Debian GNU/Linux, Ubuntu, Red Hat Enterprise Linux, Fedora, SUSE Linux och Gentoo. Dessutom finns det fria Unix-liknande system som baserar sig på BSD. På Berkeley fortsatte man nämligen att utveckla koden, och så småningom hade man bit för bit ersatt så många delar med nyskriven kod så att det inte fanns mycket kvar av ur- MS-DOS: När Microsoft skulle fixa ett operativsystem till IBM så köpte de först upp ett som redan fanns, QDOS (»Quick and Dirty Operating System«), skrivet av en Tim Paterson för Seattle Computer Programs, och anställde honom för att anpassa systemet till IBM:s datorer. Den fixade versionen licensierades till IBM som lät den följa med sina datorer under namnet PC-DOS. Det var dock under en icke-exklusiv licens, så Microsoft kunde även sälja systemet till andra datortillverkare, vilket de gjorde, då under namnet MS-DOS. Därmed kunde de företag som tillverkade PCkompatibla datorer installera i princip samma operativsystem som på IBM:s egna PC:ar, så inte bara hårdvaran, utan även mjukvaran var kompatibel. sprunglig kod från Bell Labs. Då gjorde man en ansträngning att ersätta även de kvarvarande delarna, så i början av 90-talet kunde man släppa ett nästan komplett operativsystem som var fritt. Fria system som bygger på den koden är FreeBSD, OpenBSD och NetBSD. De vanligaste kommersiella Unix-versionerna är idag AIX, HP-UX, MacOS X och Solaris. Apple har sedan MacOS X (version 10) byggt på ett Unix-liknande system från BSD-familjen. Alla dessa system liknar varandra i stora drag. Ibland skriver man Un*x för att visa att man menar nåt Unix-liknande system i allmänhet och inte något specifikt, eller ens nödvändigt något som verkligen är Unix, 2 utan kanske bara beter sig som Unix, dvs. är Unix-kompatibelt. De olika Unix-liknande systemen skiljer sig åt på en mängd små sätt. Det har gjorts flera försök att få dem att närma sig varandra för att underlätta flyttandet av program från ett system till ett annat, och bland annat genom standarderna POSIX och Single Unix Specification (och genom att en del kommersiella system slagits ut på marknaden) är dagens Unix-system mycket mer lika varandra än hur det var för ett par decennier sedan. 1.7 Det grafiska användargränssnittet Operativsystemet har en mängd uppgifter, som att hålla rätt på flera olika användare av en dator och vilka rättigheter dessa har, och att fördela resurser mellan flera uppgifter som datorn ska lösa samtidigt. (Med hjälp av tidsdelning kan datorn utföra flera uppgifter nästan samtidigt genom att turas om mellan uppgifterna med mycket korta tidsintervall.) En av de mest påtagliga uppgifterna hos operativsystemet är användargränssnittet (user interface) på vilket sätt en användare kan interagera med datorn. För en persondator har ett liknande sätt att arbeta växt fram för de flesta datorer, även om det skiljer sig i detaljer. Man har en bildskärm på vilket det finns ett antal fönster vilka man kan manövrera med en mus som även används för att göra val i menyer och liknande. I bakgrunden av detta finns ett skrivbord (desktop) med ikoner och centrala menyer. Tangentbordet används nästan bara när man ska 2 Dvs. som är licensierat att använda varumärket Unix, som ägs av The Open Group. 6

Vårt datorsystem skriva text. Ett sådant gränssnitt kallas ofta ett GUI (Graphical User Interface). 1.8 Vårt datorsystem På STP används GNU/Linux. Distributionen heter CentOS, vilket är närmast identiskt med Red Hat Enterprise Linux. De datorer som ni använder finns i två datorsalar, och dessutom finns ekvivalenta datorer hos en del anställda inom Datorlingvistik. Era filer går att nå från alla dessa datorer, och de ligger egentligen inte direkt på någon av dessa datorer utan på en särskild filserver. Det finns även en ytterligare server-dator som kör webbserver, databasserver och lite annat. Datorerna har alla olika namn som de har fått från grammatiska ord, som t. ex. preposition, futurum, dativ och numerus. Institutionen för lingvistik och filologi har domännamnet lingfil.uu.se så STP-datorernas fullständiga namn är i stil med numerus.lingfil.uu.se. Den sistnämnda datorn har även aliaset stp.lingfil.uu.se och det är dit man ska koppla sig ifall man ska arbeta på våra datorer utifrån, t. ex. hemifrån. (För mer om sådant, se http://stp.lingfil.uu.se/datorer/ net.html eller Gula Luntan 4.) En del allmän information om STP-datorerna finns på webben på http://stp.lingfil.uu.se/ datorer/. Det grafiska gränssnittets historia: På 60-talet experimenterade man med grafiska gränssnitt på Stanford Research Institute (SRI). Douglas Engelbart där uppfann datormusen 1963. Tanken var från början att ersätta tangentbordet med ett särskilt tangentbord för bara en hand, så att andra handen helt kunde ägnas musen. SRI:s system hade även hypertext (dvs. text med länkar till andra texter, så som på webben). På 70-talet arbetades koncepten framförallt fram på Xerox särskilda forskningscentrum PARC (Palo Alto Research Center), delvis av samma personer som arbetat på SRI tidigare. Det blev dock inte Xerox som skördade de kommersiella frukterna med systemet, utan den första kommersiella framgången var Apple Macintosh (1984). Redan nästa år släppte Microsoft en första version av MS Windows. På STP-datorerna använder vi desktopsystemet Gnome. I denna kurs kommer vi inte att använda det särskilt mycket. Det ska ni till största delen kunna sätta er in i med den inbyggda hjälpen, och om ni vill ha beskrivning på papper så har ni möjlighet att skaffa Gula Luntan. Allt i kursen ska gå att göra enbart med detta kurskompendium och den inbyggda hjälpen, men som hjälp till den som har Gula Luntan kommer referenser till kapitel och avsnitt i den ibland att förekomma. I labbarna kommer vi istället mestadels att koncentrera oss på att använda kommandoraden som tas upp i nästa kapitel. Våra datorsalar De två datorsalarna är öppna dygnet runt, året runt, och är tillgängliga med era passerkort med vilka ni också kommer in i huset. Den större salen är ofta bokad för undervisning, men annars är det bara att slå sig ner vid en ledig dator där, och så är det alltid i den mindre salen. Att logga in När man ska använda systemet måste man först logga in. Då anger man sitt särskilda användarnamn Fönstersystem i Unixvärlden: I Unix-världen används fönstersystemet X som släpptes 1984 från MIT (Massachusetts Institute of Technology). (Det är fri programvara och används därför även i GNU.) Det kryptiska namnet X kommer sig av att det var efterföljaren till ett tidigare fönstersystem W och därför fick namn från nästa bokstav i alfabetet. X är bara själva fönstersystemet i sig, men inte den miljö som det ingår i. T. ex. behövs det ett särskilt program, en fönsterhanterare, för att flytta runt dessa fönster. Tillsammans med fönstersystemet använder man ofta ett desktopsystem. På 80-talets Unixarbetsstationer utvecklades olika sådana från olika tillverkare tills Common Desktop Environment (CDE) blev en defactostandard. Nuförtiden finns det fria desktopsystem, framförallt Gnome och KDE, som har blivit vanligare. Gnome startades specifikt för GNU (1997). Det är version 11 av X som används, och ofta kallas det därför för X11. 7

1. DATORER, OPERATIVSYSTEM OCH FILER och sitt hemliga lösenord. Till användarnamnet finns knutet en särskild hemkatalog där man kan lagra sina filer. Du kan ändra ditt lösenord, men se i så fall till att ändra till ett bra lösenord. Undvik lättgissade lösenord! Ett bra lösenord bör inte vara ett riktigt ord, vare sig på engelska, svenska eller något annat språk. Blanda gärna stora och små bokstäver (de räknas som olika!) och stoppa in nån siffra eller nåt skiljetecken. Mer råd om hur man kan välja lösenord finns i Gula Luntan 5.1.7. Det kan vara lätt att man tänker att det inte är så noga med hur lättgissat ens lösenord är. (»Jag har ändå inga hemliga filer som jag är rädd att nån ska komma åt att läsa.jag har ändå inga fiender som vill logga in och ta bort mina filer eller göra suspekta saker på nätet i mitt namn.«) Skälet till att det är viktigt att alla har bra lösenord är dock främst ett annat, nämligen att hålla inkräktare borta. På datorer som sitter på nätet pågår hela tiden försök från olika håll att ta sig in olovligen på datorerna och få administratörsrättigheter där. Sådana attacker sker ofta i två steg. Först behöver förövaren komma in på datorsystemet överhuvudtaget, sedan hitta ett öppet säkerhetshål som kan ge mer behörighet. Det andra steget är det upp till systemadministratörerna att ha stoppat, men för säkerhets skull bör det ta stopp redan vid första steget genom att alla användare har goda lösenordsvanor. När du lämnar datorn ska du logga ut. Använd System Log Out. Stäng inte av datorn! Datorerna ska stå på dygnet runt. Man kan istället låsa datorn om man lämnar den en kortare stund, men gör det inte någon längre stund då det finns risk för att någon annan behöver datorn! Datorpost Till varje användarnamn finns automatiskt en datorpostadress användarnamn @stp.lingfil.uu.se. Från början är det uppsatt så att den posten skickas vidare till era UpUnet-S-adresser så att all post som har med studier att göra samlas på samma ställe. För att nå alla STP07:or kommer man att kunna skicka post till stp07@stp.lingfil.uu.se och det finns liknande sändlistor för andra årskullar. Post till stp@stp.lingfil.uu.se går till alla STP:are. Ljud För att inte få för mycket olika ljud i datorsalarna så använder vi hörlurar. Volymkontrollen finns högst uppe till höger på skärmen, men observera att det dessutom finns en egen volymkontroll på själva hörlurarna, så om det inte hörs något kan det vara kontrollen där som behöver ändras snarare än något på datorn. 1.9 Filer och kataloger Data av olika slag lagras i filer. Innehållet kan vara bl. a. texter, ljud, bilder, databaser och program, och allt ligger normalt lagrat som en sekvens av bytes, som kan ses som värden 0 255, i ett visst format, dvs. kodade enligt någon särskild konvention. Detta återkommer vi till senare. Filer med program omfattar både källkoden (textfiler skrivna av programmare, skrivna i ett visst programspråk) och filer som inte är läsbara för människor (binärfiler) men vars innehåll kan tolkas som instruktioner som kan utföras (exekveras) direkt av datorn. (De senare genereras automatiskt från de förra med program som kallas kompilatorer.) Filerna har namn. Ofta kan en katalog innehålla inte bara filer, utan även andra kataloger underkataloger till den första katalogen. I Unix hänger alla filer ihop i ett filträd där alla kataloger utom en är underkataloger till någon annan katalog. 1.10 Filnamn I Unix-system är det skillnad på små och stora bokstäver vad gäller namn på filer och kataloger. Det går därför t. ex. att ha en fil som heter»readme«, en annan fil som heter»readme«och en tredje som heter»readme«i samma katalog. Vanligtvis låter man dock de flesta filerna ha namn med bara små bokstäver. 3 (En del har som vana att låta kataloger ha namn som börjar med stor bokstav.) På många system är det vanligt att ha filnamn med mellanslag i. På Unix-system går det att ha så, men man brukar i de flesta sammanhang undvika det. 3 Sådana där uppfordrande filer README brukar dock faktiskt heta just så, med stora bokstäver, och är ofta namnet på en fil som beskriver övriga filer i samma katalog. 8

Kataloger Det finns även andra tecken som kan ställa till med problem, vilket gör det säkrast och enklast att undvika dem i filnamn. Oftast använder man bara bokstäverna a z, ibland A Z, siffrorna 0 9 och oftast inga andra skiljetecken än bindestreck, understrykningstecken (_) och punkt. Man bör dessutom undvika att ha bindestreck först i filnamn. Skälen till de flesta av dessa rekommendationer framgår i nästa kapitel. Filnamnsändelse I många filsystem har alla filer en ändelse till det egentliga filnamnet. Denna talar om vad det är för slags fil och brukar skrivas efter en punkt. En fil foo.c kan innehålla källkoden till ett program skrivet i programspråket C, foo.exe vara den exekverbara binärfilen med programmet, foo.pdf en text (i formatet Portable Document Format) som beskriver programmet, foo.html samma text som HTML (Hypertext Markup Language) istället. Ofta finns det en begränsning på hur lång filnamnsändelsen får vara. I synnerhet kan gränsen vara tre tecken, vilket är förklaringen till att man ofta kan se t. ex. HTMLfiler vars namn slutar på.htm istället för.html. Även i Unix-filsystem brukar man ge många filer sådana namn, men en punkt är egentligen som vilket tecken som helst i filnamn, så ett filnamn kan innehålla noll, en eller flera punkter, och det finns ingen särskild begränsning på hur lång delen av namnet efter punkten får vara. Genom att man ger filnamnen sådana ändelser är det lättare för såväl program som människor att förstå vad det är för slags filer utan att titta i dem. Några få av de vanligare filnamnsändelserna är: Körbara program brukar inte ha någon ändelse i Unix, så en kompilerad version av programmet foo heter troligen bara foo (och inte t. ex. foo.exe). Vanliga textfiler har ofta ändelsen.txt, men ofta har de ingen ändelse alls de heller, så som t. ex. README. Dolda filer Många program skapar utan att tala om det filer i ens hemkatalog där de sparar sina inställningar eller mellanresultat. Ofta är man inte särskilt intresserad av dessa filer och för att man inte ska störas av dem i ens fillistningar så brukar de vara dolda. Detta går i Unix till så att filen har ett namn som börjar med punkt (.). Filhanterare och andra program som listar filer kommer då normalt inte nämna denna fil. Dessa filer kan oftast ignoreras. 1.11 Kataloger Filerna samlas i kataloger (directories) (ibland även kallade mappar). Ofta när man får se en lista med filer så är det en lista med alla filer i en viss katalog. Det finns dels centrala kataloger till för systemet och dels har varje användare sin egen hemkatalog att lagra filer i. I en katalog kan det förutom filer ligga andra kataloger, underkataloger (subdirectories) till den första katalogen. Normalt skapar användare underkataloger i sina hemkataloger för att få ordning på sina filsamlingar. Filträdet Nästan varje katalog är underkatalog till en annan katalog. I Unix är det bara en katalog som inte är txt html xml tex java pl py wav, ogg, mp3 gif, png, jpg pdf odt Vanliga textfiler Hypertext Markup Language extensible Markup Language Typsättningssystemet TEX Programspråket Java Programspråket Perl Programspråket Python Olika ljudformat Olika bildformat Portable Document Format Open Document Text Bara en rot: I Unix använder man filsystem med bara en rot, oavsett hur många diskar som är anslutna till datorn. I MS Windows använder man flera, som har bokstäver som namn. En fullständig sökväg börjar med den bokstaven följt av ett kolon, så det fullständiga namnet på en katalog där kan se ut som C:\WINDOWS\. Oftast är C ens primära hårddisk eller hårddiskpartition. Observera att där används bakstreck (\) medan Unix använder vanligt snedstreck (/) som avgränsare mellan kataloger. 9

1. DATORER, OPERATIVSYSTEM OCH FILER / (roten) bin home tmp usr stp06 stp07 ellen students Desktop fotografier regler.txt slottet.jpg Figur 1.1: I detta filträd är filer skrivna i fetstil. Allt annat är kataloger. Detta är förstås bara ett utdrag från det fullständiga filträdet. I varje katalog finns det fler grenar som inte är utritade här. det, så man kan tänka sig alla kataloger i ett hierarkiskt träd där allt utgrenar sig från denna katalog och där filerna är löv längst ut. Den katalog som allt utgår från kallas för roten. Till skillnad från riktiga träd tänker man sig att roten sitter högst upp och att trädet förgrenar sig nedåt, så underkatalogerna ligger alltså längre bort från roten. I figur 1.1 visas en del av filträdet här. Här är t. ex. varje STP07:as hemkatalog underkatalog till en katalog stp07 som i sin tur är underkatalog till en katalog home som samlar allas hemkataloger. Den i sin tur är underkatalog till roten. De studenter som inte går på programmet får istället hemkataloger som är underkataloger till en katalog students som även den är en underkatalog till home. Fullständiga sökvägar Man kan ange en fullständig sökväg (path) till en fil eller katalog genom att ange katalog för katalog hur man ska ta sig från roten till denna. Mellan varje led skriver man ett snedstreck (/). Om en tänkt student på STP07 med användarnamnet»ellen«hade en underkatalog med namnet fotografier och i den lade filen slottet.jpg skulle alltså /home/stp07/ellen/fotografier/slottet.jpg vara den fullständiga sökvägen till denna fil och /home/stp07/ellen/fotografier vara den fullständiga sökvägen till den katalog där denna fil ligger. En sådan fullständig sökväg börjar alltid med ett snedstreck! Den fullständiga sökvägen till rotkatalogen är bara ett tecken: /. I denna text tillåter vi oss ibland att bryta raden efter dessa snedstreck för att få rum med långa filnamn i de smala spalterna, men egentligen får det inte vara någon ny rad eller något mellanslag där. I många fall är det givet vilken katalog som är den aktuella. Om Ellen håller på att bearbeta flera filer i katalogen /home/stp07/ellen/fotografier i ett bildbehandlingsprogram så räcker det med bara slottet.jpg för att referera till denna fil. Men den fullständiga sökvägen kan användas för att referera till en fil som ligger i en annan katalog. Det finns ett särskilt förkortat skrivsätt för ens egen hemkatalog, nämligen tecknet ~ (tilde). Ellen skulle därför också kunna skriva ~/fotografier/ slottet.jpg som en fullständig sökväg till samma fil. Ovan står det att fullständiga sökvägar alltid bör- 10

Textfiler jar med snedstreck. Det gör i princip även denna sökväg eftersom ~ här bara är ett förkortat skrivsätt för /home/stp07/ellen. Man kan även ange andras hemkataloger på ett förkortat sätt, nämligen med tilde följt av ett användarnamn. Även andra användare kan alltså använda beteckningen ~ellen/fotografier/slottet.jpg för den där filen. De flesta program som hanterar filer byter ut ~ på detta sätt. 1.12 Grafisk filhantering Det finns flera sätt att hantera filer i den grafiska miljön Gnome. Ett sätt är att öppna ett så kallat File Object Window för en viss katalog. Ens hemkatalog kan man öppna på detta sätt genom att välja Places Home Folder i menyerna eller genom att dubbelklicka på ikonen för hemkatalogen på skrivbordet. Ett annat är att använda den filhanterare som man kan öppna med Applications System Tools File Browser. Man kan även starta den genom att välja en katalog i ett filobjektfönster och sen välja File Browse Folder. Filhanteraren i Gnome heter Nautilus. I Gula Luntan 3.1 står det mer om hur man använder den! 1.13 Desktop Vissa saker som ligger på ens skrivbordsyta finns alltid där och är speciella, som t. ex. soptunnan. Dessutom kan man ha vilka filer och kataloger man vill direkt på skrivbordsytan. Detta går till så att Gnome behandlar underkatalogen Desktop på ett speciellt sätt genom att alla filer och kataloger där visas upp på ens skrivbordsyta i bakgrunden och sådant man lägger på skrivbordsytan hamnar egentligen i katalogen Desktop. 1.14 /tmp för temporära filer Oftast så lägger man de filer man skapar i sin hemkatalog eller i en underkatalog till denna, och man har inte rätt att skapa filer i andras hemkataloger eller i systemets kataloger ändå. Ett undantag är katalogen /tmp för temporära filer. Där har alla användare rätt att skapa filer. Denna katalog delas inte mellan datorerna, utan är olika för varje dator, och efter några veckor kommer de att raderas automatiskt. En del program lägger filer med mellanresultat som inte ska sparas där. Det kan även ofta vara lämpligt att man själv gör det uttryckligen för filer man bara ska använda en kort tid och inte ska spara på, så slipper man besväret att rensa upp dessa filer efteråt. 1.15 Textfiler Med vanliga textfiler eller rena textfiler (plain text) avses enkla textfiler utan sådana finesser som varierande typsnitt eller inlagda bilder som en ordbehandlare kan klara av, utan med bara en räcka bokstäver, siffror och en del andra tecken, uppdelade i rader. Det saknas alltså dolda formatmarkeringar så som finns i ordbehandlingsfiler. När man skriver ett program är det alltid en textfil med ren text man skriver. Det går inte att skriva en del av programmet i kursiv stil och därmed få detta att betyda någonting särskilt, utan programmet består bara av en räcka bokstäver, siffror och interpunktion, uppdelade i rader. (När man återger ett program på papper eller skärm så visar man det dock ofta med olika färger eller olika stilar ändå.) Olika ordbehandlare har oftast helt olika format för hur sådana finesser ska kodas i filerna, så ett dokument skrivet i Microsoft Office och ett dokument skrivet i WordPerfect är helt olika kodade även om dokumenten ser likadana ut på papperet. Trots att Microsoft Office använder ett helt eget format för att spara sina filer så går det ändå oftast att öppna sådana filer i andra ordbehandlare eftersom de innehåller särskilda rutiner för att tolka och konvertera just Microsoft Office-formatet eftersom sådana filer är så vanliga. OpenOffice.org använder numer ett format Open Document Format (ODF) som även en del andra officeprogram använder och som blev en ISOstandard 2006. Tanken är att flera ordbehandlare och liknande program ska kunna använda samma format så att man slipper sådana konverteringar. (Microsoft Offices nya format Office Open XML (OOXML) är också föreslaget som ISO-standard nu i år.) 11

1. DATORER, OPERATIVSYSTEM OCH FILER Textfiler med ren text är däremot inte speciella för något särskilt program utan kan enkelt hanteras av alla program som gör något med text. Det enda som kan skilja är vilken teckenkodning som har använts, dvs. vilka numeriska värden olika tecken kodats med. Om textfilen innehåller»exotiska«tecken som π, eller för den delen de svenska bokstäverna åäö kan detta ha olika koder i olika sammanhang, men så länge det är tecken som finns på ett vanligt (amerikanskt) tangentbord så är det nästan alltid samma koder överlag nuförtiden. Då kodas t. ex. tecknet»a«som 65 och tecknet»!«som 33. 1.16 Editorer Sådana rena textfiler skriver man inte med ordbehandlingsprogram utan med editorer. Ibland säger man textredigerare och att redigera text, men med den drastiskt välkomnande inställning som datorvärlden oftast visar inför det engelska språket är det vanligare att tala om editorer och att editera text med dessa. Editorer hanterar alltså inte sådant som olika typsnitt, men har däremot ofta kraftfulla kommandon för att hjälpa till när man editerar olika slags textfiler, i synnerhet när man programmerar. Om ni vill använda en ordbehandlare på våra datorer så rekommenderas OpenOffice.org som finns tillgängligt från menyerna. I denna kurs kommer vi dock inte att använda ordbehandling, och de textfiler som ni ska skriva här ska istället skrivas med en editor. Emacs Den editor som vi använder här, Emacs, är lite knölig i början, men har en stor mängd kraftfulla finesser som vinner i längden när man väl har använt den för att editera flera olika slags dokument. Framförallt finns det praktiska finesser när man skriver program i olika programspråk. Emacs kan startas med Applications Programming Emacs Text Editor. Det går även att öppna filer med Emacs från filhanteraren, men då får man en ny Emacs för varje fil. Det finns många fördelar med att istället öppna alla filer man ska editera i samma Emacs, så det är vad som rekommenderas. Ni rekommenderas också att inte avsluta Emacs bara för att ni är klara med den just för stunden utan ha den kvar för eventuellt framtida bruk, ungefär så som man normalt tittar på alla webbsidor i samma webbläsare och normalt inte avslutar den förrän man är på väg att logga ut. 1.17 Filskydd De flesta av dina filer kan läsas av vem som helst, men bara ändras eller tas bort av dig själv. Du kan själv ändra filskyddet för de filer och kataloger du vill ha hemliga så att endast du själv kan läsa dem. En del program skapar alltid sina filer hemliga. Program som läser mail brukar t. ex. göra alla brevfiler hemliga även om man normalt inte har hemliga filer. För varje fil och katalog talas om vilka rättigheter som gäller för tre kategorier användare: filägaren (u = user) gruppen (g = group) övriga (o = other) Varje fil har alltså en ägare och en grupp. I Gula Luntan (3.2) står det att gruppen är»dina medstudenter«, men här har vi istället det så att varje användare har en egen personlig grupp som bara den användaren själv är med i, och detta är den normala gruppen för dina filer. Det gör att gruppens rättigheter normalt inte är intressanta, utan när du ändrar filskydd så är det framförallt för att göra filer läsbara för alla eller bara för dig själv. Du kan t. ex. ha en särskild privat underkatalog som är hemlig för andra. Varje kategori kan ha rättighet att r = läsa (read) w = skriva (write) x = köra (execute) Den exakta betydelsen skiljer sig åt en del för filer och kataloger: Emacs: Den första editorn med namnet Emacs skrevs redan i mitten av 70-talet av Richard M. Stallman på MIT. Den nuvarande, GNU Emacs är skriven särskilt för GNU, och påbörjades av samme Stallman 1984. Detta var en situation där han bestämde sig för att inte skriva ett program som var kompatibelt med det som då var standard-editorn i Unix (och som hette vi), utan att GNU skulle ha en helt annan editor. 12

Filskydd Figur 1.2: Detta är vad filhanteraren visar om filen regler.txt i era hemkataloger. Den påstår bland annat (helt korrekt) att det är en vanlig textfil. Figur 1.3: Denna fil får ägaren och gruppen läsa och skriva, men övriga får bara läsa den. r = läsa en fil; lista innehållet i en katalog w = ändra en fil; skapa och ta bort filer i katalogen x = köra ett program; komma åt filer i katalogen När du högerklickar på en fil eller katalog kan du välja Properties för att få se diverse egenskaper för den filen eller katalogen, inklusive dess skydd. I figurna 1.2 och 1.3 visas en del av den information som detta ger om filen regler.txt i era hemkataloger. I den andra av dessa kan man inte bara se vilket skydd som gäller nu, utan även ändra skyddet. Om man vill att en fil ska kunna läsas av några andra användare men inte av alla så är möjligheterna rätt begränsade. Då måste de användarna höra till samma så kallade grupp och även den filen måste höra till samma grupp. Varje fil hör till exakt en grupp. Användare kan vara med i flera grupper, men det går inte att skapa nya grupper själv. (Detta kan man läsa mer om i Gula Luntan (3.2).) 13