610 likes | 701 Views
TEMA 1. INTRODUCCIÓ. 1. Elements d’un Sistema Informàtic 2. Què és un Sistema Operatiu? 2.1. Definicions senzilles 2.2. Capacitats d’un S.O. de propòsit general 3. Conceptes de S.O.. Tipus de S.O. 4. Estructura del computador 5. Components d’un S.O. 6. Tipus d’estructures internes.
E N D
TEMA 1. INTRODUCCIÓ 1. Elements d’un Sistema Informàtic 2. Què és un Sistema Operatiu? 2.1. Definicions senzilles 2.2. Capacitats d’un S.O. de propòsit general 3. Conceptes de S.O.. Tipus de S.O. 4. Estructura del computador 5. Components d’un S.O. 6. Tipus d’estructures internes
Elements d’un Sistema informàtic • Maquinari • Allò que és tangible • Programari • Allò que és intangible • Programari del sistema • Aplicacions • Persones (usuaris del sistema) • Usuaris • Programadors
Què és un Sistema Operatiu? • Programa que fa d’interfície entre els usuaris i el maquinari • Pertany al programari del sistema • Objectius • Executar les aplicacions dels usuaris • Facilitar la interacció amb l’ordinador • Administrar eficientment els recursos de la màquina
Definicions senzilles • Un sistema de software que té per finalitat fer operatiu (utilitzable) un sistema informàtic. • Conjunt de programes que gestionen els recursos del sistema, optimitzen la seva utilització i resolen conflictes.
Un S.O. de propòsit general ha de ser capaç de: • Controlar : Administrador de recursos • Com si fos un govern del maquinari • No realitza treball productiu • Compartir recursos entre processos • Controlar programes d’usuari, dispositius d’E/S, ... • Resoldre conflictes/ Assignar prioritats, ... • Ser eficient • Incrementar disponibilitat de l’ordinador • Maximitzar la utilització de recursos • Minimitzar temps perduts,...
Facilitar el seu ús • És una capa entre l’usuari i el maquinari • Si aquesta capa és independent del maquinari aconseguim la portabilitat • Fa la màquina transparent a l’usuari • Manegadors de dispositius / Gestió de memòria virtual /Mòdul de Sistema de Fitxers,... • Afegeix característiques no existents al maquinari. Ofereix una màquina extesa • Abstracció de la realitat • Més còmode i usable pel programador i usuari • Encara que els recursos físics són limitats, el SO ofereix a l'usuari recursos de manera gairebé il.limitada: • Memòria virtual/ Processadors virtuals
Ser fiable • Capacitat d'evolució: • Actualitzacions del maquinari i aparició de nous tipus de dispositius • Ampliació i oferta de nous serveis • Correccions • Facilitat correcció • Mida reduïda
Conceptes de S.O. Tipus de S.O. • S.O. per lots (procés batch) • Possibilitat d’executar una sèrie de comandes agrupades en un fitxer ( per lots) que es processen de forma automàtica. ex. procés de connexió • Falta d’interacció entre l’usuari i el treball que s’executa • E/S diferida (Operació off-line) • Neix degut a la lentitud dels dispositius d’e/s • El computador central dialoga directament només amb dispositius ràpids. • Un petit computador (satèlit) s’encarrega de les transferències amb dispositius lents.
Resultat: • Millor aprofitament del processador central • Execució paral·lela de càlculs i operacions d’E/S. • Es pot incrementar la velocitat utilitzant varis satèlits • Els treballs utilitzen els mateixos serveis per l’E/S. El que canvia és la implementació en el S.O.: Independència del dispositiu • Buffering • L’E/S es fa sobre buffers intermitjos. • La CPU només espera per l’E/S quan el buffer està buit (entrada) o ple (sortida). • Si l’E/S és molt lenta els buffers d’entrada es buiden i els de sortida es congestionen. • Aquesta e/s asíncrona suposa l’ús de mecanismes de sincronització. (interrupcions) • Permet solapar l’e/s d’un treball amb la seva execució.
Spooling ( E/S diferida) • Apareixen dispositius de gran capacitat (discs) • Es basa en la realització de les opns’s d’e/s sobre disc • Mentre s’executa un procés, el S.O.: • Llegeix les dades del següent treball de la unitat d’entrada a disc • Imprimeix la sortida del treball anterior, del disc a la impressora. • A disc hi tenim un conjunt de treballs: El S.O. Pot escollir el treball més adequat.
Monoprogramació • Els treballs s’executen seqüencialment • Multiprogramació • Quan un procés es bloqueja per esperar l’E/S, executem a la CPU instruccions d’un altre procés: • Els processos entrellacen la seva execució: concurrència • La CPU y l’E/S treballen a la vegada: es finalitzen més treballs en menys temps. • Els sistemes multiprogramats són més complexos: • Planificació de la CPU: Quan la CPU queda lliure. Quin procés escollim? • Conflictes per accés simultani a l’E/S • Varis processos residents a memòria
Temps compartit • Sistema multiprogramat i interactiu • La CPU reparteix el seu temps entre els diferents processos: a cada procés se li assigna un quantum • Cada procés disposa d’un quantum de temps periòdic. Si el període és suficientment petit, l’usuari no ho nota. • Problema: temps en el canvi de procés • Amb el T.C. Es perd productivitat de CPU, però es guanya en productivitat humana.
Ordinadors personals • L’aparició del microprocessador va permetre la fabricació de computadors barats. (anys 80) • Destinats a l’ús individual i no expert • Màxima importància: • Facilitat d’ús • Baixos temps de resposta,.... • Interfícies d’usuari: sistemes WIMP(windows, icones, menús, pointers) • Utilitzen tecnologia dels grans S.O., però no es consideren certs serveis: • Protecció
Sistemes paral·lels- multiprocessadors • Sistemes amb més d’un processador. Poden executar vàries instruccions simultàniament (en paral.lel). • Sistemes estretament acoblats: els processadors comparteixen una memòria comú • Avantatges: • Augment de la velocitat de processament • Certa tolerància a falles • Inconvenients • Necessitat de sincronització entre processos
Sistemes distribuïts • Múltiples processadors connectats mitjançant una xarxa • Sistemes dèbilment acoblats: els processadors no comparteixen memòria ni rellotge • Escalable fins a milions de processadors. Ex. Internet • Avantatges: • Compartició de recursos dispersos • Augment de la velocitat • Fiabilitat (tolerància a falles, alta disponibilitat) • Inconvenients • No comparteixen memòria: la comunicació és més complexa i no es pot obtenir un estat global visible per tots els nodes a l’instant • Xarxa de comunicacions no fiable • Heteregeneïtat dels nodes
Temps real • Han de retornar una resposta amb unes restriccions de temps molt grans. • Sistemes de control industrial • Sistemes multimèdia • El temps de resposta pot variar d’uns ms, a s fins a minuts • Dos tipus: • S.T.R crític: per tasques que sempre han de complir els terminis de finalització. • Adequats per a la indústria • Incompatibles amb temps compartit, memòria virtual • S.T.R. No crític: intenten complir els terminis, però no els garanteixen al 100%. • Adequats per a multimèdia.
Estructura del Computador • Processador • E/S • Sistema de memòria Memòria Bus CPU E/S
Entrada/Sortida (1) • Estructura de l’E/S • Els dispositius es connecten al bus a través de controladors d’E/S. • Cada controlador té un buffer local. La CPU envia i recull dades del buffer. • El controlador notifica a la CPU l’acabament d’una operació o arribada de noves dades mitjançant una interrupció.
Entrada/Sortida (2) • Interrupcions • Quan arriba un senyal d’interrupció a la CPU, suspen allò que estava fent i executa una rutina de servei a la interrupció (RSI) • Abans d’executar la RSI, s’ha de guardar l’estat de la CPU, per a que pugui continuar el que estava fent després de finalitzar la RSI • Còm reconeix la CPU quin dispositiu ha provocat la interrupció? • Preguntant a tots els dispositius (polling) • El dispositiu envia un número pel bus. Interrupcions vectoritzades.
Entrada/Sortida (3) • Interrupcions vectoritzades • Vector d’interrupcions. La CPU utilitza una taula a memòria amb les adreces de les diferents RSI que pot executar • El dispositiu que provoca la interrupció envia un número pel bus de dades. Aquest número serveix d’índex pel vector d’interrupcions, i la CPU executa la RSI corresponent.
Entrada/Sortida (4) • Gestió d’interrupcions en el S.O • Dos alternatives: • Síncrona: el S.O. espera a que l’E/S finalitzi • Asíncrona: el S.O. continua durant l’E/S • Funcionament asíncron + multiprogramat • L’usuari sol·licita una E/S mitjançant una crida a sistema • El S.O. tramita l’operació • El S.O. passa el control a un altre procés ( mentre l’E/S es dur a terme) • Quan finalitza l’E/S, genera una interrupció que: • Interromp el procés actual • Provoca l’execució del S.O. que reactiva al procés que va fer la crida.
Entrada/Sortida (5) • Interrupcions software • Les crides al sistema i les excepcions funcionen com interrupcions del software: es gestionen igual que les interrupcions del hardware, però les provoca la pròpia CPU. • Per a provocar una interrupció software, existeix una instrucció màquina específica: • INT (Intel) • Trap (Motorola) • SYSCALL (MIPS)
Entrada/Sortida (6) • DMA (Accés Directe a Memòria) • Els sistemes amb DMA, els dispositius poden accedir a memòria principal sense intervenció de la CPU. • Amb el DMA es pot dur a terme en una sola operació/interrupció el que amb d’altres sistemes requeria de vàries operacions.
Sistema de memòria • Jerarquia de memòries • En un sistema informàtic, els medis d’emmagatzematge es poden organitzar en una jerarquia, segons el seu cost i la seva velocitat. Registres Caché del processador Memòria principal Disc dur Cinta magnètica cost velocitat
Sistema de memòria • Aplicar el principi de caché: emmagatzemar a la memòria més ràpida la informació que s’utilitza amb més freqüència. • Problemes de les cachés: consistència i coherència • Consistència de les còpies quan la informació es troba en cachés de diferent nivell • Coherència de les còpies quan la informació es troba en vàris llocs del mateix nivell (multiprocessadors, sistemes distribuïts).
El S.O. és un programa guiat per events. • El S.O. Només s’activa quan succeeix un event que ha d’atendre. És un software guiat per events. • Tipus d’events • Interrupcions del hardware • Crides al sistema • Excepcions • Cada tipus d’event activa una RSI diferent, indexada a través del vector d’interrupcions.
Protecció del hw • Per a que el S.O. funcioni correctament, no s’ha de permetre que els programes d’usuari puguin realitzar lliurement certes operacions: • Accés a la memòria del S.O. i d’altres programes. • Accés directe als dispositius d’E/S • Utilització de la CPU sense restriccions • Solució: mode dual d’operació
Mode dual d’operació • La CPU especifica una colla d’instruccions privilegiades • Dos modes d’operació: • Mode privilegiat/supervisor/sistema • Es poden realitzar totes les operacions • Mode en el que s’executa el codi del S.O. • Mode no privilegiat/usuari • Si s’intenta executar una instrucció privilegiada, la CPU interromp l’execució i genera una excepció. • Mode en els que s’executa el codi d’usuari
Còm i quan es canvia de mode? • La CPU arranca en mode privilegiat • Quan el S.O. cedeix el control a l’usuari, commuta prèviament a mode no privilegiat • Només es retorna a mode privilegiat quan el S.O. recupera el control, és a dir, quan succeeix una interrupció, una crida a sistema o una excepció. interrupció Mode nucli Mode usuari S.O. canvia de mode
Crides a sistema i mode dual • La instrucció especial per a les crides a sistema (syscall, trap,..) commuta automàticament a mode privilegiat. • Per tant, s’utilitza per a que l’usuari canviï voluntàriament a mode privilegiat, però executant codi del S.O. que no està sota el seu control.
Protecció d’E/S • Les operacions d’E/S han de ser privilegiades. • Dos models d’accés a l’E/S: • Amb instruccions especials (in,out), que necessàriament han de ser privilegiades. • A través de la memòria: l’accés a les adreces que utilitza l’E/S ha d’estar prohibit en mode usuari.
Protecció de memòria • Idea: parell de registres base i límit, que delimiten la zona de memòria en la qual l’usuari està autoritzat a treballar. 0 Registre base S.O. Procés 1 Procés 2 Procés 3 18940 18940 42384 23444 54132 Registre límit 68790
Circuit de protecció de memòria • Quan un procés s’executa i es troba en mode usuari, s’activa un circuit que verifica que cada adreça generada de memòria sigui legal. • Els accessos no vàlids no surten al bus. Es produeix una excepció. base base+límit adreça si si CPU >= memòria < no no excepció
Protecció contra abusos de CPU • Objectiu: evitar que un procés acapari indefinidament el temps de CPU (ex. a l’entrar a un bucle infinit) • Solució: temporitzador. Genera una interrupció a cada porció especificada de temps (així el S.O. recupera el control): • Conté un comptador inicialitzat al valor que es desitgi • El comptador es decrementa a cada pols de rellotge del sistema • Quan el comptador arriba a zero, genera un interrupció • El temporitzador s’utilitza per a implementar el temps compartit • L’accés al temporitzador ha de ser privilegiat.
5. Components d’un S.O. • Processos • Memòria • Entrada/Sortida • Xarxa • Protecció • Fitxers
Processos • Un sistema operatiu executa diversos tipus d'activitats • Programes d'usuari, treballs en batch o shell scripts, programes del sistema com spoolers, DNS,.... • Cadascuna d'aquestes entitatsd'execució són encasellades en el que s’anomena procés.Per a poder executar-se, un procés necessita recursos: temps de CPU, una porció de memòria, fitxers, E/S,... • Responsabilitats del S.O. • Creació i eliminació de processos • Planificació de processos: repartir la CPU • Sincronització entre processos • Comunicació entre processos
Nucli: Definició • Nivell més intern, íntimament lligat al maquinari. El seu objectiu és la construcció d'un entorn adient on es puguin desenvolupar els processos.
Mòduls que constitueixen el nucli • Controlador d’Interrupcions • Planificador de baix nivell (Scheduller) • Despatxador • Rutines de comunicació i sincronització entre processos • Gestió de processos • Boot
Gestió de la Memòria Principal • Responsabilitats del S.O. • Conèixer quines zones de memòria estan lliure i quines ocupades • Ús compartit • Decidir quins processos s’han de carregar quan hi ha memòria lliure • Reubicació • Reservar i alliberar zones de memòria segons es sol.liciti • Memòria virtual: utilitzar l’emmagatzematge secundari (disc) com una extensió de la memòria principal.
Gestió de l'entrada i sortida • L’E/S és un conjunt de dispositius molt variats i complexes de programar: • Principal dificultat del disseny d'aquest nivell: Impossibilitat de generalitzar donades les grans diferències entre perifèrics: • Velocitat /Unitat transferència/Representació de les dades/Operacions permeses/Condicions d'error/.....
Objectius del sistema d'e/s • Proporcionar una interfície uniforme per l’accés als dispositius. (independència del dispositiu). • Independència del codi dels caràcters • Independència del perifèric • Tractar automàticament els errors més típics • Proporcionar gestors per a dispositius concrets. • Per als discos, planificar de forma òptima les peticions.
Gestió de l'emmagatzematge secundari • El sistema operatiu ha de permetre emmagatzemar informació a llarg termini. Avantatges que se'n deriven: • Reutilització de dades ja emmagatzemades • Utilització compartida de la informació • La gestió de l'emmagatzematge secundari inclou: • Gestió de l'espai lliure • Assignació de l'espai ocupat • Planificació de les operacions d'accés (també el capçal) • Com que és molt complicat usar aquest emmagatzematge secundari directament, disposem també, d'un mòdul que ajuda a la gestió: Gestió de fitxers
Sistema de gestió de fitxers • Un fitxer és un conjunt de dades identificat per un nom. Els fitxers es guarden en dispositius d’E/S. • Un fitxer és un concepte d’alt nivell que no existeix a nivell hardware. • Funcions del S.O.: • Manipulació de fitxers: crear, esborrar, llegir, escriure,.. • Manipulació de directoris • Ubicar els fitxers i directoris en els dispositius d’emmagatzematge secundari. • Referència fitxers amb noms simbòlics • Utilització compartida de les dades • Automatitzar certs serveis: còpies de seguretat, versions,quotes....
Planificador de treballs d’alt nivell. Processos • Donar entrada a nous processos • Assignar prioritats • Implementar polítiques d'assignació de recursos.
Assignació de recursos • Com aconseguir que un conjunt finit de recursos pugui ser compartit de manera eficient entre un nombre variable de processos. • Objectius d'aquest component: • Assegurar l'exclusió mútua per a recursos no compartibles • Evitar interbloquejos • Augmentar el grau d'utilització de recursos • Concessions de recursos a processos en temps raonables
Altres components • Sistema de Protecció • Tots els objectes necessiten protecció: • memòria/processos/fitxers/dispositius.... • Els mecanismes de protecció permeten detectar errors i controlar els accessos no permesos • Comptabilitat (Accounting) • Conjunt de facilitats per a conèixer el consum dels recursos. • Poden usar-se per establir quotes o bé quantificar els costos individuals
Xarxes • En un sistema distribuït, existeixen diversos ordinadors amb els seus recursos (locals) connectats mitjançant una xarxa. • Objectius: • Proporcionar primitives per a connectar-se a equips remots i accedir de formar controlada als seus recursos: • Primitives de comunicació (enviar i rebre dades) • Sistema de fitxers en xarxa (NFS) • Crida a procediment remot (RPC) • ....
5. Tipus d’estructures d’un S.O. • Com s'estructura tota aquesta informació vista fins ara? • Quines restriccions cal tenir en compte? • Rendiment • Fiabilitat • Facilitat de correcció/modificació • Possibles solucions, Estructures diverses: • Monolític • Jeràrquic o "per capes" • Client-Servidor
Sistemes monolítics • Els orígens: no hi ha estructura o és molt simple. • És un nucli amb totes les rutines del S.O. • Un exemple pròxim és UNIX • Problemes: • Complicat d'entendre • Difícil de modificar • Poc fiable/ sense proteccions • Costós de mantenir programa programa programa Crides a sistema Nucli HARDWARE