jueves, 4 de octubre de 2012

Resumen Tema 1. S.O.

Puesto que ya hemos acabado el temario del tema 1 , voy a hacer un resumen disponible para todos.

Introducción a los Sistemas Operativos

  • Introducción + Visiones del S.O
  • Estructura en capas
  • Evolución de los S.O. (generaciones)
  • Conceptos básicos de los S.O
  • Estructuras de los S.O.
  • Componentes del Sistema

Introducción + visiones del SO:


Hardware maquina capaz de llevar a cabo multitud de tareas utiles.
Software: Lo convierte en algo util, el mas importante es el S.O, que controla todo el ordenador.

La 1ª función del SO es crear una Maquina virtual o maquina extendida, para que el programador tenga una visión simplificada del computador y se abstraiga de las particularidades del hardware. Evita diseño de programas distintos para cada maquina (distinto hardware) y daños por error de programadores al acceder a dispositivos físicos. Permite centrarnos en la parte software.
La otra visión del SO es controlador de recursos=> controla los muchos recursos requeridos por diferentes usuarios con distintas necesidades(discos,memoria,procesador.) con el objetivo de un optimo control de recursos para operación optima del sistema mediante reparto de recursos y protección de recursos asignados a cada usuario. Evita la concurrencia e inanición de procesos y nos proporciona un S.O eficiente.

Estructura en capas de un S.O.:

Hardware(más bajo nivel, transparente al usuario):dispositivos fisicos, microprograma(interpretar lenguaje  máquina), lenguaje máquina)
S.O (modo kernel)
Programas del sistema (protegidos,compiladores, modo kernel)
Aplicaciones de usuario (música, editores de texto, juegos....)

Evolución de los S.O. (Generaciones)


Primera generación del hardware 1945 a 55. a finales de la 2ª guerra mundial aparecen los primeros equipos(enormes maquinas de tubos de vacío), y el mismo equipo diseñaba, construía,programaba y mantenía el PC. No se puede hablar de SO(programación física mediante cables y tarjetas perforadas)

2ª gen (55-65) aparece el transistor y el lenguaje Fortran. Ordenadores fiables y algo menos costosos
Procesamiento por lotes.   Equipo de coste elevado, aunque maximiza su productividad y tiene una idea básica de S.O (controla el inicio/fin de los trabajos, la lectura de datos, escritura de resultados etc)

3ª generacion(65-80) aparecen los circuitos integrados. IBM crea la familia sistema/360 de amplia funcionalidad (computación científica a gran escala, computación comercial), pero con el problema de que la complejidad del S.O por la compatibilidad en distintas maquinas y la competencia.
Multiprogramación: evitar el desaprovechamiento del CPU(se detenía en espera de una E/S) Se divide la memoria en varias partes(se asigna cada una de ellas a un proceso). Cuando un proceso en ejecución se detiene, la CPU ejecuta otro de los procesos en memoria. Necesidad de hardware especial para proteger cada trabajo del resto. Proporciona máxima eficiencia de la CPU.
Spooling : capacidad de hacer trabajos y almacenarlos en el disco. Cuando concluye el trabajo, se carga uno nuevo en la partición vacía. Igual método para las salidas. (sustituye a cintas magnéticas)
Tiempo compartido: cada user tiene una terminal en linea(apariencia de sistema interactivo). El sistema reparte el servicio entre todos los usuarios. Cada usuario cree tener el sistema para el solo
Sistema multics=> proyecto de gran ordenador que diera servicio a cualquier user dentro de una ciudad, gran influencia SO pero fracasa. Uno de sus científicos desarrolla juego de naves que necesitaba un nuevo so (UNICS). (emular red eléctrica).

4ª generacion Aparece la tecnología LSI (Large Scale Integration) y VLSY
Parecia arquitectura pero disminución brutal del precio, SO orientados a no expertos.
SO en red. // Sistema operativo distribuido

