Inneh ll operativsystemarkitekturer processer kommandotolkar
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 2 - 4.11.2010 PowerPoint PPT Presentation


  • 94 Views
  • Uploaded on
  • Presentation posted in: General

INNEHÅLL Operativsystemarkitekturer Processer Kommandotolkar. OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 2 - 4.11.2010. Operativsystemarkitektur. Operativsystem är otroligt stora (i Mb) och komplexa OS/360 (En av de första operativsystemen som utvecklades av IBM)

Download Presentation

OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 2 - 4.11.2010

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Inneh ll operativsystemarkitekturer processer kommandotolkar

INNEHÅLL

Operativsystemarkitekturer

Processer

Kommandotolkar

OPERATIVSYSTEM OCH PRAKTISK LINUXFöreläsning 2 - 4.11.2010


Operativsystemarkitektur

Operativsystemarkitektur

Operativsystem är otroligt stora (i Mb) och komplexa

OS/360 (En av de första operativsystemen som utvecklades av IBM)

utvecklades av ca 5000 olika programmerare under en period av fem år

och innehöll drygt 1 miljon rader kod!!!

Linux-kärnan (med Linus Torvalds som chefsutvecklare) har tusentals

programmerare världen över

Version 2.6.22 av Linuxkärnan , lanserad i Juli 2007, innehåller

8 259 076 rader vilket är tre miljoner fler än i version 2.4.22 som lanserades

2003

Jämfört med andra operativsystem är Linux litet!!


Operativsystemarkitektur1

Operativsystemarkitektur

Finns i huvudsak fyra olika arkitekturmodeller

Monolitisk

Skiktad

Mikrokärna

(Den virtuella maskinen)


Monolitisk arkitektur

Monolitisk arkitektur

Många program och operativsystemkärnor brukar beskyllas för att vara

monoliter!!!

Med monolit menas att hela programmet består av ett block med kod

Varje del är innesluten i kerneln och kan direkt kommunicera med andra

delar, t.ex. Filsystemet kan direkt kalla på minnesallokeringssystemet

De flesta monolitiska operativsystemkärnor är dock inte till arkitekturen rena

monolitkonstruktioner

Utvecklarna har i stället ofta skapat en logisk struktur som placerar viss

funktionalitet i block och sedan blocken i ett antal lager/skikt


Skiktad arkitektur

Skiktad arkitektur

I praktiken realiseras ofta lagerbaserad/skiktad struktur på det sättet att

källkoden delas in i olika underkataloger och så finns det regler för vilka

variabler som får användas och vilka funktioner som får anropas

En äkta skiktad konstruktion är dock baserad på ett antal lager där ett lagar

bara kan anropa ett angränsande lager och bara genom ett visst antal

förutbestämda anrop


Mikro och nanok rnor

Mikro- och nanokärnor

Tanken är att själva kärnan endast skall hantera den mest basala

funktionaliteten och att allt annat skall skötas av processer som exekveras

utanför kärnan

Funktionaliteten är uppdelad så att mikrokärnan har ansvar för att skicka

meddelanden mellan alla processer + att schemalägga dem

Resten av funktionaliteten sköts av serverprocesserna

I vissa fall har mikrokärnan inte ens ansvar för att schemalägga

processerna (kallas för nanokärna)


Mikrok rna vs monolitisk k rna

Mikrokärna vs monolitisk kärna

En monolitisk kärna är mycket effektivare eftersom ingen kommunikation

behövs mellan olika serverprocesser (kärntrådar)

En mikrokärna är dock mycket stabilare och har klarare design

(För ett praktiskt exempel, se sid 55-56 i kursboken)


Arkitekturen i windows och linux

Arkitekturen i Windows och Linux

Windows

Ursprungligen baserat på en mikrokärna

Har modifierats mot monolitisk konstruktion bl.a. p.g.a kravet grafikprestanda

Linux

Ursprungligen designad av Linus enligt den monolitiska arkitekturen

Fick kritik bl.a. av Tanenbaum (pappan bakom Minix)

Rör sej dock mer och mer mot en mikrokernelkonstruktion

Kerneltrådar (servrar)

Moduler


Virtuell omgivning f r operativsystem

Virtuell omgivning för operativsystem

Inte egentligen en operativsystemarkitektur enligt den rätta bemärkelsen

men ändå värt att nämnas!

Ett tidsdelande system (timesharing system) erbjuder en exakt kopia av

den existerande hårdskivan till en virtuell dator

Innebär att på en fysisk dator kan man köra många virtuella datorer där alla

datorer i princip har samma hårdvara som värddatorn

De olika virtuella maskinerna kan köra olika operativsystem

Exempel på virtualiseringsprogramvara är VMWare Server och WMWare

Player


Virtuell omgivning f r operativsystem1

Virtuell omgivning för operativsystem


Processhantering

Processhantering

En process är ett program som exekveras på en dator

En process blir till/startas på flera olika sätt:

Av operativsystemet vid uppstart av dator (t.ex. en printerserver-process)

Av en annan process

Interaktivt av en användare

Operativsystem

Operativsystem

Printerserver

Terminal

Pico


Processhierarkin i linux

Processhierarkin i Linux

I Linux upprätthålls en processhierarki som ser ut ungefär som ett släktträd:

Föräldraprocess

Barnprocess

Barnprocess

Barnbarnproc.

Barnbarnproc.

