Sistemes Operatius: Arquitectura, Model de Capes i Gestió de Processos
Conceptes Fonamentals de Sistemes Operatius i Capes
Model de Capes i Abstracció
El disseny descendent es basa en una descomposició jeràrquica dels programes (els mòduls de nivells superiors són programes en termes de mòduls de nivells inferiors).
En aquest model dels computadors, els llenguatges de programació fan servir instruccions abstractes (descrites com a programes de la mateixa capa, programades en llenguatges de les capes inferiors).
En un computador s'hi executen programes expressats en llenguatge màquina (pertany a la capa d'abstracció més baixa). Les dades i instruccions que manipulen són simples.
Aplicacions i Execució en el Computador
Una aplicació és un programa o un conjunt de programes per a una mateixa finalitat.
Un computador executa un conjunt de programes de forma seqüencial, que s'emmagatzemen a la memòria principal quan s'estan executant i a la secundària de manera permanent.
El Sistema Operatiu (SO) com a Capa d'Abstracció
Els sistemes operatius són un conjunt de mòduls (programes). Són una capa d'abstracció del hardware que proporciona una interfície amb l'usuari, que pot interactuar amb l'ordinador manipulant fitxers i executant programes.
El SO crea una màquina virtual que entén instruccions d'alt nivell per a programes d'aplicacions. S'ocupa de la gestió dels recursos de la màquina segons la demanda.
Interfícies d'Usuari i d'Aplicacions (API)
Les interfícies d'usuaris són constituïdes per un conjunt de software i hardware que permet a l'usuari interactuar amb les aplicacions (permet captar informació de l'exterior).
Les interfícies d'aplicacions (API) són constituïdes per un conjunt de funcions que en faciliten la programació. Els sistemes operatius proporcionen una interfície de programació d'aplicacions que amaga els detalls del maquinari.
Gestió de Tasques i Usuaris
Tipus de Processament i Usuaris
Els sistemes operatius es classifiquen segons la gestió de processos i usuaris:
- Per processos actius simultanis:
- = 1: Monotasca (processos en seqüència)
- > 1: Multitasca (processos concurrents)
- Per quantitat d'usuaris:
- = 1: Monousuari
- > 1: Multiusuari (amb protecció d'accessos)
Característiques de la Monotasca
La monotasca implica:
- Gestió d'ordres, manipulació de fitxers, gestió de memòria, execució de programes.
- Processos executats en seqüència.
- Exclusivitat dels recursos.
Problemes: L'eficiència de l'ús dels recursos depèn del procés.
Solucions: Aprofitament dels recursos per a altres tasques, execució paral·lela de diverses tasques.
Interrupcions del Sistema
Les interrupcions són senyals que provoquen la crida a un programa específic (l'execució del programa en curs s'interromp).
Tipus de senyals d'interrupció:
- De l'exterior (de dispositius d'entrada/sortida).
- Interns (errors d'execució).
- Del temporitzador (cada cert temps).
Objectius de la Multitasca
La multitasca implica diversos processos alhora en una mateixa màquina i la gestió dels recursos per a aquests processos.
- Complexa: Hi ha molts recursos diferents i molts peticionaris diferents.
- Eficient: El propòsit d'un SO és gestionar els recursos i proporcionar una interfície dels mateixos per assolir una execució eficient dels programes de la capa d'aplicacions.
Gestió i Planificació de Recursos
Assignació de Recursos i Processos
La gestió de recursos inclou l'assignació de recursos a processos (recursos exclusius, compartits) i la planificació de l'execució dels processos.
Un procés és un programa en execució en un processador amb un estat que canvia al llarg del temps. La taula de processos conté informació per al mòdul de gestió.
Planificació dels Processos
El planificador és un procés del sistema operatiu que s'activa periòdicament.
Estats del Procés
Els estats típics d'un procés són:
- En espera
- En execució
- En espera