La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño Lógico de Sistemas Operativos MGS. CHRISTIAN ROSADO UNIDAD I INTRODUCCIÓN.

Presentaciones similares


Presentación del tema: "Diseño Lógico de Sistemas Operativos MGS. CHRISTIAN ROSADO UNIDAD I INTRODUCCIÓN."— Transcripción de la presentación:

1 Diseño Lógico de Sistemas Operativos MGS. CHRISTIAN ROSADO UNIDAD I INTRODUCCIÓN

2 Introducción  Concepto, historia y evolución  Clasificación y estructura  Casos de estudio  Arranque y activación

3 Concepto, historia y evolución  Definiciones:  El software y/o firmware que hace utilizable al hardware [Deitel].  Es un programa que controla la ejecución de los programas de aplicación y que actúa como interfaz entre los usuarios y el hardware [Satllings].  Es un programa que actúa como intermediario entre el usuario y el hardware. El primer objetivo es la comodidad, el segundo la eficiencia [Silberschatz].  Es un programa que tiene encomendada una serie de funciones diferentes cuyo objetivo es simplificar el manejo y utilización de la computadora, haciéndolo seguro y eficiente [Carretero].

4 Concepto, historia y evolución … (2)  Se puede considerar que un S.O. tiene tres objetivos:  Comodidad.  Hace que un sistema informático sea más fácil y cómodo de utilizar, al funcionar como una interfaz entre el usuario y el hardware, presentando una cara amistosa y sencilla.  Eficiencia.  Administrar los recursos del sistema informático de forma eficiente. Dichos recursos pueden ser físicos (procesador, memoria principal, periféricos, etc.) o lógicos (archivos, puertos de comunicación, etc.).  Capacidad de evolución.  El S.O. debe construirse de modo que permita el desarrollo efectivo, la verificación y la introducción de nuevas características al sistema y, a la vez, no interfiera con los servicios que brinda.

5 Concepto, historia y evolución … (3)  Jerarquía de elementos en una computadora  Vistas de un sistema operativo El sistema operativo como gestor de recursos. El Sistema operativo como una máquina extendida. El sistema operativo como una interfaz de usuario. Hardware del computador (PC, Mac, Sun, …) Hardware del computador (PC, Mac, Sun, …) Sistema Operativo (Windows, Linux, Mac OS X) Sistema Operativo (Windows, Linux, Mac OS X) Utilidades (Shell, Ensamblador, Enlazador, bibliotecas, …) Utilidades (Shell, Ensamblador, Enlazador, bibliotecas, …) Programas de aplicación ( Resuelven problemas para los usuarios) (Word, Excel, …) Programas de aplicación ( Resuelven problemas para los usuarios) (Word, Excel, …) Usuario Final Programador Diseñador del Sistema Operativo

6 Concepto, historia y evolución … (4)  El sistema operativo como gestor de recursos.  Asigna recursos  Se encarga de asignar los recursos a los programas en ejecución en función de la disponibilidad de estos y la prioridad de los programas.  También tiene que recuperar los recursos asignados cuando los programas ya no los necesiten.  Los recursos pueden ser físicos o lógicos.  Protege  Tiene que asegurar la confidencialidad de la información y que los trabajos no interfieran entre sí por los recursos asignados.  Hace contabilidad  Mide la cantidad de recursos, que a lo largo de su ejecución, utiliza cada programa.  Bitácoras y Monitorización

7 Concepto, historia y evolución … (5)  El Sistema operativo como una máquina extendida.  Ofrece a los programas un conjunto de servicios, o llamadas al sistema, que pueden solicitar cuando lo necesiten.  Los servicios se pueden agrupar en cuatro clases:  Ejecución de programas.  El S.O. incluye servicios para lanzar a ejecución, parar o abortar un programa.  Órdenes de E/S.  Servicios para proveer a los programas de operaciones de lectura, escritura y modificación del estado de los periférico, de forma cómoda y protegida.  Operaciones sobre archivos.  Es un nivel de abstracción mayor que las órdenes de E/S. Estos servicios permiten: creación, borrado, apertura, escritura y lectura de archivos.  Detección y tratamiento de errores.  El S.O. debe tratar todas las condiciones de error que detecte el hardware. Algunos de los errores que pueden aparecer son provocados por la E/S y otros por la ejecución de los programas.

