Resumen sistemas operativos PDF

Title Resumen sistemas operativos
Course Sistemas Operativos
Institution Universidad Nacional de Rosario
Pages 32
File Size 367.8 KB
File Type PDF
Total Downloads 97
Total Views 140

Summary

Resumen sistemas operativos...


Description

CAPITULO 1 INTRODUCCIÓN

Definición de un Sistema Operativo Un SO 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. ¿Qué hace un SO? Papel que juega el SO en un sistema informático: Sistema Informático -> Puede dividirse en 4 grandes componentes: el hardware, el SO, los programas de aplicación y los usuarios. El SO controla y coordina el uso del hardware entre los diversos programas de aplicación por parte de los distintos usuarios. También podemos ver a un Sistema Informático como Hardware, Software y Datos. El SO proporciona los medios para hacer uso adecuado de estos recursos durante el funcionamiento adecuado del sistema informático. Punto de Vista del Usuario La visión del usuario de la computadora varía de acuerdo con la interfaz que utilice. La mayoría de los usuarios se sientan frente a un PC y disponen de un monitor, un teclado, un ratón, y una unidad de sistema. Un sistema así se diseña para que un usuario monopolice sus recursos. El objetivo en maximizar el trabajo que el usuario realice. En este caso el SO se diseña para que sea principalmente de fácil uso. No se presta atención a la utilización de los recursos y sí al rendimiento. En otros casos, el usuario se sienta ante un terminal conectado a un Mainframe o una microcomputadora. Otros usuarios acceden simultáneamente a través de otros terminales. Se comparten recursos y pueden intercambiar información. En este caso el SO se diseña para maximizar la utilización de los recursos, asegurar que todo el tiempo de CPU, memoria y E/S disponibles se usen de forma eficiente. En otros casos, los usuarios usan estaciones de trabajo conectadas a redes de otras estaciones de trabajo y servidores. Estos usuarios tienen recursos dedicados a su disposición, pero también tienen recursos compartidos como la red y los servidores. Este sistema operativo está diseñado para llegar a un compromiso entre la usabilidad individual y la utilización de recursos.

Punto de Vista del Sistema Desde el punto de vista de la computadora, el SO es el programa más íntimamente relacionado con el hardware. Podemos ver al SO como un asignador de recursos. Un sistema informático tiene muchos recursos que pueden ser necesarios para solucionar un problema: tiempo de CPU, espacio de memoria, espacio de almacenamiento de archivos, dispositivos de E/S. El SO actúa como administrador de estos recursos. El SO es un programa de control y como programa de control, gestiona la ejecución de los programas de usuario para evitar errores y mejorar el uso de la computadora. Tiene que ver especialmente con el funcionamiento y control de los dispositivos de E/S. Conclusión No disponemos de ninguna definición de SO que sea completamente adecuada. Los SO existen porque ofrecen una forma razonable de resolver el problema de crear un sistema informático utilizable. El objetivo fundamental de las computadoras es ejecutar programas de usuario y resolver los problemas del mismo fácilmente. Debido a que el hardware por sí solo no es fácil de utilizar, se desarrollaron programas de aplicación. Estos programas de aplicación requieren ciertas operaciones comunes, tales como las que controlas los dispositivos de E/S. Las operaciones de control y asignación de recursos se incorporan en una misma pieza de software que es el SO.

Organización de una Computadora Funcionamiento de una Computadora Para que una computadora comience a funcionar, cuando se enciende o reinicia, es necesario que tenga un programa de inicio que ejecutar. Este programa de arranque se almacena en la memoria ROM o una memoria EEPROM y se conoce con el nombre de firmware, dentro del Hardware de la computadora. Se inicializan todos los aspectos del sistema, desde los registros del CPU hasta las controladoras de dispositivos y el contenido de la memoria. El programa de arranque debe saber cómo cargar el SO e iniciar su ejecución. Para esto, el programa de arranque, debe localizar y cargar en memoria el KERNEL (núcleo de SO). Después el SO comienza a ejecutar el primer proceso como “init” y espera a que se produzca algún suceso. La ocurrencia de un suceso generalmente se indica con una interrupción, ya sea hardware o software. La interrupción debe transferir el control a la rutina de servicio apropiada a la interrupción. Como las interrupciones deben tratarse rápidamente, se dispone de una tabla de punteros a las rutinas de las interrupciones, con el fin de proporcionar la velocidad necesaria. Generalmente, la tabla de punteros se almacena en la zona inferior de la memoria, las primeras 100 posiciones. Estas posiciones almacenan las direcciones de las rutinas de servicio a la interrupción para los distintos dispositivos.

