26
STRUCTURA SISTEMELOR DE OPERARE Cursul 2

Structura sistemelor de operare · STRUCTURA PE NIVELURI A COMPONENTELOR apelul componentelor trebuie restrictionat la proiectare -> restrictii prin compilator executie -> restrictii

  • Upload
    others

  • View
    55

  • Download
    1

Embed Size (px)

Citation preview

STRUCTURA SISTEMELOR DE

OPERARE

Cursul 2

CUPRINS

Introducere

Organizarea memoriei

Partea rezidenta

Componente tranzitorii

Harti de memorie

CP/M

DOS

Unix

OS/MVT, OS/MFS

Interactiunea intre componente

Structura pe nivele a componentelor

SISTEMELE DE OPERARE

Colectii de programe complexe

Organizate in subsisteme

pentru a putea fi stapanite

Divizare functionala pe baza responsabilitatilor

Interfata cu utilizatorul,

Gestionarea fisierelor

Gestinanea perifericelor

Gestionarea memoriei

Gestionarea proceselor

Gestionarea erorilor

Gestionarea sistemului ca intreg

ORGANIZARI ALE SISTEMELOR DE OPERARE

DIN DIVERSE PUNCTE DE VEDERE

Organizarea codului sursa

aspect important pentru proiectanti, nu se va studia

Organizarea memoriei

Conditiile de executie

Interactiunea dintre componente

Adaptabilitatea la configuratiile hardware

aspecte importante pentru utilizatori si programatori

ORGANIZAREA MEMORIEI

Parte rezidenta

se gaseste permanent in memorie

proceduri ce treateaza servicii critice

tratarea erorilor

planificarea proceselor

securitate

tratarea initiala a apelurilor sistem

de regula ocupa zona de adrese mici unde se gasesc

vectorii de intrerupere

arhitecturi cu spatiu de adrese rezervat pentru

intrari/iesiri memory-mapped I/O

ORGANIZAREA MEMORIEI

Componente tranzitorii

Incarcate la cerere de pe un suport de memorie

externa

Elemente specializate din sistemul de gestionare a

fisierelor

Zona de memorie rezervata sau orice zona

Operatia de relocare

Cand aceste componente intra in competitia pentru

memorie cu alte programe utilizator

Presupune modificarea adreselor de program pentru ca

instructiunile de salt sau accesul la date sa fie corect

HARTI DE MEMORIE

Aspecte urmarite

Continutul spatiului virtual de adrese cand este in

executie un program utilizator

Continutul spatiului virtual de adrese cand este in

executie o componenta a sistemul de operare

Continutul memoriei fizice

HARTA DE MEMORIE LA CP/M

BIOS (Basic I/O System)

BDOS (Basic Disk Operating System)

CCP (Command Control Processor)

Nefolosit

Program

+

date aplicatie

Zona de comanda

64k

~54k

0

256

ORGANIZAREA MEMORIEI LA CP/M

arhitectura bazata pe Intel 8080

adreseaza 64 kocteti

primii 256 octeti alocati pentru

vectorii de intrerupere

tamponul pentru linia de comanda

BIOS si BDOS

ocupa cam 10 kocteti

include stiva sistemului de dimensiune fixa

CCP – interpretor de comenzi

incarcat in zona de tranzitie

ocupa 2kocteti

aplicatiile

se incarca la adresa 256 sau 100h

nu sunt relocabile

HARTA DE MEMORIE LA MS-DOS

BIOS (ROM)

Memoria video

Interpretor de comenzi tranzitoriu

Nefolosit

Program

+

date aplicatie

Rezident SO

Zona de comunicatii

1M

640k

0

1536

ADRESE VIRTUALE INTR-UN PROCES

Stiva aplicatie

Date aplicatie

Program aplicatie

Zona comunicatie

64k

0

0

256

64k

ORGANIZAREA MEMORIEI LA MS-DOS

arhitectura bazata pe Intel 8086

adreseaza 1 Moctet

zona peste 640K este rezervata pentru

memoria video

programe din ROM BIOS

programe de test

Partea rezidenta incepe la 1536

Partea tranzitorie – zona cu programele de

aplicatii

4 segmente de 64 kocteti

cod, stiva, date, date extins

HARTA DE MEMORIE LA UNIX

Stiva

Sistem de operare

rezidentDate

Program

aplicatie

Adrese virtuale in proces Adrese virtuale in

sistemul de operare

0

max

0

max

ORGANIZAREA MEMORIEI LA UNIX

harta memoriei depinde de arhitectura

calculatorului gazda

se utilizeaza tehnici de swapping / memorie

