Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene...

38
Sistemas Operativos Daniel Rúa Madrid

Transcript of Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene...

Page 1: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Sistemas Operativos

Daniel Rúa Madrid

Page 2: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

¿Qué es?

Es un programa que administra el hardware

de una computadora. También proporciona

las bases para los programas de aplicación

y actúa como intermediario entre el usuario

y el hardware de la computadora.

Page 3: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Modos de operación

Los sistemas operativos tiene dos modos de operación:

modo usuario y modo kernel. Un bit, denominado bit

de modo, se añade al hardware de la computadora para

indicar el modo actual kernel(0) o usuario(1).

Page 4: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Temporizador

Debemos asegurar que el sistema operativo tenga el control sobre la CPU:

Por ejemplo, debemos impedir que un programa de usuario entre en un bucle

infinito o que no llame a los servicios del sistema y nunca devuelva el control al

sistema operativo. Para alcanzar este objetivo podemos utilizar un

temporizador.

Page 5: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Operaciones del sistema operativo

Los sistemas operativos están controlados mediante interrupciones. Si no

hay ningún proceso que ejecutar, ningún dispositivo de E/S al que dar servicio

y ningún usuario al que responder, el sistema operativo debe permanecer

inactivo, esperando a que algo ocurra. Los sucesos casi siempre se indican

mediante la ocurrencia de una interrupción o excepción. Una excepción es una

interrupción generada por software , debida a un error o a una solicitud

específica de un programa de usuario.

Page 6: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Tipos de sistemas operativos

Los sistemas operativos se clasifican dependiendo de las características que presentan en su funcionamiento. Entre los tipos de sistemas operativos se encuentran:

• Monousuarios.

• Multiusuarios.

• Monotareas.

• Multitareas.

• Uniproceso.

• Multiproceso.

Page 7: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Componentes

Page 8: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gestión de Procesos

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión de procesos:

• Crear y borrar los procesos de usuario y del sistema.

• Suspender y reanudar los procesos.

• Proporcionar mecanismos para la sincronización de procesos.

• Proporcionar mecanismos para la comunicación entre procesos.

• Proporcionar mecanismos para el tratamiento de los interbloqueos.

Page 9: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gestión de Memoria

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión de memoria:• Controlar qué partes de la memoria están actualmente en uso y por parte

de quién.• Decidir qué datos y procesos (o partes de procesos) añadir o extraer de la

memoria.• Asignar y liberar la asignación de espacio de memoria según sea

necesario.

Page 10: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gestión de Almacenamiento

El sistema operativo proporciona una vista lógica y uniforme al

sistema de almacenamiento de la información. Abstrae las

propiedades físicas de los dispositivos de almacenamiento y

define una unidad de almacenamiento lógico, el archivo.

Además asigna los archivos a los soportes físicos y accede a los

archivos a través de dispositivos de almacenamiento.

Page 11: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gestión del sistema de archivos

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión de archivos:

• Creación y borrado de archivos.

• Creación y borrado de directorios para organizar los archivos.

• Soporte de primitivas para manipular archivos y directorios.

• Asignación de archivos a los dispositivos de almacenamiento secundario.

• Copia de seguridad de los archivos en medios de almacenamiento

estables (no volátiles).

Page 12: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gestión del almacenamiento masivo

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a gestión de disco:

• Gestión del espacio libre.

• Asignación del espacio de almacenamiento.

• Planificación del disco. Dado que el almacenamiento secundario se usa con frecuencia, debe emplearse de forma eficiente.

Page 13: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Sistemas de E/S

La gestión de los dispositivos de E/S se hace mediante el subsistema de E/S, el cual consta de varios componentes:

• Un componente de gestión de memoria que incluye almacenamiento en

búfer, gestión de caché y gestión de colas.

• Una interfaz general para controladores de dispositivo.

• Controladores para dispositivos hardware específicos.

Page 14: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Protección y Seguridad

Es cualquier mecanismo que controle el acceso de procesos y usuarios a los

recursos definidos por un sistema informático. ESte mecanismo debe

proporcionar los medios para la especificación de los controles que hay que

imponer y para la aplicación de dichos controles.

Page 15: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Servicios del Sistema Operativo

Page 16: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Interfaz de Usuario