La arquitectura de servicio también debe almacenar la dirección de la instrucción interrumpida. Después de atender a la interrupción, la dirección de retorno guardada se carga en el contador del programa y el cálculo interrumpido se reanuda como si la interrupción no se hubiera producido.

Estructura de Almacenamiento Para que los programas puedan ser ejecutados, deben hallarse en la memoria principal (RAM). La memoria principal es la única área de almacenamiento de gran tamaño en donde el procesador puede acceder directamente. Un ciclo típico de instrucción-ejecución, primero se extrae una instrucción de memoria y almacena dicha instrucción en el registro de instrucciones. A continuación, la instrucción se decodifica y puede dar lugar a que se extraigan operandos de la memoria y se almacenen en un registro interno. Después de la ejecución de la instrucción, el resultado se almacena de nuevo en memoria. La memoria es demasiado pequeña como para almacenar todos los datos y programas de forma permanente. La memoria es un dispositivo de almacenamiento volátil. El dispositivo de almacenamiento secundario más común es el disco magnético, que proporciona almacenamiento tanto para programas como para datos. La mayoría de los programas se almacenan en un disco hasta que son cargados en memoria. Estructura de E/S Una computadora de propósito general consta de una o más CPU y de múltiples controladoras de dispositivo que se conectan a través de un bus común. Cada controladora de dispositivo se encarga de un tipo específico de dispositivo. Dependiendo de la controladora, puede haber más de un dispositivo conectado. La controladora de dispositivo es responsable de transferir los datos entre los dispositivos periféricos que controla y su búfer local. Normalmente, los SO tienen un controlador de dispositivo (driver) para cada controladora. Este Software controlador, es capaz de entenderse con la controladora hardware. Al iniciar una operación de E/S, el controlador del dispositivo carga los registros apropiados de la controladora Hardware. Ésta, a su vez, examina el contenido de estos registros para determinar qué acción realizar.

Los primeros sistemas Sistemas por lotes (batch) simples y bajo multiprogramación Se conoce como sistema por lotes (en inglés batch processing), o modo batch, a la ejecución de un programa sin el control o supervisión directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan porque su ejecución no precisa ningún tipo de interacción con el usuario. Generalmente, este tipo de ejecución se utiliza en tareas repetitivas sobre grandes conjuntos de información, ya que sería tedioso y propenso a errores realizarlo manualmente. Un ejemplo sería el renderizado de los fotogramas de una película. Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qué se quiere ejecutar y, posiblemente, qué tipo de recursos necesita reservar. En un sistema por lotes existe un gestor de trabajos, encargado de reservar y asignar los recursos de las máquinas a las tareas que hay que ejecutar. De esta forma, mientras existan trabajos pendientes de procesamiento, los recursos disponibles estarán siempre ocupados ejecutando tareas. Si el sistema está bien planificado, se alcanzan tiempos de ejecución muy cortos, ya que los recursos disponibles están siendo utilizados casi continuamente. Además, el Sistema Operativo puede ser muy simple ya que las tareas son completamente secuenciales por lo que se reduce la necesidad de utilizar esquemas Round Robin o similares. Ventajas: •

Permite compartir mejor los recursos de un ordenador entre muchos usuarios, al no competir por éstos de forma inmediata.



Realiza el trabajo en el momento en el que los recursos del ordenador están menos ocupados, dando prioridad a tareas interactivas. Evita desaprovechar los recursos del ordenador sin necesidad de interacción y supervisión humanas continuas. En ordenadores caros o supercomputadores, ayuda a amortizar el coste manteniendo altos índices de utilización.

• •

Inconvenientes: •

El principal inconveniente de la ejecución por lotes frente a la ejecución interactiva es que hay que conocer y planificar cuidadosamente la tarea a realizar. Al carecer de supervisión por parte del usuario, cualquier tipo de error puede producir resultados inútiles o, simplemente, inexistentes...

