Kapitel 1. Operativsystemet UNIX



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

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

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

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

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

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

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Datakommunika,on på Internet

Datakursen PRO Veberöd våren 2011 internet

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Internets historia Tillämpningar

kommando -fl argument

Lathund för Linuxkommandon

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Datorsystem och programmering

Datakommunika,on på Internet

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Internets historia och utveckling

Grundläggande datavetenskap, 4p

Introduktion till datormiljön och Python

Lab1 inginfo07. Detta dokument innehåller övningar för introduktion till Media-programmets datorsystem (Mac OS X).

Kommandotolken hittar du under Start->Program->Tillbehör->Kommandotolken

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

VÄLKOMMEN TILL OWNIT!

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

TCP/IP och Internetadressering

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

For att fa information om kommandon eller program sa nns det manualsidor. Dessa

Parallella jobb ctrl-z emacs & more README ctrl-z jobs. %<jobnr>

Olika shell. Skalprogrammering. Pipor och omdirigering av strömmar

1.#Bakgrund# En#kort#introduk+on#+ll#Unix# Klassiskt#första#bemötande# Håkan#Jonsson# Ins+tu+onen#för#systemteknik# Luleå#tekniska#universitet#

UNIX. 2D1339 Programkonstruktion Hösten 2001 Datorintroduktion Laboration 1. Mål. Vad laborationen går ut på. Redovisning

Programkonstruktion med datorintroduktion, 2D1339

Christer Scheja TAC AB

Det är en Internet läser son gör det bekvämt för os ute på Internet. som t.ex Internet Explorer, firefox.

Tips och tricks. Några bra tips. Lägg till sökvägar

Skärmbilden i Netscape Navigator

Guide för Google Cloud Print

Kort om World Wide Web (webben)

E-post. Elektronisk post, Två huvudtyper av elektronisk post Outlook Express Säkerhetsåtgärder mot datavirus...

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

Laboration 2 Datorverktyg vid LiU

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson

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

Terminal vad det är vad man kan göra med den

Övningar för del I av kursen

DATORINTRODUKTION 2010 LABORATION 1

Skapa din egen MediaWiki

ANVÄNDAR-GUIDE för Bränneriets LAN

SF1672, Linjär Algebra med Matlab för F1 Lab0

Distansåtkomst via systemaccess tjänst från egen dator

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

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Allmänt om programvaror och filer i Windows.

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

Protokoll i flera skikt Fragmentering Vägval DNS. Jens A Andersson

Flytt av. Vitec Mäklarsystem

Textbearbetning i skalet och man-sidor

Installera SoS2000. Kapitel 2 Installation Innehåll

Startanvisning för Bornets Internet

Använda bärbar dator som operatörspanel

Program. Kapitel make Program Interpreterande och kompilerande program

Datainsamling över Internet

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Xemacs, första hjälpen!

Om konsolporten. Beskrivning av portarna

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

1 Logga in 1. 2 Byta lösenord 1. 3 Hemkatalog 1. 4 Unixintroduktion Viktiga kommandon Läsa 3

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

E-posthantering med Novell Groupwise WebAccess

Välkommen som anställd till Malmö högskola

Operativsystem och användargränssnitt

Linuxadministration I 1DV417 - Laboration 4 Nätverk, DHCP, säkerhetskopiering, processhantering, Samba och NFS

Introduktion till Unix och Linux

komplex av nödvändiga, understödjande program som kallas Utanpå OS existerar ett - eller flera olika - slags skal som

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching

Datorintro för elektro på Solaris

Webbserver och HTML-sidor i E1000 KI

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

Nya webbservern Dvwebb.mah.se

GitHub for Windows och GitShell

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

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

Uppstart Agda PS Hosting

Kapitel 6, 7, o 8: IP DNS Vägval Från användare till användare Jens A Andersson (Maria Kihl) Att skicka data över flera länkar.

Windows NT 4.x. Förberedelser. Snabbinstallation från cd-skiva. Phaser 4500 laserskrivare

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

Guide för Google Cloud Print

1 PROTOKOLL. Nätverk. Agenda. Jonas Sjöström

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

Praktiska saker... Om Laboration 1. Studietips. Praktiska saker. Att studera hemifrån på PC. Seminarier & Lektioner & Handledning & Hemsida

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, Raphael Corsoski, Erik Eliasson, Christian von Schultz, 2008.

Manual för Typo3 version 4.2

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

Internet och kommunikation. Kommunikation

Transkript:

Kapitel 1. Operativsystemet UNIX UNIX är ett operativsystem, som på senaste tiden blivit mycket populärt (bl.a. tack vare den populära PC-versionen Linux), och har implementerats på ett stort antal datorer. UNIX utvecklades i början av 1970 talet i Bells laboratorier av Ken Thompson och Dennis Ritchie. Ken Thompson adapterade 1969 ett datorspel Space Travel, som han skrivit, för en PDP-7 dator, som stod oanvänd i Bells laboratorier. I samband härmed utvecklade han den första UNIX-versionen, som skrevs på PDP:ns assemblerspråk, och installerades på en PDP-11/20 år 1971. I början av 70 talet skrev han tillsammans med Ritchie om UNIX-systemet på B, C-språkets föregångare. År 1973 skrevs systemet om på C-språket, vilket gjorde UNIX lättare att överföra till andra datorer. Benämningen UNIX kommer sig av att det baserar på Multics ( MULTiplexed Information and Computing Service ) ett operativsystem, som Thompson tidigare varit med om att utveckla, men som varit rätt misslyckat. UNIX skulle då kunna tolkas som UNiplexed Information and Computing System (i början var stavningen faktiskt Unics ). UNIX är inte en entydig standard, utan förekommer i olika varianter, av vilka de viktigaste är UNIX System V och Berkeley UNIX (BSD). Som exempel på datorer som använder System V kan nämnas Sun, Sparcstation och Solbourne. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 1

