Unidad I. Introduccion a los sistemas operativos PDF
Document Details
Instituto Tecnológico Superior de Xalapa
Ing. Francisco Castro Hurtado
Tags
Summary
This document is about the introduction to operating systems. It covers definitions, functions, and characteristics of operating systems within the context of computer science. It's geared toward an undergraduate-level computer science course.
Full Transcript
Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I 1. Introducción a los sistemas operativos. 1.1 Definición y concepto. Concepto: Un Sistema Operativo es un conjunto de programas que...
Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I 1. Introducción a los sistemas operativos. 1.1 Definición y concepto. Concepto: Un Sistema Operativo es un conjunto de programas que controlan los programas de los usuarios (cargándolos, ejecutándolos, etc.) y los dispositivos de entrada/salida (repartiéndolos entre varios usuarios), y que tiene por objeto facilitar el uso de la computadora y conseguir que ésta se utilice eficientemente. Dicho de otra forma, un sistema Operativo es un conjunto de programas que controlan permanentemente todos los recursos del sistema y que tienen por objeto minimizar el tiempo de respuesta de la computadora y maximizar su rendimiento. Así, el sistema operativo hace asignaciones en memoria, controla las operaciones de E/S, maneja errores, coordina la comunicación entre el usuario y el sistema, etc. 1.2 Funciones y características. Funciones: Control de recursos: Constituye la parte del sistema operativo dedicada a coordinar el funcionamiento de todos los recursos y elementos de la computadora. Interpretación de comandos: Es un programa informático que tiene la capacidad de traducir las órdenes que introducen los usuarios, mediante un conjunto de instrucciones facilitadas por el mismo directamente al núcleo y al conjunto de herramientas que forman el sistema operativo. Manejo de errores: Gestiona los errores de hardware y la pérdida de datos. Manejo de dispositivos E/S: Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos, entre otros. Secuencia de tareas: El sistema operativo debe administrar la manera en que se reparten los procesos. Definir el orden. Ing. Francisco Castro Hurtado Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I Protección: Evitar que las acciones de un usuario afecten el trabajo que está realizando otro usuario. Multiacceso: Un usuario se puede conectar a otra computadora sin tener que estar cerca de ella. 1.3 Evolución histórica. 1.4 Clasificación. Existen varias clasificaciones de los sistemas operativos, la más común es por los servicios que ofrecen al usuario final. Ing. Francisco Castro Hurtado Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I Sistemas operativos monousuarios Los sistemas operativos monousuarios son aquellos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. Sistemas operativos multiusuarios Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente. Sistemas operativos monotareas Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez. Sistemas operativos multitareas Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad. Ing. Francisco Castro Hurtado Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I Sistemas operativos uniproceso Un sistema operativo uniproceso es aquél capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS. Sistemas operativos multiproceso Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o partes de ellos son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema. 1.5 Estructura: niveles o estratos de diseño. 1.6 Núcleo. El Núcleo (o kernel) es una colección de módulos de software que se ejecutan en forma privilegiada, lo que significa que tienen acceso pleno a los recursos del sistema. El núcleo normalmente representa sólo una pequeña parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el código que más se utiliza. Por esta razón, el núcleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal sólo cuando se necesitan. El núcleo de un sistema operativo normalmente el código necesario para realizar las siguientes funciones: Ing. Francisco Castro Hurtado Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I Manejo de interrupciones. Creación y destrucción de procesos. Cambio de estado de los procesos. Despacho. Suspensión y reanudación de procesos. Sincronización de procesos. Comunicación entre procesos. Manipulación de los bloques de control de procesos. Apoyo para las actividades de entrada/salida. Apoyo para asignación y liberación de memoria. Apoyo para el sistema de archivos. Apoyo para el mecanismo de llamada y retorno de un procedimiento. Apoyo para ciertas funciones de contabilidad del sistema. El Kernel consiste en la parte principal del código del sistema operativo, el cual se encargan de controlar y administrar los servicios y peticiones de recursos y de hardware con respecto a uno o varios procesos, este se divide en 5 capas: Nivel 1. Procesador. (Núcleo) Se encarga de activar los cuantum de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas. Se introduce la noción de proceso como un programa en ejecución. Entre los requisitos fundamentales de un sistema operativo que ofrezca soporte para múltiples procesos se incluye la capacidad de suspender y reanudar los procesos. Esto exige salvaguardar los registros del hardware, de modo que la ejecución pueda cambiar de un proceso a otro. Además, si los procesos necesitan cooperar, hace falta algún método de sincronización. Una de las técnicas más simples, pero un concepto importante en el diseño de sistemas operativos, es el semáforo. Ing. Francisco Castro Hurtado Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I Objetos→ proceso y semáforo Operaciones típicas→ crear, destruir, suspender, reanudar, señalizar y esperar Nivel 2. Entrada/Salida. Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por procesos. Tiene que ver con los dispositivos de almacenamiento secundario. En este nivel se sitúan las funciones de ubicación de las cabezas de lectura y escritura, y se producen las transferencias reales de bloques. Este nivel se apoya en el nivel anterior para planificar las operaciones y notificar al proceso que hizo la solicitud que la operación ha culminado. Objetos→ bloques de datos Operaciones típicas→ leer, escribir, asignar y liberar Dispositivos de Entrada y Salida. El código destinado a manejar la entrada y salida de los diferentes periféricos en un sistema operativo es de una extensión considerable y sumamente complejo. Resuelve las necesidades de sincronizar, atrapar interrupciones y ofrecer llamadas al sistema para los programadores. Ing. Francisco Castro Hurtado Instituto Tecnológico Superior de la Montaña Ingeniería Informática Sistemas Operativos I Nivel 4. Sistema de Archivos. Proporciona la facilidad para el almacenamiento a largo plazo y manipulación de archivos con nombre, va asignando espacio y acceso de datos en memoria. Da soporte al almacenamiento a largo plazo de los archivos con nombre. En este nivel, los datos del almacenamiento secundario se contemplan en términos de entidades abstractas de longitud variable, en contraste con el enfoque orientado al hardware del nivel de E/S básicas, en términos de pistas, sectores y bloques de tamaño fijo. Objetos→ archivos dispositivos Operaciones típicas→ crear, destruir, abrir, cerrar, leer y escribir. Nivel 5. Información o Aplicación o Intérprete de Lenguajes. Facilita la comunicación con los lenguajes y el sistema operativo para aceptar las ordenes en cada una de las aplicaciones. Cuando se solicitan ejecutando un programa el software de este nivel crea el ambiente de trabajo e invoca a los procesos correspondientes. Ofrece al usuario una interfaz con el sistema operativo. Se denomina shell y separa al usuario de los detalles, le presenta el sistema operativo como un simple conjunto de servicios. El shell acepta las órdenes del usuario o las sentencias de control de trabajos, las interpreta, crea y controla los procesos según sea necesario. El intérprete de comandos representa la interfaz entre el usuario y el sistema operativo. Algunos sistemas operativos incluyen el intérprete en el kernel. Otros como el DOS o UNIX, poseen un programa especial para cumplir esta función que se ejecuta cuando se inicia el sistema. Objetos→ datos del entorno Operaciones típicas→ sentencias del lenguaje de ordenes Ing. Francisco Castro Hurtado