Introduksjon til operativsystemer

Like dokumenter
Hvorfor operativsystemer? Introduksjon til operativsystemer. Samtidighet. Praktiske hensyn. Kjell Åge Bringsrud INF103

Generelt om operativsystemer

Generelt om operativsystemer

Scheduling og prosesshåndtering

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

1. Introduksjon til operativsystemer

Operativsystemer og grensesnitt

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Introduksjon til kurset og dets innhold

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

Definisjon av prosess

Tildeling av minne til prosesser

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Tildeling av minne til prosesser

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

Operativsystemet Internt

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen

Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Generelt om permanent lagring og filsystemer

HØGSKOLEN I SØR-TRØNDELAG

Datamaskinens oppbygning

Operativsystemer To eksepmler

INF2270. Input / Output (I/O)

6105 Windows Server og datanett Jon Kvisli, HSN Skriveradministrasjon - 1. Utskrift i nettverk

UNIVERSITETET I OSLO

INF2270. Input / Output (I/O)

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

6105 Windows Server og datanett

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker.

Håndtering av minne i et OS

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Læringsmål og pensum. v=nkiu9yen5nc

iseries Innføring i Client Access Express

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

Minnehåndtering i operativsystemer

1. Introduksjon til operativsystemer

Hvor holder dere til? Hvis vi trenger hjelp, hvor nært er dere? Tar det lang tid å få hjelp fra tekniker?

Minnehåndtering i operativsystemer

Filer i Linux og Bourne-again shell

Programmeringsspråket C Del 3

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Programmeringsspråket C Del 3

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.

Tildeling av minne til prosesser

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

VMware ESX og krav til hardware

Hva er en fil logisk sett?

Filhåndtering. Fysisk organisering av filer. Hva er en fil logisk sett? Eksempel: Post (record) orientert fil. Kjell Åge Bringsrud INF 103

Eksempler på ikke-blokkerende systemkall:

1. Installasjon av Novell Netware 6 server

Kjenn din PC (Windows 7)

IBM Operasjonsnavigator

Det matematisk-naturvitenskapelige fakultet

6105 Windows Server og datanett

6105 Windows Server og datanett

6105 Windows Server og datanett

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

6105 Windows Server og datanett

UNIVERSITETET I OSLO

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP)

Installasjon av talemeldinger

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Filer i Linux og Bourne-again shell

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hvorfor lære om maskinvare*?

Innføring i Linux. Operativsystemer

Kjenn din PC (Windows7)

Applikasjonsutvikling med databaser

- analyse og implementasjon

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Filsystemet fra innsiden

Programmeringsspråket C Del 3

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Oppsummering av digitalteknikkdelen

Brukerprogram OS hardware

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til IKT. Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap

"How I hate this damned machine, I wish that I could sell it, It never does what I want it to, But only what I tell it".

Introduksjon...5. Systemkrav...7. For Windows...9

4.1. Kravspesifikasjon

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde

PXT: Hermegåsa. Steg 1: Sjekk at du har riktig utstyr. Sjekkliste. Introduksjon

Du har sikkert allerede startet noen programmer ved å trykke på kontrollknappen. VINDUER = WINDOWS

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

Brukerveiledning for programmet HHR Animalia

Oppløsning vil si antallet pixler det er i skjermen, i min skjerm er det 2560x1600px.

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

DDS-CAD 7 INSTALLASJON AV NETTVERKSLÅS. DATA DESIGN SYSTEM ASA Øksnevad Næringspark, 4353 Klepp st., fax , tel.: , e-post: dds@dds.

Her velger dere først System and Security og deretter System.

Transkript:

Introduksjon til operativsystemer Kjell Åge Bringsrud INF103 Introduksjon Operativsystemer 1

Hvorfor operativsystemer? Hardwaren i en enkelt maskin er i prinsippet i stand til å utføre ett program Når maskinen slås på begynner den å utføre en og en instruksjon som er lagret på en eller annen måte Når siste instruksjon ( stopp ) er ferdig stopper hele maskinen. Men... Hvordan kom programmet inn i maskinen i utgangspunktet? Innholdet i RAM blir jo borte når man slår av maskinen. Det må altså være et program inne i maskinen allerede før den starter å kjøre et program...? Introduksjon Operativsystemer 2