Operativsystemet för Convex (ConvexOS) följde i huvudsak Berkeley systemet med litet inslag av System V. Operativsystemet för Cray åter är i huvudsak System V med något inslag av Berkeley. Digitals Unix-variant kallades ursprungligen ULTRIX, och sedermera Digital UNIX. Detta system, som bytte namn till Tru64 UNIX efter det att Compaq övertagit Digital, är baserat på OSF ( Open Software Foundation standarden. För närvarande håller man på med att utveckla en ny standard version av Unix som kallas POSIX ( Portable Operating System Interface ). Den bygger på System V och i viss mån även på Berkeley. Vi skall i fortsättningen kort beskriva användningen av System V. För den som vill veta mer, hänvisas till någon av de många böcker om Unix systemet som finns. En allmän introduktion är t.ex. A practical guide to the Unix system av Mark Sobell. En bra beskrivning av universitetets Unix system finns på adressen http://www.helsinki.fi/atk/oppaat/unix/unixopas.html. En svenskspråkig guide (från Arcada) hittar du t.ex. här: http://people.arcada.fi/~hanne/introduktion_till_it/unix.html. System V består av tre större delar, filsystemet, skalet och kärnan (eng. kernel), av vilket den sistnämnda är osynlig för användaren, men fördelar datorns resurser och håller reda på kommunikationerna. Filsystemet organiserar data, och skalet är kommandotolken. I själva verket finns det flere skal, bland dem Bourne-skalet (sh), C-skalet (csh och dess utvidgning tcsh) och Korn-skalet (ksh). Vilket skal man använder, syns på prompten: C-skalet visar ett %-tecken, och Bourne-skalet ett $-tecken. Det typiska för kommandona är att de är korta (ofta bara två bokstäver), och att de kan efterföljas av flera optioner. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 2

UNIX sägs ha utvecklats med en teleprinter som inenhet. Varje gång man skrev ett kommando fel, måste det upprepas, och eftersom teleprintern skrev långsamt, beslöt man att det nya språket måste ha korta kommandon. Man loggar in sig på en UNIX dator genom att skriva sin användarkod efter login:( eller User:) prompten och lösenordet efter Password:. Skulle login: inte visa sig på skärmen, kan man försöka trycka på Return knappen några gånger (eller eventuellt Control-Q). Användarkoden anges alltid med små bokstäver (observera, att UNIX systemet kan skilja mellan små och stora bokstäver, så kontrollera alltid att Caps Lock inte aktiverats, då du loggar in från en PC!). Om man skriver användarkoden (eller lösenordet) fel, får man meddelandet Login incorrect, och då får man försöka på nytt. Lösenordet ändras med kommandot passwd (skall göras alltid första gången man loggar in). Ut kommer man med exit, eller logout (i Bourne och Korn skalet kan man också använda Control-D). Tidigare använda kommandon får man fram med hjälp av pilarna (eller Control-P och Control-M). När man loggar in sig, utför systemet instruktionerna i en konfigurationsfil, som kallas.csrhc. Man får sätta in egna kommandon i denna fil (t.ex. för att underlätta användningen av Unix systemet). Sådana kommandon kan t.ex. vara alias del rm, som gör att man kan använda kommandot del istället för rm, när man vill stryka en fil. Man kan också definiera sina egna skalvariabler, som t.ex. path: set path = $path ~/bin. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 3

För att se en fillista, använder man kommandot ls (ofta fungerar också dir). Om man inte ännu har skapat några filer, så visar kommandot givetvis ingen fillista. För att få en utförlig fillista, kan man använda kommandot ls -al, optionen -a anger att också dolda filer skall listas, medan -l anger en lång lista med olika upplysningar om filerna. Om man utför detta kommando på en tom katalog, visas två filer, som kallas. och... I detta fall betyder. den katalog man befinner sig i, och.. är föräldrakatalogen, dvs. den närmaste högre katalogen i hierarkin. Nedan visas hur början av en kataloglista kan se ut: ls -al total 1522 drwx------ 10 sundius 1536 Jan 27 16:22./ drwxr-xr-x119 root 2560 Jan 21 13:58../ -rw------- 1 sundius 0 Jan 13 13:43.Xauthority -rwxr-xr-x 1 sundius 394 Aug 12 17:27.cshrc* drwx------ 2 sundius 512 Aug 12 17:27.elm/ -rwxr-xr-x 1 sundius 235 Aug 12 17:27.exrc* -rw------- 1 sundius 26 Aug 12 17:27.fw -rw------- 1 sundius 291 Jan 28 10:53.history -rwxr-xr-x 1 sundius 333 Aug 12 17:27.login* Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 4

Ett d i första kolumnen anger här en filkatalog, medan de nio följande kolumnerna anger vilka användare som har rätt att utföra olika operationer med filerna. De tre följande kolumnerna anger ägaren, de tre därpå följande gruppen, och de tre sista alla de övriga. Ett r anger rätt att läsa, ett w rätt att skriva, och ett x exekutionsrätt. Följande kolumn anger antalet länkar, och därpå följer ägarens namn, filens storlek (i bytes), datum då den skapades, samt filens namn. Antalet länkar är vanligen 1. För en katalog, anger detta tal antalet underkataloger (+2). Om en fil har mer än en länk, så betyder det att ett antal identiska kopior av filen existerar i systemet. Filsystemet i UNIX är hierarkiskt. Den översta katalogen i systemet kallas roten, och anges med ett snedstreck /. Ett fullständigt filnamn anges av vägen (path), som anges genom att räkna upp alla mellanliggande filkataloger åtskilda av snedstreck /. För att få reda på det fullständiga namnet på katalogen, där man befinner sig (i detta fall hemkatalogen) använder man kommandot pwd: plootu% pwd /home/kruuna/fyl/sundius För att flytta sig mellan två kataloger, använder man kommandot cd. Katalognamnet kan vara antingen absolut, då man utgår från roten som i exemplet ovan, eller relativt, då man utgår från den aktuella katalogen. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 5

Om t.ex. katalogen /home/kruuna/fyl/sundius har en underkatalog test, så kan man flytta sig till den genom att skriva cd test. Till hemkatalogen kommer man alltid med kommandot cd. Om man vill flytta sig till underkatalogen test, kan man alltså göra det genom att i en följd skriva plootu% cd plootu% cd test Sökvägen till hemkatalogen kan också förkortas ~. Därför kan man också komma till katalogen test genom att skriva cd ~/test. Om man vill skapa en ny fil direkt från terminalen, kan man använda kommandot cat (en förkortning av catenate, som betyder att sammanlänka): plootu% cat -u >testfil Detta är en liten testfil Ctrl-D Vinkelhaken > anger här att utskriften från programmet omdirigeras till en fil testfil, och Ctrl-D anger avslutningen av inmatningen från terminalen. cat kan också användas för att lista en existerande fil: Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 6

plootu% cat test.dat efaojopfajopjfoajopfjo afnioanfioaiofia9... Omdirigering av inmatning eller utskrift är mycket vanligt i UNIX. Normalt har alla UNIX-program en inmatnings- och två utskriftskanaler. Inmatningskanalen kallas standard input (stdin), och utskriftskanalerna är standard output (stdout) resp. standard error (stderr), som används för felutskrifter. Dessa kanaler kan alla omdirigeras till andra kommandon eller filer. Om vi t.ex. ger UNIX-kommandot echo Hej hoppsan!, så kommer texten Hej hoppsan! att skrivas ut på skärmen, men om vi istället ger kommandot echo Hej hoppsan! > file, så kommer texten istället att gå till filen file. Om filen redan existerar, och man vill lägga in text i slutet, kan man ge kommandot echo Text i slutet >>file. Kommandot cat läser automatiskt stdin, som man också kan omdirigera till en fil: cat < file. I filnamnet får man i princip använda vilka tecken som helst, men vissa tecken som har en särskild betydelse för kommandotolken bör dock undvikas. För att alstra en ny filkatalog, använder man kommandot mkdir. Nedan visas hur man alstrar några nya kataloger, flyttar sig till en av dem med kommandot cd och kopierar in en fil i den med cp: Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 7

plootu% mkdir progs plootu% cd progs /home/kruuna/fyl/sundius/progs plootu% mkdir pascal f77 plootu% ls -l total 2 drwx------ 2 sundius 512 Jan 28 17:36 f77/ drwx------ 2 sundius 512 Jan 28 17:36 pascal/ plootu% cp../test.dat. plootu% cp../kalle. cp:../kalle: No such file or directory plootu% ls -l total 3 drwx------ 2 sundius 512 Jan 28 17:36 f77/ drwx------ 2 sundius 512 Jan 28 17:36 pascal/ -rw------- 1 sundius 118 Jan 28 17:40 test.dat Kommandot mv kan användas för att byta namn på en fil: Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 8

plootu% mv test.dat test2 plootu% ls -l total 3 drwx------ 2 sundius 512 Jan 28 17:36 f77/ drwx------ 2 sundius 512 Jan 28 17:36 pascal/ -rw------- 1 sundius 118 Jan 28 17:40 test2 mv kan också användas för att flytta en fil från en katalog till en annan katalog. Den ursprungliga filen kommer då att strykas. Om man vill spara den ursprungliga filen, kan man istället kopiera den med kommandot cp: cp test.dat test/. För att stryka en fil, används kommandot rm (= remove). Om man vill stryka en filkatalog, används rmdir. Om man använder rm med optionen -r kan man stryka en katalog jämte sitt innehåll, inklusive eventuella underkataloger (var därför försiktig!). Om man märker, att man ofta använder kommandot för att lista kataloginnehållet i formen ls -la (jfr ovan), så kan man använda alias-systemet för att förenkla användningen av kommandot. Om man t.ex. skriver alias dir ls -la, så kan man ersätta det längre kommandot ls -la med dir. Som vi redan nämnt, kan detta kommando också läggas in i filen.cshrc som alltid läses vid inloggningen. Denna fil används av kommandotolken csh, dvs C-skalet. Ett annat nyttigt alias-kommando är alias rm rm -i, som kan användas, om man vill försäkra sig om, att en fil inte stryks i misstag. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 9

Om man vill låta andra läsa en av sina filer kan man ändra skyddet för den. Detta sker med kommandot chmod, som kan användas t.ex på följande sätt, om man vill låta gruppen (g) läsa filen test2: plootu% chmod g=r test2 plootu% ls -l total 3 drwx------ 2 sundius 512 Jan 28 17:36 f77/ drwx------ 2 sundius 512 Jan 28 17:36 pascal/ -rw-r----- 1 sundius 118 Jan 28 17:40 test2 Om man önskar att alla skall kunna läsa filen test2, och att gruppen också skall ha skrivrättighet, använder man kommandot chmod a=r,g+w test2. Förutom att använda cat, kan man även använda kommandot more för att se på innehållet i en fil. Denna metod har den fördelen att utskriften stoppas automatiskt då skärmen är full, och man fortsätter genom att trycka på mellanslagstangenten. Listningen av filen kan avbrytas genom att man trycker på q (=quit). more förstår också några andra kommandon som man kan se om man trycker på h (=help). Ett mångsidigare listningskommando är less. Både more och less startar listningen från början av filen. Vill man lista de sista raderna av en fil, kan man använda tail: tail -10 file listar t.ex. de tio sista raderna i file. Med head som har en liknande syntax kan man lista början av en fil. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 10

Ett annat vanligt UNIX-kommando är grep ( Global Regular Expression Print ). Kommandot grep 1234 *.dat t.ex. söker upp alla de filer som slutar på.dat där teckensträngen 1234 ingår. Tecknet * kallas jokertecken. Det kan utbytas mot en godtycklig teckensträng. Om endast ett tecken skall kunna bytas ut, används tecknet?. I UNIX (liksom i DOS) kan man omstyra utskriften från ett kommando, så att den blir inmatning till nästa kommando. Detta sker med tecknet. Ett typiskt exempel är ls -al more, som åstadkommer att kataloglistningen stannar upp efter varje sida. Ett annat exempel är ls -al grep ^d som söker upp alla rader som har ett d i första kolumnen (alltså katalogfiler). Tecknet ^ är här ett metatecken som anger början av en rad (slutet av en rad anges med $). Med omstyrning kan man också kombinera flera kommandon med varandra. För att skriva ut på en skrivare används kommandot lpr. Om man t.ex. vill skriva en text på en skrivare med namnet fyl_ps2c, används kommandot lpr -Pfyl_ps2c [filnamn]. Här är -P en option, som anger skrivarens namn. För att se på kön till en skrivare används kommandot lpq. Det känner också till optionen -P. För att se på skrivarnas status, används kommandot lpstat. Kommandot man ger information om hur ett visst UNIX-kommando används. Om man t.ex. önskar information om grep, skrives kommandot man grep. För att få en lista över kommandon, som innehåller ett visst nyckelord i rubriken, t.ex. fortran, skriver man man -k fortran. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 11

Det finns ett flertal editorer i UNIX. Standardeditorerna heter vi och ed, men den populäraste torde vara emacs (eller µemacs), som är en skärmorienterad editor, vars kommandon innehåller Ctrl- och Escknapparna. Man kallar på emacs genom att skriva emacs [filnamn]. Hjälp får man genom att trycka Ctrl-H och?. Ut ur emacs kommer man med kommandot Ctrl-X Ctrl-C. µemacs sparar inte ändringarna, om man inte istället trycker på Esc-Z. Vid editeringen flyttar man sig i filen normalt med pilarna. Alternativt kan man använda Ctrl-F (ett tecken framåt), Ctrl-B (ett tecken bakåt), Ctrl-N (ett steg ner) och Ctrl-P (ett steg upp). Med Esc-< går man till början av filen, och med Esc-> till filens slut. För att stryka föregående tecken används Del eller Ctrl-H, för att stryka följande tecken används Ctrl-D. Ett helt ord kan man stryka med Esc-D, osv. Skalprocedurer är sådana filer, som innehåller kommandon, som ska utföras av skalet. Konfigurationsfilen.cshrc, som vi nämnde tidigare, är en sådan fil. Nedan anges ett enkelt exempel på en skalprocedur, som skriver ut en lista över inloggade användare. Proceduren kan skrivas ut med cat: cat userlist date echo Inloggade anvandare: who Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 12

Om man försöker att utföra denna fil (med kommandot./userlist), lyckas det normalt inte: userlist : execute permission denied beroende på, att exekutionsrätten saknas, vilket man kan kontrollera genom att lista innehållet i filkatalogen med ls -l. Problemet löses genom att ändra skyddet med chmod: chmod u+x userlist. När man utför ett kommando på en Unix dator, alstrar skalet en process. En sådan process kan befinna sig i något av tre tillstånd: det kan vara i förgrunden (foreground), det kan vara i bakgrunden (background), eller det kan vara stoppat (suspended). Varje process har dessutom ett id-nummer (PID). Normalt utförs alla kommandon i förgrunden. Men vid behov kan man flytta utförandet till bakgrunden, om det t.ex. tar lång tid, och man vill göra något annat under tiden. Man gör detta genom att först stoppa exekveringen med kommandot Control-Z (i emacs med Control-X d), och sedan flytta det till bakgrunden med kommandot bg. Med kommandot fg flyttar man det på nytt till förgrunden. Information om vilka processer som är aktiva får man med kommandot ps (t.ex ps -u sundius). För att avsluta en process för gott, kan man använda kommandot kill åtföljt av processens PID-nummer (ges av ps kommandot). Om inte kill skulle hjälpa, kan man lägga till optionen -9. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 13

1.1. Om användarlov och datorer i Helsingfors universitet I Helsingfors universitet används fyra slag av datorlov, av vilka två, nämligen mikronätslovet och unixlovet har betydelse för studerande (AD-lovet och det lätta datorlovet, används mer av de anställda). Nya fysikstudenter får först användarlov till mikronätet (mikronätsservern för matematisk-naturvetenskapliga fakulteten är touko), och vid behov även ett unixlov. IT-avdelningens Unix-system ingår sex Unix-datorer som är tillgängliga för vanliga användare. Av dem är kruuna och myntti allmänna datorer, med operativsystemet Sun OS (Unix). Maskinen heavy kör med OSF/1 (Unix) och har matematikprogram (såsom Mathematica, Maple, Matlab etc), och punk.it är en en Linux arbetsstation (CentOS4 system). ruuvi är också en Linux arbetsstation, och rinkka en maskin reserverad för databasprogram (Oracle och Trip). Institutionens webbsidor (http://www.physics.helsinki.fi) finns på servern atom.physics.helsinki.fi. IT-avdelningen har dessutom merän 20 Unix-datorer på Industrigatan, av vilka fem är serverdatorer. Dessa datorer kopplades på sommaren 2005 ihop med unixdatorerna i Gumtäkt till ett gemensamt nät, och de som har ett unixlov kan därför numera tillgång till alla serverdatorerna i Universitetets unixnät. Av dem är kruuna, myntti och punk allmänna serverdatorer, ruuvi är den nyaste och effektivaste av dem, som har matematiska och statistiska program. Dessutom finns den de äldre maskinen sirppi, och otso (reserverad för statistik-program). Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 14

Det gemensamma filsystemet sköts av nili, medan posten sköts av kantti och post.it. Om nili har kraschat, fungerar ingenting. IT-avdelningens webbserver är en kluster som bildas av datorerna brak och teaatti. Nedan visas en översikt av universitetets datanät: Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 15

Kapitel 2. Datornäten Begreppet datornät har olika betydelser. Dels kan man avse ett fysiskt datornät, som betecknar ledningsnätet, som förbinder datorerna, dels kan man avse med det ett logiskt datornät som anger de apparater och programvaran som används för att överföra meddelanden mellan datorerna. Internet-nätet är sålunda en metod att definiera nätadresser, medan Funet är namnet på en organisation som strävar till att utveckla högskolornas datornät i Finland. Datornäten har uppstått ur behovet av att datoranvändare skall kunna kommunicera med varandra och kunna använda datorer på annan ort. Man kan anse att ett av de första datornäten var det time-sharing system, som utvecklades vid M.I.T i USA i början av 1960-talet. I detta system ingick 160 terminaler, som var förbundna med en IBM 7094 dator. Högst 30 terminaler kunde samtidigt vara inkopplade till den centrala datorn, och man kunde förutom att köra program, även skicka meddelanden till andra användare. Nuförtiden skulle man kalla ett dylikt nät för ett lokalt nät (LAN= Local Area Network ). Senare började man också förbinda datorcentraler i olika amerikanska universitet och forskningscentraler med varandra. År 1969 uppstod på detta sätt ARPA-nätet (ARPA = Advanced Research Projects Agency), som underställdes det amerikanska försvarsdepartementet. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 16

I slutet av året var fyra universitet kopplade ihop med varandra. År 1983 spjälktes detta nät upp på två nät, MILNET och ARPANET. Ursprungligen var endast sådana institutioner med i nätet, som finansierades av ARPA, men år 1986 skapades NSFNET som också tillät andra institutioner att delta, vilket småningom ledde till ett globalt nätverk. 1988 anslöts Finland till detta nät. Internet växte genom att flere andra datornät anslöt sig: 1985 hade antalet vuxit till 100, 1989 mer än 500 och 1990 över 2000. Alla dessa nät är baserade på ett gemensamt nätprotokoll, som kallas TCP/IP (protokollet infördes 1982). För att lättare förstå hur nätet fungerar, skulle man kunna jämföra det med ett telefonnät. Men det är inte en bra jämförelse, eftersom man reserverar en linje då man ringer, och ingen annan kan komma in på den linjen ( circuit-switched network ). Ett datornät fungerar snarare som postverket. När man sänder post till en viss destination, blandas den ihop med all annan post som går till samma ställe, och detsamma gäller information som överförs via datornätet. Internet består, som vi sett, av många sammankopplade nät. För att informationen som sänds ut, skall komma fram till den rätta destinationen, används speciella datorer, kallade routers, som kopplar ihop de olika nätverken med varandra. På samma sätt som när man sänder ett vanligt brev, måste man ange en datoradress, för att informationen på datornätet skall gå fram. På samma sätt som postverket har regler som anger hur postväsendet skall fungera, så har också datornätet sina protokoll. Ett av dessa protokoll kallas IP (Internet Protocol), som sköter adresseringen. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 17

En IP-adress består av fyra heltal, som alla är mindre än 256, t.ex. 128.241.7.10. Det finns också nät, som använder andra protokoll, och där skrivs förstås adresserna på ett annat sätt. Början av denna adress (vänstra sidan) anger vilket nät man tillhör, och slutet anger vilken speciell dator som skall ta emot informationen. Av praktiska skäl sänds informationen på nätet ut i form av små bitar, som kallas paket. Paketet innehåller vanligen mellan ett och 1500 tecken. Av denna orsak kan inte enskilda användare lägga beslag på hela nätet. När det belastas kraftigare, upplever alla användare att det blir långsammare. För att paketen skall överföras korrekt, finns det ett särskilt protokoll, som brukar nämnas i samband med IP, nämligen TCP (Transmission Control Protocol). TCP delar upp informationen som sänds ut i bitar, numrerar dem, så att man kan kontrollera den rätta ordningsföljden. Bitarna sätts in i kuvert, och dessa TCP kuvert placeras i sin tur i IP kuvert, och sedan kan informationen sändas iväg. Detta låter bra, men i praktiken kan paket tappas bort, det känner vi till från den normala postgången. TCP försöker klara av också detta problem genom att räkna ut något som kallas checksumma, ett tal som används för att upptäcka fel i överföringen. Om fel upptäcks, måste paketet sändas på nytt. För att inte behöva använda IP-nummer, och göra datornätet användarvänligare, har man infört något som kallas domännätsystemet. Domännamnen skiljs åt av punkter, som t.ex. rock.it.helsinki.fi. Systemet är hierarkiskt, så att det högsta domänet står längst till höger (i exemplet.fi, som betecknar Finland). När man flyttar sig från höger till vänster, kommer till ett allt mindre omfattande domän. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 18

Det lägsta domänet är namnet på en dator (rock i exemplet). Domänet helsinki t.ex. omfattar alla datorer inom Helsingfors universitet, samt en del andra institutioner, som universitetet har goda kontakter med. Internet omspänner numera nästan hela världen. Endast några få länder i Afrika och Asien står numera helt utan någon form av nätförbindelse, de flesta länder kan man åtminstone nå med datorpost av något slag. Nedanstående bild visar förbindelsetätheten på det globala nätet år 2007 (se http://www.chrisharrison.net/projects/internetmap/index.html). Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 19

Det har också funnits andra världsomspännande datornät. Ett av dem är BITNET (Because It s Time Network), som bildades 1981, och ursprungligen kopplade ihop IBM-datorer, men senare även andra typer av datorer. BITNET dog ut 1996 (se även http://en.wikipedia.org/wiki/bitnet). UUCP-nätet kopplade ihop Unix-baserade datorer (UUCP betyder Unix-to-Unix Copy Program, men har nu ersatts av Internet. Ett annat världsomspännande nät, som fortfarande finns, har startats av ADB-amatörer, och kallas Fidonet, eftersom det ursprungligen baserade sig på ett BBS -program som kallas Fido. I detta nät finns nu ca 10000 system som kommunicerar med modem (se också http://www.fidonet.org). Telestyrelserna i många länder har också upprätthållit nätverk, som baserar sig på utbyte av datapaket ( Packet-Switching Networks ). I Finland (TeliaSonera) kallas detta nät DataPak, i USA Telenet (men det torde i det närmaste ha dött ut) etc. Antalet datorer som är anslutna till internet har vuxit mycket kraftigt. anslutna datorer, och antalet fördubblas nästan varje år. År 2005 fanns det över 350 miljoner Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 20

Detta framgår tydligt av diagrammet nedan (lånat ur Hobbes Internet Timeline, som man finner på adressen http://www.zakon.org/robert/internet/timeline/) Antalet användare uppskattades till närmare 1.17 miljarder i juni 2007, eller 18 % av världens befolkning. År 2002 fanns det nätförbindelse till omkring 250 registrerade toppnivåregioner, däribland Antarktis och många Stillahavsöar. Nedan en lista över de 21 regioner, som har flest datorer i Internet (juli 2008): Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 21

net 196958282 (Networks) au 11133768 (Australia) tw 5225094 (Taiwan) com 101422549 (Commercial) nl 10982607 (Netherlands) ca 5119021 (Canada) jp 39909473 (Japan) edu 10842322 (Educational) ru 4822137 (Russia) de 22606423 (Germany) mx 10652806 (Mexico) fi 3877377 (Finland) it 17701896 (Italy) br 9572594 (Brazil) be 3840666 (Belgium) cn 14306332 (China) uk 8269443 (United Kingdom) ar 3812544 (Argentina) fr 14255604 (France) pl 7808316 (Poland) dk 3641667 (Denmark) Totalantalet datorer var då 570937778. Vill man veta mera, kan man t.ex. titta på http://ftp.isc.org/www/survey/reports/2008/07/. Postförmedlingen har i våra dagar revolutionerats på grund av datorer och datornät. Via datornätet kan man sända post till Australien på kanske mindre än en minut, som normalt räcker över en vecka med vanlig flygpost. Av denna orsak brukar vanlig post ofta kallas snigelpost (eng. snail mail ) av dem som ofta skickar post via datornäten. Detta förutsätter givetvis, att alla förbindelser fungerar, och att mottagaren genast har möjlighet att läsa meddelandet, vilket inte alltid är möjligt, på grund av tidsskillnaden. För att kunna skicka e-post (eller datorpost), måste man kunna koppla in sig till en dator, som förmedlar datorpost (en annan möjlighet är att använda någon utomstående förmedlare av internättjänster, såsom t.ex. iki.fi eller hotmail.com). Det finns också program för förmedling av datorpost, som fungerar på en mikrodator, men de fordrar vanligen förbindelse med en dator, som är inkopplad i datornätet för att fungera. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 22

Det vanligaste e-postsystemet i universitetet är numera mappi. Det kan användas på olika sätt, t.ex. med en vanlig webbläsare (webmail) eller ett särskilt program (t.ex. Mozilla Thunderbird eller Microsoft Outlook). Mappi använder imap-protokollet, som är säkrare än det tidigare använda pop-protokollet. Ett problem med e-post nuförtiden är skräpposten, som också kan innehålla virus och maskar. Universitetet har därför tagit ibruk filter, som gör det lättare att bli av med skräpet. Vilka fördelar har man då av e-post? Förutom att skicka brev till en person, så kan man lätt skicka samma brev till flera (cirkulärbrev). Om personen man brevväxlar med, är van att arbeta med datorer, kan man vänta sig snabba svar. Ofta är ett datorbrev mera praktiskt än en telefonuppringning, eftersom mottagaren inte behöver finnas på plats när meddelandet kommer, och han (eller hon) kan läsa det när det finns tid därtill. Man kan också kommunicera via möten och diskussionslistor (som beskrivs senare), och använda e-post för att överföra filer. Vill man sända stora datamängder, är det ofta bäst att dela upp informationen på mindre filer, eftersom många datorsystem har begränsade möjligheter att ta emot (eller sända) långa meddelanden. Binära filer kan i allmänhet inte sändas direkt, utan maskeras till ASCII (vilket numera görs automatiskt av postprogrammet) och skickas som en bilaga. (Härtill kan tilläggas, att nya metoder för sändning av binär information i datorbrev, också bilder och ljud, håller på att utvecklas). Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 23

För att kunna sända datorpost till en mottagare t.ex. i ett annat land, måste man känna personens datoradress. Denna har att göra med adresseringen av datorer på det internationella datornätet, som vi behandlar senare i kapitlet. Adressen för en datoranvändare kan sålunda anges som t.ex. Kalle.Karlsson@Helsinki.fi. En dylik adress kan ange en (hypotetisk) datoranvändare i Helsingfors Universitet. När man sänder ett brev med en sådan adress, kommer det att mottas av universitetets postdator. Den kommer att söka efter Kalle.Karlsson i sin adresskatalog (punkten mellan förnamn och tillnamn finns bara där på grund av att postsystemet inte godkänner mellanrum). Om Kalle.Karlsson finns i katalogen, kommer meddelandet att gå vidare till den dator, som personen ifråga önskar få posten sänd till, om inte, kommer brevet att sändas tillbaka till avsändaren. Det speciella tecknet @, som ingår i adressen, brukar vi ofta kalla mjau, eftersom det liknar en katt med hoprullad svans, medan det i Sverige kallas snabel-a och kanelbulle ( kärt barn har många namn ). Nätadresser kan också se annorlunda ut. T.ex. enligt X.400-protokollet skulle Kalle Karlssons adress bli: /G=Kalle /S=Karlsson /O=helsinki /ADMD=fumail /C=fi/, vilket verkar ganska krångligt. I BITnet fanns inga domäner. Datorerna hade namn, som vanligen inte följde någon speciell regel (utom att de första bokstäverna kunde överensstämma med landskoden). Inom BITnet angavs en adress därför endast t.ex. som USER@HOST. För att kunna sända ett meddelande via internet till en sådan adress, måste den därför skrivas i formen user@host.bitnet. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 24

Också adresser inom FIDOnätet kan nås via internet (se t.ex. http://fidonet.fidonet.org). För en användare på en databox (BBS) med en FIDO-adress av formen i : j/k.l kan man använda internetadressen förnamn.tillnamn@pl.fk.nj.zi.fidonet.org. Om den inte fungerar, måste man använda en portdator (gateway). En portdator är en dator som ingår i två nät samtidigt. Om name@host är en adress som inte förstås på internet, men det finns en portdator, så kan man försöka sända meddelandet till name%host@gate.way, där gate.way anger portdatorns internet-adress. Hur får man reda en datoradress? Om personen man vill kontakta använder en dator i Helsingfors Universitet, kan man använda servern http://www.helsinki.fi/mainari/ för att få reda på adressen (oftast gäller förnamn.tillnamn@helsinki.fi). Andra högskolors web-servrar har ofta också elektroniska kataloger. Man kan också använda sig av olika web-sökmaskiner (http://www.altavista.com, http://www.google.com/, http://www.alltheweb.com etc.) och söka på namnet. Det är också möjligt att flytta information genom filöverföring. På Internet kan man överföra filer också från datorer som man inte har användarrättighet, ifall de tillåter s.k. anonym ftp. Många av de datorer, som erbjuder denna tjänst, har mycket rikhaltiga programbibliotek. Det finns förteckningar över datorer, som tillåter sådan anonym ftp. Dessa tjänster består bl.a. i möjligheten att kopiera public domain (PD) eller share ware program från programbibliotek på datorer som tillåter anonym ftp. Om man inte har tillgång till en dator kopplad till Internet, så finns det också en möjlighet att beställa program via datorpost. Binära program måste i sådana fall vara maskerade till ASCII (sker med ett program som kallas UUENCODE). Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 25

Vi skall senare studera filöverföring i mera detalj. För att göra det lättare att hitta PD program på internet, användes förr ett program som kallas archie. En archie-server är en dator, som innehåller en databas med filkataloger från ett tusental datorer som tillåter anonym ftp. Med hjälp av ett klientprogram (som existerar för många slags datorer) kan kontakta en archie-server och söka i dess databas. Databasen uppdaterades med jämna mellanrum, allteftersom filkatalogerna förändrades. Nuförtiden är det dock mycket bekvämare att använda t.ex. Google för att söka efter filer på nätet. På Internet finns det också datorer som erbjuder speciella tjänster. Man kan t.ex. koppla in sig till en dator för att leta i en bibliotekskatalog, eller för att söka reda på adressen till någon som man önskar sända datorpost till. Många bibliotek har numera sina kartotek databehandlade, och ger ut denna information via datorer, som är anslutna till datornätet (t.ex. Helsingfors Universitets HELKA, LINDA, MELVYL i USA etc). De används enklast via webben (se t.ex. http://www.helsinki.fi/kirjastot, där du väljer portalen NELLI). Ett informationssystem, som utvecklades i University of Minnesota och som blev mycket populärt inom Internet hösten 1992 är Gopher. Gopher kan betraktas som en distribuerad databas, som kopplar ihop många olika informationssystem (ca 8000 under sina glansdagar) i hela världen med varandra. Gopher har emellertid numera förlorat i betydelse på grund av WWW (World-wide Web), som erbjuder så mycket större möjligheter. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 26

WWW är ett informationsnät som baserar sig på hypertext, en speciell typ av dokument, där man kan få ytterligare information om speciella ord i texten genom att de länkas ihop med andra dokument, som kan innehålla text, bilder eller länkar till andra datafiler som kan laddas ned. Vi skall senare studera detta system mera ingående. Till det unix-baserade datornätet UUCP hör en nätverksorganisation, som kallas UUNET. Denna sköter bl.a. om datorpost (UUCP mail) samt USENET news som är ett system för utbyte av meddelanden inom olika nyhetsgrupper. USENET news distribueras numera av Internet, så att man kan läsa nyhetsgrupperna på många andra datorer. Nyhetsgrupperna är organiserade i olika kategorier, bland vilka de viktigaste är följande: comp: programmering, datorer och allmän datalogi sci: vetenskapliga ämnen soc: samhälleliga ämnen talk: allmän diskussion (t.ex. politik) news: ämnen som berör nyhetsnätet rec: hobby och rekreation misc: ämnen som inte passar in i de andra grupperna För att läsa diskussionsinlägg, och också posta egna, kan man använda postprogrammet pine som finns på de flesta UNIX-datorer, eller Google. Introduktion till vetenskapliga beräkningar I, Tom Sundius 2009 27