Barnbarnproc.

Barnbarnproc.


Processhierarkin i linux1

Processhierarkin i Linux

Init-processen är förälder till alla processer i Linux-systemet

Init (process 1)

Barnprocess

Barnprocess

Barnbarnproc.

Barnbarnproc.

Barnbarnproc.

Barnbarnproc.


Processhierarkin i linux2

Processhierarkin i Linux

En process kan ha flera barn men endast en förälder

En föräldraprocess i Linux känner till alla sina barnprocesser och

tillsammans kallas dessa för en processgrupp

Om en föräldraprocess ”kraschar” förvandlas barnen till s.k.

”orphanprocesser” (föräldralösa)

Barnen ”adopteras” i detta fall av init-processen

En annan variant av processer är zombie- eller ”defunced-” processer:

En process som utfört sin uppgift men som inte fått sin avslutningsstatus avläst av sin förälder

Uppstår t.ex. Om en föräldraprocess fastnat i en oändlig loop


Processhantering schemal ggare

Processhantering: Schemaläggare

En processor i en dator är inte speciellt smart

Processorn utför helt enkelt bara de uppgifter den blir tilldelad

Det är operativsystemets uppgift att tilldela uppgifter åt processorn

Man kan jämföra en processor med metalldetektorn i säkerhetskontrollen

på ett flygfält!

Metalldetektorn är processorn

Varje människa i kö är en instruktion i en process som i tur och ordning ska hanteras av processorn

I multiprogrammering system har vi flera processer (köer) och instruktioner (människor i kö) och plockas från de olika processerna(köerna) i tur och ordning enligt operativsystemets schemaläggare


Processhantering schemal ggare1

Processhantering: Schemaläggare

Dagens operativsystem möjliggör exekvering av flera program samtidigt

Dagens datorer kan inte göra detta!!!!! (skulle i så fall behövas minst lika

många processorer som exekverande program)

Operativsystemet möjliggör dock samtidig exekvering m.h.a.

multiprogrammering:

Multiprogrammering innebär att vi har en schemaläggare som föredelar

processortiden mellan de olika processerna som körs på datorn


Processhantering schemal ggare2

Processhantering: Schemaläggare

Schemaläggarens grunduppgift är att se till att alla processer får tillgång till

datorns processor så att de kan utföras


Processhantering schemal ggare3

Processhantering: Schemaläggare

Mera faktorer en schemaläggare bör ta hänsyn till:


Vad r en kommandotolk

Vad är en kommandotolk?

Man kan säga att kommandotolken fungerar som en länk mellan

användaren och operativsystemet

Hanterar information som användaren skriver in från tangentbordet


Vad r en kommandotolk1

Vad är en kommandotolk?

Brukar även kallas kommandoskal eller “command shell” på

engelska

Är precis vad namnet säger, dvs. ett program som tolkar de

kommandon som en användare ger och utför kommandona på

enligt operativsystemet det bästa sättet

Det goda med kommandotolken i Linux är att man kan via den

effektivt använda operativsystemet såsom:

hantera filer

hantera processer

skapa automatiska processer (t.ex. backup-kopiering av filer)‏

konfigurera operativsystemet (uppstartskript odyl.)‏


Shellskript

Shellskript

Förutom kommandon klarar kommandoskalet av att även tolka

s.k. shellskript som är en sorts tolkat programspråk

Ett shellskript skapas av vanliga kommandotolkskommandon som

sparas i en fil med exekveringsrättigheter (chmod 700 filnamn)‏

Ett skript kan t.ex. användas för att:

att köras vid systemstart för att starta upp vissa program/processer automatiskt.

skapa automatiska backup kopior av en viss katalog i filsystemet


Olika kommandotolkar

Olika kommandotolkar

Det finns flera olika kommandotolkar (program för att tolka

kommandon) i Unix/Linux-världen, bl.a:

Bourne Shell (/bin/sh)‏

Bourne Again Shell (/bin/bash)‏

C Shell (/bin/csh)‏

Korn Shell (/bin/ksh)‏

TC Shell (/bin/tcsh)‏

Zsh (/bin/zsh)

Bourne Again Shell (bash) är den abolut vanligaste

kommandotolkaren idag


Tillg ng till kommandotolken lokalt

Tillgång till kommandotolken lokalt

På ett Linux-system har man tillgång till kommandotolken via ett

textgränssnitt (textbaserat program) som kan startas upp t.ex. via

en meny ur operativsystemests GUI (Graphical User Interface)‏

Man kan också starta operativsystemet utan GUI om man t.ex. kör

Linux på en server och vill att systemet skall kräva så lite prestanda

som möjligt

Kommandotolken är också oftast det ända tillgängliga gränssnittet

efter en systemkrasch vid försök att starta upp systemet från en

installations-CD/DVD


Tillg ng till kommandotolken ver n tverk

Tillgång till kommandotolken över nätverk

Administratörer av Linux-servrar ansluter sej ofta till en servers

kommandotolk över ett nätverk (lokalnät/Internet) via gränssnittet

SSH (Secure Shell)‏

Det även finns SSH-klienter för Windows som tillåter SSH

inloggning till en Linux-dator från en Windows-dator, bl.a. Putty, se

http://www.putty.org/ (kan laddas ner gratis)‏


Distansinloggning med putty

Distansinloggning med Putty


Distansinloggning med putty1

Distansinloggning med Putty


  • Login