Praktiske hensyn Det må være mulig å laste inn, starte og avslutte programmer uten at maskinen slår seg av. Det er upraktisk at programbiter som alle programmer trenger må være inneholdt i hvert enkelt program I/O kontroll av skjerm, tastatur, disker, nettverk... Brukergrensesnittet til maskinen bør være enklere enn at man må skrive et program for hver enkelt ting man ønsker å gjøre. Filsystemer, kopiering, flytting og sletting av filer Utskrift av filer til skjerm eller skriver... Introduksjon Operativsystemer 3

Samtidighet Bedre utnyttelse av maskinen ved at Man kjører flere programmer samtidig Skriver i en teksteditor samtidig som mailsystemet sjekker om det er mail til deg, og Klokken på skjermen oppdateres hvert sekund... Flere brukere på samme maskin Flere kan være logget inn på mjollnir samtidig Hver av disse kan kjøre flere programmer Flere prosesser på samme maskin En som trenger mye diskio (Web-server), og en som trenger mye CPU-kapasitet (f.eks. vitenskapelige beregninger) Introduksjon Operativsystemer 4

Samtidighet De forskjellige former for samtidighet gir tilleggsproblemer Hvordan kjøre flere programmer samtidig på en CPU? Hvordan sørge for at de forskjellige programmene ikke går i bena på hverandre (overskriver hverandres data f.eks.) Hvordan kontrollere de forskjellige programmenes tilgang til skjerm, disk, skriver, nettverk? Denne forelesningen gir innsikt i hva et operativsystem er, og hvordan det kan løse slike problemer Introduksjon Operativsystemer 5

Basis Operativsystem Et eller flere programmer Hvorav ett er det som startes når maskinen slås på Aksepterer og utfører kommandoer og forespørsler fra brukeren og fra brukerens programmer Det laster, kontrollerer og eksekverer programmer Styrer bruken av hardwareressurser på maskinen Introduksjon Operativsystemer 6

Komponenter Brukeren får tilgang til maskinen gjennom et shell eller et grafisk grensesnitt som er en del av operativsystemet Applikasjonsprogrammene får tilgang til hardwareressurser gjennom skedulering og operativsystemkall Introduksjon Operativsystemer 7

Operativsystemtjenester Operativsystemet må inneholde Grensesnitt både for bruker og for applikasjonsprogrammer Støtte for filer. (filsystem, filadministrasjon) Støtte for I/O som kan benyttes av alle programmer (til tastatur, skjerm, nettverkskort...) Oppstartsrutiner (bootstrap/boot) Støtte for nettverksfunksjonalitet (IP, TCP...) Støtte for samtidighet Introduksjon Operativsystemer 8

Sammenheng mellom enkelte komponenter. Introduksjon Operativsystemer 9

Resident / non Resident RAM er en begrenset ressurs, så det er bare deler av operativsystemet som er lastet inn til enhver tid. Inneholder typisk kommandotolkeren, avbruddshåndtering pluss enkelte andere komponenter Dette kaller vi den residente delen. Den non-residente delen av operativsystemet blir bare lastet inn når den trengs Disk-formatering f.eks. Bootstrap-koden er i de fleste maskiner lagret i ROM Inneholder kode for å laste den residente delen av operativsystemet inn i RAM, og starte den. Kjøres automatisk når maskinen slås på. Introduksjon Operativsystemer 10

Single-user single-task Er knapt i bruk lenger MS-DOS er et eksempel Vi studerer allikevel denne modellen innledningsvis, da den er et naturlig føsrte skritt i retning av mer moderne operativsystemer. Introduksjon Operativsystemer 11

MS-DOS Resident del består av tre komponenter: Kommandogrensesnittet/shell Inneholder en del av de viktigste kommandoene De mindre viktige kommandoene er non-resident Ligger på filen COMMAND.COM I/O-rutiner Deler av dette ligger i BIOS som er lagret i ROM Tilleggsfunksjonalitet lastes fra filen IO.SYS Filsystemet Ligger på MSDOS.SYS Introduksjon Operativsystemer 12