Sistemas por Lotes con Multiprogramación Aún con el secuenciamiento automático de los trabajos ofrecido por un S.O. por lotes, el procesador está desocupado a menudo. El problema es que los dispositivos de E/S son lentos comparados con el procesador. Esta ineficiencia no es necesaria. Se sabe que hay memoria suficiente para almacenar el S.O. (el monitor residente) y un programa de usuario. Supóngase que hay espacio suficiente para el sistema operativo y dos programas usuarios. Ahora, cuando un trabajo necesite esperar una E/S, el procesador puede cambiar al otro trabajo que probablemente no estará esperando a la E/S. Además se podría ampliar la memoria para almacenar tres, cuatro o más programas y conmutar entre todos ellos. Este proceso es conocido como multiprogramación o multitarea. Éste es el punto central de los sistemas operativos modernos. En un sistema multi-programado la memoria principal alberga a más de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles

Sistemas interactivos Un sistema interactivo es un sistema informático que se interrelaciona y depende de las acciones de un usuario para realizar una tarea, es decir, todo sistema en el que interactúan persona y máquina. Podríamos considerar interactivo desde un reproductor de DVD hasta un videojuego en el que nuestras acciones determinan el trascurso de la acción. Surgen sobre el año 1962, como una mejora de los sistemas de tratamientos por lotes. Estos sistemas, llamados también conversacionales, se desarrollaron principalmente para que cada usuario operara con un terminal, para que una misma máquina, con la misma potencia que en sistemas no interactivos, pudiese atender a más de un usuario, debido a que no todos a la vez ocuparían mucho tiempo el procesador, con lo que, el procesador se mantendría menos tiempo ociosa, y su utilización sería más eficiente.

Arquitectura de un Sistema Informático Sistemas de un solo procesador En un sistema de un solo procesador, hay una CPU principal capaz de ejecutar un conjunto de instrucciones de propósito general, incluyendo instrucciones de los procesos de usuario. También disponen de otros procesadores de propósito especial. Pueden venir en forma de procesadores específicos de un dispositivo, como por ejemplo, un disco, un teclado o una controladora gráfica.

Los procesadores de propósito especial ejecutan un conjunto limitado de instrucciones y no ejecutan procesos de usuario. Si solo hay una CPU de propósito general, entonces el sistema es de un solo procesador. Sistemas Multiprocesador Estos sistemas disponen de dos o más procesadores que se comunican entre sí, compartiendo el bus de la computadora y en ocasiones, el reloj, la memoria y los dispositivos periféricos. Ventajas: •

Mayor Rendimiento: Al aumentar el número de procesadores es de esperar que se realice más trabajo en menos tiempo. La mejora en velocidad con N procesadores no es N, sino que es menor.



Economía de Escala: Son más baratos que su equivalente con múltiples sistemas de un sólo procesador, ya que pueden compartir periféricos, almacenamiento masivo y fuentes de alimentación. Mayor Fiabilidad: Si las funciones se pueden distribuir de forma apropiada entre varios procesadores, entonces el fallo de un procesador no hará que el sistema deje de funcionar, sino que solo se ralentizará.



Sistemas en Cluster Es un sistema con múltiples CPU, como los sistemas multiprocesador. Se diferencian de los sistemas multiprocesador en que están formados por dos o más sistemas individuales acoplados. Las computadoras en cluster comparten almacenamiento y se conectan entre sí a través de una red de área local (LAN). Da un servicio de alta disponibilidad; es decir que funcionará incluso si uno o más sistemas del cluster fallan. La alta disponibilidad se obtiene generalmente añadiendo un nivel de redundancia al sistema. Hay clusters Simétricos, Asimétricos, en Paralelo y conectados a una red WAN.

Estructura de un Sistema Operativo Uno de los aspectos más importante de los SO es la capacidad de multi-programar. La multiprogramación incrementa el uso de la CPU organizando los trabajos de modo que la CPU siempre tenga uno que ejecutar Los sistemas multi-programados proporcionan un entorno en el que se usan de forma eficaz los diversos recursos del sistema, como por ejemplo la CPU, la memoria y lo periféricos, aunque no proporcionan la interacción del usuario con el sistema. El tiempo compartido (o multi-tarea) es una extensión lógica de la multiprogramación. En estos sistemas la CPU ejecuta múltiples trabajos conmutando entre ellos, pero las conmutaciones se producen tan frecuentemente que los usuarios pueden interactuar con cada programa mientras éste está en ejecución. Requiere de un