Conceptos Básicos del S.O:


Procesos(programa en ejecución) código ejecutable,datos,contadores, registros.. Entrada en tabla de procesos( PID de 16 o 32 bits, archivos abiertos, memoria asignada, registros estado).
Archivos: unidad lógica mínima de información(serie consecutiva de bytes con información relacionada, para el usuario) La gestión del almacenamiento físico se deja al SO(facilita gestión disp físicos, máquina virtual) . Todos los archivos comparten mismo espacio físico (necesarios mecanismos de protección acceso y destrucción)
Llamadas al sistema para comunicar procesos con SO y para acceder desde usuario al kernel.
1- Comunicación con hardware, 2- administración de los recursos. Crea maquina extendida.



Estructuras de los S.O:


Sistemas monolíticos: la peor y mas extendida(sin estructura  definida), Código espagueti (procedimientos que resuelven tareas especificas y se llaman unos a otros) no hay ocultación de info, necesidad de depuración, mantenimiento, actualización.
3 niveles=> Programa principal(llamadas de prog de usuario, invoca el servicio del procedimiento adecuado), procedimientos de servicio(hacen las llamadas al sistema, hay un proceso de servicio por cada llamada al sistema), procedimientos de mÁs bajo nivel(son invocados por las rutinas de servicio, ayudan a la ejecución de los procedimientos de servicio)

Sistemas en capas (THE, por Dijkstra)
Capa 0(kernel)> asignación e intercambio de procesos[multiprogramación].
Capa 1(asignación de memoria a cada proceso e intercambios con la secundaria)
Capa 2(comunica cada proceso con la consola del operador)
Capa 3(controla dispositivos E/S)
Capa 4 (programas de usuario)
Capa 5(proceso operador del sistema) 
Multics se estructura  en capas concéntricas (inferiores dedicadas a los procesos privilegiados, las exterores los de usuario) las llamadas de tipo trap comunican con procedimientos internos.

Maquinas virtuales=> permite multiprogramación pero sin máquina extendida. Crea un monitor de maquina virtual que ejecuta sobre HW. Crea maquinas virtuales(reproducen el Hw y cada user ejecuta su propio SO). Las llamadas al sistema se capturan por el SO y se mandan al monitor que la lleva a cabo.

Modelo cliente-servidor=> núcleo mínimo(se traslada código del SO al user). Proceso cliente solicita servicio, el proceso servidor presta el servicio y devuelve el resultado. El SO solo se encarga de la comunicación cliente-servidor. Las tareas criticas que no se pueden prestar en modo user(trasladar servidores críticos al núcleo o crear mecanismos dentro del núcleo para ejecutarlas, lo decide el servidor). Adaptación sencilla a sistemas distribuidos (Mach, Chorus)

Componentes del sistema:


Administrador de procesos: controla la ejecución concurrente de procesos(user y sistema) y determina el rendimiento del sistema. (controla todo sobre los procesos, sincronización, evitar interbloqueos..)
Administrador de la memoria principal: (reparto de espacio de memoria entre procesos, crea un espacio de direcciones virtuales). Planifica los procesos que serán cargados de memoria, protege las zonas de memoria ocupadas, asigna y recupera espacio.
Administrador de almacenamiento secundario(administración física de almacenamiento) La mayoría de los datos se encuentran aquí hasta que son requeridos en el principal. Administra el espacio libre y optimiza las operaciones sobre disco
Administrador del sistema de E/S(maquina extendida), Controladores.
Administrado de archivos(almacenamiento secundario a nivel lógico) Equilibro entre rapidez y aprovechamiento. Manipular archivos y directorios. Protección del sistema de aarchivos frente a otros users y fallos del sistema.
Sistema de protección: Protege los recursos asignados, evita propagar fallos.
Administración de redes(mecanismos de comunicación entre procesos). Controla el flujo de información de la red en lo que afecta al propio sistema

No hay comentarios:

Publicar un comentario