UNIVERSIDADE DE VIGO ESCOLA TÉCNICA SUPERIOR DE ENXEÑEIROS INDUSTRIÁIS FUNDAMENTOS DE INFORMÁTICA Principios Básicos de Sistemas Operativos Fundamentos de informática – Sistemas Operativos 1 Definición de Sistema Operativo Un sistema operativo es parte del software de un ordenador y desempeña las siguientes funciones básicas: 1. Gestión de los recursos hardware del ordenador. 2. Gestión de las aplicaciones que se ejecutan en el ordenador (procesos). 3. Interfaz entre el usuario y el ordenador (IHM). Fundamentos de informática – Sistemas Operativos 2 1 Definición de Sistema Operativo De manera esquemática, un sistema operativo se compone de: 1. Núcleo (Kernel): responsable de la gestión de memoria, de disco y de procesos. 2. Servicios (API: Aplication Program Interface): mediante estos servicios las aplicaciones pueden realizar peticiones al sistema operativo para acceder a los recursos hardware del sistema. 3. Shell (Intérprete de comandos): es el proceso encargado de traducir los comandos que los usuarios introducen, a instrucciones que el sistema operativo entiende. Fundamentos de informática – Sistemas Operativos 3 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 Fundamentos de informática – Sistemas Operativos 4 2 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: • JCL en sistemas por lotes • COMMAND.COM en MS-DOS • Shell en UNIX Interprete de comandos del S.O. Windows Fundamentos de informática – Sistemas Operativos 5 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 Fundamentos de informática – Sistemas Operativos 6 3 Funciones del S.O.: 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 7 Fundamentos de informática – Sistemas Operativos Funciones del S.O.: gestión de procesos 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 Fin operación o ocurre evento Nuevo Admitido Bloqueado Operación E/S o espera evento Terminado Interrupción Preparado Ejecución Llamada sistema o excepción Planificador Fundamentos de informática – Sistemas Operativos 8 4 Funciones del S.O.: 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. Fundamentos de informática – Sistemas Operativos 9 Funciones del S.O.: gestión de entrada/salida Hay una gran variedad de dispositivos de entrada/salida que tienen que ser 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. Fundamentos de informática – Sistemas Operativos 10 5 Funciones del S.O.: 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. Fundamentos de informática – Sistemas Operativos 11 Funciones del S.O.: 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. Fundamentos de informática – Sistemas Operativos 12 6 Funciones del S.O.: gestión de archivos Bits S.O Fundamentos de informática – Sistemas Operativos 13 Funciones del S.O.: 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. Fundamentos de informática – Sistemas Operativos 14 7 Tipos de Sistemas Operativos • 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. Fundamentos de informática – Sistemas Operativos 15 Algunos Sistemas Operativos comerciales • Windows. Distintos tipos: 9 Para servidores: NT Server, 2000 Server, Server 2003, XP profesional. 9 Para clientes o domésticos: 2000, XP Home, Vista Home. 9 Para equipos especiales (PDA’s, móviles, etc): CE, Mobile • UNIX. Distintas versiones y distibuciones: 9 Unix (SUN) 9 Linux (Gratis) 9 Aix (IBM) Fundamentos de informática – Sistemas Operativos 16 8