sistema informático interactivo, que proporcione comunicación directa entre el usuario y el sistema. Un sistema de tiempo compartido emplea mecanismos de multi-programación y de planificación de la CPU para proporcionar a cada usuario una pequeña parte de una computadora de tiempo compartido. El tiempo compartido y la multi-programación requieren mantener simultáneamente en memoria varios trabajos. Dado que la memoria principal es demasiado pequeña como para acomodar todos los trabajos, estos se mantienen inicialmente en disco, en la cola de trabajos. Esta cola contiene todos los procesos en disco esperando la asignación de la memoria principal. Si hay varios trabajos preparados para pasar a memoria y no hay espacio suficiente para todos ellos, entonces el sistema debe hacer una selección de los mismos. La toma de esta decisión es lo que se denomina planificación de trabajos.

Operaciones del Sistema Operativo Operación en Modo Dual Hay que distinguir entre la ejecución del código del SO y el código definido por el usuario. 2 modos distintos de operación: modo usuario y modo kernel. El bit de modo indica el modo actual: kernel (0) o usuario (1). Cuando una aplicación de usuario solicita un servicio del SO (a través de una llamada al sistema), debe pasar del modo usuario al modo kernel. En consecuencia, cuando el SO obtiene el control de la computadora, es porque se encuentra en modo kernel. El modo dual protege al SO de los usuarios que puedan causar errores, y también para proteger a los usuarios de los errores de otros usuarios. Esta protección se consigue designando algunas de las instrucciones de máquina que pueden causar daño como instrucciones privilegiadas. Las instrucciones privilegiadas solo se ejecutan en modo kernel. Si se trata de ejecutar una instrucción privilegiada en modo usuario, el hardware no ejecuta la instrucción sino que la trata como ilegal y envía una excepción al SO. La instrucción para cambiar al modo usuario es un ejemplo de instrucción privilegiada. Las llamada al sistema proporcionan los medios para que un programa de usuario pida al SO que realice tareas reservadas del SO en su nombre. Cuando se ejecuta una llamada al sistema, el hardware la trata como una interrupción de software. Temporizador Para asegurar que el SO mantenga el control de la CPU, se puede usar un temporizador. Puede configurarse para interrumpir a la CPU después de un período especificado (puede ser fijo). Cuando el temporizador interrumpe, el control se transfiere automáticamente al SO, que puede

tratar la interrupción como un error fatal o conceder más tiempo al programa. Por lo tanto, se puede utilizar el temporizador para impedir que un programa de usuario se esté ejecutando durante un tiempo excesivo.

Gestión de Procesos El SO 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 de procesos Proporcionar mecanismos para el tratamiento de interbloqueos

Gestión de la Memoria El SO 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 añadir y/o extraer de la memoria Asignar y liberar la asignación de espacio a memoria según sea necesario

Gestión de Almacenamiento El SO abstrae las propiedades físicas de los dispositivos de almacenamiento y define una unidad de almacenamiento lógica, el archivo. El SO asigna los archivos a los soportes físicos y accede a dichos archivos a través de los dispositivos de almacenamiento. El SO 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 poder organizar los archivos Soporte de primitivas para poder 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.

Protección y Seguridad Si un sistema informático tiene múltiples usuarios y permite la ejecución de múltiples procesos, entonces el acceso a los datos debe regularse. Se usan mecanismos que aseguren que solo puedan utilizar los recursos aquellos procesos que hayan obtenido la apropiada autorización del SO.

Por lo tanto, protección es cualquier mecanismo que controle el acceso de procesos y usuarios a los recursos definidos por un sistema informático. Mejoran la fiabilidad, permitiendo detectar errores. Un sistema puede tener la protección adecuada pero estar expuesto a fallos y permitir accesos inapropiados. Es responsabilidad de los mecanismos de seguridad defender al sistema frente a ataques internos y externos. Por ejemplo: virus y gusanos, los ataques de denegación de servicios, el robo de identidad y el robo de servicio. La protección y la seguridad requieren que el sistema pueda distinguir a todos sus usuarios. La mayoría de los SO tienen una lista con los nombres de usuarios y sus ID asociados. Cuando un usuario inicia sesión en el sistema, la fase de autenticación determina el ID correspondiente a dicho usuario. Este ID de usuario está asociado con todos los procesos y hebras de cada usuario.

Sistemas Distribuidos Un sistema distribuido es una colección de computadoras separadas físicamente y posiblemente heterogéneas que están conectadas en red para proporcionar a lo...


Similar Free PDFs