SISTEMA OPERATIVO

Spread the love




SISTEMA OPERATIVO

Qué es un Sistema Operativo

Es un conjunto de programas destinados a permitir la comunicación del usuario con un computador y gestionar sus recursos de manera eficiente. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos.

Historia de los Sistemas Operativos

Primera generación (1945-1955) – Bulbos y conexiones.

Segunda generación (1955-1965) – Transistores y sistemas de procesamientos por lotes.

Tercera generación (1965-1980) – Circuitos integrados y Multiprogramación

Cuarta generación (1980-1990) – Computadoras personales.

Funciones de un Sistema Operativo

  • Gestionar los recursos del equipo ejecutando servicios para los procesos (programas)
  • Brindar una interfaz al usuario, ejecutando instrucciones (comandos).

Elementos que administran SO

El CPU

Los dispositivos de E/S

La memoria.

Las colas de procesos.

Administración de recursos.

Componentes del Sistema Operativo

Gestión de procesos.

Gestión de memoria.

Gestión de archivos y directorios.

Gestión de la E/S (Entrada/Salida).

Seguridad y protección.

Comunicación y sincronización entre procesos.

Intérprete de órdenes

Estructura de un Sistema Operativo

Características de los Sistemas Operativos

Administración de tareas:




Mono-tarea: Si solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización o interrupción.

Multitarea: Si es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

Administración de usuarios:

Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.

Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos SO. utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.


Manejo de recursos:

Centralizado: Si permite utilizar los recursos de una sola computadora.

Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos…) de más de una computadora al mismo tiempo.

Número de procesos

Uniproceso

Multiproceso: simétrico y asimétrico

Tipos de Sistemas Operativos

Sistemas por lotes es el grupo de trabajo con necesidades similares y los cuales eran ejecutados en una computadora como un grupo.

Sistema de computadoras personal: son aquellos que se utilizan en los minicomputadores que son muchos más pequeños y económicos que los sistemas de microcomputador.

Sistemas paralelos: son sistemas que tienen más de un CPU en comunicación intima, los cuales comparten el bus del computador, el reloj y a veces la memoria y los dispositivos periféricos.

Sistema distribuido: es una colección de procesadores que no comparten memoria, dispositivos periféricos, ni el reloj.

Sistema de tiempo real suave: en este una tarea crítica tiene prioridad sobre las demás, reteniendo dicha prioridad basta que se complete.

Sistema de tiempo real: es aquel sistema donde para que las operaciones computacionales estén correctas no depende de la lógica e implementación de los programas computacionales sino del tiempo en que dicha operación entrego su resultado.

Sistema de tiempo compartido multitarea: es cuando la CPU ejecuta múltiples tareas o trabajos conmutando entre ellos, es decir, que puede realizar varias tareas a la vez.

Términos que debes tener en cuenta

Monitor residente

Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyéndolos de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente.

Procesamiento por lotes

Como solución para optimizar el tiempo de montaje surgió la idea de agrupar los trabajos en lotes, en una misma cinta o conjunto de tarjetas, de forma que se ejecutaran uno a continuación de otro sin perder apenas tiempo en la transición.

Almacenamiento temporal

Su objetivo era disminuir el tiempo de carga de los programas, simultaneando la carga del programa o la salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos técnicas, el buffering y el spooling.

Multiprogramación

En un sistema multiprogramado 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.

Tiempo compartido

En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece de falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con una terminal en línea, utilizando el modo de operación de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo ejecutándose el sistema operativo lo detiene para que se ejecute otra aplicación. Con esto se consigue repartir la CPU por igual entre los programas de los distintos usuarios, y los programas de los usuarios no se sienten demasiado ralentizados por el hecho de que los recursos sean compartidos y aparentemente se ejecutan de manera concurrente.

Tiempo real

Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones.

 

Multiprocesador

Permite trabajar con máquinas que poseen más de un microprocesador. En un multiprocesador los procesadores comparten memoria y reloj.

Sistemas operativos desarrollados

Además del Atlas Supervisor y el OS/360, utilizados en máquinas concretas, lo más destacable de la década es el nacimiento de Unix, que hoy en día es una de las plataformas más extendidas en el mundo de la informática.

