Post on 06-Mar-2016
description
Sistemas operativos: una visin
aplicada
Modulo 1
Introduccin a los sistemas
operativos
Ing. Yarisol A. Castillo Q.
Sistemas Operativos: Captulo I 1
Contenido
Qu es un sistema operativo?
Arranque del computador
Componentes y estructura de un sistema operativo
Activacin del sistema operativo
Interfaz del programador
Interfaz del usuario
Historia y evolucin
Sistemas Operativos: Captulo I 2
Sistemas Operativos: Captulo I 3
Qu es un sistema operativo?
Un programa que acta como intermediario entre el usuario de un computador y el hardware del mismo
Objetivos del sistema operativo: Ejecutar programas y facilitar la solucin de los
problemas del usuario
Hacer un uso conveniente del computador
Usar el computador de forma eficiente
Proporcionar una mquina virtual extendida
Sistemas Operativos: Captulo I 4
Sistemas Operativos: Captulo I 5
Funciones del sistema operativo
Gestor de recursos (UCP, memoria, ...) Asignacin y recuperacin de recursos Proteccin de los usuarios Contabilidad/monitorizacin Soporte de usuario
Mquina extendida (servicios) Ejecucin de programas (procesos) rdenes de E/S Operaciones sobre archivos Deteccin y tratamiento de errores
Interfaz de usuario Shell
Sistemas Operativos: Captulo I 6
Sistemas Operativos: Captulo I 7
Sistemas Operativos: Captulo I 8
Sistemas Operativos: Captulo I 9
Niveles del sistema operativo
Ncleo
Servicios
Programas
Usuarios
Shell
Sistemaoperativo
API
Hardware
Sistemas Operativos: Captulo I 10
Contenido
Qu es un sistema operativo?
Arranque del computador Componentes y estructura de un sistema operativo
Activacin del sistema operativo
Interfaz del programador
Interfaz del usuario
Historia y evolucin
Sistemas Operativos: Captulo I 11
Arranque del computador
El Reset carga valores predefinidos en registros
CP direccin de arranque del cargador ROM
Se ejecuta el cargador ROM del sistema Test del sistema Trae a memoria el boot del SO
En el caso del PC la ROM contiene, adems, sw de E/S (BIOS)
0
2.047
1.048.575
Direccin Celdas
Unidad de Memoria
ZonaROM
0
1.046.528
1.048.575
Direccin Celdas
Unidad de Memoria
ZonaROM
Sistemas Operativos: Captulo I 12
Arranque del sistema operativo
El SO est almacenado en el disco
Programa cargador
(identificador) Disco
Sistema Operativo
Sistemas Operativos: Captulo I 13
Arranque del sistema operativo
El cargador ROM carga el sector de boot del SO y le da control
El boot del SO carga el SO residente y da control al programa de arranque del SO, que:
Comprueba el hardware Comprueba el sistema de ficheros Establece las tablas del SO Crea procesos (segn el tipo de SO)
Proceso INIT Procesos o tareas del sistema (demonios) Procesos de login (uno por terminal)
Tras la autenticacin, el proceso login se convierte en shell
Sistemas Operativos: Captulo I 14
Contenido
Qu es un sistema operativo?
Arranque del sistema operativo
Componentes y estructura de un sistema operativo
Activacin del sistema operativo
Interfaz del programador
Interfaz del usuario
Historia y evolucin
Sistemas Operativos: Captulo I 15
Componentes del SO
Ncleo
POSIX
Programas de usuario
Usuarios
Sistemaoperativo
Varias API
Hardware
Win 32
Shell 1 Shell 2
Gestin deprocesos
Gestin dememoria
Gestin de la E/S
Comunicac.y
sincroniz.
Seguridad y
proteccin
Gestin de archivos y directorios
Sistemas Operativos: Captulo I 16
Estructura del sistema operativo
Sistemas operativos monolticos
Sistemas operativos estructurados Sistemas por capas Modelo cliente-servidor
Sistemas Operativos: Captulo I 17
Estructura cliente-servidor
Microncleo
Procesos cliente
Procesos servidores
API API
Hardware
Servidor de procesos
Servidor de memoria
Servidor de la E/S
Servidor de
Comunicac.
Servidor de Seguridad
Modo ncleo
Modo usuario Servidor de archivos y directorios
Sistemas Operativos: Captulo I 18
Gestin de procesos
Un proceso es un programa en ejecucin.
Un proceso necesita recursos, tales como UCP, memoria, ficheros, etc., para llevar a cabo su tarea.
El SO tiene la responsabilidad de gestionar los siguientes aspectos de procesos:
Creacin y destruccin. Suspensin y reanudacin. Asignacin y mantenimiento de los recursos del
proceso.
Proporcionar mecanismos de sincronizacin y comunicacin.
Gestionar los interbloqueos.
Sistemas Operativos: Captulo I 19
Elementos de un proceso
Mapa deMemoria
BCP
Mapade
E/S
Registros generales
PC
SP
Estado
Cdigoy
datos
Sistemas Operativos: Captulo I 20
Servicios de procesos
Crear un procesos A partir de un proceso padre (UNIX) A partir de un archivo ejecutable (Windows NT)
Ejecutar un proceso
Terminar la ejecucin de un proceso
Cambiar el programa que ejecuta un proceso
Sistemas Operativos: Captulo I 21
Gestin de memoria
Memoria: vector enorme de palabras o bytes, cada uno con su propia direccin.
Compartido por UCP y dispositivos E/S. Voltil: pierde su contenido si el sistema falla.
El SO tiene la responsabilidad de gestionar los siguientes aspectos de la memoria:
Mantener un mapa de las partes de memoria en uso y saber quin las est usando.
Decidir qu procesos se deben cargar, y dnde, cuando hay memoria disponible.
Sistemas Operativos: Captulo I 22
Servicios de gestin de memoria
Asignar y liberar espacio de memoria cuando sea necesario.
Ofrecer servicios para que los procesos puedan compartir memoria.
Solicitar memoria
Liberar memoria
Compartir memoria
Sistemas Operativos: Captulo I 23
Comunicacin y sincronizacin entre procesos
Procesode Usuario
SO
UN COMPUTADOR DOS COMPUTADORES
Procesode Usuario
Procesode Usuario
SO SO
Procesode Usuario
Sistemas Operativos: Captulo I 24
Servicios de comunicacin y sincronizacin
Servicios de comunicacin Crear el mecanismo de comunicacin Enviar datos a un proceso Recibir datos de un proceso Destruir el servicio de comunicacin
Servicios de sincronizacin Crear el mecanismo de sincronizacin Bloquear un proceso hasta que ocurra un evento Despertar a un proceso bloqueado Destruir el mecanismo de sincronizacin
Sistemas Operativos: Captulo I 25
Tipos de comunicacin
Comunicacin sncrona Los dos procesos han de ejecutar los servicios de
comunicacin al mismo tiempo
Comunicacin asncrona Los dos procesos no tiene que ejecutar los servicios de
comunicacin al mismo tiempo
enviar
EsperaEsperarecibir enviar
recibir
Proceso A
El proceso A espera al B
Av
an
za l
a e
jec
uci
n
El proceso B espera al A
Proceso A
Proceso B
Proceso B
Sistemas Operativos: Captulo I 26
Gestin de E/S
El gestor de E/S est formado por: Un sistema global de almacenamiento intermedio en
memoria.
Manejadores genricos, uno por cada clase, de dispositivos.
Manejadores especficos para cada dispositivo.
Almacenamiento secundario no voltil en dispositivos rpidos de E/S (discos, NAD, etc.) como respaldo de la memoria.
Sistemas Operativos: Captulo I 27
Servicios de E/S
El SO tiene la responsabilidad de gestionar los siguientes aspectos de la E/S y el almacenamiento secundario: Traducir peticiones a formato de manejador. Copiar memoria de/a memoria a/de controlador. Controlar operaciones por DMA. Controlar dispositivos de E/S serie: teclado, ratn, etc. Asignacin y liberacin de espacio. Planificacin de accesos a los dispositivos.
Servicios orientados a caracteres Impresoras, terminales
Servicios orientados a bloques La operacin de E/S se hace sobre un bloque de
informacin de un nmero fijo de caracteres
Discos
Sistemas Operativos: Captulo I 28
Gestin de archivos y directorios
Archivo: conjunto de informacin lgicamente relacionada y definida por su creador.
Directorio: conjunto de identificadores lgicos de archivos y su relacin con identificadores internos del SO.
Archivos frecuentes: programas (fuentes y ejecutables) y datos.
El SO tiene la responsabilidad de gestionar los siguientes aspectos del servicio de archivos:
Creacin y borrado de archivos y directorios. Primitivas para manipular archivos y directorios. Proyectar los ficheros sobre almacenamiento secundario. Hacer respaldo de archivos sobre dispositivos estables y no
voltiles.
Sistemas Operativos: Captulo I 29
Seguridad y proteccin
Proteccin: controlar accesos a los recursos de usuario y sistema.
El servidor de proteccin debe: Distinguir entre uso autorizado y no autorizado. Especificar los controles de acceso a llevar a cabo. Proporcionar mtodos de control de acceso.
Seguridad: proteger al sistema de un uso indebido.
El servidor de seguridad debe: Autenticar a los usuarios. Evitar amenazas al sistema (gusanos, virus, piratas,
fuego, etc.)
Evitar la intercepcin de comunicaciones: cifrado, canales seguros, etc.
Sistemas Operativos: Captulo I 30
Contenido
Qu es un sistema operativo?
Arranque del sistema operativo
Componentes y estructura de un sistema operativo
Activacin del sistema operativo Interfaz del programador
Interfaz del usuario
Historia y evolucin
Sistemas Operativos: Captulo I 31
Activacin de los servicios del SO
Fuentes de las peticiones Mandatos de los usuarios interpretados por el shell Llamadas al sistema emitidas por los programas Interrupciones producidas por los perifricos Condiciones de excepcin o error del hardware
Forma de solicitar los servicios Por llamada problema de seguridad Por interrupcin o trap Rutina de biblioteca:
Instrucciones de mquina que prepara la llamada al SO
Sistemas Operativos: Captulo I 32
Servicios del SO: llamadas al sistema
Interfaz entre aplicaciones y SO. Generalmente disponibles como funciones en
ensamblador.
Actualmente en otros lenguajes de alto nivel (C, Bliss, ).
Servicios tpicos del sistema operativo Gestin de procesos Gestin de procesos ligeros Gestin de seales, temporizadores Gestin de memoria Gestin de ficheros y directorios
Sistemas Operativos: Captulo I 33
Paso de los parmetros a las llamadas
Tres mtodos genricos para pasar parmetros a las llamadas al sistema: En registros. En una tabla de memoria, cuya direccin se pasa al SO
en un registro. Poner los parmetros en la pila del programa y dejar
que el SO los extraiga.
Cada SO proporciona sus propias llamadas al sistema: Estndar POSIX en UNIX y LINUX. Win32 en Windows NT.
Sistemas Operativos: Captulo I 34
Servicios del SO
Los servicios se programan mediante sentencias de un lenguaje (p.e. C)
Estas sentencias son como llamadas a funcin
Se convierten, mediante una rutina de biblioteca de sistemas en un conjunto de instrucciones de mquina que
terminan con una instruccin de trap
El trap, como toda interrupcin es tratada por el SO
El SO realiza el servicio pedido y devuelve un valor
Sistemas Operativos: Captulo I 35
Contenido
Qu es un sistema operativo?
Arranque del computador
Componentes y estructura de un sistema operativo
Activacin del sistema operativo
Interfaz del programador Interfaz del usuario
Historia y evolucin
Sistemas Operativos: Captulo I 36
Sistemas Operativos: Captulo I 37
Sistemas Operativos: Captulo I 38
Interfaz del programador
Esta interfaz recupera la visin que como mquina extendida tiene el usuario del sistema operativo
Interfaces seguidas: POSIX Win32
Sistemas Operativos: Captulo I 39
Estndar POSIX
Interfaz estndar de sistemas operativos de IEEE.
Objetivo: portabilidad de las aplicaciones entre diferentes plataformas y sistemas operativos.
NO es una implementacin. Slo define una interfaz
Diferentes estndares 1003.1 Servicios bsicos del SO 1003.1a Extensiones a los servicios bsicos 1003.1b Extensiones de tiempo real 1003.1c Extensiones de procesos ligeros 1003.2 Shell y utilidades 1003.2b Utilidades adicionales
Sistemas Operativos: Captulo I 40
Win32
Define los servicios ofrecidos por los sistemas Windows 95/98, Windows NT, Windows 2000, Windows Vista,
Windows 7
No es un estndar
API totalmente distinto a POSIX
Sistemas Operativos: Captulo I 41
Caractersticas de Win32
Los recursos se referencian mediante manejadores
Nombres de funciones largos y descriptivos: GetFileAttributes
CreateNamedPipe
Dispone de tipos de datos predefinidos BOOL
DWORD
TCHAR
Las funciones devuelven en general true en caso de xito y false en caso de error
Sistemas Operativos: Captulo I 42
Contenido
Qu es un sistema operativo?
Arranque del computador
Componentes y estructura de un sistema operativo
Activacin del sistema operativo
Interfaz del programador
Interfaz del usuario Historia y evolucin
Sistemas Operativos: Captulo I 43
Interfaz de usuario
Funciones: Manipulacin de archivos y directorios Herramientas de desarrollo de aplicaciones Comunicacin con otros sistemas Informacin de estado Configuracin de la propia interfaz y entorno Intercambio de datos entre aplicaciones Control de acceso Sistema de ayuda interactivo
Tipos Interfaces alfanumricas (interpretes de mandatos) Interfaces grficas
Sistemas Operativos: Captulo I 44
Intrprete de mandatos
Programa cuya funcin es obtener los mandatos del usuario y ordenar su ejecucin al sistema operativo.
Hay dos tipos bsicos: Intrpretes de mandatos internos Intrpretes de mandatos externos
Casi todos los mandatos son sentencias de control para los gestores del SO descritos (procesos, E/S, ficheros,
proteccin y comunicaciones).
Puede haber mltiples intrpretes de mandatos sobre el mismo SO -> la visin del mismo SO cambia segn el
usado. Ejemplo: POSIX sobre Windows o Win32 sobre
LINUX.
Sistemas Operativos: Captulo I 45
Contenido
Qu es un sistema operativo?
Arranque del computador
Componentes y estructura de un sistema operativo
Activacin del sistema operativo
Interfaz del programador
Interfaz del usuario
Historia y evolucin
Sistemas Operativos: Captulo I 46