Sistemas operatius Sistema Operatiu és tot el que hi ha al sistema que no és ni aplicacions/utilitats ni "maquinari“ i fa que l'ús del “hardware” sigui transparent a l’usuari/aplicacions. programa–> executable-> procés Procés: programa en execució consumint recursos del sistema (CPU, memòria,...) llenguatge d’alt nivell -> llenguatge màquina ( FASE 1) Compilació: traducció de llenguatge d’alt nivell a codi objecte Muntatge/Enllaçar: creació d’un fitxer executable a partir de diversos fitxers objecte i llibreries Fitxer executable: entitat estàtica emmagatzemat a disc Execució (FASE2) Carregar un fitxer executable a memòria i donar control a la primera instrucció del programa RI (Registre d’Instruccions): Guarda la instrucció que s’ha llegit de MP. Instrucció a executar CP(Comptador Programa): Guarda l’adreça de la següent instrucció a llegir de MP Cicle bàsic d’execució d’una instrucció •Carregar a RI la instrucció de MP indicada per CP •Incrementar el CP •Executar la instrucció emmagatzemada a RI que pot ser de varis tipus: •Processador-memòria •Processador-E/S •Tractament de dades (operacions aritmètiques o lògiques) •Control (alterar la seqüència d’execució) Com es pot trencar aquest cicle d’execució bàsic d’una instrucció? Interrupció: Trencar el flux d’execució d’instruccions •Hardware: motius externs al procés •Software: per execució explícita d’una instrucció del procés Hardware/Software: en els dos casos es deixa d’executar instruccions del procés i es passa a executar instruccions que no són del procés Què implica deixar d’executar el codi del procés A i passar a executar la RTI? Atén el que li ha interromput i realitza l'operació IMPORTANT: •El SO té permís per executar qualsevol instrucció del repertori màquina del processador i accedir a qualsevol posició de memòria. •Els processos anomenats d’usuari tenen permisos restringits. RE(Registre d’Estat o Paraula d’Estat): Conjunt de bits activats pel hardware del processador com a resultat de certes operacions (bits de modus de funcionament) Dos modus de funcionament del processador: (modus usuari o modus privilegiat, supervisor) Interrupció - Software (o TRAP) •TRAP és una instrucció del repertori màquina del processador. •Es tracta d’una interrupció de l’execució normal del processador a petició del procés d’usuari en execució mitjançant l’execució de la instrucció TRAP. •Es sol∙licita un servei al SO (llegir un fitxer, executar un programa…..) o crida al siste ma. •Implica executar codi del SO per atendre el servei sol∙licitat. Aquesta interrupció es síncrona, sempre es produeix en la mateixa instrucció del procés. Interrupció – Hardware •Es tracta d’una interrupció de l’execució normal del processador. •Permet al processador executar altres instruccions mentres una operació de E/S està en procés. •Es una interrupció d’un procés degut a un factor extern al mateix ique s'atén de tal manera que l’execució de dit procés pugui ser represa. Aquesta interrupció és asíncrona, no se sap amb anterioritat quan es produirà una interrupció hardware. Resum: •Conceptes programa, executable, procés. •Procés consumeix recursos del sistema. Les instruccions i dades del procés han d’ estar a MP per poder‐se executar. •Les instruccions del SO també estan present a MP per poder‐se executar. •Cicle bàsic d’execució d’una instrucció de codi màquina. •Interrupcions o com trencar el cicle bàsic d’execució d’una instrucció. •Tipus interrupcions: hardware i software •Implicacions de cada tipus Com s’identifica un procés? •Estat del processador: contingut dels registres del model de programació. •Imatge de memòria: contingut dels segments de memòria en els que resideix el codi i les dades del procés •Informació de control, identificació… Planificador a Curt Termini: Decisió sobre quin procés serà executat en el processador. Gestiona la transició de l’estat de llest a l’estat d’execució. Definicions de temps associats a un procés: –Temps d’arribada: instant de temps en que el procés apareix en el sistema. –Temps de servei: temps total d’utilització del processador. –Temps de resposta: temps que transcórrer des que el procés apareix en el sistema fins que rebem la primera resposta del procés (quantificarem des del temps d’arribada fins l’instant de temps en que té processador per primera vegada) –Temps d’espera: temps en que el procés està a l’estat de llest. –Temps de retorn: temps total de vida del procés des que apareix en el sistema fins que desapareix. Planificació de CPU (curt termini) Consisteix en assignar processador als processos llestos per ser executats, de manera que es compleixin els objectius: –Baix temps de resposta –Baix temps d’espera –Alt throughput (nombre de processos acabats per unitat de temps) Baix temps de retorn Definició de polítiques de Planificació de CPU a curt termini. Funció de Selecció:Quin procés s’executará? –Prioritats –Necessitats de recursos –Característiques dels processos Mode de selecció: Quan? –No apropiatiu –Apropiatiu First Come First Served (FCFS) •Funció de selecció: max[Tespera], els processos s’atenen per ordre d’arribada. •Mode de decisió: No apropiatiu •Característiques: –Senzill –Temps d’espera de mitjana elevat –Penalitza als processos curts i als que tenen molta E/S –Inanició: no ShortestProcessNext(SPN) •Funció de selecció:min [Tservei], s’assigna primer el procés amb menor temps d’execució. •Mode de decisió: No apropiatiu •Problema: –Problema: conèixer Tsabans de l’execució •Característiques: –Minimitza el temps d’espera (Tw) –Bon temps de resposta –Inanició: possible –Penalitza als processos llargs –Productivitat: alta Round Robin •Cada procés s’executa durant una fracció de temps abans de ser expulsat (Quantum) •Mode de decisió:Apropiatiu (basat en el quantum) •Característiques: –Rendiment en funció del quantum –q petit => nombre alt de canvis de context –q petit => temps de retorn alt –q gran => utilització alta de la CPU, però també temps de resposta alt –q petit => productivitat baixa –q ideal => el 80% de les ràfegues de CPU han de ser més petites que el quantum –q molt més gran que el canvi de context –Quantum: entre 100 i 200 milisegons. –El quantum és sintonitzable!. –Redueix la penalització que pateixen els treballs curts amb FCFS –Inanició: No, però temps d’espera alt –Bon temps de resposta –Penalitza als processos amb E/S.