Upload
lamdien
View
218
Download
0
Embed Size (px)
Citation preview
09/03/2011
1
Introducción a los Sistemas Operativos
Ingeniería del Software
EUITI – UPM
2
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
09/03/2011
2
3
Definición de SO
Un sistema operativo (SO) es un conjunto de programas o software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera eficiente.
Un sistema operativo es una capa compleja entre el hardware y el usuario, concebible también como una máquina virtual, que facilita al usuario o al programador las herramientas e interfaces adecuadas para realizar sus tareas informáticas, abstrayéndole de los complicados procesos necesarios para llevarlas a cabo.
4
Objetivos de SO
Ejecutar programas y facilitar la solución de los problemas del usuario– Proporcionar una maquina virtual extendida
Hacer un uso conveniente del computador– Usar el computador de forma eficiente
Gestión eficaz de recursos
– Usar el computador de forma segura Gestión de usuarios, seguridad, proteccion.
Capacidad de evolución– Ser capaz de desarrollar, probar e introducir
nueva funcionalidad sin interferir en el servicio.
09/03/2011
3
5
Clasificación SO
Monotarea o monoproceso
Multitarea o multiproceso
Monousuario
Multiusuario
– Obligatoriamente multitarea
– Tb se llama de tiempo compartido
6
Funciones del SO Gestor de recursos (CPU, memoria…)
– Asignación y recuperación de recursos. Mantener estructuras necesarias de recursos libres y ocupados Asignación según disponibilidad y prioridades, resolviendo conflictos.
Recuperación de recursos (garbage collection)
– Protección Programas
Información (usuarios)
– Contabilidad/monitorización Estadísticas, rendimiento, cuotas Futuras mejoras, facturacion.
– Soporte de usuarios Concepto de usuario (uid), grupo (gid). Administrador, superusuario, root. Acceso, cuotas, prioridades, etc.
– Detección y tratamiento de errores Internos y externos (memoria, dispositivos) Software (overflow, acceso a memoria)
Denegación de petición al SO (memoria, etc.)
Ejecución de servicios (Máquina extendida)– Ejecución de programas (procesos)
Lanzar, parar, información, comunicación y sincronizacion.
– Ordenes de E/S Pantalla, puertos…
– Operaciones sobre archivos Creación, borrado, escritura, lectura.
Interfaz de usuario– Shell (interprete de mandatos, NO caracteriza al sistema operativo)
Bucle infinito Alfanuméricas y graficas
Shell script
TAREAS del SO: Ejecución de
procesos Gestor de memoria Comunicación y
sincronización de procesos
Gestor E/S Gestor archivos y
directorios Seguridad y
proteccion Comunicación con el
usuario: interfaz programador y usuario
09/03/2011
4
7
Niveles del SO HAL Kernel (nucleo)
– Memoria ppal.
– Funciones mas frecuentes, gestor de tareas y servicios
– drivers
Servicios– Memoria, seguridad, alimentacion,
procesos, ficheros
API Shell
HAL
Kernel
Servicios
APIs
Shell
Hardware
Usuario Programador
Programas Utilidades
ProgramadorSO
Modo usuario
Modo nucleo
8
Componentes del SO
HAL
Kernel
Servicios
APIs
Shell
Hardware
Programas Utilidades
Modo usuario
Modo nucleo
Kernel (núcleo)– Gestión recursos,
interrupciones y manejo básico de memoria
– drivers
Servicios– Gestión de procesos– Gestión de memoria– Gestión E/S– Gestión de archivos y
directorios– Comunicación y sincronización
de procesos– Seguridad y protección
API– Win32 y POSIX (excluyentes)
Shell– Varios simultáneamente
09/03/2011
5
9
Estructura del SO SO monolíticos
– Un único espacio de direcciones
– Todo se ejecuta en modo núcleo
– Sistemas pequeños que han crecido (MS-DOS y UNIX)
– Complejidad de modificación, desarrollo y depuración (no encapsulacion)
– W2K 32 Millones líneas
SO estructurados– Sistemas por capas
Modularidad y ocultación de la información OS/2
– Modelo cliente-servidor Micronucleo Mensajes
Minix, WinNT (servidores en modo núcleo)
– Desventaja: sobrecarga.
Capa 1: Planificación CPU y multiprogr.
Capa 2: Gestión de Memoria
Capa 3: Gestión E/S
Capa 0: Hardware
Capa 4: Controlador consola
Capa 5: Programas de usuario
10
Ejemplo: NT
09/03/2011
6
11
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
12
Arranque del computador
El Reset carga valores predefinidos en registros y el PC apunta al cargador ROM
Se ejecuta el cargador (iniciador) ROM del sistema
– Test Hardware
– Trae a memoria el boot (cargador) del SO
– Salta al boot del SO
En el caso del PC la ROM contiene además software de E/S (BIOS)
09/03/2011
7
13
Arranque sistema operativo
Boot SO en zona predefinida (ej: 4 primeros sectores, MBR)
Convenio entre iniciador ROM y SO sobre ubicación, dirección de arranque y tamaño del cargador del SO– Diskette, CD-ROM, Disco
Verificación mediante contraseña en posición prefijada. El iniciador ROM comprueba que es un cargador de SO.
El cargador del SO puede redireccionar– Múltiples SO (Linux Loader LILO, Grand Unified Bootloader GRUB)
Parametros
– Windows sobreescribe el MBR, que salta directamente al inicio de la partición del sistema.
14
Arranque SO
El cargador ROM carga el sector de boot del SO y le da el control
El boot del SO:– Comprueba el hardware (completa las pruebas del iniciador ROM)
– Comprueba el sistema de archivos Revisar todos los directorios, largo tiempo. Scandisk
– Establece las tablas del SO (procesos, memoria, E/S)
– Se carga el SO residente (siempre en memoria)
– Crea procesos (según el SO) Proceso INIT Procesos o tareas del sistema (demonio) Procesos de login (uno por terminal)
– Tras la autenticación, el proceso login se convierte en shell Monousuario se convierte automáticamente.
– El shell ejecuta archivos de mandatos o shellscripts Autoexec.bat en MS-DOS, .login .cshhrc en linux
09/03/2011
8
15
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
16
Gestión de procesos
Definición:– Un proceso es un programa en ejecución
– Una instancia de un programa corriendo
– La unidad de procesamiento gestionada por el SO
– Una entidad que puede ser asignada y ejecutada por el procesador
– Una unidad de actividad caracterizada por el procesamiento secuencial, un estado y un conjunto de recursos.
09/03/2011
9
17
Gestión de procesos
Un proceso necesita recursos: CPU, memoria, ficheros
El SO tiene la responsabilidad de gestionar los procesos:– Creación y destrucción
– Suspensión y reanudacion
Multiproceso (planificación, activación)
Gestionar interrupciones y concurrencia
– Asignación y mantenimiento de los recursos.
– Proporcionar mecanismos de sincronización y comunicación
– Gestionar los interbloqueos.
18
Elementos de un proceso
Ejecutable
Archivos de datos asociados
Contexto del proceso– BCP, tablas memoria, tablas E/S, registros (estado del
procesador)
09/03/2011
10
19
Elementos de un proceso
20
Servicios de procesos
Crear un proceso – solicitado por otro proceso
– A partir de un proceso padre (UNIX) Copia exacta
– A partir de un archivo ejecutable (Win32)
Ejecutar un proceso– Batch (no asociado a terminal, de archivo a archivo)
– Background (demonio, servicios)
– Interactiva
Terminar la ejecución de un proceso– Ha terminado
– Se ha producido una condición de error
– Otro proceso o el usuario (u otro pero con permisos) deciden terminar.
Cambiar el programa que ejecuta un proceso– Sustituir el programa que ejecuta el proceso por otro de disco
(exec de UNIX)
09/03/2011
11
21
Ejemplo: NT
22
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
09/03/2011
12
23
Gestión de memoria
Memoria: vector de palabras o bytes cada una con su dirección– Compartido por CPU y dispositivos E/S
– Volatil
El SO tiene la responsabilidad de gestionar la memoria:– Memoria virtual
Mantener un mapa del uso de la memoria
Decidir que procesos se deben cargar y donde cuando hay memoria disponible
Asignar y liberar espacio de memoria cuando sea necesario
– Ofrecer servicios para que los procesos puedan compartir memoria.
24
Servicios de gestión de memoria
Solicitar memoria– Aumenta el espacio de datos del proceso, en caso posible
(SO), devolviendo un apuntador que se utiliza como referencia relativa
Liberar memoria– Vuelve a añadir a la lista de memoria libre
Compartir memoria– Los procesos pueden crear y liberar este tipo de
segmentos de memoria
Problemas:– Apuntadores inválidos (error fatal)
– Perdida de memoria (memory leak, no fatal pero acumulativo)
09/03/2011
13
25
Ejemplo: NT
26
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
09/03/2011
14
27
Comunicación y sincronización entre procesos
Un proceso es un ente independiente y aislado
Cuando se divide una tarea compleja en distintos procesos, es necesario que se comuniquen y que se sincronicen.
Estos mecanismos deben dar solución a este problema sin violar la seguridad.
Cadenas de bytes o estructuras, que deben convenir e interpretar los propios procesos
Tipos– Locales– Remotos
28
Servicios de comunicación y sincronización
Servicios de comunicación:– Crear el mecanismo– Enviar datos a un proceso– Recibir datos de un proceso– Destruir el servicio
Servicios de sincronizacion– Crear el mecanismo– Bloquear un proceso hasta que ocurra un evento– Despertar a un proceso bloqueado– Destruir el mecanismo
09/03/2011
15
29
Tipos de comunicación
Síncrona
– Los dos procesos han de ejecutar los servicios de comunicación al mismo tiempo
Asíncrona
– No tienen que ejecutar los servicios al mismo tiempo
30
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
09/03/2011
16
31
Gestión E/S
Objetivos
– Facilitar la tarea de los dispositivos periféricos
Interfaz sencilla, uniforme
Gestión de errores.
– Ofrecer mecanismos de protección que impidan a los usuarios acceder sin control
32
Gestión E/S
El gestor E/S esta formado por:– Un sistema global de almacenamiento intermedio en
memoria
– Manejadores genéricos, uno por cada clase de dispositivo– Manejadores específicos para cada dispositivo
Almacenamiento secundario no volátil en dispositivos (disco)
El SO tiene la responsabilidad de gestionar la E/S y el almacenamiento secundario:– Traducir peticiones a formato de manejador
– Copiar memoria de/a memoria de controlador
– Controlar operaciones por DMA
– Controlar dispositivos de E/S serie: teclado, ratón, etc.
– Asignación y liberación de espacio– Planificación de accesos a los dispositivos.
09/03/2011
17
33
Servicios de E/S
Servicios orientados a caracteres:
– Impresoras, terminales
Servicios orientados a bloques
– La operación de E/S se hace sobre un bloque de información.
– Discos
Independencia del acceso a los dispositivos modelándolos como archivos especiales
– \dev\
34
Ejemplo: NT
09/03/2011
18
35
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
36
Gestión de archivos y directorios
Objetivos– Facilitar la tarea de los dispositivos periféricos, ofreciendo
una visión lógica simplificada de los mismos.
– Proteger a los usuarios poniendo limitaciones a los archivos que es capaz de manejar un usuario.
2 tipos:– Archivos (datos)
– Directorios (nombres)
2 visiones:– Visión lógica
– Visión física
09/03/2011
19
37
Gestión de archivos y directorios
Archivo: conjunto de información lógicamente relacionada y definida por su creador
Directorio: conjunto de identificadores lógicos de archivos y su relación con identificadores internos del SO
Archivos frecuentes: programas (fuentes y ejecutables) y datos.
El SO tiene la responsabilidad de gestionar los siguientes aspectos:– Creación y borrado de archivos y directorios
– Primitivas para manipular archivos y directorios.– Proyectar los ficheros sobre almacenamiento secundario.
38
Visión lógica del sistema de archivos Archivo: Informacion asociada a un nombre
– Tipo de archivo (datos, ejecutable…)– Propietario (usuario) y grupo del usuario– Tamaño del archivo. Menor que el espacio de disco asignado, ya que el
ultimo bloque puede quedar a mitad.– Instantes (fecha y hora)
Creación
Modificación
Ultimo acceso
– Derechos de acceso (lectura, escritura, ejecucion)
09/03/2011
20
39
Visión lógica de un archivo
Vector de bytes
– Flexibilidad
Puntero de posicion
40
Visión física de un archivo
Elementos físicos del periférico
– Enumeración ordenada de los bloques en los que reside el archivo
– Bloque (numero prefijado de sectores, potencia de 2) vs. Sector
Estructura de información que recoja esta información: descripción física
– FAT en MS-DOS y nodo-i en UNIX
– Residen en el propio disco, para que sea autocontenido.
El servidor de archivos encuentra e interpreta estas estructuras
09/03/2011
21
41
Servicios de archivos Aplicadas a la visión lógica:
– Crear un archivo => int creat(const char*path int oflag) Vacio
Interpretación del nombre
Permisos
Devuelve un identificador del archivo (abierto)
– Abrir un archivo => int open(const char*path int oflag) Nombre
Permisos
Devuelve un identificador del archivo (abierto)
– Escribir y leer (de memoria a fichero) write(int file, void*b, size_t num) Utilizan el identificador en lugar del nombre
Utilizan el puntero (fscanf)
– Cerrar un archivo Elimina identificador y libera recursos
– Borrar un archivo int unlink(const char* path) Borra su nombre, marca libres los bloques de datos y la metainformacion.
Vida de un archivo Se crea un archivo
– Se abre: se genera un descriptor de archivo
Se escribe y lee (puede crecer)– Se cierra
Se borra
42
Esquema jerárquico de un directorio Directorio es un objeto que relaciona un nombre con un
archivo
Nombre->Archivo univoca– Archivo ->Nombre puede ser múltiple (link)
Visión lógica: jerarquía facilita esta unicidad– Caminos relativos y absolutos (., .. /)
Visión física: Archivo de nombres-identificadores
09/03/2011
22
43
Servicios de directorios
Crear un directorio– mkdir vs. int mkdir(const char*path, mode_t mode)
Borrar un directorio– rmdir vs. int rmdir(const char*path)
Abrir un directorio– DIR* opendir (const char* dirname);
Leer un directorio
Cambiar directorio– int chdir(const char* path)
Directorio actual– int getcwd(const char* current_dir,int tam)
Cerrar un directorio– int closedir(DIR* dirp)
44
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
09/03/2011
23
45
Seguridad y protección
Protección: controlar accesos a los recursos de usuario y sistema– Garantizar la identidad del usuario: autenticación
– Definir lo que puede hacer: privilegios.– Definir el acceso a archivos: permisos.
El servidor de protección debe:– Distinguir entre uso autorizado y no autorizado
– Especificar los controles de acceso a llevar a cabo
– Auditoria de acceso.
Seguridad: proteger al sistema de un uso indebido– Evitar amenazas al sistema (gusanos, virus, piratas)
– Evitar la intercepción de comunicaciones: (cifrado, canales seguros, etc)
46
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
09/03/2011
24
47
Activación 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 periféricos
– Reloj del computador
– Condiciones de excepción o error del hardware
Forma de solicitar los servicios:– Por llamada -> problema de seguridad
– Por interrupción o trap
Rutina de biblioteca– Instrucciones maquina que preparan la llamada al SO
48
Fases en la activación del SO
09/03/2011
25
49
Servicios del SO
Los servicios se programan mediante funciones de la interfaz en un lenguaje (C)
Interfaz => biblioteca de sistema que prepara la solicitud del servicio con un conjunto de instrucciones que terminan con una instrucción de trap
El trap, como toda interrupción es tratada por el SO
El SO realiza el servicio pedido y devuelve un valor
Ejemplo
50
Paso de llamadas al sistema
09/03/2011
26
51
Paso de parámetros a las llamadas
Tres métodos genéricos para pasar parámetros a las llamadas al sistema:– En registros– En una tabla de memoria, cuya dirección se pasa
al SO en un registro– Poner los parámetros en la pila del programa y
dejar que el SO los extraiga
Cada SO proporciona sus propias llamadas al sistema:– Estándar POSIX en UNIX y LINUX– Win32 en WindowsNT.
52
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
09/03/2011
27
53
Interfaz del programador
Recupera los servicios del sistema que los usuarios pueden utilizar desde sus programas.– Solo una parte del SO
Una de las partes mas importantes: la maquina extendida.– POSIX
– Win32
54
POSIX Interfaz de sistemas operativos portables de
IEEE basado en UNIX– Año 96. UNIX estandar industrial. Portabilidad
(fuentes) entre las distintas implementaciones de UNIX (Solaris, IRIX, Linux, etc) y distintas plataformas
– Familia de estándares (no implementación) en evolución. 1003.1 Servicios básicos del SO
1003.1a Extensiones a los servicios básicos
1003.1b Extensiones de tiempo real
1003.1c Extensiones de procesos ligeros
1003.2 Shell y utilidades
1003.2b Utilidades adicionales
ISO/IEC 9945
09/03/2011
28
55
Características POSIX
Nombres cortos y en minúsculas– fork
– read
– close
Algunos tipos de datos no se definen en el estándar, sino en la implementación <sys/types.h>
Funciones devuelven 0 en caso de éxito o -1 en caso de error, almacenando el error en la variable errno definida en <errno.h>
Los recursos gestionados por el sistema operativo se referencian mediante descriptores (enteros>=0)
56
Win32
Servicios ofrecidos por Windows 95/98, NT y 2000 por Microsoft (no es un estándar), totalmente distinto a POSIX– Los recursos se referencian con manejadores (No POO).
– Nombres largos y descriptivos GetFileAttributes
CreateNamedPipe
– Tipos de datos predefinidos BOOL (32 bits, valor logico)
DWORD (unsigned int de 32 bits)
TCHAR (tipo carácter de 2 bytes)
LPSTR (puntero a una cadena de caracteres)
– Los tipos predefinidos evitan usar el operador indirección (LPSTR=*TCHAR)
– Notación tipo húngara lpszFileName (puntero largo a cadena acabada en cero)
– Las funciones devuelven true o false
09/03/2011
29
57
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
58
Interfaz de usuario
Ejecutar un programa o borrar un archivo sin programar.– Además de servicios (programador) debe permitir dar
instrucciones (ej. Borrar archivo) de modo interactivo (texto “rm” o grafico)
Ha sufrido gran evolución, debido a la expansión de las computadoras en personal no informático– Interfaz alfanuméricaGrafica
– Evolución de la integración con el núcleo. Integrado No integrado
EL SISTEMA OPERATIVO SE CARACTERIZA POR LOS SERVICIOS QUE PROPORCIONA Y SU FUNCIONALIDAD, NO POR SU INTERFAZ (que puede ser diferente)
09/03/2011
30
59
Interfaz de usuario No hay acuerdo sobre que programas forman parte de la
interfaz del sistema (IE)
Funciones– Manipulación de archivos y directorios
– Ejecución de programas
– Herramientas de desarrollo de aplicaciones (ensamblador)
– Comunicación con otros sistemas (ftp y telnet, no IE)
– Información del estado (fecha, memoria disponible)
– Configuración de la propia interfaz y entorno (idioma, teclado)
– Intercambio de datos entre aplicaciones
– Control de acceso (contraseña)
– Sistema de ayuda interactivo
– Interfaz de administrador
Tipos:– Alfanuméricas (interpretes de comandos)
– Graficas
60
Interprete de mandatos
Programa cuya función es obtener los mandatos del usuario y ordenar su ejecución al sistema operativo
Hay dos tipos básicos:– Interpretes de mandatos internos
– Interpretes de mandatos externos
Casi todos los mandatos son sentencias de controlpara los gestores del SO descritos (procesos, E/S, ficheros, protección y comunicaciones)
Puede haber múltiples interpretes de mandatos sobre el mismo SO -> la visión del mismo SO cambia según el usado. Ejemplo: POSIX sobre Windows o Win32 sobre Linux
Espera un comando (con sus argumentos) definido por un retorno de carro, lo ejecuta y vuelve a mostrar el “prompt”
09/03/2011
31
61
Interprete mandatos internos
MS-DOS (command.com) algunos externos, DISKCOPY
62
Interprete mandatos externos
El anterior puede ser muy grande
Unix Shells, excepto algunos comandos como cambiar de directorio
09/03/2011
32
63
Shell script
Archivos de texto que contienen comandos ejecutables por el interprete de mandatos
– Secuencial
– No binario
– Admite IF, GOTO
– Debe tener permiso ejecución
chmod a+x MiScript
64
Interfaz grafica Graphical user interface, GUI
– Usuarios no especialistas
– Potencia del PC.– Xerox PARC (Alto), Apple, Unix X, por ultimo MS-DOS
(Windows)
Características– Ventanas, iconos y menús
– Internamente Gestor de ventanas
Administrador de programas (arrancar aplicaciones)
Gestor de archivos
Herramienta de configuración (de la interfaz)
Otros– Intercambio de datos entre aplicaciones (copiar y pegar)
– Ayuda interactiva
– API grafica
– Acceso a la interfaz alfanumérica
09/03/2011
33
65
Índice Introducción
– Definición
– Objetivos
– Niveles
– Componentes y estructura
Arranque del SO
Funciones– Gestión de procesos
– Gestión de memoria
– Comunicación y sincronización entre procesos
– Gestión E/S
– Gestión archivos y directorios
– Seguridad y protección
Activación del SO
Interfaz del SO– Programador
– Usuario
Historia de los SO
66
Historia de los SO
Prehistoria (años 40)– Primeras computadoras– No existían SO– El programa se codificaba a mano y se
introducía mediante tarjetas perforadas– Impresión en cinta– Trabajos en serie
Primera generacion (años 50)– Los trabajos siguen ejecutandose en serie.– Se procesan trabajos por lotes, con mecanismos
rapidos de cambio entre trabajos, y recuperacion en caso de que un trabajo acabe en error. JCL
– Rutinas E/S (manejadores de dispositivos)
09/03/2011
34
67
Historia SO
Segunda generación (años 60)– Aparece el concepto de multiprogramación
– Aparecen conceptos Multiprocesador
Independencia del dispositivo
Tiempo compartido (interactividad)
– Rodajas
Sistemas de tiempo real
– Sistemas CTSS MIT
MULTICS, MIT y laboratorios BELL, origen de UNIX
68
Historia SO
Tercera generación (años 70)– Sistemas de propósito general
Por lotes
Multiprogramación
Tiempo compartido
Modo multiprocesador
– Caracterizados Complejidad SO
Dificultad de aprendizaje
Recursos
– UNIX (v6) se reescribe en C
– BSD => sockets y memoria virtual
– Solaris, IRIX.
09/03/2011
35
69
Historia SO
Cuarta generacion (años 80->actual)
– SO para PC (MS-DOS, Windows y LINUX)
– Aparecen SO de tiempo real (QNX)
– Procesamiento distribuido
SO distribuidos (Mach, Amoeba)
Middleware (CORBA, DCOM)
– Interfaces de programacion (POSIX)