8 Concepto, historia y evolución … (6)  El sistema operativo como una interfaz de usuario.  Permite que los usuarios dialoguen de forma interactiva con el sistema. El dialogo puede ser a través de:  Interfaz de Texto.  Se conoce como shell o intérprete de mandatos.  Espera que el usuario teclee una orden en el shell. Después la analiza y si es válida la ejecuta. Una vez que esta concluye retorna a la espera.  Interfaz grafica.  Existen elementos gráficos para comunicarse con el S.O. (botones, menús, iconos, etc.).  Espera por eventos generados por el ratón y el teclado. Valida el evento y lo ejecuta. Una vez ejecutado retorna a la espera de más eventos. La próxima interfaz será hardware!!

9 Concepto, historia y evolución … (7)  Los S.O. han estado evolucionando a través de los años. Su historia y desarrollo esta ligado con las generaciones de computadoras.  Prehistoria (años cuarenta).  Prácticamente sin S.O.  Procesamiento en serie.  Primera generación (años cincuenta).  Procesamiento por lotes  Segunda generación (años sesenta)  Multiprogramación y tiempo compartido.  Tercera generación (años setenta)  Sistemas de propósito general y multimodo de operación.  Cuarta generación (años ochenta hasta la actualidad)  Proceso distribuido.  Se difunde el concepto de máquina virtual.

10 Concepto, historia y evolución … (8)  Prehistoria (años cuarenta)  Máquinas como la ENIAC o la EDVAC.  No existía un S.O. La interacción se daba directamente con el hardware.  El usuario debía codificar su programa en código máquina, introducirlo mediante tarjetas perforadas y recibir la salida de forma impresa.  El procesamiento se dice que se realiza en serie por que refleja el hecho de que los usuarios tenían que acceder en serie al computador.  Con el paso del tiempo, para hacer más eficiente el proceso en serie, se desarrollaron bibliotecas de funciones comunes, montadores, cargadores, depuradores, etc. ENIAC EDVAC

11 $END $RUN $LOAD $FTN Concepto, historia y evolución … (9)  Primera generación (años cincuenta)  Procesaban un único flujo de trabajos en lotes.  Disponían de un conjunto de rutinas de E/S.  Permitían la recuperación del sistema si un trabajo acababa en error.  Tenían un lenguaje de control de trabajos que permitía especificar los recursos a utilizar y las operaciones a realizar por cada trabajo.  El software principal del S.O. se denominaba monitor, y era el que controlaba la secuencia de sucesos. Tratamiento de interrupciones Controlador de Dispositivos Secuenciamiento de trabajos Intérprete del Lenguaje de Control Zona del Programa del Usuario Monitor Disposición de la memoria $JOB Programa a compilar Datos del programa Paquete de tarjetas para un sistema sencillo de por lotes

12 Concepto, historia y evolución … (10)  Segunda generación (años sesenta)  La multiprogramación se impuso en sistemas de lotes como una forma de aprovechar el tiempo empleado en las operaciones de E/S.  Se construyen los primeros multiprocesadores.  Se introduce el concepto de independencia de dispositivos.  Comienzan los sistemas de tiempo compartido.  Aparecen los primeros sistemas de tiempo real. Ejecutar Esperar E/S Tiempo Monoprogramación Solo un programa en ejecución a la vez Ejecutar A Ejecutar A Tiempo Ejecutar B Ejecutar B Multiprogramación Más de un programa en ejecución a la vez Esperar E/S

13 Concepto, historia y evolución … (11)  Tercera generación (años cincuenta)  Es la época de los sistemas de propósito general y se caracterizan por ser sistemas multimodo, capaces de operar:  Por lotes  Multiprogramación  En tiempo real  En tiempo compartido  En modo multiprocesador  Estos S.O. interpusieron entre el usuario el hardware una gruesa capa de software y ya no había que preocuparse por la circuitería.  Los inconvenientes fueron:  Un complejo lenguaje de control  Consumían muchos recursos.  Aparece sistemas de gran difusión principalmente el UNIX. Este sistema fue el primero en codificarse en un lenguaje de alto nivel, el C.

14 Concepto, historia y evolución … (12)  Cuarta generación (años ochenta ¿hasta la actualidad?)  Los S.O. tienden a dar más importancia a la productividad del usuario que al rendimiento de la máquina.  Se hace masivo el uso de la PC y aparecen los sistemas “amistosos” (se añade un gestor de ventanas).  Adquieren también más importancia las redes de computadoras y surge el proceso distribuido.  Surgen interfaces de programación estándar  POSIX  Win32