Utlegg av minne i MS-dos Legg merke til at operativsystemet okkuperer en veldefinert del av hukommelsen Applikasjonsprogrammene får det som blir igjen Detaljene i dette utlegget er ikke så viktige, men prinsippene om deling mellom OS og applikasjoner er almengyldige. Introduksjon Operativsystemer 13

En arbeidsiterasjon i et slikt system Introduksjon Operativsystemer 14

En arbeidsiterasjon i et slikt system forts Introduksjon Operativsystemer 15

Men hvordan får OS tilbake kontrollen? Ved at programmet terminerer. Dvs. At den overfører kontrollen tilbake til kommandoløkken. Når programmet utfører en fil- eller en annen I\O-operasjon Programmet anmoder operativsystemet om å utføre operasjonen for seg. Dette tillater OS å utføre noen sikkerhetssjekker. Når brukeren ønsker å avbryte kjøringen Dette er av og til nødvendig, f.eks. ved evige løkker... I mange OS er dette knyttet til kombinasjonen Control-C Introduksjon Operativsystemer 16

Multitasking Dette er et begrep som er knyttet til at en maskin (og dermed et OS) kan ha flere programmer som kjører samtidig. De aller fleste operativsystemer idag er multitasking Med mulig unntak for enkelte mobiltelefoner og håndholdte maskiner. Multitasking presenterer en rekke tilleggsutfordringer til operativsystemer Fordeling av CPU-tid, tilgang til disk, RAM etc. Introduksjon Operativsystemer 17

CPU-skedulering Utnytting av venting på I/O, og time/slicing. Introduksjon Operativsystemer 18

Byggestener i et OS 1. Grensesnitt mot applikasjonsprogrammer og bruker 2. Filsystem 3. I/O kontrollsystem 4. Prosesskontrollsystem og interprosesskommunikasjon 5. Minneadministrasjon 6. Skedulering 7. Diskadministrasjon 8. Systembeskyttelse 9. Nettverksfunksjonalitet 10. Støtte for systemadministrasjon Introduksjon Operativsystemer 19

Merk Listen av byggestener er ikke absolutt Enkelte OS mangler enkelte av delene Andre OS har tillegsmoduler Monitor for hele systemet Feilhåndtering... Noen moduler er synlige for sluttbruker Spesielt brukergrensesnittet Andre er interne, men de fleste modulene har et API som gjør tjenestene deres tilgjengelige for applikasjonsprogrammer. Introduksjon Operativsystemer 20

Brukergrensesnitt Kommandolinjebasert MS-DOS UNIX C-shell, Bourne shell, etc. Flere shell mulige på samme tid, ikke tett integrert i OS. Tillater scripting Filer med shell-kommandoer og flyt-kontroll uttrykk Kan kjøres som programmer Grafisk Basert på musklikk, musbevegelser og rullgardinmenyer Enkelt å lære, lett å bruke Vanskeliggjør integrerte scripting muligheter (jfr. Mackintosh sin gamle opptaks funksjon). Introduksjon Operativsystemer 21

Filsystem En fil er en logisk lagringsenhet identifisert ved et navn Logisk først og fremst for den som har laget filen Et filsystem kobler hver logiske lagringsenhet til detfysiske stedet der den er lagret. Filsystemets oppgaver er Vedlikeholde kataloger over filer og ledig diskplass, og over hvor disse er lokalisert. Tilby muligheter til å manøvrere i filstrukturen, flytte, kopiere, lese og fjerne filer Sikkerhetsmekanismer som beskytter filer mot uautorisert tilgang og endring. Skjule egenskapene til underliggende hardware (Disk og diskett skal kunne brukes på samme måte). Introduksjon Operativsystemer 22

I/O kontrollsystem Består av drivere for hver enkelt ekstern fysisk komponent i systemet. Skriver, nettverkskort, scanner... Enkelte av driverene ligger i ROM slik at de kan benyttes under bootstrap Tastatur, skjerm, enkle disk-funksjoner. Drivere for nyinstallert hardware må legges til og integreres i OS. Når du har kjøpt ny skriver må du ofte installere driveren, og så starte maskinen på nytt. Filsystemet bruker disk-driveren til å skrive data til forskjellige sektorer på disken. Introduksjon Operativsystemer 23

