Sistemas Sistemas Operativos Operativos Dpto. Dpto.Informática InformáticayyAutomática Automática Universidad de Salamanca Universidad de Salamanca DIA. Universidad de Salamanca 24-sep-07 1 Bibliografía Bibliografía •• MODERN MODERNOPERATING OPERATINGSYSTEMS SYSTEMS •• A. A.S. S.Tanenbaum Tanenbaum •• Prentice-Hall Prentice-HallInternational, International,1992. 1992. •• SISTEMAS SISTEMASOPERATIVOS OPERATIVOS •• Stallings Stallings •• Prentice PrenticeHall, Hall,2005 2005 •• ORGANIZACIÓN ORGANIZACIÓNDE DECOMPUTADORAS. COMPUTADORAS. •• A.S. Tanenbaum. A.S. Tanenbaum. •• Prentice PrenticeHall, Hall,2000 2000 DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 1 - Dpto. Informática 2 Contenido: Contenido: •• 11Introducción Introducción 991.1 1.1¿Qué ¿Quées esun unSistema SistemaOperativo? Operativo? 991.2 1.2Historia Historiade delos losSistemas SistemasOperativos. Operativos. 991.3 1.3Conceptos Conceptossobre sobreSistemas SistemasOperativos. Operativos. 991.4 1.4Estructura Estructurade delos losSistemas SistemasOperativos. Operativos. •• 22Procesos Procesos 992.1 2.1Introducción Introducciónaalos losProcesos. Procesos. 992.2 2.2Comunicación Comunicaciónentre entreProcesos. Procesos. 992.3 2.3Problemas ProblemasClásicos Clásicosde deComunicación. Comunicación. 992.4 2.4Planificación Planificación(Scheduling) (Scheduling)de deProcesos. Procesos. DIA. Universidad de Salamanca 24-sep-07 3 Contenido: Contenido: (II) (II) •• 33Gestión Gestiónde deMemoria Memoria 993.1 3.1Gestión Gestiónde deMemoria Memoriasin sinSwapping SwappingooPaginación. Paginación. 993.2 3.2Swapping. Swapping. 993.3 3.3Memoria MemoriaVirtual. Virtual. 993.4 3.4Algoritmos Algoritmosde deDesalojo Desalojode dePáginas. Páginas. 993.5 3.5Algoritmos Algoritmosde dePaginación. Paginación. 993.6 3.6Diseño Diseñode deModelos Modelosde deSistemas Sistemasde dePaginación. Paginación. 993.7 Segmentación. 3.7 Segmentación. •• 44Sistemas Sistemasde deFicheros Ficheros 994.1 4.1Ficheros. Ficheros. 994.2 4.2Directorios. Directorios. 994.3 4.3Implementación Implementacióndel delSistema Sistemade deFicheros. Ficheros. 994.4 Seguridad. 4.4 Seguridad. 994.5 4.5Mecanismos Mecanismosde deProtección. Protección. DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 2 - Dpto. Informática 4 Contenido: Contenido:(III) (III) •• 55Entrada/Salida Entrada/Salida 995.1 5.1Principios Principiosde deHardware Hardwarede deE/S. E/S. 995.2 5.2Principios Principiosde deSoftware Softwarede deE/S. E/S. 995.3 5.3Disco. Disco. 995.4 5.4Relojes. Relojes. 995.5 5.5Terminales. Terminales. DIA. Universidad de Salamanca 24-sep-07 5 Contenido: Contenido:(IV) (IV) •• 77Caso Casode deEstudio Estudio11::Unix Unix 997.1 7.1Historia Historiadel delUnix. Unix. 997.2 7.2Repaso Repasode deUnix. Unix. 997.3 7.3Conceptos ConceptosFundamentales. Fundamentales. 997.4 7.4Llamadas Llamadasdel delSistema. Sistema. 997.5 7.5Implementaciones Implementacionesde deUnix. Unix. DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 3 - Dpto. Informática 6 Introducción Introducción Introducción Introducción 99Los Losordenadores ordenadoressin sinun unsoftware softwareadecuado adecuadoson sonprácticamente prácticamentechatarra. chatarra. 99Dos Dosclases clasesde deSoftware: Software: programas programasdel delsistema, sistema,que quecontrolan controlanlas lasoperaciones operacionesdel delcomputador computadoren ensi, si, programas programasde deaplicación, aplicación, que queresuelven resuelvenlos losproblemas problemasde delos losusuarios. usuarios. 99Entre Entrelos losprogramas programasdel delsistema, sistema,elelSistema SistemaOperativo Operativoes eselel más másimportante importante: : controla controlalos losrecursos recursosdel delcomputador computador(uno (unooomás másprocesadores, procesadores,memoria, memoria,discos, discos,interfaces interfacesde de red, red,dispositivos dispositivosde deE/S, E/S,etc), etc),yy sirve de base para que sean escritos los programas de aplicación. sirve de base para que sean escritos los programas de aplicación. DIA. Universidad de Salamanca 24-sep-07 7 Introducción Introducción Gestión de Bancos Reserva de Vuelos Juegos de Aventuras Compiladores Editores Intérpretes de comandos Programas de Aplicaciones Programas de Sistema Sistema Operativo Lenguaje Máquina Microprogramación Hardware Dispositivos Físicos Un computador está compuesto por el hardware, los programas de sistema y las aplicaciones. DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 4 - Dpto. Informática 8 Capas Capasde deun unsistema sistemainformático informático DIA. Universidad de Salamanca 24-sep-07 9 Niveles Niveles de de tratamiento tratamiento Se Se suele suele dividir dividir elel tratamiento tratamiento de de los los computadores computadores en en los los seis seis niveles niveles siguientes siguientes:: DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 5 - Dpto. Informática 10 Modelo Modelo de deVon VonNeumann Neumann •• En En1947 1947se sepublicó publicóun uninforme informeen enel elque quese seestablecieron establecieronlos losfundamentos fundamentos de delas lascomputadoras computadorasactuales. actuales.Los Losdos dospuntos puntosprincipales principalesfueron: fueron: 99Concepto Conceptode deprograma programaalmacenado. almacenado. 99Utilización Utilizacióndel delsistema sistemabinario binariode denumeración. numeración. •• El Elesquema esquemapropuesto, propuesto,conocido conocidocomo como“modelo “modelode deVon VonNeumann” Neumann”se seusó usó por porvez vezprimera primeraen enla lamáquina máquinaIAS IAS(Institute (Institutefor for Advanced AdvancedStudies), Studies),de dela la Universidad Universidadde dePrinceton. Princeton. En la memoria se almacenan datos y secuencias de instrucciones. La Unidad de Control determina el conjunto de acciones a ejecutar por la unidad Aritmética Lógica El conjunto UC-UAL se llama Unidad Central de Proceso (UCP) DIA. Universidad de Salamanca 24-sep-07 11 Diferentes Diferentes tipos tiposde de datos: datos: DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 6 - Dpto. Informática 12 Un Un computador computador completo: completo: DIA. Universidad de Salamanca 24-sep-07 13 Computador Computadorcompleto completocon conmás másdetalle detalle DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 7 - Dpto. Informática 14 CPU CPU DIA. Universidad de Salamanca 24-sep-07 15 Memoria Memoria Principal Principal DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 8 - Dpto. Informática 16 Un Un computador computador completo completo DIA. Universidad de Salamanca 24-sep-07 17 Introducción Introducción •• ¿Qué ¿Quées esun unSistema SistemaOperativo? Operativo? 99 Casi Casitodos todossabemos sabemosde dequé quése seestá estáhablando, hablando,pero perono noresulta resultafácil fácildefinirlo. definirlo. 99Existen Existendos dosdefiniciones definicionesque, que,en encierto ciertomodo, modo,se secomplementan: complementan: Conjunto Conjuntode deprogramas programasencargados encargadosde degestionar gestionarde deforma formaeficiente eficientetodos todoslos losrecursos recursosde deun un sistema sistemainformático informáticoentre entretodos todoslos losprocesos procesosque quecompiten compitenpor porellos. ellos. Conjunto Conjunto de de programas programas encargados encargados de de dar dar alal usuario usuario lala ilusión ilusión de de estar estar utilizando utilizando una una máquina máquinarelativamente relativamentesimple, simple,ocultando ocultandotodos todoslos losdetalles detallesde deimplementación implementación(principio (principiode de embellecimiento) . embellecimiento) . DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 9 - Dpto. Informática 18 Introducción Introducción El ElSistema SistemaOperativo Operativocomo comouna unaMáquina MáquinaVirtual. Virtual. R0 A 640 R1 R2 B 121 sumador Sistema Sistema Operativo Operativo A=640; B=121; C=A+B; Unidad Aritmético Lógica C 761 LOAD 640, A LOAD 121, B MOV A, RO MOV B, R1 ADD R0, R1 MOV R0, C Programa Código Máquina Memoria DIA. Universidad de Salamanca 19 24-sep-07 Introducción Introducción El ElSistema SistemaOperativo Operativocomo comoun unGestor Gestorde deRecursos. Recursos. Usuario 1 Recurso 1 Usuario 2 Recurso 2 Sistema Sistema Operativo Operativo Usuario n Recurso m Peticiones Respuestas DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 10 - Dpto. Informática 20 Gestor Gestorde derecursos recursos DIA. Universidad de Salamanca 24-sep-07 21 Introducción Introducción Historia Historiade delos losSistemas SistemasOperativos. Operativos. 99Primer Primercomputador computadordigital: digital:lalaMáquina MáquinaAnalítica Analíticade deCharles CharlesBabbage Babbage(1833-1846). (1833-1846).No No tenía teníasistema sistemaoperativo. operativo. 991.2.1 1.2.1 La La Primera Primera Generación Generación (1945-1955): (1945-1955): Válvulas Válvulas de de Vacio Vacio yy Tableros Tableros de de Conexiones: Conexiones: Los Losprogramas programaseran erancableados cableadosyyno noexistía existíaelelsistema sistemaoperativo. operativo. Tarjetas Tarjetasperforadas. perforadas. Un Unmismo mismogrupo grupode degente gentediseñaba, diseñaba,construía, construía,programaba programabayymantenía manteníacada cadacomputador. computador. DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 11 - Dpto. Informática 22 DIA. Universidad de Salamanca 23 DIA. Universidad de Salamanca 24 24-sep-07 24-sep-07 Sistemas Operativos - 12 - Dpto. Informática DIA. Universidad de Salamanca 24-sep-07 25 Calculadora Calculadora(1700) (1700)Deutsches DeutschesMuseum MuseumMunich Munich DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 13 - Dpto. Informática 26 DIA. Universidad de Salamanca 27 DIA. Universidad de Salamanca 28 24-sep-07 24-sep-07 Sistemas Operativos - 14 - Dpto. Informática DIA. Universidad de Salamanca 24-sep-07 29 La LaMáquina MáquinaAnálítica Análítica La primera máquina de calcular de Babbage Reproducción en el Museo de Ciencias Londres. DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 15 - Dpto. Informática 30 DIA. Universidad de Salamanca 31 DIA. Universidad de Salamanca 32 24-sep-07 24-sep-07 Sistemas Operativos - 16 - Dpto. Informática DIA. Universidad de Salamanca 24-sep-07 33 MARK MARKII DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 17 - Dpto. Informática 34 ENIAC ENIAC DIA. Universidad de Salamanca 24-sep-07 35 ENIAC ENIAC DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 18 - Dpto. Informática 36 Von VonNeumann Neumann DIA. Universidad de Salamanca 24-sep-07 37 Tabuladora Tabuladorayyperdoradora perdoradorade defichas fichas(1948) (1948) DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 19 - Dpto. Informática 38 Ordenadores Ordenadoresde dePrimera PrimeraGeneración Generación Memoria de tambor magnético DIA. Universidad de Salamanca 24-sep-07 39 Introducción Introducción La LaSegunda SegundaGeneración Generación(1955-1965): (1955-1965):El ElTransistor Transistoryylos losSistemas SistemasBatch. Batch. 99La Laintroducción introduccióndel deltransistor transistorcambió cambióradicalmente radicalmentelalaescena. escena. 99Los computadores se podían comercializar Los computadores se podían comercializaryycomprar. comprar. 99Separación Separaciónentre entrelos losdiseñadores diseñadoresyylos losusuarios. usuarios. entrada proceso salida $END $RUN $LOAD $FORTRAN $JOB,10,3,pepe Datos Programa FORTRAN DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 20 - Dpto. Informática 40 Ejemplo Ejemplode detrabajo trabajoen enla lasegunda segundageneración generación •• Un Un ejemplo ejemplo de de conjunto conjunto de de fichas fichas perforadas perforadas para para ejecutar ejecutar un un programa programa en enFortran Fortrancon conelelsistema sistemaOperativo OperativoFMS: FMS: $JOB, 5494, LUIS Fichas para la gestión del CPD $XEQ $FORTRAN Llamada al compilador Fortran ..... .... ..... Fichas con el programa en Fortran $DATA .... .... Fichas con los datos para el programa Fortran .... $END DIA. Universidad de Salamanca 24-sep-07 41 Ordenador Ordenadorde decálculo cálculode detiro tiro(1961) (1961) Museo Naval de El Ferrol DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 21 - Dpto. Informática 42 IBM IBM 7094 7094 (1962) (1962) El IBM 7094 de la Universidad de Columbia. (1965) DIA. Universidad de Salamanca 43 24-sep-07 Introducción Introducción La LaTercera TerceraGeneración Generación(1965-1980): (1965-1980):ICs ICsyyMultiprogramación. Multiprogramación. 99Dos Dostendencias tendencias: :cálculo cálculocientífico científicoyytratamiento tratamientomasivo masivode dedatos. datos. 99Exigencia Exigenciade demás másrapidez. rapidez. 99Familia Familiade decomputadores computadores: : misma mismaarquitectura, arquitectura,diferente diferenteprecio precioyyprestaciones prestaciones circuitos circuitosintegrados integrados(ICs) (ICs) SO SOversátiles, versátiles,grandes grandesyycomplejos. complejos. multiprogramación multiprogramación partición particiónde dememoria memoria Particiones spooling spooling de tiempo tiempocompartido compartido Memoria Trabajo 3 Trabajo 2 Trabajo 1 Sistema Operativo DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 22 - Dpto. Informática 44 IBM IBM360/91 360/91(1969) (1969) Un IBM 360/91 en la NASA (1969) El Sistema Operativo era OS/360 VAX 11 de DEC (1978) El Sistema Operativo era VMS DIA. Universidad de Salamanca 24-sep-07 45 Olivetti Olivetti1967 1967 DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 23 - Dpto. Informática 46 Introducción Introducción La LaCuarta CuartaGeneración Generación(1980-1990): (1980-1990):Ordenadores OrdenadoresPersonales. Personales. 99circuitos circuitosintegrados integradosde dealta altaescala escalade deintegración integración(VLS). (VLS). 99computadores personales y workstations. workstations computadores personales y workstations. 99industria -friendly, user friendly los industria del del software, software, useruser-friendly, los usuarios usuarios no no tienen tienen que que saber saber nada nada sobre sobre informática. informática. 99dos dosSOs SOs: :elelMS-DOS MS-DOS(PCs (PCsIntel Intel8088 8088yy80x86) 80x86)yyelelUNIX UNIX(WSs). (WSs). 99redes de PCs : SO de red y SO distribuidos. distribuidos redes de PCs : SO de red y SO distribuidos. SO SOde dered, red,los losusuarios usuariosconocen conocenlalaexistencia existenciade demultiples multiplescomputadores. computadores. SO distribuido, los usuarios no deberían saber dónde SO distribuido, los usuarios no deberían saber dóndese seestán estánejecutando ejecutandosus susprogramas, programas,oo dónde dóndeestán estánlocalizados localizadossus susficheros. ficheros. •• 1990 1990––Actualidad Actualidad 99LA LArevolución revoluciónmayor mayorestá estáproducida producidapor porlalaRed Redde deredes redes(Internet) (Internet)que queha haproducido producido una unaserie seriede defenómenos fenómenostecnológicos tecnológicosy,y,sobre sobretodo, todo,sociológicos sociológicoscuyo cuyoalcance alcanceestá está todavía por determinar. todavía por determinar. 99Además, Además,los losavances avancesen enlalamicroelectrónica microelectrónicayylos losdescensos descensosen enlos loscostes costeshan hanhecho hecho que quelos loscomputadores computadoresestén esténpresentes presentes en encasi casitodos todoslos losámbitos. ámbitos. DIA. Universidad de Salamanca 47 24-sep-07 Spectrum Spectrum 1982 1982 •• Procesador Procesador Zilog Zilog Z80A Z80A de de 88 bit bit aa 3,5 3,5 MHZ, MHZ, memória memória de de 64K 64K (ROM, RAM) y UAL. La ROM, con 16K, almacenaba de (ROM, RAM) y UAL. La ROM, con 16K, almacenaba de modo modo permanente programas, permanente programas, tablas tablas etc. etc. necesarios necesarios para para el el funcionamiento funcionamiento del del sistema sistema yy un un interprete interprete BASIC. BASIC. La La RAM RAM tenía teníaun unárea áreade detrabajo trabajode de 48K. 48K. Foto: Museo Virtual de la Universidad de Minho (Portugal) DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 24 - Dpto. Informática 48 Ordenadores Ordenadorespersonales personales Osborne 1 (1982) Primer ordenador potátil (11 Kg) MacIntosh (1984) DIA. Universidad de Salamanca 24-sep-07 49 Ley Leyde deMoore Moorede deevolución evolucióntecnológica tecnológica DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 25 - Dpto. Informática 50 Algunos Algunoshitos hitosen enla lahistoria historiade delos loscomputadores computadores Año 1834 Nombre Máquina Analítica Hecho por C. Babbage Comentario Primer intento de construcción 1936 Z1 K. Zuse Máquina de relés. 1943 COLOSSUS Gobierno Británico Primer computador electrónico 1944 Mark 1 H. Aiken Primer electromecánico computador 1946 ENIAC Eckert, Mauchly Inicio de la historia. 1952 IAS Von Neumann Arquitectura actual 1960 PDP-1 Digital Primer minicomputador vendieron 50) (se 1964 Serie 360 IBM Primera familia de productos. 1964 6600 CDC Primer superordenador 1970 PDP-11 Digital Mini más vendido 1978 VAX Digital Mini-super-ordenador 1981 IBM PC IBM Primer computador personal 1985 HP –UX Hewlett Packard Version comercial de Unix. 1985 MIPS MIPS Primera máquina RISC 1987 SPARC SUN Primera máquina RISC-SPARC 1993 Pentium Intel Procesador 32 bits ........... DIA. Universidad de Salamanca 24-sep-07 51 Microsoft Microsoft DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 26 - Dpto. Informática 52 DIA. Universidad de Salamanca 24-sep-07 53 Organización Organizacióntípica típicade deun uncomputador. computador. DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 27 - Dpto. Informática 54 Ciclo Ciclobásico básicode deinstrucción instrucción DIA. Universidad de Salamanca 24-sep-07 55 Algunas Algunasmejoras mejorassobre sobreVon VonNeumann(1) Neumann(1) DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 28 - Dpto. Informática 56 Algunas Algunasmejoras mejorassobre sobreVon VonNeumann(2) Neumann(2) DIA. Universidad de Salamanca 24-sep-07 57 Algunas Algunasmejoras mejorassobre sobreVon VonNeumann(3) Neumann(3) •• Máquinas Máquinas“superescalares” “superescalares”:: DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 29 - Dpto. Informática 58 Algunas Algunasmejoras mejorassobre sobreVon VonNeumann(4) Neumann(4) •• Sistemas Sistemasmultiprocesadores multiprocesadores:: DIA. Universidad de Salamanca 24-sep-07 59 Componentes Componentesde deun unSistema SistemaOperativo Operativo DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 30 - Dpto. Informática 60 Introducción Introducción Conceptos Conceptossobre sobreSistemas SistemasOperativos. Operativos. 99Llamadas LlamadasalalSistema Sistema: : interface interfaceentre entreelelSO SOyylos losprogramas programasde deusuario. usuario. crean, crean,borran borranyyutilizan utilizanobjetos objetossoftware softwaregestionados gestionadospor porelelSO. SO. 99Procesos. Procesos Procesos. 99Ficheros. Ficheros Ficheros. DIA. Universidad de Salamanca 61 24-sep-07 Introducción Introducción Procesos Procesos 99Genérico: Genérico: Proceso Proceso == secuencia secuencia de de actividades actividades llevadas llevadas aa cabo cabo para para un un propósito propósito específico. específico.Por Porejemplo, ejemplo,proceso procesopenal, penal,proceso procesoquímico, químico,etc. etc. 99Informática Informática: :proceso proceso== programa programaen enejecución ejecuciónyytoda todalalainformación informaciónnecesaria necesariapara para ejecutar ejecutarelelprograma. programa. 99En Ensistemas sistemasde detiempo tiempocompartido, compartido,cuando cuandose sesuspende suspendelalaejecución ejecuciónde deun unproceso proceso debe debeguardarse guardarsesu suestado estadopara parapoder poderrestaurarlo restaurarlodespués: después: 99Tabla Tablade deProcesos. Procesos. Proceso 1 Proceso 2 Proceso 3 Proceso n direcciones datos P. C. Stack Pointer Pila Registros Estructura relativa a un Proceso Tabla de Procesos 99Creación Creaciónyydestrucción destrucción 99Procesos Procesoshijo hijo 99Comunicación Comunicaciónentre entreprocesos: procesos:señales señales 99Identificación de procesos Identificación de procesos DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 31 - Dpto. Informática 62 Introducción Introducción Ficheros Ficheros 99elelSO SOse seencarga encargade depresentarnos presentarnosun unmodelo modelode desistema sistemade deficheros ficherosindependiente independiente de dedispositivo dispositivo 99las lasllamadas llamadasalalsistema sistemase seencargan encargande delas lasoperaciones operacionescon conficheros ficheros 99directorio: directorio:una unamanera manerade deorganizar organizaryyagrupar agruparficheros ficheros 99jerarquía jerarquíade dedirectorios, directorios,árbol árbolde dedirectorios directorios 99path pathname name proceso proceso 99root rootdirectory directory pipe 99working directory working directory A B 99sistema sistemade deprotección protecciónde deficheros ficheros 99dispositivos dispositivosde deE/S E/Svistos vistoscomo comoficheros ficheros 99pipes pipes DIA. Universidad de Salamanca 63 24-sep-07 Introducción Introducción •• Las LasLlamadas LlamadasalalSistema Sistema Sistema de Ficheros count=read(file,buffer,nbytes) Programa de usuario file disco nbytes cilindro buffer pista READ read file,buffer,nbytes Procedimiento Llamada al sistema RETURN Procedimientos lectura TRAP FROM TRAP Biblioteca de datos Sistema Sistema Operativo Operativo DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 32 - Dpto. Informática 64 Introducción Introducción El ElShell Shell tratamiento de las llamadas al sistema compiladores editores etc ... $ $ date intérprete de comandos Sistema Operativo $ date >fichero $ sort <fichero1 >fichero2 $ cat file1 file2 | sort >/dev/lp $ cat file1 file2 | sort >/dev/lp & $ Herramientas Shell Terminal de usuario DIA. Universidad de Salamanca 24-sep-07 65 Introducción Introducción Estructura Estructuradel delSistema SistemaOperativo Operativo 99Hasta Hasta ahora ahora hemos hemos estado estado analizando analizando alal SO SO desde desde fuera, fuera, desde desde su su función función yy objetivos. objetivos.En Enesta estasección secciónvamos vamosaaexaminar examinarcuatro cuatrodiferentes diferentesestructuras estructurasdel delmismo mismo que quehan hansido sidoprobadas, probadas,para parapoder poderhacernos hacernosuna unaidea ideade delas lasposibilidades. posibilidades. DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 33 - Dpto. Informática 66 Introducción Introducción Sistemas SistemasMonolíticos Monolíticos Programa de Usuario 2 Programa de Usuario 1 Llamada al Sistema Memoria Principal Programas de Usuario Ejecutandose en Modo Usuario (4) (1) (3) Procedimiento de Servicio (2) Sistema Operativo Ejecutandose en Modo Supervisor o “kernel” Tabla Pasos implicados en una llamada al sistema : (1) programa de usuario manda una llamada (TRAP) al kernel. (2) El SO determina el numero del procedimiento de servicio requerido. (3) El SO localiza y llama al procedimiento de servicio implicado. (4) El control es devuelto al programa de usuario. DIA. Universidad de Salamanca 67 24-sep-07 Introducción Introducción Sistemas SistemasMonolíticos Monolíticos(cont.) (cont.) 99Esta Estaorganización organizaciónsugiere sugierelalasiguiente siguienteestructura estructurabásica básicadel delSO: SO: 1.1.- Un Unprograma programaprincipal principalque queinvoca invocaalalprocedimiento procedimientode derespuesta respuestade deservicio. servicio. 2.2.- Un Unconjunto conjuntode deprocedimientos procedimientosde deservicio servicioque quetratan tratanlas lasllamadas llamadasalalsistema. sistema. 3.3.- Un Unconjunto conjuntode deprocedimientos procedimientosde deutilidad utilidadque queayuden ayudenaalos losprocedimientos procedimientosde deservicio. servicio. Procedimiento Principal Procedimientos de Servicio Procedimientos de Utilidades DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 34 - Dpto. Informática 68 Introducción Introducción Sistemas SistemasEstructurados Estructuradospor porCapas. Capas. 99Una Una generalización generalización de de lala aproximación aproximación anterior anterior es es organizar organizar elel SO SO como como una una jerarquí ía de jerarqu capas jerarquía decapas, capas,cada cadauna unade delas lascuales cualesestá estáconstruida construidasobre sobreotra otraque queestá estápor por debajo debajode deella. ella. Ejemplo Ejemplo: :elelTHE THE 5 El Operador 4 Programas de Usuario 3 Gestión de E/S 2 Comunicación Operador-Procesos 1 Gestión de Memoria 0 Localización de Procesos y Multiprogramación Estructura del Sistema Operativo THE DIA. Universidad de Salamanca 69 24-sep-07 Introducción Introducción Máquinas MáquinasVirtuales Virtuales 99tiempo tiempocompartido compartido 99separar separarlalamultiprogramación multiprogramaciónyylalamáquina máquinaextendida extendida 99Monitor de Máquina Virtual : Monitor de Máquina Virtual : justo justo por por encima encima del del hardware, hardware, permite permite multiprogramación multiprogramaciónyyproporciona proporcionavarias variasmáquinas máquinasvirtuales. virtuales. 99Máquina MáquinaVirtual: Virtual:copia copiaexacta exactadel delhardware hardwaresubyacente. subyacente. 99Conversational Monitor System : sistema Conversational Monitor System : sistemainteractivo interactivomonousuario. monousuario. Máquinas 370 virtuales Usuario1 Instrucción E/S ... ... se atrapa aquí. CMS Usuario1 CMS Usuario1 CMS Llamada al sistema ... ... se atrapa aquí. VM/370 Hardware del 370 Estructura del VM/370 con CMS DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 35 - Dpto. Informática 70 Introducción Introducción Modelo ModeloCliente-Servidor Cliente-Servidor Kernel Kernelmínimo mínimo Proceso cliente Procesocliente, cliente,(modo (modousuario), usuario),solicita solicitaservicio servicio(mediante (mediantemensajes mensajesque quemaneja manejaelel kernel), kernel),que queefectua efectuaelelproceso procesoservidor servidor(modo (modousuario) usuario) Problema: Problema:procesos procesosde deusuarios usuariossin sinacceso accesototal totalaahardware hardware Solución: Solución: –– procesos procesosservidores servidorescriticos criticosen enmodo modokernel kerneloosupervisor. supervisor. –– dejar en kernel mecanismos y las políticas dejar en kernel mecanismos y las políticasde dedecisión decisiónen enprocesos procesosmodo modo usuario. usuario. Proceso Cliente Proceso Cliente Servidor Procesos Servidor Terminales Servidor Ficheros Servidor Memoria Modo Usuario Modo Kernel Kernel El Cliente obtiene Servicio mandando Mensajes al Servidor DIA. Universidad de Salamanca 71 24-sep-07 Introducción Introducción Modelo ModeloCliente-Servidor Cliente-Servidor(cont.) (cont.) 99sistemas distribuidos sistemasdistribuidos: distribuidos: elelcliente clienteno nonecesita necesitaconocer conocersisielelmensaje mensajese sequeda quedaen ensu su propia propiamáquina máquinaoosisinavega navegaaatravés travésde delalared redhacia haciauna unamáquina máquinaremota. remota. Máquina 1 Máquina 2 Cliente Servidor Ficheros Kernel Kernel Máquina 4 Máquina 3 Servidor Procesos Servidor Terminales Kernel Kernel Red Mensaje del Cliente al Servidor DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 36 - Dpto. Informática 72 •• Estructura Estructurade deun unsistema sistemaUnix Unixtípico típico:: DIA. Universidad de Salamanca 24-sep-07 73 Estructura Estructurade deWindows Windows2000 2000 DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 37 - Dpto. Informática 74 Caracteristicas Caracteristicasde delos losSistemas SistemasOperativos OperativosActuales Actuales •Arquitectura •Arquitecturade demicronúcleo micronúcleo(MICROKERNEL) (MICROKERNEL)architecture architecture 9El 9Elnúcleo núcleosolamente solamentetiene tieneunas unaspocas pocasfunciones funcionesesenciales: esenciales: address addressspace space interprocess interprocesscommunication communication(IPC) (IPC) basic basicscheduling scheduling •Multihilo •Multihilo(Multithreading (Multithreading 9Los 9Losprocesos procesosse sedividen dividenen en“hilos” “hilos”que quepueden puedenejecutarse ejecutarsesimultánemente simultánemente 9Hilo 9Hilo: :mínima mínimaunidad unidadde detrabajo trabajodespachable despachable 9Se 9Seejecuta ejecutade deforma formasecuencial secuencialyyes esinterrumpible interrumpible 9Un 9Unproceso procesoes esuna unacolección colecciónde deuno unooomás máshilos hilos •Multiproceso •Multiprocesosimétrico simétrico(Symmetric (Symmetricmultiprocessing) multiprocessing) 9Hay 9Haymúltiples múltiplesprocesadores. procesadores. 9Todos 9Todoslos losprocesadores procesadoresson sonidénticos idénticosyycomparten compartenlalamemoria memoriayylalaE/S E/S •Sistemas •SistemasOperativos OperativosDistribuidos Distribuidos(Distributed (Distributedoperating operatingsystems) systems) 9Dan 9Danlalailusión ilusiónde deuna unaúnica únicamemoria memoriaenorme enorme(principal (principalyysecundaria) secundaria) 9Usado 9Usadopara parasistemas sistemasde deficheros ficherosdistribuidos. distribuidos. •Diseño •DiseñoOrientado OrientadoaaObjetos Objetos(Object-oriented (Object-orienteddesign) design) 9Para 9Paraañadir añadirextensiones extensionesmodulares modularesaaun unnúcleo núcleopequeño. pequeño. 9Permite 9Permiteque quelos losprogramadores programadorespersonalicen personalicenun unSO SOsin sinperturbar perturbarlalaintegridad integridaddel delsistema. sistema. DIA. Universidad de Salamanca 24-sep-07 75 Sistemas SistemasOperativos OperativosActuales Actuales •Windows •Windows2000 2000(y (ysucesores: sucesores:XP, XP,Vista, Vista, ):): 9Aprovecha 9Aprovechalalapotencia potenciade delos losmicroprocesadores microprocesadoresde de32 32bits. bits. 9Multitarea 9Multitareacompleta completaen enun unentorno entornode deusuario usuarioúnico. único. 9Cliente/servidor 9Cliente/servidor 9Estructura 9Estructuramodular. modular. 9Se 9Seejecuta ejecutaen envarias variasplataformas plataformashardware. hardware. 9Soporta 9Soportaaplicaciones aplicacionesescritas escritaspara paraotros otrosSO. SO. •Unix: •Unix: 9El 9ElSO SO“rodea” “rodea”alalhardware. hardware. 9El 9ElSO SOse sellama llamaelelnúcleo núcleo(kernel) (kernel) 9Viene 9Vienecon convarios variosservicios serviciosde deusuario usuarioeeinterfaces: interfaces: shell shell CCcompiler compiler 9Familias 9FamiliasUnix: Unix: System SystemVVRelease Release44(SVR4) (SVR4) Solaris Solaris2.x 2.x 4.4BSD 4.4BSD Linux Linux DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 38 - Dpto. Informática 76 Paginas Paginasweb webde dehistoria: historia: DIA. Universidad de Salamanca 24-sep-07 77 Más Máspáginas páginasweb... web... DIA. Universidad de Salamanca 24-sep-07 Sistemas Operativos - 39 - Dpto. Informática 78