Casi todos los sistemas operativos disponen de una interfaz de usuario (UI,

user interface), que puede tomar diferentes formas. Uno de los tipos existentes

es la interfaz de línea de comandos (CLI, command-line interface) que usa

comandos de texto, y por otra parte se utiliza una interfaz gráfica de usuario

(GUI, graphical user interface) compuesta por ventanas.

Page 17: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Ejecución de Programas

El sistema tiene que poder cargar un programa y ejecutar dicho programa.

Todo programa debe poder terminar su ejecución, de forma normal o anormal

(indicando un error).

Page 18: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Operaciones de E/S

Un programa en ejecución puede necesitar llevar a cabo operaciones de E/S,

dirigidas a un archivo o dispositivo de E/S. Para ciertos dispositivos es

deseable disponer de funciones especiales . Por cuestión de eficiencia y

protección, los usuarios no pueden controlar de modo directo los dispositivos

de E/S; el sistema operativo debe proporcionar medios para realizar la E/S.

Page 19: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Manipulación del sistema de archivos

El sistema de archivos tiene una importancia especial. Obviamente, los

programas necesitan leer y escribir en archivos y directorios. También necesita

crearlos y borrarlos usando su nombre, realizar búsquedas en un determinado

archivo o presentar la información contenida en un archivo. Algunos programas

incluyen mecanismos de gestión de permisos para conceder o denegar el

acceso a los archivos o directorios dependiendo de quien es el propietario.

Page 20: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Comunicaciones

Hay muchas circunstancias en las que un proceso necesita intercambiar

información con otro. Dicha comunicación puede tener lugar entre procesos

que se están ejecutando en la misma computadora o entre procesos en

computadoras diferentes conectadas por red. La comunicaciones se pueden

implementar utilizando memoria compartida, procedimiento en el que el

sistema operativo transfiere paquetes de información entre unos procesos y

otros.

Page 21: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Detección de errores

El sistema operativo necesita detectar constantemente los posible errores.

Estos errores pueden producirse en el hardware del procesador y de memoria,

en un dispositivo de E/So en los programas de usuario. Para cada tipo de error,

el sistema operativo debe llevar a cabo la operación apropiada para asegurar

el funcionamiento correcto y coherente.

Page 22: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Asignación de recursos

Cuando hay varios usuarios, o hay varios trabajos ejecutándose al mismo

tiempo, deben asignarse a cada uno de ellos los recursos necesarios. El

sistema operativo gestiona muchos tipos diferentes de recursos; algunos

pueden disponer de código de software especial que gestionen su asignación,

mientras que otros pueden tener código que gestione de forma mucho más

general su solicitud y liberación.

Page 23: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Kernel

Page 24: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

¿Qué es?

Parte esencial del sistema operativo que provee los servicios más básicos del

sistema. Se encarga de gestionar los recursos como el acceso seguro al

hardware de la computadora.

Determina que programa accede a un determinado hardware si dos o más

máquinas desean utilizarlo al mismo tiempo.

El kernel también ofrece una serie de abstracciones del hardware para que los

programadores no tengan que acceder directamente al hardware, proceso que

puede ser complicado.

Page 25: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Estructura Kernel

El kernel se divide en una serie de interfaces y controladores de dispositivo.

El kernel proporciona las interfaces para las llamadas al sistema de archivos,

los mecanismos de planificación de la CPU, la funcionalidad de gestión de la

memoria, y otras funciones del sistema operativo, a través de las llamadas al

sistema.

Page 26: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Microkernels

Este método estructura el sistema operativo eliminando todos los componentes

no esenciales del kernel e implementándolos como programas del sistema y de

nivel de usuario; el resultado es un kernel más pequeño.

Normalmente los microkernels proporcionan la gestión de memoria y de los

procesos mínima, además de un mecanismo de comunicaciones.

La función principal del microkernel es proporcionar un mecanismo de

comunicaciones entre el programa cliente y los distintos servicios que se

ejecutan también en el espacio de usuario.

Page 27: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Módulos La mejor metodología para diseñar sistemas operativos es la que usa las técnicas de programación orientada a objetos para crear un kernel modular. El kernel enlaza un conjunto de componentes fundamentales que pueden ser:

• Clases de planificación.

• Sistemas de archivos.

• Llamadas al sistema cargables.