Prosesskontroll En prosess er (noe forenklet) et program som kjører. Hver prosess har noen attributter som OS må administrere Plass i hukommelsen, programteller, registerverdier, åpne filer etc. Hvorvidt den kjører, venter på I/O, er klar til å kjøre, er terminert. Prosesskontrollen står for denne administrasjonen, samt for interprosesskommunikasjon. Introduksjon Operativsystemer 24

Minneadministrasjon Har oppgaven med å laste inn programmer i minnet på en slik måte at alle lastede programmer får tilstrekkelig med hukommelse. Holder rede på hvilke deler av hukommelsen er brukt av hvilke programmer Holder rede på ledig hukommelse Hindrer programmer i å skrive og lese utenfor sitt område. Vedlikeholder køer av programmer som venter på å få tildelt hukommelsesplass Allokerer hukommelse til førstemann i køen når et blir plass Deallokerer hukommelsen til et program som har terminert. Introduksjon Operativsystemer 25

Skedulering OS må allokere CPU tid til hvert enkelt program som kjører. Høy-nivå skedulering Velger programmer som skal få lov til å legges i prosesseringskøen. (for mange aktive programmer får hele systemet til å gå tregere) Dispatching Valg av prosess i prosesseringskøen som slipper til CPU en nå Introduksjon Operativsystemer 26

Skedulering forts. Dispatching skjer i henhold til systempolicy Alle får like mye, eller Totalytelsen til systemet skal bli best mulig, eller Noen programmer har høyere prioritet enn andre Dispatcher foretar også kontekstbytte Bytte av den prosessen som er aktiv på CPU en Kan være preemptive, eller non-preemptive. Introduksjon Operativsystemer 27

Diskadministrasjon Skedulerer diskforespørsler fra forskjellige brukere og programmer for å bedre ytelsen Det enkleste er en FIFO kø. Lønner seg ikke med tanke på at disk-lesing krever fysisk vandring av disk-hodet. Tar ikke hensyn til at prosesser kan ha forskjellig prioritet. Diskadministratoren kan velge å lese alle etterspurte datablokker i en ende av disken, før den lese data fra den andre enden. Introduksjon Operativsystemer 28

Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer bare aksessere data i sitt eget hukommelsesområde direkte. Tilgang til andre fasiliteter (Disk, I/O andre deler av hukommelsen) må den be operativsystemet om å utføre for seg, eller om lov til å benytte. Dette gir OS full kontroll over hvordan hver enkelt ressurs benyttes av hvert enkelt program Operativsystemet tildeler rettigheter til brukerprosessene i en egen beskyttet modus. Dette er gjerne støttet i hardware ved design av CPU en. Introduksjon Operativsystemer 29

Nettverksfunksjonalitet Bygger på I/O-tjenestene Implementerer kommunikasjonstjenester på toppen av disse IP TCP Filoverføring Telnet/fjerninnlogging Fjernprosedyrekall... Introduksjon Operativsystemer 30

Systemadministrasjon Konfigurering av systemet Montering og avmontering av disker Fordeling av diskplass Max. Størrelse på køer etc. Brukeradministrasjon Oppretting og fjerning av brukere Tildeling av rettigheter... Introduksjon Operativsystemer 31

Systemgenerering Tilpassing av et operativsystem til en gitt installasjon/maskin Ta med bare de drivere som er nødvendige Ta med bare de modulene som trengs Parametrisere antall samtiditge brukere, interrupt kanaler etc. Fleksibiliteten varierer fra OS til OS Noen OS gir full tilgang til kildekode (Linux) Andre tar systemgenereringsparametre fra en fil Atter andre avføler systemet ved oppstart, og installerer de komponenter som trengs. Introduksjon Operativsystemer 32

OS-organisering Ingen standardisert enighet-slik som det for eksempel er for kompilatorer og kommunikasjonsprotokoller Tre vanlige modeller Monolittisk Lagdelt, hierarkisk mikrokjerne Introduksjon Operativsystemer 33

