Transcript
13/08/2011
Introducción a los Sistemas Operativos Parte II AGOSTO 2011
1
¿Qué es un Sistema Operativo? Un Sistema Operativo es un programa que
actúa de intermediario entre el usuario y el hardware del computador. Su propósito es proveer un ambiente en el cual el usuario puede ejecutar programas Su meta principal es hacer del sistema computacional algo conveniente y fácil de usar Es una meta secundaria usar el hardware de una manera eficiente 2
1
13/08/2011
DEFINICIONES DE SISTEMAS OPERATIVOS “Un sistema operativo es un programa cuyo objetivo es simplificar el manejo
y la utilización de la computadora, haciéndolo seguro y eficiente” (Jesús Carretero)
El sistema operativo es como el director. El responsable de coordinar
todos los componentes individuales del computador, de forma que operan juntos siguiendo un solo plan. El sistema operativo asigna recursos del computador a los diversos programas, sincroniza sus actividades y proporciona los mecanismos adecuados para que los programas se ejecuten en perfecta armonía. (Gary Nutt) Un sistema operativo es un programa que controla la ejecución de los programas de aplicación y que actúa como interfaz entre las aplicaciones del usuario y el hardware de un computador. Puede considerarse que un sistema operativo tiene 3 objetivos: Comodidad, eficiencia y capacidad de evolución. (William Stallings) 3
DEFINICIONES DE SISTEMAS OPERATIVOS Stallings) Un SO es un programa que controla la ejecución de los
programas de aplicación y que actúa como interfaz entre el usuario del computador y el hardware del mismo.
(Silberschatz, 2): el SO es el único programa que se está ejecutando en
todo momento en el computador (denominado núcleo o kernel), siendo el resto programas de aplicación.
(Milenkovic): un SO puede ser contemplado como una colección
organizada de extensiones software del hardware, consistente en rutinas de control que hacen funcionar un computador y proporcionan un entorno para la ejecución de los programas
4
2
13/08/2011
Qué es un recurso? • Procedimiento o medio del que se dispone para satisfacer una necesidad, llevar a cabo una tarea o conseguir algo • Cualquier elemento hardware o Software – HW: Procesador, memoria, dispositivo, … – Sw: fichero, proceso, puerto comunicaciones, …
5
SERVICIOS DE LOS SO El SO proporciona ciertos servicios a los programas y a los usuarios de dichos
programas:
– Ejecución de programas. – Operaciones de E/S. – Manipulación de ficheros. – Comunicaciones. – Detección de errores. – Accounting (contabilidad). – Protección.
6
3
13/08/2011
Qué es un S.O.? Las funciones clasicas, del sistema operativo se pueden agrupar en las tres categorias siguientes: Gestion de los recursos de la computadora Ejecucion de servicios para los programas (MaquinaVirtual Extendida) Ejecucion de losmandatos del usuario
7
Gestión de Recursos de la Computadora
8
4
13/08/2011
Gestión de Recursos de la Computadora
9
El SO como máquina extendida la arquitectura de la mayoría de los ordenadores al nivel
del lenguaje máquina es primitiva y muy difícil de programar, especialmente en lo que respecta a la entrada/salida.
ARQUITECTURA
repertorio de instrucciones, organización de la memoria, E/S y estructura del bus
10
5
13/08/2011
El SO como máquina extendida El programa que oculta al programador la verdad acerca del
hardware y presenta una visión bonita y sencilla de ficheros con nombre que se pueden leer y en los que se puede escribir, es el sistema operativo. Así como el sistema operativo separa al programador del hardware del disco y presenta una interfaz sencilla orientada hacia los ficheros, también oculta muchos otros asuntos desagradables relacionados con las interrupciones, timers, gestión de memoria y otras características de bajo nivel. Desde ésta perspectiva la función del S.O. es presentar al usuario el equivalente a una máquina extendida o máquina virtual que es más fácil de usar que la que ofrece el hardware subyacente. 11
El SO como máquina extendida Ejecucion de programas El SO permite que un programa se ejecute, pare o aborte La ejecucion da lugar al concepto de proceso Ordenes de E/S Proveen a los programas operaciones de lectura, escritura y
modificacion del estado de los perifereicos Operciones sobre archivos Permite creacio, borrado, apertura, renombrado,escritura y lectura de archivos Deteccion y tratamiento de errores El SO trata las condiciones de error que detecte el Hw (desbordamientos, memoria, errores de ejecucio) 12
6
13/08/2011
El SO como interfaz de usuario El Interprete de comandos o Shell es elmodulo que permite
que los usuarios dialoguen de forma interactiva con el sistema El Shell: Espera una orden del usuario Analiza la orden y en caso de ser correcta la ejecuta Concluida la orden vuelve a la espera
13
Niveles del SO
De manera esquemática, un sistema operativo se compone de:
Núcleo (Kernel): responsable de la
gestión de memoria, de disco y de procesos. Servicios (API: Aplication Program
Interface): mediante estos servicios las aplicaciones pueden realizar peticiones al sistema operativo para acceder a los recursos hardware del sistema. Shell (Intérprete de comandos): es el
proceso encargado de traducir los comandos que los usuarios introducen, a instrucciones que el sistema operativo entiende. 14
7
13/08/2011
Núcleo del S.O. (Kernel) Es lo primero que se carga del sistema operativo al arrancar
el ordenador. Reside permanentemente en memoria y atiende las llamadas al sistema. Tiene las siguientes funciones básicas:
Carga inicial (programa de arranque) Planificación de trabajos de la CPU (procesos y tareas) Administración de periféricos Comunicación entre procesos Administración de memoria Administración de archivos
15
Shell (Interprete de comandos)
Para que un usuario pueda dialogar
directamente con el S.O., se proporciona una interfaz de usuario básica para: Cargar programas Abortar programas Introducir datos a los programas Trabajar con archivos Trabajar con redes
Ejemplos de interprete de comandos:
Interprete de comandos del S.O.Windows
JCL en sistemas por lotes COMMAND.COM en MS-DOS Shell en UNIX 16
8
13/08/2011
Shell (Interprete de comandos)
En la actualidad, e inicialmente
orientadas al gran público, son más utilizadas las GUI (Graphics User Interface) que el clásico interprete de comandos textual. Estas interfaces gráficas permiten al usuario dar órdenes y trabajar con el sistema operativo de manera sencilla, sin necesidad de un gran conocimiento de los comandos del sistema operativo.
GUI del sistema operativo Windows XP
17
Funciones del S.O.
18
9
13/08/2011
Función: Gestión de procesos Un proceso es un programa en ejecución. Durante su
ejecución, un proceso necesita tiempo de CPU, una porción de memoria, archivos, acceso a dispositivos de entrada/salida y otros recursos. Las responsabilidades del S.O. en la gestión de procesos son: Creación y eliminación de procesos. Planificación de procesos: repartir la CPU entre los procesos
activos. Sincronización entre procesos Comunicación entre procesos
19
El SO como gestor de recursos Estados de un proceso: Nuevo: recién creado por el S.O. En ejecución: está en la CPU ejecutando instrucciones Bloqueado: esperando por algún evento (ej. una operación de
E/S) Preparado: esperando a que le asignen un procesador (CPU) Terminado: no ejecutará más instrucciones
20
10
13/08/2011
Función: gestión de memoria principal (RAM) La memoria principal (RAM) es un recurso compartido
entre el S.O. y los procesos que es necesario para que estos se ejecuten. Responsabilidades del S.O en cuanto a la gestión de la memoria principal: Conocer qué zonas de memoria están libres y cuáles están
ocupadas Decidir qué memoria se le asigna a cada proceso Reservar y liberar zonas de memoria según se solicite Memoria virtual: utilizar el almacenamiento secundario (disco duro) como una extensión de la memoria principal. 21
Función: gestión de entrada/salida Hay una gran variedad de dispositivos de entrada/salida que tienen queser gestionados por el sistema operativo: pantalla, teclado, ratón, impresora, módem, tarjetas de red, comunicaciones serie (USB), etc. Las responsabilidades del S.O. con respecto a la gestión de los dispositivos de entrada/salida son las siguientes: Proporcionar una interfaz uniforme para el acceso a los
dispositivos(independencia del dispositivo).
Proporcionar manejadores (drivers) para los dispositivos concretos. Control de los errores más comunes. Para los dispositivos de almacenamiento, utilizar pulmones o búferes
intermedios.
Para los discos, planificar de forma óptima las peticiones. 22
11
13/08/2011
Función: gestión de entrada/salida El problema fundamental de las gestión de los dispositivos de entrada/salida es que son más lentos que el conjunto CPU-Memoria principal. Esto obliga al sistema operativo a utilizar una serie de técnicas que eviten, en la medida de lo posible, que la CPU quede ociosa a la espera de una operación de entrada/salida. Para solucionar este problema se utilizan zonas intermedias de almacenamiento de datos que sirven de pulmón de flexibilización. Estas zonas de almacenamiento intermedio pueden estar, entre otros sitios, en: • Memoria principal. • Memoria secundaria. • Memoria del dispositivo de entrada salida. 23
Función: gestión de archivos Un archivo es un conjunto de datos identificado por un nombre.
Los archivos se almacenan en dispositivos de E/S. Un archivo es un concepto de alto nivel que no existe en el hardware. Las responsabilidades del S.O. con respecto a la gestión de archivos son las siguientes: Manipulación de archivos: crear, borrar, leer, escribir, modificar
propiedades, etc. Manipulación de directorios. Ubicar los archivos y directorios en los dispositivos de almacenamiento secundario. Facilitar ciertos servicios: copia de seguridad, gestión de versiones, etc. 24
12
13/08/2011
Función: gestión de archivos
25
Funciones : sistema de protección De usuario: Mecanismos destinados a controlar el acceso de los usuarios a los recursos: Definir clases de usuarios, clases de permisos, etc. Definir mecanismos de acceso a los recursos: Contraseñas: se pueden poner contraseñas para acceso a determinados recursos. Capacidades: cada usuario o grupo de usuarios tendrán definidas una serie de acciones que pueden hacer sobre un recurso (leer, configurar, actualizar, etc.). Controlar el acceso a los recursos, denegando el acceso cuando no esté
permitido.
De proceso: Mecanismos destinados a controlar el acceso de los procesos a los recursos: Acceso a la memoria del S.O. y de otros programas. Acceso directo a los dispositivos de E/S. Abuso de la CPU.
26
13
13/08/2011
Tipos de S.O. Sistemas de tiempo real Para poder ejecutar satisfactoriamente tareas que han de completarse en un plazo prefijado (ej. sistemas de control industrial, sistemas multimedia) Sistemas paralelo Sistemas con más de un procesador. Pueden ejecutar varias instrucciones simultáneamente (en paralelo). Sistemas distribuidos Múltiples procesadores conectados mediante una red.
27
Tarea Investigar otras clasificaciones Sistemas Operativos Entrega miércoles 17 de agosto Evaluación 19 de agosto
28
14