Sistemes operatius; apunts
-
Upload
melanie-nogue -
Category
Education
-
view
115 -
download
0
Transcript of Sistemes operatius; apunts
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
1
SISTEMES OPERATIUS
Un sistema operatiu és un programa d’ordinador.
- Encarregat de gestionar altres programes.
o Compartint temps de la memòria.
o Fent servir: memòria, disc i xarxa.
- Exemples: GNU Linux, Mac OS, Microsoft Windows, Android, IOS, Windows
Phone.
COM FUNCIONA UN ORDINADOR
Mitjançant:
- Dispositiu anomenat processador CPU.
- Microxips anomenats RAM: tot el que veiem per pantalla es guarda en números
(codi binari).
- L’ordinador va seguint una sèrie d’instruccions que un programador ha
proporcionat.
- Els programes generen números en la RAM i interactuen amb el maquinari
connectat.
PROCÉS DE COMPILACIÓ
- El programador escriu llenguatge d’alt nivell.
- El compilador tradueix el programa a llenguatge ensamblador.
- El llenguatge ensamblador és traduït a codi de màquina.
- Cada instrucció d’ensamblador pot ser executada directament sobre la CPU.
Una instrucció d’alt nivell pot generar-ne vàries.
- Són instruccions senzilles processades per un circuit d’una en una.
NIVELLS DE CODI
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
2
On posem variables, les guarda com a registres.
ESTRUCTURA D’ORDINADORS
CP: comptador de programa (1)
RI: registre d’instruccions (2)
1. Té una posició de memòria on s’anirà a buscar la següent instrucció a executar.
Conté la darrera instrucció llegida. A més adreça la següent instrucció.
2. Conté la posició que apunta CP.
Si dividim la CPU en dues parts: la primera és on està dedicada al programa i l’altre
que realitza el control i el funcionament d’aquest.
En el programa d’abans, la instrucció de comparar 10 i 19 (fa una resta) i dóna 0 i
s’activa un 1 en Z.
Amb això es pot veure què passaria si la condició inicial en la que dèiem és certa, que
j<10.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
3
La unitat d’entrada i sortida és capaç d’enviar ordres a la memòria cada cop que hi
afegim un dispositiu nou a la màquina com un teclat, el wifi...
CICLE BÀSIC D’INSTRUCCIÓ
En llegir la següent instrucció:
i. Carregar en RI la instrucció apuntada per CP.
ii. Incrementar CP.
En executar la instrucció:
- Executar instrucció en RI.
- Transferir CPU-Memòria.
- Transferir CPU-E/S
- Tractament de les dades operació a realitzar.
PROGRAMA
i. Carregar contingut de l’adreça 940 al registre AC.
ii. Afegir a AC el contingut de l’adreça 9401. AC=AC + 941
Inici
Llegir instrucció Executar-la Fi
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
4
iii. Emmagatzemar resultat a l’adreça 941.
TEMA 2 INTRODUCCIO ALS SISTEMES OPERATIUS
QUÈ ÉS UN SISTEMA OPERATIU?
Un sistema operatiu està format per:
- Interface: mitjà entre l’usuari i el hardware i un entorn per a executar
programes.
- Gestor de programes: conjunt de programes i dades per gestionar i controlar
les aplicacions d’usuari.
- Gestor de recursos: programes que controlen els recursos del sistema. A més
optimitzen el seu ús i resolen conflictes (quan varies aplicacions volen accedir a
mateix temps).
- Intèrpret de comandes: és una finestra que obrim i on escrivim comandes.
És l’aplicació que ens deixa accedir a les altres eines.
- Eines del sistema: moltes vegades ve amb Interface gràfic.
- Biblioteques/llibreries del sistema.
- Nucli del sistema.
FUNCIONS DEL SISTEMA OPERATIU
- Donar una visió còmoda del sistema: que sigui fàcil poder generar aplicacions...
- Actuar com a Interface amb el hardware: com per exemple en el quadre
anterior, el SO fa d’Interface entre el HW i l’aplicació. Mai es treballa sobre el
HW.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
5
- Administrar els recursos de la màquina: gestiona totes les aplicacions i recursos
que estiguin funcionant al moment.
FUNCIÓ INTERFACE
i. Permet que diferents dispositius es programin de la mateixa manera: per
exemple, diferents tipus de mòbils i que utilitzen la mateixa versió
d’Android.
ii. Proporciona una visió d’alt nivell sobre el sistema real.
INTERFACE: SHELL
- Sessió de treball d’usuari:
o Entrada al sistema (login).
o Ús del sistema, interacció amb comandes (G.U.I -> Graphic User
Interface).
- Shell: és la manera d’interactuar com a usuaris.
o Mode text.
o Finestres GNOME, KDE, Pqua, Aero... són sistemes que es posen per
d’amunt i ajuden a la interface.
EL SISTEMA OPERATIU I COM POT FUNCIONAR
Pot funcionar com:
- Usuari:
o Shell interactiu: ls, find, grep
o Interface de comandes.
- Programador /desenvolupador:
o Biblioteques de funcions.
o Crides del sistema.
BIBLIOTEQUES DEL SISTEMA
Són eines d’ús comú que poden aprofitar les aplicacions i executar el seu codi i cridar a
les funcions, com per exemple el logaritme. Aquí el control es mesura, en canvi en el
següent no:
- Crida al sistema. El SO ofereix accés al seu propi codi. Es transfereix el
control al SO. Per exemple, crear un fitxer s’encarrega el SO.
ADMINISTRACIÓ DE RECURSOS
- El SO virtualitza els recursos per tal de poder compartir-los entre aplicacions i
usuaris.
- Protecció: protegir les aplicacions entre si, per exemple, si et truquen es
congela el WhatsApp.
- Eficiència: buscar que augmenti l’autonomia, major resolució de la pantalla...
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
6
- Mecanismes? Com es fa? Què es té en compte? Com podem fer mecanismes
per augmentar la protecció i l’eficiència a la vegada? És molt complicat, ja que
cada sistema utilitza unes eines i polítiques diferents.
QUINA FUNCIONALITAT HA DE TENIR UN SO?
- No hi ha resposta fàcil, ja que la funcionalitat depèn de factors externs. A més
l’evolució dels sistemes operatius està influenciada per canvis del HW i SFW.
MULTIPROGRAMACIÓ
OBJECTIUS DE LA MULTIPROGRAMACIÓ
- Aprofitar el temps d’espera d’una tasca per a executar una altra.
- Com? Mantenint tots els treballs en memòria i anem triant quin es pot executar.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
7
De 27 segons hem passat a 19.
CONSEQÜÈNCIES DE LA MULTIPROGRAMACIÓ
- Gestió de memòria: tant la tasca 1 com la tasca 2 han d’estar en memòria.
- Planificació de dispositius.
- Bloqueig: 2 tasques que volen entrar a la vegada i donar prioritats.
- Concurrència: que dues aplicacions estiguin funcionant compartint memòria.
- Protecció i seguretats.
PETICIÓ D’UN SERVEI AL SO
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
8
- Sistema operatiu temps compartit: tasques que s’executen o interactuen a
la vegada. No obstant, un súper ordinador NO. Per tant, no tots el sistemes són
com els de sobretaula.
- Sistema distribuït: com GMAIL, un servei distribuït per tot el món.
TEMA 3 PROCESSOS
i. De programa a procés: compilació. Tradueix el llenguatge d’alt nivell en
codi binari.
ii. El muntatge: mitjançant el LINKER, que és que el que generar un
programa.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
9
iii. Programa: el programa és una entitat estàtica (no podem modificar la
funcionalitat, simplement l’executem en el dispositiu). A més està guardat
en un disc. És el que té l’extenció “.exe”
iv. Execució:
a. Carregar el fitxer executable estàtic.
b. Passar el control a la primera instrucció del programa.
PROCÉS
Un procés és un programa en execució. A més, és una unitat de processament pel
sistema operatiu. El programa pot tenir varis processos en execució al mateix temps.
Per exemple: quan donem clic a Chrome és un procés que s’inicia.
Un sistema operatiu gestiona processos, els quals com hem dit són programes i
existeix la possibilitat que dos processos s’executin al mateix temps. En el cas del
nostre exemple, si dues persones cliquen al mateix temps Chrome.
Aquí entra el paper de la multiprogramació, la qual diu el número de processos actius
al mateix temps.
A mesura que anem incorporant més programes el grau d’ocupació va augmentant.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
10
Ara ve, quants processos pot controlar un sistema operatiu? Tot depèn de la quantitat
de memòria del dispositiu.
Amb la taula següent, ens diu quants processos puc gestionar.
ESTATS D’UN PROCÉS
En estat LLEST, vol dir que en qualsevol moment que el sistema operatiu els agafi ells
estan preparats.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
11
En resum de temps:
- T=0 a t=3 A en execució i B,C en estat llest.
- De T=4 a t=6 A està bloquejat, B en execució i C en estat llest.
Resum:
- Quan un procés demana un servei si s’està esperant està bloquejat.
- Quan un procés encara no hi ha arribat la CPU està llest.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
12
- En l’esquema d’estats, “expira temps” vol dir que ha esperat molt a que tingui
entrada i sortida.
Per tant, les definicions són:
- Execució: el procés està executant-se en el processador. El seu estat es pot
trobar als registres de la CPU.
- Bloquejat: el procés està esperant un esdeveniment. Continuarà en aquest
estat fins que l’esdeveniment es produeixi. El seu estat es guarda a la BCP
(mentre s’espera, està bloquejat, esperant per tornar a la CPU).
- Llest: el procés està llest per ser executat. Quan el sistema operatiu el
seleccioni passarà a executar-se,
DIAGRAMA D’ESTATS
Bloquejat: mentre s’estan esperant i és un dispositiu amb poca memòria, els porta de
memòria a disc. És a dir, està en el mateix estat però suspès. (això s’anomena SWAP).
Per exemple: en Android, l’ultim procés el mata si anem obrint molts programes ja que
no hi ha l’estat suspès.
- Swap out de memòria a disc.
- Swap in de disc a memòria.
Aquest pas sol passar quan tenim per exemple 1000 processos amb tant sols 4GB.
INFORMACIÓ QUE ES GUARDA SOBRE UN PROCÉS
i. Estat del processador: el contingut dels registres de la CPU i del programa.
ii. Imatge de memòria: codi del programa i les dades d’aquest.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
13
iii. Contingut del bloc de control del procés (BCP): estructura de les dades on
estan les del procés.
COM GESTIONAR PROCESSOS?
El sistema operatiu manté diverses estructures d’informació per a cada procés on es
guarden:
- Característiques del procés.
- Recursos assignats:
o Segments de memòria.
o Descripció dels fitxers oberts.
o Descriptors de ports de comunicació usats.
CP: control de programa. La taula de processos està composta per blocs.
Recorda: la memòria està compartida per moltes aplicacions.
BLOC DE CONTROL DE PROCÉS (BCP)
Cada procés té un número d’identificació que és el PID. Per tant, el BCP guarda:
- Informació d’identificació.
- Estat del processador.
- Informació de control:
o Estat del procés.
o Segments de memòria.
o Recursos assignats.
o Altres.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
14
PROCÉS I THREAD
Thread: podem executar diferents parts del programa a l’hora. Per exemple, quan
tenim en el navegador pestanyes obertes. Això no són processos (no tenen una
memòria diferent als altres) el procés comú seria el navegador emprat i les pestanyes
threads.
La traducció de thread és “procés lleuger” o “fil” que és un programa en execució que
comparteix la imatge (memòria) del programa (codi i dades, cada thread comparteix
codi i dades amb els altres).
A més, la funció es pot executar en paral·lel amb d’altres.
En resum: els threads comparteixen recursos i els processos no. És a dir,
comparteixen:
- Memòria.
- Variables globals.
- Fitxers oberts.
- Temporitzadors.
- Senyals i semàfors.
Així, cada thread va a un CORE diferent.
EXEMPLE D’EXECUCIÓ DE THREADS
La sortida pot ser qualsevol combinació ja que utilitzen 2 cores i s’estan executant al
mateix temps. Són dos threads que s’executen al mateix temps i comparteixen dades i
no se sap quina combinació surt per pantalla.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
15
TEMA 4 CRIDES AL SISTEMA
CREACIÓ D’UN PROCÉS PER SISTEMA OPERATIU
- Assignar nova entrada en la taula de processos.
- Assignar un ID únic al nou procés.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
16
- Fer una còpia de la imatge de memòria del procés pare (el que ha creat el
fork() ) El procés fill té les mateixes dades que el rpocés pare, només que un
ID diferent.
- Posar el procés fill en estat “llest”
VISIÓ DEL PROGRAMADOR
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
17
COM FUNCIONA EL PROCÉS FORK()
Amb aquests codis no podrem saber quin és el pare i quin el fill, ja que retornarà
“Hola, Bye, Bye” per pantalla. Aleshores:
Com poden sortir les dues per pantalla, com gestionem l’ordre d’execució?
Utilitzant el WAIT() procés pare esperi a que acabi el fill.
Per tant, tornem a construir:
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
18
Si volguéssim crear un altre fill podríem col·locar-lo després del primer fill. No obstant,
si comencéssim a encadenar el que hauríem de fer és crear una nova variable ja que el
pare retorna diferent a 0, el fill =0 i el dill del fill retornaria també =0, per això creem
pid2 (nova variable).
*Com podem fer que un procés executi un codi diferent del pare?
Mitjançant exec() carrega (canvia) una imatge d’un programa.
- Codi executable.
- Dades.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
19
CRIDES AL SISTEMA: GESTIÓ DE THREADS
- Visió del programador inclou les funcions:
o Pthread_create crea
o Pthread_exit finalitza
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
20
o Pthread_selt identificador del thread. Aquest identificador és
necessari per la següent execució (join).
o Pthread_join(id) espera a que “id” acabi.
Un THREAD és similar a un “fill” però no es podria canviar la imatge. A més, si
recordem, comparteixen memòria però usen diferents recursos.
Això del “pthread” ens serveix ara per saber que es pot aplicar lo del pare/fill amb els
treads. Vegem un exemple:
TEMA 5 PLANIFICACIO : COMPORTAMENT DELS PROCESSOS
Recordant l’esquema dels estats de processos i la definició del grau de
multiprogramació (decisió d’afegir nous processos al sistema A + programes +
ocupat). Aleshores, amb la planificació el que decideix és quins o quants processos
deixa passar d’un estat a un altre.
El sistema operatiu des de dins els estats els veu:
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
21
PLANIFICACIÓ DE PROCESSOS
Planificador a llarg termini: estic triant quins processs entraran, quins vull que
estiguin ocupant el sistema.
Planificació a curt termini: quins entraran ARA mateix en execució
Planificació a MIG termini: prepara els candidats a la planificació a curt termini.
OBJECTIUS DEL SISTEMA: CRITERIS DE L’USUARI
Què se li demana al sistema des del punt de vista de l’usuari?
1. Temps de resposta: vols tenir un tempos de resposta ràpid.
2. Temps de retorn: és el que triga a donar-te tota la informació que has
demanat.
3. Temps d’espera.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
22
4. Terminis: terminis raonables (no molt elevats).
5. Predicibilitat: que més o menys a través de l’experiència sabrem quant trigarà
el sistema.
DEFINICIONS
Temps de resposta: temps des de que es llença un procés fins que es produeix la
primera resposta.
Temps de retorn: temps en el que s’executa un procés (=temps d’execució).
Temps d’espera: temps en el que un procés s’està esperant en la cua de “llestos”.
POLÍTICA DE PLANIFICACIÓ
1. Funció de selecció: quin procés s’ha d’executar? Segons els criteris següents
s’escollirà un o altre:
a. Prioritats.
b. Necessitats de recursos.
c. Característiques dels processos.
2. Mode de decisió: quan s’ha d’executar un procés?
a. Apropiatiu: no es pot treure de la CPU quan se li ha concedit.
b. No apropiatiu.
PP A CURT TERMINI (DE LLEST A EXECUCIÓ)
- Apropiatives:
o First come first served (FCFS = FIFO).
o Shortest process next (SPN, triarà el més curt).
- No apropiatives:
o Round Robin: anar canviant cada cert temps de procés.
o Prioritats.
- Grups de processos: cues multinivell (més usuals).
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
23
PROCÉS ARRIBADA TEMPS DE SERVEI
P1 0 3
P2 2 6
P3 4 4
P4 6 5
P5 8 2
Esquemes segons polítiques:
1. FCFS:
a. Funció de selecció: màxim temps en execució: els processos s’atenen
per ordres d’arribada.
b. Mode de decisió: apropiatiu.
Calculem temps d’espera:
- P1 0 segons
- P2 [comença-entra] 3-2=1
- P3 9-4=5
- P4 13-6=7
- P5 18-8=10
- Total 23/5=4.6 TEMPS MIG D’ESPERA
Temps d’espera: TEMPS ON COMENÇA – TEMPS ON COMENÇARIA
Calculem el temps de retorn:
- P1 3-0=3
- P2 9-2=7
- P3 13-4=9
- P4 18-6=12
- P5 20-8=12
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
24
- Total 43/5=8.6 TEMPS MIG DE RETORN
Temps de retorn: TEMPS ON ACABA D’EXECUTAR-SE – TEMPS ON JA ESTÀ LLEST
En aquest cas, el temps d’espera és el mateix que el de resposta.
Resum de la política:
- Es fàcil d’aplicar.
- Temps d’espera mig elevat.
- Penalitza els processos curts.
- No es produeix inanició.
2. SPN (shortest first)
a. Funció de selecció: mínim temps de servei, és a dir, tria el procés més
curt.
b. Mode de decisió: apropiatiu.
TEMPS DE RETORN
P1 3-0=3
P2 9-2=7
P3 15-4=11
P4 20-6=14
P5 11-8=3
TOTAL 38/5=7.6 TEMPS MIG
Característiques:
- Minimitza el temps d’espera.
- Bon temps de resposta.
- Penalitza als processos llargs.
- Alta productivitat.
TEMPS D’ESPERA
P1 0
P2 3-2=1
P3 11-4=7
P4 15-6=9
P5 9-8=1
TOTAL 18/5=3.6 TEMPS MIG
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
25
- Perill d’inanició per a processos llargs.
3. Round Robin:
a. Cada procés s’executa una fracció de temps abans de ser expulsar.
b. Mode de decisió: no apropiatiu, basat en quantum (quota de temps).
Per exemple, en aquest cas suposem Q=4.
TEMPS PROCÉS
0 P1
3 P2
7 P3, P4, P2
11 P4, P2, P5
15 P2, P5, P4
17 P5, P4
19 P4
TEMPS D’ESPERA (tw)
P1 0
P2 (3-2)+(7-15)=9
P3 3
P4 9
P5 9
TOTAL 30/5=6
TEMPS RETORN (tq)
P1 3
P2 17-2=15
P3 11-4=7
P4 20-6=14
P5 19-8=11
TOTAL 40/5=8
TEMPS RESPOSTA (tr)
P1 0
P2 1
P3 3
P4 5
P5 9
TOTAL 18/5=3.6
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
26
Característiques:
- El rendiment depèn del valor del quàntum (q).
o Si q és petit: molts canvis de context (temps de retorn elevat).
o Si q és gran: al ús de la CPU, el temps de resposta elevat.
o La q ha de ser més gran que el canvi de context.
Això, normalment s’aplica quan hi ha molts usuaris que accedeixen al mateix
programa.
4. Prioritats:
a. Funció de selecció: màxima prioritat: cada procés té una prioritat.
b. Mode de decisió: no apropiatiu. El planificador tria el procés amb
prioritat més alta.
Hem d’afegir una columna a la taula inicial per tal de donar-li una prioritat, en aquest
cas:
PROCÉS ARRIBADA TEMPS DE SERVEI PRIORITAT
P1 0 3 1 (menor)
P2 2 6 2
P3 4 4 3
P4 6 5 3
P5 8 2 4 (màxim)
En el moment que entra el procés que sigui, si té més prioritat que el que s’està
executant deixa el procés anterior.
Característiques:
- És possible la inanició: si un procés té una prioritat molt baixa, pot arribar a
morir.
- Penalitza els processos amb baixa prioritat.
- Solució envelliment: el procés pot guanyar prioritat amb el temps.
CUES MULTINIVELL
- Els processos estan agrupats.
- La cua de processos llestos es divideixen en varies cues independents.
Sistemes operatius 2n EiT Melanie Nogué Fructuoso
27
- Els processos no canvien de cua.
- Cada cua té un mètode de planificació propi més una planificació entre cues.
o Cua “background” i “foreground”.
o Repartir CPU en 80% en el foreground (Round Robin en el cas de Linux)
i un 20% en el background.
A més, de tant en tant el SO aplica una política on passa processos del fore al back i
viceversa. En Android, fore es diu ACTIVE (on són els processos de la memòria).
CONCLUSIONS
- Planificació és un element crític de gestió de processos.
- Polítiques que s’han d’avaluar:
o Sobrecàrrega de l’aplicació.
o Característiques dels processos (que tingui molts o pocs usuaris).
o Rendiment d’entrada i sortida.
o Eficiència del canvi de contacte.