15 Concepto, historia y evolución … (13)  Actualmente existe una gran diversidad de sistemas operativos. Los que se consideran como de amplia difusión en PC son: Los sistemas tipo Unix (Linux, Mac OS X) y los sistemas Windows (Microsoft). Cada uno de ellos tiene su historia y desarrollo, con cada nueva versión se intenta mejorar la comodidad y la eficiencia.

16 Concepto, historia y evolución … (14)  Cuál es mejor?  http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/ http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/ ?

17 Concepto, historia y evolución … (15)  ¿Cuál SO móvil es el más utilizado?

18 Concepto, historia y evolución … (16)  ¿Qué equipo se usa más para navegar?

19 Clasificación y estructura  Existen diversas clasificaciones desde distintos puntos de vista para los sistemas operativos. Clasificación de los Sistemas Operativos Por el número de usuarios Monousuarios Multiusuarios Por el número de tareas Monotareas Multitareas Por el número de procesadores Uniproceso Multiproceso Simétricos Asimétricos Por el propósito Específico General Por el tipo de diseño Monolíticos Abiertos Modulares Por capas Micronúcleo Máquinas virtuales Por el tipo de desarrollo Cerrado

20 Clasificación y estructura … (2)  Los componentes del sistema operativo se pueden clasificar de la siguiente forma:  Básicos:  Gestor de procesos  Gestor de memoria  Gestor de E/S y almacenamiento secundario  Servidores:  Servidor de archivos  Servidor de protección y seguridad  Utilidades:  Interprete de comandos  Programas del sistema

21 Clasificación y estructura … (3)  Gestor de procesos  Un proceso es un programa en ejecución que consume recursos (memoria, archivos, etc.)  El SO debe gestionar lo siguiente de los procesos:  Creación y destrucción.  Suspensión y reanudación.  Asignación de los recursos al proceso.  Mecanismos de comunicación y sincronización  Gestor de memoria  La memoria se visualiza como un vector enorme de bytes (direcciones) y es compartida por el CPU y dispositivos de E/S.  El SO debe gestionar lo siguiente:  Qué partes están en uso y quién las esta ocupando.  Qué procesos se deben cargar y dónde.  Asigna y libera espacio cuando se requiere  Gestiona la memoria virtual

22 Clasificación y estructura … (4)  Gestor de E/S  El SO debe encargarse de gestionar los distintos dispositivos de E/S: terminales, dispositivos de almacenamiento secundario y terciario, teclado, etc.  El SO gestiona, entre otras cosas:  Copiado de memoria hacia y desde el controlador.  Controla transferencias por DMA  Planificación de acceso a los discos  Asignación y liberación de espacio en los dispositivos de almacenamiento secundario  Servidor de Archivos y directorios  El archivo es visto como una unidad de almacenamiento lógico no volátil que agrupa un conjunto de información relacionada entre sí bajo un mismo nombre.  Los directorios son objetos que relacionan de forma unívoca un nombre con un archivo. Es decir un mismo nombre no puede identificar dos archivos.  El SO gestiona lo siguiente respecto a los archivos y directorios:  Creación, apertura, cerrado, borrado y leer archivos y directorios, así como escritura de archivos.

23 Clasificación y estructura … (5)  Servidor de protección y seguridad  Por el lado de la protección se debe:  Controlar el acceso a los recursos por parte de los procesos (usuarios)  Distinguir entre el uso autorizado y no autorizado para acceder a un recurso.  Proporcionar métodos de control de acceso.  Por el lado de la seguridad:  Proteger al sistema de un uso indebido (fraudulento).  Autentificar a los usuarios.  Evitar amenazas al sistema (gusanos, virus, piratas, etc.)  Evitar intercepción de comunicaciones (cifrado, etc.)  Intérprete de comandos  Programa cuya función es obtener los comandos del usuario y lanzar su ejecución.  Existen básicamente dos tipos:  Intérprete de comandos en línea (shell Linux)  Interfaz gráfico de usuario (Windows)

24 Clasificación y estructura … (6)  Programas de sistema  Proporcionan un entorno adecuado para el desarrollo y ejecución de programas.  Existen diversas categorías:  Manipulación de archivos y directorios: copiar, mover, renombrar, etc.  Información de estado: monitores, bitácoras.  Programación: compiladores, enlazadores, ensambladores, bibliotecas, etc.  Carga y ejecución: cargador.  Comunicaciones: ssh, sftp, etc.  Aplicaciones: navegadores, editores, etc.

