1. UD6 – SISTEMES OPERATIUS
ASI - C1: Sistemes Operatius
Ramon Gonzàlez Cambray
2. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis dels sistemes operatius
3. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis i funcions dels sistemes operatius
4. 1- Definició S.O. (1/2)
SO: programa (SW) que actua com a interfície entre
l’usuari d’un ordinador i el HW del mateix, oferint l’entorn
necessari per a que l’usuari pugui executar programes.
És el software bàsic del sistema
Crea entorn per a que altres programes facin treball útil.
No realitza per sí mateix una funció útil
Proporciona abstracció i facilitat d’ús.
Objectius:
Principal: facilitar l’ús del sistema informàtic
Secundari: ús del hardware de l’ordinador de forma eficient
Sistema informàtic: hardware, programes aplicació,
usuaris, SO
Alguns S.O.: MS-DOS, Unix, Linux, Solaris, Mac OS, Windows
5. 1- Definició S.O. (2/2)
Dos vessants S.O.:
PROGRAMA DE CONTROL:
Conjunt de programes i funcions que controlen el funcionament
del Hardware ocultant els seus detalls, oferint a l’usuari una
via senzilla d’accés a l’ordinador.
Supervisa execució programes usuari + operació i control dels
dispositius de E/S.
ADMINISTRADOR DE RECURSOS:
S.O. és l’administrador dels recursos oferts pel Hardware per
aconseguir un eficaç i òptim rendiment dels mateixos.
Assignador de recursos: decideix quina sol·licitud atendre.
Recursos: CPU, memòria principal, E/S, informació
6. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis dels sistemes operatius
7. 2- Evolució històrica S.O.
Conceptes
1er nivell:
2.1. PRIMERS SISTEMES
2.2. MONITOR SIMPLE
2n nivell:
2.3. PROCESSOS ON-LINE vs OFF-LINE
2.4. BUFFERING
2.5. SPOOLING
3er nivell:
2.6. MULTIPROGRAMACIÓ
2.7. PROCESSOS PER LOTS (BATCH)
2.8. SISTEMA INTERACTIU
2.9. TEMPS COMPARTIT
2.10. TEMPS REAL
4rt nivell:
2.11. SISTEMES MULTIPROCESSADORS
2.12. SISTEMES DISTRIBUÏTS
8. 2.1. Els primers sistemes
Inicialment: només existeix Hardware
Entorn de naturalesa interactiva
Programador = Operador
Mètode reserves per sol·licitud per assignació temps
màquina
Problemes: necessitat ajustar temps
Amb el temps: perfeccionament HW – SW
+ lectors tarja + impressores + cintes magnètiques + ensambladors
+ cargadors + enllaçadors + llibreries funcions.
Importància rutines E/S: per cada dispositiu E/S
Posteriorment compiladors: Fortran, Cobol
Massa temps de preparació
Molts passos independents càrrega-descàrrega
9. 2.2. Monitor simple
Temps de preparació problema real (CPU inactiva)
Durant temps muntatge cintes o mentre programador opera
consola. CPU inactiva (ordinadors cars, maximitzar rendiment)
Doble solució
1ª: es va contractar operadors d’ordinadors professionals
(disminueix temps preparació, no cal reserva ordinador)
2ª: agrupar treballs amb necessitats similars (s’inclouen en lots
i s’executen en grup, reducció del temps de preparació)
Millora productivitat però encara problemes…
Quan un treball es detenia, temps inactivitat
Solució: seqüenciament automàtic de treballs
Creació 1ers i rudimentaris S.O. Monitor resident
Sempre a memòria, control si no programa, targes de control
Problema: velocitat dispositius mecànics E/S (CPU espera
E/S) CPU inactiva
10. 2.3. Processos
OFF-LINE vs ON-LINE
Problema:velocitat dispositius mecànics E/S (CPU inactiva espera E/S)
Solució: OFF-LINE on lectores targes, impressores no
operades per l’ordinador principal. Van a unitats de cinta
magnètica. CPU directament a cintes!
2 enfocaments processament OFF-LINE:
Hardware: desenvolupament de dispositius especialitzats amb
E/S directa a cinta magnètica.
Software: dedicar 1 ordinador petit a copiar des de/a la cinta.
Avantatge off-line:
CPU limitada cintes magnètiques. No lectores, impressores.
Pot ser aplicat a qualsevol unitat de registre E/S
Independència dispositius: assignació dispositius lògics a físics
Múltiples processos gravacions/descàrrega CPU
12. 2.4. Buffering
Altre solució a la lentitud dels dispositius E/S
Buffering: funció del S.O. que solapa la E/S d’un treball
amb la seva pròpia computació.
Monitor resident i controladors de dispositius inclouen
Buffers d’E/S del sistema per cada dispositiu E/S.
2 Buffers: E i S, formats per varis registres.
Tractar de mantenir ocupats CPU i E/S. No es pot tot el temps.
Difícil de programar: Interrupcions.
DMA: Accés directe a memòria dels dispositius E/S
d’alta velocitat. Sols 1 interrupció/bloc. No intervé CPU
Problema: si Vmitja CPU > Vmitja disp. E/S poca
utilitat. Buffering no suficient
14. 2.5. Spooling
Solució:
Substitució treballs off-line
problema cintes (seqüencial) per disc magnètics (accés directe)
Utilitza el disc com a buffer molt gran
A diferència del buffering, SPOOLING solapa la E/S d’un
treball amb la computació d’altres. Pot simultaniejar E/S i
computació de molts treballs.
Actualment ja és una característica estàndard de la
majoria de sistemes.
Dona lloc al JOB POOL: planificació de treballs, ja que
varis treballs ja llegits esperen en un disc a ser
executats.
17. 2.6. Multiprogramació
Off-line, buffering, spooling: solapa E/S
Té les seves limitacions: 1 sol usuari no pot ocupar tot el
temps de CPU i E/S.
Mètode per tenir sempre alguna cosa a executar:
multiprogramació. Ex: vida real un advocat té varis clients
Els processos són desallotjats periòdicament del processador.
S’executen “per torns”. Comparteixen una mateixa memòria.
Mètode complex, cal:
Gestió de memòria
Planificació CPU
Planificació dispositius
Control concurrència,
protecció
18. 2.7. Processos per lots (Batch)
Per a l’execució de treballs grans amb poques
necessitats d’interacció.
El treball es preparar i es deixa fins que apareix a la
sortida (temps de retorn).
Fitxers batch: S’agrupen varis processos en un “lot”.
S’executen seqüencialment sense intervenció usuari.
Avantatges:
Disciplina escriptura i prova de programes
Inconvenients:
Cal preparar targes de control per gestionar tots els casos
possibles.
Depuració dels programes estàticament: bolcats puntuals.
Programador no pot modificar el programa al executar-lo.
19. 2.8. Sistema interactiu
També anomenat ‘Hands-On’
Facilita la comunicació entre usuari i sistema.
L’usuari dona instruccions i rep resposta immediata.
Fàcil experimentació i visió de resultats.
Útil per moltes accions breus de vegades impredictibles.
L’usuari indica comanda i espera resultat temps de
resposta.
20. 2.9. Temps compartit
També anomenat Multitasca = Time Sharing
Molts usuaris comparteixen simultàniament l’ordinador.
Per aconseguir funcionament interactiu a cost raonable.
Utilitza: planificació CPU + Multiprogramació
Explicació: cada usuari té a memòria un programa independent,
necessita E/S, suficient temps CPU curt, sensació de que cada
usuari té el seu ordinador, un procés temps màxim prefixat a CPU
Combinat amb processament en Batch amb Quantum.
Característiques:
Permeten treball interactiu
Poden treballar amb diversos usuaris simultàniament
Utilitzen tècniques de Buffering i Spooling
Donen temps de resposta curt
Utilitzen memòria temporal
21. 2.10. Temps real
S’utilitza com a dispositiu de control en una aplicació
especialitzada.
Restriccions importants de funcionament.
El seu fonament es basa en actuar a partir de les
lectures de sensors.
sensors dades a ordinador analitzar dades
ajustar controls sensors
Problemes: necessitat ajustar temps
Exemples:
Sistemes que controlen experiments científics
Sistemes mèdics computaritzats
Sistemes industrials de control
22. 2.11. Sistemes multiprocessadors
Més d’un processador = CPU en una mateixa màquina
Normalment comparteixen memòria i perifèrics: cas dels
servidors
Avantatges:
Major potència de càlcul
Major fiabilitat
Dos enfocaments:
Arquitectura Client / Servidor. La més utilitzada!
Xarxa d’ordinadors sistemes distribuïts
23. 2.12. Sistemes distribuïts
Dissenyats per distribuir la carregar de treballs en més
d’una màquina.
Un mateix procés es pot executar en diferents
màquines.
Temps de resposta més curt
Característiques:
Permet compartició de recursos (RAM, CPU, arxius,
impressores, memòria secundaria)
Acceleració de càlculs subdividir-los
Redundància: suplir si falla una màquina
Fiabilitat
24. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis dels sistemes operatius
25. 3. Protecció
1ers sistemes: 1 sol usuari, operats pel programador.
A mesura que evolucionen S.O.: fan les funcions de responsabilitat
que feia el programador-operador.
Permeten compartició recursos que suposa millora utilització però
augmenten els problemes: varis programes poden veure’s afectats
per l’error en un programa.
Procediment: error detectat HW fa excepció que provoca
interrupció.
Assegurar que es detectin tots els errors per protegir S.O. +
programes. Cal protegir els recursos compartits.
3 tipus de protecció:
3.1. Protecció E/S
3.2. Protecció memòria
3.3. Protecció CPU
26. 3.1. Protecció E/S
S’ha d’evitar que un programa llegeixi dades d’un altre.
2 modes d’operació (mode dual):
Mode usuari: si E/S, no l’executa, provoca interrupció, canvi de
mode, crida al sistema.
Mode supervisor: instruccions E/S com instruccions
privilegiades.
Crida al sistema per realitzar E/S
Avantatges mode dual
Facilita la protecció + permet millorar les prestacions
Permet al S.O. un control total sobre el sistema informàtic
Independència de dispositius
Conclusió: ens assegurem que un programa d’usuari mai pugui
prendre el control de l’ordinador en mode supervisor.
27. 3.2. Protecció memòria
Protecció de Hardware
En la majoria de casos: Registre límit
Divideix la memòria en part usuari i part monitor
Comprar cada direcció generada en mode usuari amb el registre
límit, no deixa accedir al monitor.
Supervisor canvia valor registre límit quan varia mida monitor.
Protegeix monitor però no protegeix programes d’usuari entre sí
Moure registre límit: no serveix.
Solució: Registre límit inferior + Registre límit superior
Modificables pel S.O. en mode supervisor
28. 3.3. Protecció CPU
Problema: si programa d’usuari es queda amb el control.
Solució: incloure un temporalitzador
Impedeix que un programa d’usuari caigui en un bucle infinit i no
retorni el control al monitor.
Gestionat per instruccions privilegiades
Funcionament:
Monitor assegura que el temporitzador estigui preparat per la
interrupció. Quan el temporitzador interromp, control a monitor
decideix el que fa.
29. 3.4. Arquitectura resultant
Actualment, molts programes i treballs diferents comparteixen els
recursos del sistema provoca modificacions arquitectura bàsica
ordinador per tal de permetre al S.O. controlar ordinador i E/S.
Per mantenir el control: mode dual (usuari, supervisor)
Seguretat de que cap programa d’usuari alteri el
funcionament de l’ordinador.
Objectiu: augmentar optimització ús ordinador i
augmentar prestacions per optimitzar productivitat CPU.
Els canvis en l’arquitectura de l’ordinador que hem vist, faciliten els
mecanismes necessaris per garantir que un S.O. funcioni
correctament.
30. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis dels sistemes operatius
31. 4. Seguretat en els S.O.
4.1. Seguretat externa
Contra agents externs, protecció informació
4.2. Seguretat interna o lògica
Control usuaris: login – password
Protecció de recursos (CPU, memòria, E/S - apartat 3.)
4.3. Seguretat en els fitxers
Disponibilitat fitxers (copies seguretat, variacions incrementals)
Privacitat fitxers (dominis, llistes accés, llistes capacitats)
4.4. Seguretat en la transmissió de dades
Criptografia (algorisme codificació-descodificació)
Compactació (simplifica treball, estalvia memòria)
4.5. Sistemes tolerants a errades
Permeten recuperació informació, duplicar recursos.
32. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis dels sistemes operatius
33. 5. Components dels S.O. (1/4)
5.1. Administració de processos
5.2. Administració de la memòria principal
5.3. Administració de l’emmagatzemament secundari
5.4. Administració del sistema E/S
5.5. Administració d’arxius
5.6. Sistemes de protecció
5.7. Xarxes
5.8. Intèrpret de comandes
34. 5. Components dels S.O. (2/4)
5.1. Administració de processos
Crear i eliminar processos
Suspendre i reprendre processos
Proporcionar mecanismes sincronització entre processos
Proporcionar mecanismes commutació entre processos
Proporcionar mecanismes utilització de blocs comuns
5.2. Administració de la memòria principal
Portar un control de les zones de memòria que s’estan utilitzant i
de qui les utilitza
Decidir on es carrega procés quan existeixi espai lliure memòria
Assignar i recuperar espai de memòria segons les necessitats.
35. 5. Components dels S.O. (3/4)
5.3. Administració de l’emmagatzemament secundari
Administrar l’espai lliure
Assignació de l’espai de nous fitxers,…
Planificació de les operacions sobre disc
5.4. Administració del sistema E/S
Ús i gestió dels drivers o controladors de dispositiu
Amagar les particularitats dels dispositius a l’usuari
5.5. Administració d’arxius
creació i eliminació d’arxius i directoris
Operacions bàsiques de manipulació d’arxius i directoris
Establir la correspondència entre els arxius i l’emmag. Secundari
Realització i restauració de còpies de seguretat.
36. 5. Components dels S.O. (4/4)
5.6. Sistemes de protecció
Mecanisme per controlar l’accés dels programes, processos o
usuaris als recursos de l’ordinador, assegurant que els arxiu,
segments de memòria, CPU i d’altres recursos són utilitzats
només per aquells processos que tenen autorització del S.O.
Apartat 3. Protecció
5.7. Xarxes
Components o software que forma part del S.O. que determina
la forma amb la que es connecten 2 o més ordinadors.
5.8. Intèrpret de comandes
És aquell programa pel qual es comunica l’usuari amb el S.O.
Exemples: SHELL de Linux/Unix, PROMPT de Ms-Dos
37. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis dels sistemes operatius
38. 6. Estructura dels S.O.
6.1. Sistemes monolítics
6.2. Sistemes jeràrquics en nivells
6.3. Màquines virtuals
6.4. Model Client-Servidor
39. 6.1. Sistemes monolítics
Estructura més utilitzada!
Tots els elements del S.O. estan continguts al seu nucli
S.O. format per conjunt procediments (interfície de
paràmetres i resultats), cadascun dels quals pot cridar al
a resta quan vulgui.
Cada crida al sistema té un procediment de servei que
s’encarrega d’executar-la.
Esquema divisió dels procediments en tres nivells:
procediment principal
procediments de servei
procediments auxiliars
40. 6.2. Sistemes jeràrquics en nivells
Generalització del model anterior
Estructurar el S.O. com una jerarquia de nivells, estant construït
cadascun d’ells sobre l’anterior
1er S.O. aquesta arquitectura: THE (Djkstra) 1968 – 6 nivells
Posteriorment, el sistema de nivells es va generalitzar
amb MULTICS (anells concèntrics)
Diagrama
Avantatges:
Per estructura subsistemes d’usuari
El S.O. té un control més gran sobre l’ordinador i les aplicacions
Més facilitat per fer canvis
41. 6.3. Màquines virtuals
Consisteix en crear màquines independents cada una de
les quals es emprada per 1 o varis usuaris, encara que
sol existeix una única màquina real.
El centre del sistema es coneix com Monitor de la
màquina virtual i s’implementa amb multiprogramació.
Es crea un estrat superior format per màquines virtuals
que són còpia exacta de la màquina real.
Esquema estructura VM/370 amb CMS
No són extensions de la màquina.
Donat que màquina virtual = hardware, cadascuna pot
tenir qualsevol S.O.
Conclusió: màquines virtuals diferents poden executar
S.O. diferents.
42. 6.4. Model Client - Servidor
En les màquines virtuals, el nucli resulta complex, i per aquest fet,
alguns S.O. moderns desplacen part de les rutines del nucli a
estrats superiors es redueix S.O. nucli mínim implementant
funcions S.O. com processos d’usuari.
Com es fa?
Processos client envien peticions al procés servidor
Funció nucli: implementar comunicació entre clients i servidors.
Esquema model Client/Servidor
Avantatges:
Dividir S.O. en parts més petites i manejables
Els processos servidors no tenen un accés directe al hardware
Adaptació senzilla a sistemes distribuïts
43. UD6 Sistemes Operatius
Parts de la UD6
1.- Definició, programa control, administrador recursos
2.- Evolució històrica. Conceptes
3.- Protecció: E/S, memòria, CPU. Arquitectura resultant
4.-Seguretat en els sistemes operatius
5.- Components sistemes operatius. Administració
6.- Estructura dels sistemes operatius
7.- Serveis i funcions dels sistemes operatius
44. 7- Serveis i funcions dels S.O.
7.1. Tipus de serveis
7.1.1. Gestió de la CPU
7.1.2. Gestió de la memòria
7.1.3. Gestió de l’E/S
7.1.4. Gestió de fitxers
7.1.5. Assignació de recursos
7.1.6. Detecció d’errors
7.1.7. Comptabilitat sobre recursos
7.1.8. Protecció dels recursos
7.2. Mètodes bàsics de prestació de serveis
7.2.1. Crides al sistema
7.2.2. Programes del sistema
45. 7.1. Tipus de serveis (1/2)
7.1.1. Gestió de la CPU
Els usuaris desitgen executar programes
El sistema ha de carregar un programa a memòria i executar-lo
El programa ha de poder acabar la seva execució
7.1.2. Gestió de la memòria
Memòria particionada (MFT, MVT)
Paginació
Memòria virtual
7.1.3. Gestió de l’E/S
Un programa en execució pot necessitar E/S
La E/S pot dirigir-se a un fitxer o a un dispositiu E/S
S.O. proporciona al programa d’usuari els mitjans per E/S
7.1.4. Gestió de fitxers
Els programes necessiten crear, esborrar, llegir i escriure en
fitxers
46. 7.1. Tipus de serveis (2/2)
7.1.5. Assignació de recursos
Múltiples usuaris i processos mateix temps assignar recursos
S.O. gestiona molts tipus diferents de recursos
Cal compartir recursos per millorar eficiència sistema
7.1.6. Detecció d’errors
S.O. ha de detectar constantment possibles errors i garantir computació
Tipus errors: CPU, hardware memòria, dispositius E/S, prog. d’usuari
7.1.7. Comptabilitat sobre recursos
Control dels usuaris que utilitzen l’ordinador
Propòsit: factura ús sistema, acumular estadístiques d’ús
7.1.8. Protecció dels recursos
Controlar ús informació
Execució simultània de programes
Gestió sol·licituds de recursos concurrents
47. 7.2.1. Crides al sistema
Els S.O. ofereixen una sèrie de serveis (apartat 7.1.), als
quals els programes poden accedir fent crides a sistema.
Fan d’interfície entre els programes d’execució i el S.O.
S’implementen generalment en llenguatge assemblador.
També en llenguatge alt nivell ‘C’ en Linux/Unix
Implementació: dos mètodes pas de paràmetres:
Mitjançant registres de la CPU
Utilitzant bloc de memòria
Classificació crides a sistema:
Control de processos i de treballs
Manipulació de fitxers
Manipulació de dispositius
Manteniment de la informació
49. Classificació crides a sistema
Control de processos i de treballs
Fi (end), avortar (abort), carregar (load), executar (execute), crear
procés (create process o submit job), acabar procés (terminate
process), obtenir atributs procés (get process attributes), establir
atributs procés (set process attributes), esperar temps (wait time),
esperar succés (wait event), succés produït (signal event), bolcar la
memòria (dump), veure instrucció al executar (trace).
Manipulació de fitxers
Crear fitxer (create), esborrar (delete), obrir (open), tancar (close), llegir
(read), escriure (write), reposicionar (reposition), obtenir atributs (get
file attribute), establir atributs (set file attribute).
Manipulació de dispositius
Sol·licitud de dispositiu (request), alliberar dispositiu (release), llegir
(read), escriure (write), resposicionar (reposition).
Manteniment de la informació
Obtenir hora (time), obtenir data (date), Obtenir atributs (get process
attributes),establir atributs (set process attributes)
50. 7.2.2. Programes del sistema
S.O. actuals: subministren una àmplia col·lecció de
programes del sistema per a resoldre problemes corrents
i oferir un entorn més adequat per al desenvolupament i
la execució de programes.
Tipus de programes del sistema:
Manipulació de fitxers
Informació de l’estat
Programes d’aplicació
Modificació de fitxers
Suport al llenguatge de programació
Càrrega i execució de programes
Intèrpret de comandes