C1 introduccion 2012_1_ssoo_mododecompatibilidad_

  • 136 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
136
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Sistemas Operativos Introducción Presentación ¿qué esperan del curso? Sistemas Operativos Profesor: Your picture here Objetivos del curso Ciclo 2012-1 Diaz Muñante Jorge Introducción al curso 2 Objetivos del curso Introducción • Conocer las distintas partes de un SO Presentación • Cómo se relacionan. ¿qué esperan del curso? Objetivos del curso • Fundamentos de la operación Horario • Conocer la necesidad de tener sistemas operativos eficientes en un sistema de – Martes de 2 a 5 PM computación. – Intermedio de 15 minutos Planificación del curso • Ver cómo se implementa en algún sistema operativo real la gestión de los recursos vista en teoría. 3 4 Planificacion del curso Introducción L M M J V S D Sem Tema PPT 26 27 28 29 30 31 1 Mar 1 Introduccion al curso C1_introduccion Presentación 2 3 4 5 6 7 8 Abr 2 Procesos. Estados C2_administracion_procesos 9 16 10 17 11 18 12 19 13 20 14 21 15 22 3 4 Interrupciones, Hilos Semaforos C2_administracion_procesos C3_sincronizacion_procesos ¿qué esperan del curso? 23 24 25 26 27 28 29 5 Abrazo Mortal. Quiz # 1 C4_abrazo_mortal 30 1 2 3 4 5 6 May 6 Objetivos. Algoritmos C5_planificacion_cpu Objetivos del curso 7 8 9 10 11 12 13 7 Algoritmo Unix C5_planificacion_cpu 14 21 15 22 16 23 17 24 18 25 19 26 20 27 8 9 Examen Parcial Organización. Estrategias C6_adm_memoria_real Horario 28 29 30 31 1 2 3 Jun 10 Fija y Variable C6_adm_memoria_real 4 5 6 7 8 9 10 11 Antecedentes, Organización C7_memoria_virtual Planificación del curso 11 12 13 14 15 16 17 12 Paginada. C7_memoria_virtual 18 19 20 21 22 23 24 13 Estrategias. Quiz # 2 C7_memoria_virtual Material de apoyo 25 26 27 28 29 30 1 Jul 14 Dispositivos. Alg Disco C8_dispositivos 2 3 4 5 6 7 8 15 Archivos. Organización C9_administracion_archivos 9 10 11 12 13 14 15 16 Examen Final Evaluación 16 17 18 19 20 21 22 17 Examen Sustitutorio 6Diaz Muñante Jorge 1
  • 2. Sistemas Operativos Material de apoyo Material electronico en campus.dokeos.com – Registrar en Dokeos – Registrar en el curso • El registro es el curso virtual de teoria y de laboratorio. tlozano •Ingresa a tu cuenta •Ingresa a la opción “ordenar mis cursos” Pagina de DIU - DokeosDiaz Muñante Jorge 2
  • 3. Sistemas Operativos Material de apoyo Evaluación Campus de Dokeos - Aula virtual Evaluación Porcentaje Termino Fecha – Todas las clases en pdf (3 y 6 diapositivas x hoja) Examen 25 % EP Semana 8 Bibliografia Parcial – Sistemas Operativos Modernos – 3ra edición Examen Final 30 % EF Semana 15 Andrew S. Tanenbaum Evaluaciones 10 % PC1, PC2 Semana 5 y – Sistemas operativos Conceptos Fundamentales continuas 13 Silbershatz, Galvin, Gagne Laboratorio 35 % Prof. M E Rivera 13 14 Evaluación Recuperación Sustitutorio Feriado Martes 01 de mayo – Reemplaza el promedio de E1 y E2 – Por video conferencia – Son By four – A puro dolor – Grupo Kaliente - Iquitos • Solo me queda llorar... resignado a perderte... Solo me queda llorar... dolido y vació … – Maelo Ruiz – Te va a doler • Pero te vas arrepentir la vida entera Introducción En cualquier sitio ¡¡¡ ATMs Aviones ipod PDA Presentación Camaras ¿qué esperan del curso? Objetivos del curso Servidores Carros Reloj Celulares Horario Controlador De trafico Planificación del curso Musica Material de apoyo Evaluación Robots Juegos Microondas Recomendaciones Medicina (MRI) 17Diaz Muñante Jorge 3
  • 4. Sistemas Operativos Maquina Original de Von Neumann Ha aumentado la complejidad ¡¡ Graphics ALU Address Bus Address Bus PCIe Bus CPU RAM I/O CU Data Bus Data Bus Frontside Northbridge Memory CPU Bus chipset Bus RAM Control Bus PCI Southbridge ATA PCI Bus chipset Bus HDD 20 ¿qué significa estos cambios? Hardware / Software Cada pieza de HW es diferente – Diferentes CPU • Pentium, PowerPC, ColdFire, ARM, MIPS – Diferentes promedios de memoria, disco, … – Diferentes tipos de dispositivos • Teclados, sensores, camaras, lectores opticos, … – Diferentes ambientes de red • Cable, DSL, Wireless, Firewalls,… Preguntas: – ¿El programador necesita escribir un programa unico que desarrolle muchas actividades independientes? – ¿Por cada HW, el programa tiene que ser alterado? – ¿Un programa que tenga acceso a todos los HW? 21 Un mundo sin Sistemas Operativos ¿qué es un sistema operativo? Imaginemos sino existieran los SSOOs Todo lo que tenemos es el HW Piensa en cómo construir una aplicación Cómo usamos los periféricos (discos, impresoras, etc.) Cómo gestionamos los recursos (CPU, Memoria Real, etc.) 24Diaz Muñante Jorge 4
  • 5. Sistemas Operativos ¿qué es un sistema operativo? ¿qué es un sistema operativo? ¡Magia! Existe un gran número de definiciones: – Pruebe en Google con define: Operating System Unas pocas de estas definiciones: – “El software del que depende el resto del software para hacer el computador funcional”. – “El único programa que se ejecuta todo el tiempo en el computador”. – “Un programa que administra todos los otros programas en el computador”. 25 26 Proposito de un SO 1. Recopila informacion HW y SETUP Dos funciones principales: 2. Carga data del sector “arranque o boot” 3. Ejecuta el programa de arranque en CPU – Administrar los recursos físicos: 4. Carga SO del disco • Manejar varios dispositivos: 5. Corre SO – Procesador, memoria, discos, redes, pantallas, cámaras, etc. boot • De manera eficiente, confiable, tolerando y enmascarando las fallas, etc. – Proveer un ambiente de ejecución para las aplicaciones corriendo sobre el OS computador (programas como Word, Emacs, etc.): • Provee recursos virtuales y sus interfaces. – Archivos, directorios, threads, procesos, etc. • Simplifica la programación mediante abstracciones de alto nivel. boot • Provee al usuario con un ambiente estable. OS software instruction set hardware 27 Componentes Sistema Operativo Ventajas de los S.O. Según su experiencia : SO interfaz usuario Applicaciones – En el uso de un sistema operativo ¿qué ventajas encontró? GUI CLI/shell usuario Interfaz llamada al sistema kernel Procesos Dispositivos File Comunicaciones E/S systems Con la red Drivers Manejo de Memoria real Proteccion errores y virtual y seguridad hardware 29 29 30Diaz Muñante Jorge 5
  • 6. Sistemas Operativos ¿por qué estudiar los SO? Primera Generación (1945-1955) ¿necesitas crear o escribir un SO? Existía un sólo grupo de personas que se dedicaba a diseñar, construir, programar, operar y mantener las máquinas. – Muy poco probable Tecnología usada: Tubos al vacío. ¿entonces para que necesitamos estudiarlo? Menos potente que una calculadora de bolsillo No existía el concepto de sistema operativo – ¿por qué diferentes PCs con el mismo CPU, sus desempeños son diferentes? La programación era exclusivamente en lenguaje de máquina. Los recursos del sistema eran asignados a una sola tarea. – ¿cuál es la diferencia entre los sistemas operativos? Al final de este periodo aparecieron las tarjetas perforadas. – ¿debo actualizar el HW? ¿debo actualizar el SO? – A veces se requiere modificar el SO (no vas a poderlo sin conocer como funciona). 31 32 Segunda Generación (1955-1965) Sistema por Lotes, batch La tecnología incluye transistores. $END Creación de lenguajes ensambladores y lenguajes DATOS de alto nivel; como Fortran y Cobol . $RUN Se adoptó el Procesamiento por Lotes $LOAD Apareció el primer Sistema Operativo, se logró PROGRAMA minimizar el tiempo ocioso de los computadores $FORTRAN $JOB 10,47 DUPONT 33 34 Sistema Fuera de Línea, outlline Tercera Generación (1965-1980) La tecnología usada era de circuitos integrados IBM S/360 Apareció: – “Multiprogramación” – Spooling (Operación simultanea y en línea de periféricos) Apareció los primeros sistemas de “Tiempo compartido” (CTSS) 35 36Diaz Muñante Jorge 6
  • 7. Sistemas Operativos ¿Fue un proyecto exitoso? Uniprogramación a Multiprogramacion El proyecto del desarrollo del sistema operativo OS/360 producido por IBM y a cargo de Frederick Brooks (*) su Ejecución. Ejecución. espera espera lanzamiento estaba dispuesto para 1965 ‐para las versiones más simples‐ y para 1966 ‐para las versiones más complejas‐, pero no fue hasta 1967 cuando vio la luz tiempo oficialmente. Inicialmente pensado para ocupar 6KB, Se basan en el hecho de que los dispositivos de E/S son lentos posteriormente fue aumentado desorbitadamente de tamaño comparados con el procesador con nuevas funcionalidades hasta alcanzar el tamaño de lanzamiento de 64KB. Tanembaum, lo consideraron la mayor Leer un registro 0,0015 segundos revolución en la historia de la informática. Ejecutar 100 instrucciones 0,0001 segundos Escribir un registro 0,0015 segundos – (* la ley de Brooks en The Mythical Man‐Month, "Añadir personal a un proyecto TOTAL 0,0031 segundos retrasado lo retrasará aún más." ) % utilización CPU = 0,0001 / 0,0031 = 0,032 = 3,2% 38 La Multiprogramación La multiprogramación Cuando un proceso se bloquea al esperar por e/s, 128K ejecutamos en el CPU instrucciones de otro Proceso 1 proceso. Proceso 2 Los procesos entrelazan su ejecución: concurrencia. Proceso 3 La cpu y las e/s trabajan a la vez, – se terminan más trabajos a la vez Proceso 4 KERNEL (MONITOR) 0 39 40 La multiprogramación El Spooling ARCHIVO SPOOL DE SALIDA ARCHIVO SPOOL CPU T1 T1 T2 T2 DE ENTRADA Sin DISCO E/S T1 T2 LECTORA IMPRESORA TARJETAS DE LINEA CPU T1 T2 T1 T2 con CPU E/S T1 T2 41 42Diaz Muñante Jorge 7
  • 8. Sistemas Operativos El Tiempo Compartido Quantum CPU Intervalo de tiempo (Quantum) o time slice Es la cantidad mas grande de tiempo del procesador que cualquier proceso puede consumir cuando se le asigna el procesador 43 Tiempo Compartido Cuarta Generación (1980-1990) Multiprogramado La tecnología usada son los microprocesadores – CPU multiplexada. Los computadores personales con mayores Interactivo capacidades – comunicación on-line entre usuario y sistema (pequeñas rodajas de tiempo) Aparecen los SO que proporcionan una interfaz más Sistema de Archivos amigable al usuario (capacidades gráficas, íconos, – permite a los usuarios el acceso a datos y código (operaciones de E/S) sistemas de menús, etc.) Intérprete de mandatos – Permiten arrancar otros programas. Multiusuario – varios usuarios simultáneos – cada usuario cree tener todo el computador 45 46 Quinta Generación (1990-????) Sistemas Operativos en Red Aunque mediados de los 80 surgió el crecimiento de las redes de computadores con sistemas Colección de sistemas operativos de computadoras operativos de red y sistemas operativos distribuidos, conectados en una red, y que cuentan con módulos para en esta empezo a consolidarse. proporcionar acceso a recursos remotos. Los últimos años han generado un conjunto de estándares abiertos. SO SO SO Red de comunicación SO SO 47 48Diaz Muñante Jorge 8
  • 9. Sistemas Operativos Ejemplo de SO de Red Sistemas Operativos Distribuidos Clúster de máquinas individuales. Novell Netware, Personal Netware, LAN Manager, Sobre una LAN, WAN o interconexiones más rápidas. Windows Server, UNIX, LANtastic, etc. El clúster puede ser Asimétrico vs. Simétrico. Se comparten los recursos, de hardware y software. Utilización de los recursos, alta disponibilidad. Permite algún paralelismo, pero el speedup no es un tópico principal. SANs, Oracle Parallel Server. 49 50 Ejemplos SO Distribuidos SO Paralelos Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Sistemas multiprocesador o fuertemente acoplados. Taos, Plan 9, etc. Numerosas Ventajas: – Incremento del throughput. – Más barato. – Más confiable. Asimétrico vs. multiprocesamiento simétrico. Maestro/Esclavo vs. Relaciones de iguales. Ejemplos: SunOS Versión 4 y Versión 5. 51 Sistemas Tiempo Real Caracteristicas – Proporcionar rápidos tiempos de respuesta. – Proceso de mayor prioridad expropia recursos. – Gestión de memoria menos exigente. Usualmente procesos son residentes permanentes en memoria. – Población de procesos estática en gran medida. aplicaciones – Poco movimiento entre almacenamiento secundario y memoria. – Gestión de archivos se orienta más a velocidad de acceso que a su eficiencia. Tiempo de respuesta; corto 53 54Diaz Muñante Jorge 9
  • 10. Sistemas Operativos Sist. Oper. Tiempo Real Sistemas Abiertos Ejemplos : Es un sistema independiente del fabricante que esta diseñado – VxWorks, Solaris, Lyns OS y Spectra para interconectarse con una variedad de productos común- mente disponibles. Implica que los estándares para tal siste- Areas de Aplicación: ma estan determinados a partir de un consenso de las partes – STR Criticos interesadas, más que de uno o dos fabricantes solamente. • avión, satélite, médicos, etc. Los sistemas abiertos tienen muchos componentes • No pueden perder ningún deadline de tarea •Normas de comunicación abierta •modelo de referenica OSI • Almacenamiento secundario limitado o ausente •Normas de sistemas operativos abiertos • Sistemas dedicados, no de propósito general •Unix: Fundación Software Abierto (OSF), – STR suave parecida a Aix Normas de sistemas operativos abiertos •Normas de interfaces de usuario abiertas • multimedia, comunicaciones, etc. •ejemplo: X Window System desarrollado en el MIT • Pueden perder deadlines de tareas no críticas •Normas de aplicaciones de usuario abiertas • Uso limitado en sistemas de control •adoptadas por varias corporaciones: X/Open y la OSF 55 56 Sistemas Tolerantes a Fallas Sistemas Ubicuos Smartphones, PDAs, telefonos celulares, etc. Sistema computacional que puede seguir funcionando, (tal vez con un menor desempeño), a pesar de que uno de sus componentes no este funcionando, (sistemas robustos) Se tienen dos enfoques: Rendundancia hardware uso de componentes redundantes Recuperación software diseño programas para recuperarse de fallas 57 Fuente: Cisco IBSG Abril 2011 Principales SSOO para dispositivos moviles Principales sistemas operativos Google’s Android Apple’s iOS Microsoft’s Windows Phone RIM’s BlackBerry OS 60Diaz Muñante Jorge 10
  • 11. Sistemas Operativos Principales sistemas operativos Principales sistemas operativos 61 62 ¿Que es Android? Un SSOO open source basado en Linux ¿que es Android? Para plataformas moviles Incluye un Java API para el desarrollo de aplicaciones No es un dispositivo Android 4.0 Ice Cream Sandwich NYC High School Girls Build Android Apps http://www.pcworld.com/article/223409/move_over_dr_soong_girls_can_build_android_apps_too.htmlDiaz Muñante Jorge 11
  • 12. Sistemas Operativos Resumen de la historia de los SO El punto es: cambiarlos cuando la tecnología cambia. La situación ha cambiado en los ultimos 40 años. Ahora los SO son enormes. – Pequeños SO: 100K lineas – Grandes SO: 50M lineas Microsoft tiene cerca del 90% del mercado de Sos (solo desktop) Complejidad – NT fue desarrollado desde los inicios de los 90’s hasta fines 90’s • Nunca trabajo muy bien • 12 Millones de lineas de codigo – Hicieron el Windows 2000/XP ( 40 M de lineas de codigo) – Windows Vista (“Longhorn”) postergado varias veces • Liberacion en 2008, pero antes 2005, 2006, 2007 • Prometio reemplazar varias tecnologias • 5 años en realizarlo – Windows 7 (Lanzamiento oficial 21 Octubre 2009) • 3 años en realizarlo http://developer.android.com/sdk • y ahora ? Eclipse 68 Aumento en la complejidad de un SO Linux Fuente: 69 http://www.ibm.com/developerworks/linux/library/l-linux-kernel/ Configuración de un Servidor A través de los años http://philip.greenspun.com/bboard/q-and-a-fetch-msg?msg_id=000tcP 20 Julio 2011 No todos los sistemas Batch fueron ridículos. Ellos representaban el compromiso correcto en su momento. Este compromiso ha cambiado con el tiempo. • Linux setup - 40 mins Menores precio y mayores prestaciones. Linux • • Tomcat Configuration Mysql configuration - - 5 Mins 15 Mins • Ley de Moore. • Firewall config - 30 Mins Es necesario entender las bases, de tal manera que (2 horas) • Server hardening - 30 Mins se puedan diseñar los sistemas para los compromisos del futuro. 1985 2005 2009 • Windows setup - 2 hrs Ciclos por segundo 80386 – 16 Mhz Pentium D - 2 GHz QuadCore – 3.2 Ghz • Update patches - 4hrs~8hrs DRAM 128 KB 512 MB 4 GB Microsoft • • • Server config IIS Config - .NET framework update & install- - 1 hr 20~40 Mins 30 Mins Disco 10 MB 80 GB 250 GB Velocidad de Red 9600 bps 100 Mbps 1 Gbps • Application Configuration - 1 hr (12 a 20 horas) • Server hardening - 2hrs~5hrs.Diaz Muñante Jorge 12
  • 13. Sistemas Operativos Clases de Sistemas operativos Sistemas operativos modernos características básicas Clase de SO Periodo Preocupación Concepto clave Concepto Ejemplo tipico de uso principal Procesamiento por lotes Actualizar la BD con las operaciones Procesamientos 1960 Tiempo muerto del Operación del día por lotes CPU simultanea con los periféricos Planificación basada en prioridades Tratamiento especial a las procesos de alta prioridad, por lo general a los Multiprogramación 1970 Utilización de los Prioridades procesos interactivos recursos Tiempo 1970 Un buen tiempo de Intervalo de compartido respuesta tiempo (quantum) Intervalo de tiempo Evitar que un proceso monopolice el uso del CPU Tiempo real 1980 Cumplir con el Planificación en tiempo limite tiempo real Intercambio Aumentar el numero de procesos Distribuido 1990 Recursos Transparencia, Procesos múltiples en una aplicación Reducir el tiempo de ejecución de una compartidos control distribuido aplicación Recursos compartidos En una LAN para compartir las impresoras Enfoques de diseño Monolitico vs Microkernel Núcleos monolíticos – Ejemplo: Linux, Windows, ... Microkernels – Ejemplo: Mach kernel Hay otros como capas, maquina virtual, etc. Un resumen de la afamada discusión puede consultarse en http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html 75 Diseño de sistemas operativos Monitor monolítico Básicos: Microkernel Proceso Proceso Proceso Procesos – Gestor de procesos de de de de usuario usuario usuario usuario Monolítico – Gestor de memoria SVC Despertar – Gestor de E/S (genérica y por bloques) Intérprete Desbloquear Servidores: de la SVC – Servidor de ficheros Monitor – Servidor de protección y seguridad Proceso de Petición la de E/S Aplicaciones – Servidor de comunicaciones por red interrupción Utilidades: Comienzo de la E/S Interrupción – Intérprete de mandatos Dispositivos – Programas de sistema 78 77Diaz Muñante Jorge 13
  • 14. Sistemas Operativos Ejemplo : El UNiX Estructura del Linux Interfaz de llamadas de alto nivel Modo usuario Programas de usuario Validación de argumentos de las llamadas al sistema Alto nivel Bibliotecas Trap Conmutador de sistemas de archivo del núcleo Nivel de usuario Manejador de Interfaz de Manejador Nivel kernel archivos sockets y Bibliotecas del kernel de callouts Interfaz de llamadas al sistema streams Sistemas archivo Manejador de Manejador de Estructuras del de Subsistema de Subsistema Subsistema procesos terminales núcleo control de procesos de archivos de E/S Manejador de Pila de red (alto nivel) memoria Manejo de memoria Manejador Estructuras de Buffer cache del buffer cache datos compartidas IPC entre el alto y Manejadores de dispositivo el bajo nivel Planificador Carácter Bloque Drivers Manejador de interrupciones Manejador de Bajo nivel Tabla de Callout de Cambio Manejador de traps de llamadas al sistema procesos de del núcleo dispatch bajo nivel de contexto Control hardware bajo nivel Manejador de excepciones Nivel kernel HARDWARE Nivel hardware HARDWARE 80 79 Micronúcleo Comparativa Proceso Proceso Proceso Devolver los datos Monitor monolítico Micronúcleo Proceso de de de usuario de usuario usuario Inicio de la E/S usuario Todo el SO se ejecuta en Sólo el µnúcleo se ejecuta modo supervisor en modo supervisor Lectura de disco Proceso Dispositivo Menos robusto Más robusto gestionador de El SO es ininterrumpible El SO es interrumpible dispositivo Mayor rendimiento Menor rendimiento debido Interrupción a la sobrecarga de Despertar comunicaciones Empleado en sistemas Empleado en sistemas Determinación del Proceso de pequeños grandes proceso que solicitó la Difícil de modificar en Fácil de modificar en la E/S interrupción Micronúcleo tiempo de ejecución tiempo de ejecución Menos adaptable Más adaptable 81 82 Estructura del W2K Estructura por capas El SO se divide en un número de capas: Procesos de sistema Servicios Aplicaciones Subsistemas POSIX – La capa inferior (capa 0), es el hardware. Controlador Replicador de servicios WinLogon Alertador OS2 – La de mayor nivel (capa N) es la interfaz del usuario. RPC Aplicaciones Manejador de DLLs sesiones Registrador de eventos de usuario DLLs Win32 – Cada capa usa sólo funciones y servicios de las capas inferiores. DLLs Hilos del Proceso de usuario sistema NTDLL.DLL Capa 3: Gestión de entrada-salida API del núcleo Manejador de Manejador PnP Seguridad Memoria Procesos Win32 E/S de cache Control de virtual e hilos GDI Capa 2: Comunicación proceso-consola alimentación NtosKrnl.exe Sistema de archivos Manejador de objetos Capa 1: Gestión de la memoria Manejadores de dispositivo Kernel HAL Capa 0: Planificación HARDWARE Hardware 83Diaz Muñante Jorge 14
  • 15. Sistemas Operativos Ventajas del empleo de capas Máquinas virtuales Una MV crea una copia idéntica del hardware Las estructuras internas y algoritmos de una capa – Procesador con su propia memoria y E/S no son visibles a las demás – Sobre una MV se puede ejecutar cualquier SO – Sobre el mismo computador varios SSOO a la vez El sistema puede evolucionar fácilmente El Monitor de MVs ejecuta sobre el HW real ¿Cómo se hace? Pueden existir realizaciones alternativas – Planificación UCP para MV multiproceso – Spooling y sistema ficheros multiplexación E/S Algunas capas pueden ser transparentes si sus – MV del operador control del sistema servicios no son necesarios Ventajas: – Protección sencilla, muy modular, bueno para investigación y desarrollo (SO distribuido) Cada capa se codifica y prueba de modo Inconvenientes: independiente – Difícil compartir recursos – Difícil implementar duplicados exactos del HW Usado para emular SSOO sobre otros Ej. VM-370, MS-DOS en Windows, VMware 85 86 Máquinas virtuales / Hipervisores Maquinas virtuales – Otra arquitectura 87 Aspectos de diseño e implementacion Objetivos en el diseño de un SO Para el usuario Objetivos de diseño – Fácil de usar, fiable, seguro, potente y sencillo Implementación Internamente: Arranque del sistema – Fácil de implementar y mantener – Flexible, fiable, eficiente y estar libre de errores Diferenciar claramente entre: – Mecanismos: Como las cosas se pueden hacer • Como se establece la prioridad a un proceso? • Como crear, terminar o suspender un proceso? – Políticas: criterio para decidir qué hacer • Puede un proceso leer la memoria de otro proceso • Que hacemos con procesos de alta prioridad?? Y los de baja prioridad?? 89 – Separarlos es importante para poder afinar bien los sistemas 90Diaz Muñante Jorge 15
  • 16. Sistemas Operativos Implementación del sistema Tradicionalmente: ensamblador Actualmente: C y ensamblador Uso lenguaje alto nivel: – Desarrollo más rápido – Más fácil de comprender y depurar – Más fácil de transportar de un hardware a otro (Ej. Linux, Windows-NT) Base: – HAL ( Hardware Abstraction Layer) – Oculta los detalles específicos de la arquitectura – Proporciona una interfaz de alto nivel 91Diaz Muñante Jorge 16