25 Clasificación y estructura … (7)  Metodologías de diseño de sistemas operativos  La metodología empleada en el diseño de la estructura permite abordar la complejidad de los SO de distintas formas.  Los objetivos de diseño en un SO son:  Para el usuario  Fácil de usar, fiable, seguro, potente y sencillo.  Internamente  Fácil de implementar y mantener  Flexible, fiable, eficiente y estar libre de errores  Diferenciar claramente entre:  Mecanismos: qué cosas se pueden hacer.  Políticas: criterios para decidir que hacer.

26 Clasificación y estructura … (8)  Núcleo (kernel)  El núcleo o kernel es la parte fundamental del SO.  Es el código responsable de controlar y administrar los servicios y peticiones de recursos y hardware con respecto a uno o varios procesos.  Para esquematizar las estrategias de diseño se suele mostrar el SO como una serie de niveles partiendo del hecho de que el kernel esta directamente en contacto con el hardware.

27 Clasificación y estructura … (9)  Niveles de un sistema con kernel monolítico.  Es la organización más común, no tiene una estructura bien clara y definida.  Todos sus componentes se encuentran integrados en un único programa (el SO).  Normalmente han surgido de SO pequeños y fueron haciéndose más grandes debido a su popularidad (MS-DOS, UNIX en sus orígenes).  El problema que plantean estos sistemas radica en lo complicado que es modificar el SO para añadir nuevas funcionalidades y servicios. Además no existe el principio de ocultación de la información. Hardware Núcleo Gestor de procesos Gestor de E/S Gestor de memoria Controladores Programas de Sistema Shell Aplicaciones de Usuario Servicios y llamadas al sistema

28 Clasificación y estructura … (10)  Niveles en un sistema con diseño modular.  El núcleo esta dividido en módulos con interfaces y funcionalidades claramente definidas.  Son sistemas altamente estructurados y modulares donde se pueden sustituir componentes por otros con el mismo interfaz (controladores, manejo de archivos, etc.  Estos sistemas se consideran como de kernel monolítico hibrido debido a la capacidad de cargar y descargar los controladores y extensiones del sistema mientras el sistema continúa trabajando sin ser interrumpido. Hardware Núcleo Programas de Sistema Shell Aplicaciones de Usuario Interfaz de llamadas al sistema Gestor de E/S Gestor de Procesos Gestor de Memoria Controladores de disp por flujo Controladores de disp por bloques Facilidades Comunes

29 Clasificación y estructura … (11)  Sistemas estructurados en capas  El sistema se organiza en una jerarquía de capas, donde cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que ofrece la capa inferior.  La principal ventaja de estos sistemas es la modularidad y ocultamiento de la información. La desventaja es que una orden tiene que pasar por varias capas antes de ser ejecutada. Kernel (Administración del CPU) Gestor de Memoria Gestor de Procesos Gestor de E/S Interfaz de Llamadas al Sistema Aplicaciones de usuario

30 Clasificación y estructura … (12)  Sistemas con micronúcleo  Consiste en implementar la mayor parte de los servicios y funciones del sistema operativo en procesos de usuario, dejando solo una pequeña parte del SO ejecutándose en modo núcleo.  A la pequeña parte que del SO que se ejecuta en modo núcleo se le conoce como micronúcleo y a los procesos que ejecutan el resto de las funciones se les denomina servidores.  La desventaja radica en que una llamada puede necesitar muchos mensajes entere los distintos servidores. Hardware Micronúcleo API Aplicaciones de Usuario Servidor de Memoria Servidor de Procesos Servidor de E/S

31 Clasificación y estructura … (13)  Máquina virtual  El corazón del sistema, conocido como monitor de la máquina virtual, se ejecuta directamente en el hardware y realiza la multiprogramación, presentando no una, sino varias máquinas virtuales al usuario donde cada máquina virtual puede estar ejecutando un SO diferente.  La máquina virtual que se presenta al usuario pretende ser idéntica a la que en realidad se tiene. Sin embargo no es sencillo lograr duplicados exactos.  Compartir recursos se torna complicado.  Estos principios se utiliza para emular SO sobre otros SO y en Sistemas Distribuidos. Hardware Monitor de Máquina Virtual Núcleo 1Núcleo 2Núcleo 3 Aplicaciones De Usuario Llamadas al Sistema Aplicaciones De Usuario Llamadas al Sistema Aplicaciones De Usuario Llamadas al Sistema


Descargar ppt "Diseño Lógico de Sistemas Operativos MGS. CHRISTIAN ROSADO UNIDAD I INTRODUCCIÓN."

Presentaciones similares


Anuncios Google