virtuala pentru

componentele sistemului de operare

programele utilizator

din spatiul de adrese proces nu sunt vizibile zone

de memorie a sistemului de operare

procesele nu pot utiliza in comun zone de

memorie => nu se comunica intre procese prin

memorie comuna

ORGANIZAREA MEMORIEI LA VAX/VMS

se adreseaza 4 Gocteti

4 zone de 1 G gestionate independent

pentru procesul curent

informatii de comanda pentru proces

sistemul de operare

nefolosita

proces utilizator are acces doar la

codul

datele proprii

HARTA DE MEMORIE LA SISTEMELE IBM

Zona tranzitorie

Info comanda sistem

Task aplicatie Zona tranzitorie

Task aplicatie Info comanda aplicatie

Task aplicatie

Task sistem

Task sistem Program + date aplicatie

Info control sistem

Zona tranzitorie Zona tranzitorie

Nucleu Nucleu

OS/MVT OS/MVS

0

16M

0

2(16)M

ORGANIZAREA MEMORIEI LA OS/MVT

OS/MVS

IBM System/360

sistem multiprogramat

fara memorie virtuala

adreseaza 16 Mocteti

Inceputul si sfarsitul memorie este pentru SO

in zonele tranzitorii -> rutine nerezidente ale SO

task -> zona contigua de memorie

program

date

informatii de comanda

protectie hardware pentru a nu accesa zone din afara regiunii rezervate

INTERACTIUNEA COMPONENTELOR LA

EXECUTIE

SO

unitati executabile

declansate de evenimente specifice

colectie de rutine declansate de

apeluri sistem

intreruperi

Intrarea

prin puncte controlate

apelurile -> dispecer

fiecare intrerupere -> punct de intrare separat

un apel-> cod –> selectia rutinei de tratare

rutinele

sunt rezidente

incarca rutine nerezidente

DECLANSAREA EXECUTIEI RUTINELOR

apel

sistem

intreruperi

dispe-

cer

rutine

de

serviciu

PROCESE SISTEM

activitati de sistem organizate ca procese

nu necesita privilegii speciale

tratate aproape ca procesele utilizator

totusi au prioritate de planificare mai mare

nu sunt supuse operatiei de swapping

exemple

tiparirea unui fisier la imprimanta

controlul unei linii de comunicatii

salvarea tampoanelor din memorie pe disc

reducere a erorilor, gestionare sistematica a activitatilor

eventualele erori -> pierderi mici in sistem

STRUCTURA PE NIVELURI A

COMPONENTELOR

apelul componentelor trebuie restrictionat

la proiectare -> restrictii prin compilator

executie -> restrictii prin suport hardware

Sistemul de operare THE

proiectat de E. Dijkstra (Univ Tehnica Eindhoven)

componente strucurate pe 5 nivele

foloseste resurse puse la dispozitie de nivelul inferior

implementeaza masini abstracte tot mai complexe

ofera servicii pentru nivelele superioare

nu permite accesul direct la nivelele inferioare

fiecare nivel poate fi dezvoltat si testat separat

SISTEMUL DE OPERARE THE

4 Programe de aplicatie

3 Intrare/Iesire

2 Consola utilizator

1 Memoria virtuala

0 Planificare procese, intreruperi

SISTEMUL DE OPERARE THE

Nivelul 0

virtualizeaza procesorul

nivelele superioare fiecare au un procesor virtual

Nivelul 1

un singur proces administratorul memoriei virtuale

nivelele superioare fiecare dispun de propria lor zona

de memorie virtuala

Nivelul 2

un singur proces administratorul consolei virtuale

nivelele superioare fiecare dispun de o consola

virtuala proprie

SISTEMUL DE OPERARE THE

Nivelul 3

controlul perifericelor

cate un proces pentru fiecare periferic

Nivelul 4

serie de procese ce controleaza aplicatiile utilizator

NIVELURI IERARHICE INTR-UN SISTEM DE

CALCUL

15: Shell

14: Serviciul de nume

13: Procese utilizator

12: Canal I/E tip flux octeti

11: Echipamente periferice

10: Sistemul de fisiere

9: Comunicatii interprocese

8: Capabilitati (protectie)

7: Memoria virtuala

6: Memoria secundara locala

5: Procese elementare

4: Intreruperi

3: Mecanisme pentru proceduri

2: Setul de instructiuni

1: Circuite electronice

Retea

Calculator

local

Hardware

BIBLIOGRAFIE

Ioan Jurca – Programarea de sistem in UNIX,

Editura de Vest, Timisoara, 2004