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.
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)
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