Introducción a los Sistemas Operativos

Anuncio
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
Descargar