• Formatos ejecutables.

• Módulos STREAMS.

• Módulos Misceláneos.

• Controladores de bus y dispositivos.

Page 28: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gestión de Memoria

Page 29: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gestión de memoria

El propósito principal de un sistema informático es ejecutar programas.

Estos programas, junto con los datos a los que acceden, deben encontrarse en

memoria principal durante la ejecución del programa.

Para aumentar tanto el grado de utilización del procesador como su velocidad

de respuesta a los usuarios, la computadora debe ser capaz de mantener

varios procesos en memoria.

Page 30: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Asignación de Memoria

En un sistema operativo es indispensable que cada proceso disponga de

espacio de memoria separado. Para hacer esto, se debe determinar el rango

de direcciones legales a las que el proceso puede acceder y garantizar que

ese proceso acceda a las direcciones legales. Se utilizan dos registros, una

base y un límite. El registro base almacena la dirección de memoria física legal

más pequeña, mientras que el registro límite especifica el tamaño del rango.

Page 31: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Reasignación de direcciones

Para que un programa se ejecute debe ser cargado en memoria y colocado

dentro de un proceso, para luego ser asignado a la cola de entrada.

El procedimiento normal consiste en seleccionar uno de los procesos de la

cola de entrada y cargar dicho proceso en memoria. A medida que se ejecuta

el proceso, éste accede a las instrucciones y datos contenidos en la memoria.

Eventualmente, el proceso terminará su ejecución y su espacio de memoria

será declarado como disponible.

Page 32: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Carga Dinámica

Con la carga dinámica, una rutina no se carga hasta que se la invoca. Según

este método, el programa principal se carga en la memoria y se ejecuta.

Cuando una rutina necesita llamar a otra rutina, la rutina que realiza la

invocación comprueba primero si la otra ya sido cargada, si no es así, se carga

en memoria la rutina deseada y para que se actualice las tablas de direcciones

del programa con el fin de reflejar este cambio.

Page 33: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Intercambio

Un proceso debe estar en memoria para ser ejecutado. Sin embargo, los

procesos pueden ser intercambiados temporalmente, sacándolos de la

memoria y almacenándolos en un almacén de respaldo y volviéndolos a llevar

luego a memoria para continuar su ejecución.

Page 34: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Asignación de memoria contigua

La memoria principal debe albergar tanto el sistema operativo como los

diversos procesos de usuario. Por tanto, necesitamos asignar las distintas

partes de la memoria principal de la forma más eficiente posible.

La memoria está usualmente dividida en dos particiones: una para el sistema

operativo residente y otra para procesos de usuario.

En esta asignación contigua de memoria, cada proceso está contenido en una

única sección contigua de memoria.

Page 35: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Fragmentación

A medida de que se cargan procesos en memoria y se eliminan, el espacio

de memoria libre se descompone en una serie de fragmentos de pequeño

tamaño. El problema aparece cuando hay un espacio de memoria total

suficiente como para satisfacer la solicitud, pero estos espacios disponibles no

son contiguos.

Una solución consiste en la compactación. Moviendo el contenido de la

memoria con el fin de situar toda la memoria libre de forma contigua, para

formar un único bloque de gran tamaño.

Page 36: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Paginación

Permite que el espacio de direcciones físicas de un proceso no sea contiguo.

La paginación evita el considerable problema de encajar fragmentos de

memoria de tamaño variable en el almacén de respaldo.

La paginación implica descomponer la memoria física en una serie de

bloques de tamaño fijo denominados marcos y descomponer la memoria lógica

en bloques del mismo tamaño denominados páginas. Cuando hay que ejecutar

un proceso, sus páginas se cargan desde el almacén de respaldo en los

marcos de memoria disponible.

Page 37: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Segmentación

En este esquema un espacio lógico de direcciones es una colección de

segmentos y cada segmento tiene un nombre y una longitud. Las direcciones

especifican tanto el nombre del segmento como el desplazamiento dentro de

ese segmento. El usuario especifica cada dirección proporcionando dos

valores: un nombre de segmento y un desplazamiento.

Page 38: Sistemas Operativos · Es un programa que administra el hardware ... Los sistemas operativos tiene dos modos de operación: modo usuario y modo kernel. Un bit, denominado bit

Gracias!