Mostrando entradas con la etiqueta Resumen. Mostrar todas las entradas
Mostrando entradas con la etiqueta Resumen. Mostrar todas las entradas

jueves, 18 de octubre de 2012

Resumen Tema 2 S.O

Pincharme para ir al resumen del tema 1!



2-Procesos

  • Conceptos básicos
  • Estados de un proceso
  • Operaciones sobre un proceso
  • Interrupciones
  • Núcleo del S.O
  • Los procesos en UNIX

Conceptos básicos


Proceso secuencial=> instancia de programa en ejecución, proviene de gestión de ejecución pseudoparalela en MULTICS, alternancia CPU entre diferentes tareas
En un procesador e instante dado solo un proceso puede estar ejecutándose(muchos listos y esperando)
Para ejecutar un programa el so debe de crearle un proceso.
-El procesador de un sistema con multiprogramacion ejecuta código de distintos procesos, dos procesos del mismo programa se consideran dos secuencias de ejecución separadas


Traza de un proceso=> listado de la secuencia de instrucciones que se ejecutan para el mismo

Sistema informatico=> conjunto de procesos(incl. SO) en ejecución no homogénea  cada uno con su propia cpu virtual que alternan uso de procesador(es) reales

Obligaciones del SO como gestor de procesos    creación y eliminación de procesos. Planificación de procesos, establecimiento de mecanismos para la sincronización y comunicación de procesos, manejo de bloqueos mutuos. Tiene 2 niveles, Inferior(planificador de procesos) superior (todos los demás procesos del sistema(user y kernel))

Principal función del planificador=> intercambiar procesos activos por otros preparados para ser ejecutados(minimizando tiempo requerido)
-Habrá tantos CPUs virtuales como procesos. En las CPUs reales irán todos los procesos y son los que mostrarán los resultados

Acciones para cambio de contexto=> 1-Almacenamiento del estado actual de proceso.
2-restauración del proceso a ejecutar(necesita conocer el estado de todos los procesos, almacenado en el PCB, bloque de control de procesos)
-Debe hacer un sistema eficiente. - Tiempo mínimo posible

Contenido estructura de datos PCB
Identificador unico del proceso(numérico). Estado actual del proceso. Contador de programa(direccion de la siguiente instrucción), registros de CPU, información de planificación de la CPU, información de gestión de memoria, información de contabilidad, información de estado de E/S


Estados de un proceso


Estado: situación del proceso en sistema.
Transición debido a acciones del proceso o eventos externos.
Esquema de los 3 estados:
Listo(esperando ejecución)=> En ejecución(proceso ejecutándose en CPU)=>A Listo o A BLOQUEADO(esperando una e/s, o acción propia del proceso). Cuando ocurre una E/S vuelve a listo.

Sistema de colas en el modelo de 3 estados=> se necesitan como mínimo 2 colas (listos y bloqueados). El sistema elige de cola de listos alguno para pasarlo a ejecución. Mas eficiente tener varias colas bloqueados(una asociada a cada suceso)

Suspensión de un proceso=>Iniciativa y reanudación externa al proceso(por el so). Sirve para optimizar rendimiento del sistema(libera todos o parte de los recursos del proceso) 
CAUSAS=> riesgo de fallo generalizado del sistema(todos), carga excesiva del sistema(baja prioridad) mal funcionamiento del proceso(hasta verificación)
El proceso volverá a ejecutarse si encuentra una solución, si no, se cierra automáticamente.

2 nuevos estados=> Listo suspendido cuando el proceso va a ejecutarse se suspende, pero si se recupera(sol problema) vuelve a listo 
Bloqueado suspendido el proceso bloqueado pasa a suspendido y se busca solución  si se encuentra pasa a bloqueado, y si ocurre e/s pasa a listo suspendido.



Operaciones sobre procesos


Creación(reserva estructuras y recursos y asigna prioridad)
despacho(se selecciona para ejecución  terminación(libera reservas). 
Suspensión, reanudación,  bloqueo(necesita evento)
despertado(se produce el evento esperado), comunicación, sincronización.


Interrupciones



Interrupciones es un evento producido por el Hardware del sistema que altera la secuencia en la cual el procesador ejecuta las instrucciones. 
Operaciones
1- control pasa a SO, 2-el So almacena el estado completo del proceso 3- se analiza la interrupción y se pasa el control a la rutina de servicio apropiada. Se restaura el proceso interrumpido. 6 se ejecuta el siguiente proceso del planificador.


Tipos básicos de interrupciones=> Sincronas/trap(generadas por el proceso, indican al SO que hay que realizar operaciones que necesitan privilegios que no tiene el usuario) 
ASÍNCRONAS Hardware ante un evento, puede no estar relacionado con el proceso) POLLING=> gestión de e/s mediante asíncronos.

Clases(IBM)=>Svc(llamada al supervisor, es síncrono) E/s(asíncrono) Externas, reinicio, verificación del programa, verificación de la maquina.

Implementacion=> gestión de interrupciones con vectores completos. Genera un código de interrupción único(indice en tabla de vectores de interrupción). De la tabla se obtiene la dirección de la rutina del servicio


El núcleo del Sistema Operativo



El núcleo del sistema operativo reside en memoria de forma continua. Realiza todas las acciones criticas del sistema (trap es la forma de acceso por proceso usuario). La ejecución del núcleo ha de ser rápida y optima (durante interrupción el núcleo inhabilita la recepción de nuevas interrupciones)



Los procesos en UNIX






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