Monolittisk F. eks UNIX Residente deler av systemet ligger i en monolittisk kjerne Tilgang til disse er styrt gjennom shell Tilleggsmoduler ligger utenpå disse igjen Ulempen med en monolittisk kjerne er stabilitet og integritet en defekt driver kan ta livet av hele systemet. Introduksjon Operativsystemer 34

Lagdelt Det ytterste laget er det eneste som er synlig for brukeren Hvert lag bruker tjenester fra lagene innenfor, aldri omvendt Inneffektivt med mange kall utenfra og inn Fordeler er stabilitet og integritet. Introduksjon Operativsystemer 35

Mikrokjerne Kjerne med minimal funksjonalitet (avbruddshåndtering, hukommelses-administrasjon, skedulering) Andre tjenester i moduler. Kjernen bruker modulene etter en klient-tjener modell Fordel med modulært design moduler kan byttes ut, portabelt, utvidbart Mye meldingsoverhead Introduksjon Operativsystemer 36

Operativsystemkategorier Single-user, single-tasking Historisk viktig, men sjeldne nå (unntatt i enkelte PDA er) Single-user, multitasking De fleste PC er og arbeidsstasjoner er konfigurert slik, selv om de kan konfigureres som flerbrukermaskiner. Multiuser, multitasking Gamle stormaskiner. OS for mindre maskiner har gjerne funksjonaliteten som skal til, men bortsett fra enkelte tjenere er det sjelden i bruk. Introduksjon Operativsystemer 37

Operativsystemkategorier forts. Distribuerte operativsystemer Under rivende utvikling Støtte for administrasjon av distribuerte ressurser. Støtte for Remote Method Invocationn (F. Eks CORBA) Nettverkstjenere. Ligner flerbrukersystemer på mange måter, men er hovedsaklig belastet med å betjene klienter over et nettverk. Backup, databasetjener, skrivertjenester etc. Benyttes gjerne som multiuser-maskiner i tillegg. Introduksjon Operativsystemer 38

Operativsystemkategorier forts. Sanntids-systemer Brukes til anvendelser med harde sanntidskrav Styring av fly, kjernereaktorer etc. Gir svært høy prioritet til avbrudd for prosessering av sanntids programmer. Innbakte (embedded) systemer Spesialisert for å kontrollere en enkelt type utstyr en bil, en mobiltelefon, en mikrobølgeovn, en innbruddsalarm, en... Introduksjon Operativsystemer 39

Historisk utvikling De første maskinene Slutten av 40-tallet: Intet operativsystem En ingeniør programmerte maskinen ved hjelp av ledninger eller brytere Slutten av 50-tallet Lastet inn programmer vha. kortlesere 1963 Burroughs Master Control Program Høynivå språk Virtuelt minne Introduksjon Operativsystemer 40

Historisk utvikling forts. 1964 IBM OS/360 Enkel multiprosessering og skedulering (MULTICS og) UNIX Multitasking, time-sharing, hierarkisk filsystem, C, interprosesskommunikasjon, enkle nettverksfasiliteter, og enkel støtte for distribusjon. På 70-tallet XEROX PARC, senere Apple Grafisk brukergrensesnitt Introduksjon Operativsystemer 41

Historisk utvikling forts. 1982 IBM Personal Computer PC-DOS/MS-DOS Back to basic Single user- single task Vikig på grunn av sin utbredelse Senere forbedret på mange punkter Forbedringene inspirert av UNIX (hierarkisk filstruktur, kommandoset, memory-håndtering etc.) og av Macintosh OS (brukergrensesnitt, vindussystem). Introduksjon Operativsystemer 42

Fremdeles rom for utvikling Maskiner tas i bruk på nye områder i stadig høyere tempo Høyere ytelse på hardware-komponentene stiller nye krav til OS hva gjelder å gjøre denne ytelsen tilgjengelig for brukerene. Nye anvendelser med sanntidskrav stiller OS overfor nye utfordringer. Internettet åpner for distribuert prosessering. OS er en sentral komponent i realiseringen av mulige fremtidige anvendelser. Introduksjon Operativsystemer 43