Download sistema operativo

Document related concepts

Planificador wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

SymbOS wikipedia , lookup

Proceso (informática) wikipedia , lookup

Sistema operativo wikipedia , lookup

Transcript
Capítulo 2. Sistemas Operativos.
Elementos, estructura y funciones generales.
1.
2.
3.
4.
5.
6.
Concepto de Sistema Operativo.
Evolución histórica.
Tipos de Sistemas Operativos.
Estructura de un Sistema Operativo.
Funciones de un Sistema Operativo.
Secuencia de arranque del ordenador.
© 2010 Juan Carlos Cano
Todos los derechos reservados
1
1. Concepto de Sistema Operativo.
Un sistema operativo es una capa de software que se
interpone entre el usuario y el hardware, o bien entre las
aplicaciones y el hardware, al objeto de ocultar la complejidad
de la parte física de la computadora; facilitándose, así, la labor
de los usuarios y de los programadores de aplicaciones.
Principales funciones:
— Gestión eficiente de los recursos hardware y software del
sistema informático.
— Suministro de una interfaz de usuario adecuada con la que
trabajar (GUI / TUI).
— Control y administración de la ejecución de programas.
— Control y administración del sistema de archivos.
— Detección y, a ser posible, resolución de los errores que se
puedan producir.
© 2010 Juan Carlos Cano
Todos los derechos reservados
2
3. Tipos de Sistemas Operativos ( I )
http://www.ciclos-informatica.com/tipos-sistemas-operativos/
1. Según el tiempo de respuesta:
•
•
•
Procesamiento por lotes
Interactivos
Tiempo real
2. Según el número de usuarios:
•
•
Monousuario o Monopuesto
Multiusuario o Multipuesto
3. Según el número de procesos:
•
•
Monotarea o Monoprogramados
Multitarea o Multiprogramados
© 2010 Juan Carlos Cano
Todos los derechos reservados
3
3. Tipos de Sistemas Operativos ( II )
4. Según el número de procesadores:
•
•
Monoprocesador o Monoproceso
Multiprocesador o Multiproceso
5. Según el uso de los recursos de la red:
•
•
•
Centralizados
En red
Distribuidos
© 2010 Juan Carlos Cano
Todos los derechos reservados
4
4. Estructura de un Sistema Operativo.
» Monolíticos.
» En niveles o capas:
© 2010 Juan Carlos Cano
Todos los derechos reservados
5
5. Funciones de un Sistema Operativo.
5.1. Gestión de procesos ( I )
- Un proceso es un programa en ejecución.
- En términos generales:
Proceso = Flujo = Tarea = Trabajo
- Tipos de procesos:
- Procesos del sistema (servicios).
- Procesos de los usuarios.
- Cada proceso tiene asociada una estructura de datos
llamada PCB (Process Control Block) que contiene la
siguiente información: PID, estado, prioridad, recursos
asignados, valores de los registros del procesador,
propietario, permisos, etc.
© 2010 Juan Carlos Cano
Todos los derechos reservados
6
5. Funciones de un Sistema Operativo.
5.1. Gestión de procesos ( II )
Ciclo de vida de un proceso:
Nota:
La autoría del diagrama corresponde al profesor José Miguel Buenaposada.
© 2010 Juan Carlos Cano
Todos los derechos reservados
7
5. Funciones de un Sistema Operativo.
5.1. Gestión de procesos ( III )
-
-
-
La mayoría de las computadoras disponen de un único procesador
y sin embargo se explotan en multitarea.
Esto obliga al sistema operativo a distribuir el tiempo de CPU entre
todos los procesos competidores. A tal fin se destina el componente
conocido como planificador.
El planificador decide:
a) Qué proceso entra en la CPU cuando ésta queda libre.
b) En qué momento el proceso que está en ejecución debe
abandonar la CPU.
Existen diversas políticas (algoritmos) de planificación (FIFO,
SJF, SRTF, Prioridades, RR) cuya adecuación a un sistema
operativo concreto depende de los objetivos que se persigan.
Por ejemplo:
- Maximizar la utilización de la CPU, evitando que esté libre en
algún momento.
- Minimizar el tiempo medio de retorno o de espera.
© 2010 Juan Carlos Cano
Todos los derechos reservados
8
5. Funciones de un Sistema Operativo.
5.1. Gestión de procesos ( IV )
Algoritmo de planificación FIFO / FCFS:
Los procesos se ejecutan en el orden de llegada.
Algoritmo de planificación SJF:
De los procesos que están esperando para usar la CPU,
SJF lleva a ejecución el proceso más corto.
Los empates se dirimen mediante FIFO / FCFS.
Algoritmo de planificación SRTF:
De los procesos que están esperando para usar la CPU,
SRTF lleva a ejecución el proceso al que le reste menos
tiempo para terminar.
Los empates se dirimen mediante FIFO / FCFS.
© 2010 Juan Carlos Cano
Todos los derechos reservados
9
5. Funciones de un Sistema Operativo.
5.1. Gestión de procesos ( V )
Algoritmo de planificación por Prioridades:
Consiste en asociar a cada proceso una prioridad (un
valor entero).
Cuanto más bajo sea el número, más preferencia tendrá
el proceso a la hora de abordar la CPU.
En caso de empate habrá de aplicarse FIFO / FCFS.
Existen dos variantes de este algoritmo:
- Prioridades no expulsivo.
- Prioridades expulsivo.
© 2010 Juan Carlos Cano
Todos los derechos reservados
10
5. Funciones de un Sistema Operativo.
5.1. Gestión de procesos ( VI )
Algoritmo de planificación RR:
A todos los procesos en el estado preparado se les
asigna un tiempo máximo de ejecución denominado
quantum. El planificador va concediéndole la CPU a
cada proceso de forma secuencial por el quantum de
tiempo definido. Si un proceso necesita un tiempo de
ejecución mayor que su quantum asociado, una vez
transcurrido éste y si existen más procesos en espera
de ejecución, se coloca al final de la cola del estado
preparado y la CPU da entrada al proceso que
encabeza la cola.
Este método de planificación resulta muy adecuado en
sistemas operativos de tiempo compartido.
© 2010 Juan Carlos Cano
Todos los derechos reservados
11
5. Funciones de un Sistema Operativo.
5.2. Gestión de Memoria ( I )
-
Un Sistema Operativo debe ser capaz de administrar la memoria del
sistema eficazmente.
-
El gestor de memoria se encarga de:
a) Asignar una zona de memoria libre a cada proceso.
b) Proteger de accesos indebidos las zonas de memoria asignadas.
c) Compartir entre varios procesos ciertas zonas de memoria.
d) Liberar las zonas de memoria asignadas, una vez van
terminando su ejecución los distintos procesos.
© 2010 Juan Carlos Cano
Todos los derechos reservados
12
5. Funciones de un Sistema Operativo.
5.2. Gestión de Memoria ( II )
Gestión de la Memoria en un Sistema Monotarea
Kernel
Proceso
© 2010 Juan Carlos Cano
Todos los derechos reservados
13
5. Funciones de un Sistema Operativo.
5.2. Gestión de Memoria ( III )
Técnicas de Gestión de la Memoria en Sistemas Multitarea:
•
Paginación:
La memoria se divide en bloques de tamaño fijo denominados marcos.
Cada proceso que pretende alojarse en memoria se divide en páginas.
Mediante esta técnica el gestor de memoria se ocupará de asignar marcos libres
a las páginas de los procesos.
•
Segmentación:
La memoria se divide en bloques de tamaño variable denominados segmentos.
Cada proceso se descompone en piezas de tres tipos distintos:
- Código (instrucciones máquina)
- Datos estáticos (no cambian de tamaño durante la ejecución del proceso)
- Datos dinámicos ( cambian de tamaño durante la ejecución del proceso)
© 2010 Juan Carlos Cano
Todos los derechos reservados
14
5. Funciones de un Sistema Operativo.
5.2. Gestión de Memoria ( IV )
Técnicas de Gestión de la Memoria en Sistemas Multitarea:
•
Memoria Virtual:
La idea de permitir la ejecución de procesos que puedan no estar cargados
completamente en memoria, e incluso que sus tamaños superen a la memoria
física disponible, da lugar al concepto de memoria virtual.
El sistema operativo mantiene en la memoria principal aquella parte del proceso
que se utiliza en cada momento, el resto permanece en el disco.
La realización de la memoria virtual no es fácil y si se usa sin cuidado puede
hacer decrecer apreciablemente el rendimiento global del sistema.
Es normal desarrollarla como una extensión de la gestión de memoria mediante
paginación.
•
Protección, Intercambio (swapping), Compartición y Reubicación:
Complementan las tres técnicas básicas.
Fragmentación:
Desaprovechamiento o desperdicio de memoria derivado del sistema de gestión
empleado.
© 2010 Juan Carlos Cano
Todos los derechos reservados
15
5. Funciones de un Sistema Operativo.
5.2. Gestión de Memoria ( V )
Jerarquía de almacenamiento:
© 2010 Juan Carlos Cano
Todos los derechos reservados
16
5. Funciones de un Sistema Operativo.
5.3. Gestión de E/S.
•
Caching:
Consiste en almacenar en una caché temporal, de rápido acceso, los datos más
frecuentes solicitados o enviados a un dispositivo de E/S.
•
Buffering:
Se utiliza un área de memoria como búfer, simulando un dispositivo o un
periférico lógico, que hará de dispositivo intermedio entre el periférico real y el
procesador. Esto evita que un periférico lento afecte al redimiento del ordenador.
•
Spooling:
Es el proceso mediante el cual el ordenador almacena durante un tiempo (muy
breve) los datos que han de ser enviados a una impresora, antes de que se
produzca la salida efectiva. Se genera una cola administrada mediante la técnica
FIFO.
© 2010 Juan Carlos Cano
Todos los derechos reservados
17
5. Funciones de un Sistema Operativo.
5.4. Gestión de archivos ( I )
• Archivo:
- A nivel de usuario:
Objeto que representa la unidad lógica de almacenamiento de la
información. Es referenciado por su nombre.
- A nivel de sistema operativo:
Colección de clusters (bloques, grupos o unidades de asignación).
• Atributos: nombre, tipo, tamaño, fecha de creación, fecha de modificación,
propietario, permisos (lectura, escritura, ejecución), direcciones de la
memoria secundaria donde está almacenado, etc.
• Operaciones: crear, abrir, leer, escribir, cerrar, borrar, consultar y
modificar atributos, renombrar y copiar.
© 2010 Juan Carlos Cano
Todos los derechos reservados
18
5. Funciones de un Sistema Operativo.
5.4. Gestión de archivos ( II )
• Directorio:
Es un tipo de archivo especial que contiene otros
archivos y subdirectorios.
• Operaciones: crear, acceder, leer, salir, borrar,
renombrar, añadir archivos/subdirectorios y eliminar
archivos/subdirectorios.
© 2010 Juan Carlos Cano
Todos los derechos reservados
19
5. Funciones de un Sistema Operativo.
5.4. Gestión de archivos ( III )
•
Sistema de Archivos:
- Estructuran la información guardada en una unidad de almacenamiento.
Por ejemplo, en una partición de un disco duro.
- Cada sistema operativo utiliza su propio sistema de archivos.
- El tipo de sistema de archivos se determina en el proceso de formateo del disco.
- El sistema de archivos es responsable de la organización de los clusters, de
modo que en ellos se puedan almacenar archivos y directorios. Mantiene un
registro de:
- Clusters ocupados.
- Clusters libres.
- Clusters defectuosos.
© 2010 Juan Carlos Cano
Todos los derechos reservados
20
5. Funciones de un Sistema Operativo.
5.4. Gestión de archivos ( IV )
•
Sistemas de Archivos habituales:
- Mundo Windows: FAT16, FAT32, NTFS
- Mundo Linux: ext2fs, ext3fs, ext4fs, ReiserFS, Reiser4
- Otros sistemas de archivos: CDFS, UDF, HFS, HFS+
•
Actividad de ampliación:
Para los dos primeros grupos investiga los siguientes aspectos:
- Sistemas Operativos compatibles.
- Tamaño máximo de las particiones.
- Tamaño máximo de los archivos.
- Longitud máxima a la hora de nombrar archivos.
© 2010 Juan Carlos Cano
Todos los derechos reservados
21
5. Funciones de un Sistema Operativo.
5.4. Gestión de archivos ( V )
•
Jerarquía del Sistema de Archivos:
- La información que se almacena en el sistema de archivos suele tener estructura
jerárquica (en forma de árbol).
- En Windows a cada medio de almacenamiento, incluyendo las particiones de los
discos duros, le corresponde un árbol independiente, con una letra asociada del
rango A: B: … X: Y: Z:
El directorio raíz o principal se nota con A:\ , B:\ , … , Z:\
- En Unix / Linux todos los medios de almacenamiento se alojan en un árbol
común, sin letra alguna asociada.
El directorio raíz o principal se nota con /
© 2010 Juan Carlos Cano
Todos los derechos reservados
22