Procesos

1-¿qué es proceso? Es un programa en ejecución.

2- ¿qué son procesos cooperantes y procesos independientes? Un proceso es cooperante cuando los procesos interactúan entre si y pertenecen a una misma aplicación. Los independientes no interactúan y no requieren información de otros.

3- ¿cuáles son los estados de un proceso?

  • Nuevo: cuan el proceso se está creando.
  • En ejecución: cuando están ejecutando instrucciones en el procesador en un momento dado.
  • En espera: cuando están esperando respuesta de algún otro proceso para poder continuar su ejecución.
  • Listo: son los que pueden pasar a estado de ejecución si el planificador los selecciona.

4-¿Qué es la planificación de procesos? Es el proceso mediante el cual el sistema operativo selecciona que proceso ejecutar.

Tipos de planificación:

  • Round robin: cada proceso tiene un quantum de tiempo asignado para ejecutarse y en el caso de que no pueda terminar la ejecución en ese quantum el proceso pasa a la cola de procesos para ser ejecutado por otro quantum.
  • Por prioridad: los procesos se ejecutan de acuerdo a su prioridad.
  • Por orden de llegada: el proceso primero en llegar es el primeo en salir.
  • Primero el trabajo más corto: el proceso de menor tiempo es el primero en ejecutarse y así sucesivamente.

5- comunicación entre procesos

La comunicación entre procesos, en inglés IPC (interprocess communication) es una función básica de los sistemas operativos. Los procesos pueden comunicarse entre sí a través de compartir espacios de memoria, ya sean variables compartidas o buffers, y/o a través de las herramientas provistas por las rutinas de IPC. Los tipos son: Directa, indirecta , simétrica, asimétrica.

Directa: las primitivas enviar y recibir explicitan el nombre del proceso con el que se comunican. Ej. Enviar (mensaje, a) envía un mensaje al proceso a

Indirecta: la comunicación indirecta se implementa mediante puertos. Para poder comunicarse los procesos deben compartir el puerto. Ej: enviar (mensaje, p) envía un mensaje al puerto p.

Simétrica: todos los procesos pueden enviar o recibir. También llamada bidireccional para el caso de dos procesos.

Asimétrica: un proceso puede enviar, los demás procesos solo reciben. También llamada unidireccional.

6-¿Qué son las hebras?




Las hebras (o threads) es una técnica de estructuración de procesos especial para mejorar el rendimiento de los sistemas operativos, reduciendo el recargo por conmutación de proceso. Una hebra es un proceso ligero con un estado reducido.

7-¿Qué es conmutación? Es el mecanismo mediante el cual el sistema almacena la información del proceso que se está ejecutando y recupera la información del proceso que ejecutará enseguida.

8-¿Qué es sección crítica? Es una sección de código en la que un proceso realiza algún trabajo con el estado compartido y no desea que otros procesos trabajen ahí también.

9- ¿Qué son las señales? Son el mecanismo de comunicación que se establece entre los procesos.

10-¿Qué sucede cuando un proceso recibe una señal? Cuando un proceso recibe una señal detiene su ejecución y divide a la rutina del tratamiento de la señal que esta en el mismo proceso y luego continúa su ejecución.

11-¿Qué es una variable cerradura? Son aquellas que cada proceso antes de entrar a la sección critica debe verificar su estado. Si el estado es 0 (cero) no hay ningún proceso en sección critica, si el estado es 1 (uno) significa que la sección critica está ocupada.

12- ¿Puede un proceso padre terminar su ejecución antes que sus hijos? No debe terminar antes que sus hijos, si esto sucede, entonces los procesos hijos quedan huérfanos (zombie).

13- ¿cómo pueden ser las direcciones de un proceso? Lógicas, reubicables o físicas.

14- ¿cuándo se producen las condiciones de competencia? Se dan cuando dos o más procesos intentan acceder a un mismo recurso.




15- ¿cómo pueden evitarse las condiciones de competencia? Pueden evitarse haciendo que cada proceso desactive todas sus interrupciones antes de entrar a su sección crítica y las active cuando salga de esta.