domingo, 18 de octubre de 2015

1 unidad Evolución Histórica




                                     
                                        1.3 clasificación 
      Clasificación de los sistemas operativos

Con el paso de los tiempos los sistemas operativos fueron cambiando de muchas maneras, por ejemplo:



·         Sistemas Operativos de multitarea: con este sistema operativo es que la computadora procesa diferentes tareas al mismo tiempo. Existen varios tipos de multitareas. Estos sistemas Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos (que se están ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al máximo su utilización.
Los sistemas operativos que soportan estas multitareas son: UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2.


·         Sistema Operativo Monotareas: los sistemas operativos monotareas son más primitivos y es todo lo contrario a los de multitareas es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora está imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión. El sistema operativo que soporta el monotareas  es DOS.



·         Sistema Operativo Monousuario: Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se está utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuarios. Los sistemas operativos que soportan el monousuario son DOS e incluso  en  el actual Windows XP y sus predecesores.  


·         Sistema Operativo Multiusuario: Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes.                                                                                     Los sistemas operativos que soportan el multiusuario son con el Linux, Windows 2003 y sus predecesores.



·         Sistemas Operativos por lotes: Con este sistema operativo procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie. Estos sistemas, pueden tener un tiempo de ejecución muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidad de la ejecución de los trabajos. Los sistemas operativos que soportan por lotes son el SCOPE, del DC6600, y el EXEC II para el UNIVAC 1107.



·         Sistemas Operativos de tiempo real: este sistema operativo de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un gran número de sucesos o eventos.Los sistemas operativos que soportan el tiempo real son  VxWorks, Solaris, Lyns OS y Spectra.




·         Sistemas Operativos de tiempo compartido: estos sistemas Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario. Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Los sistemas operativos que soportan el tiempo compartido son  Multics, OS/360 y DEC-10.


·      Sistemas Operativos distribuidos: Este sistema operativo permite distribuir trabajos, tareas o procesos entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.  


·         Sistemas Operativos de red: Los sistemas operativos de red son aquellos que mantienen a dos o más computadoras unidas a través de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema. El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.  Los sistemas operativos  más utilizados que soportan la red son Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.


·         Sistemas Operativos paralelos: En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo. En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo. Así, en lugar de esperar a que el proceso termine de ejecutarse, regresa a atender al usuario inmediatamente.Los sistemas operativos que soportan a los paralelos sonAlpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.



               1.5 Estructuras niveles o estratos de diseño 

El núcleo o kernel se divide en 5 capas o niveles:
El núcleo o kernel se divide en 5 capas o niveles:
    Nivel 1. Gestión de Memoria:Proporciona las facilidades de bajo nivel para la gestión de memoria secundaria necesaria para la ejecución de procesos.
    Nivel 2. Procesador:  Se encarga de activar los cuantums de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas.
    Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por los procesos.
    Nivel 4. Información o Aplicación o Interprete  de Lenguajes: Facilita la comunicación con los lenguajes y el sistema operativo para aceptar las ordenes en cada una de las aplicaciones. Ejecutando un programa el software de este nivel crea el ambiente de trabajo e invoca a los procesos correspondientes.
    Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulacion de archivos con nombre, va asignando espacio y acceso de datos en memoria.




El nucleo o kernel realiza diferentes funciones tales como:
Manejo de interrupciones.
Creación y destrucción de procesos.
Cambio de estado de los procesos.
Despacho
Suspensión y reanudación de procesos.
Sincronizacion de procesos.
Comunicación entre procesos.
Manipulación de los bloques de control de procesos.
Apoyo para las actividades de entrada/salida.
Apoyo para asignacion y liberacion de memoria.
Apoyo para el sistema de archivos.
Apoyo para el mecanismo de llamada y retorno de un procedimiento.
Apoyo para ciertas funciones de contabilidad del sistema.
    El núcleo y los procesos    Una definición más especifica de lo que es el núcleo ( Kernel ) de un sistema operativo es: un conjunto de rutinas cuya misión es la de gestionar el procesador, la memoria, la entrada/salida y el resto de procesos disponibles en la instalación. Toda esta gestión la realiza para atender al funcionamiento y peticiones de los trabajos que se ejecutan en el sistema.
    El esquema general de la gestion del procesador, es el siguiente:
Definición y concepto de proceso.
El Bloque de Control de Proceso (PCB) como imagen donde el sistema operativo ve el estado del proceso.
Estados por los que pasa un proceso a lo largo de su existencia en la computadora.
Operaciones que se pueden realizar sobre un proceso.
Clasificación de los procesos según su forma de ejecución, de carga, etc. 
    Por proceso debe entenderse: un programa en ejecución junto con el entorno asociado (registros, variables ,etc). 

1.6 Núcleo 



 El Kernel consiste en la parte principal del codigo del sistema operativo, el cual se encargan de controlar y administrar los servicios y peticiones de recursos y de hardware con respecto a uno o varios procesos, en otras palabras, el kernel es el corazon del sistema operativo.






HGH
Cada sistema operativo tiene un tipo distinto de kernel: asi los Unix mas tradicionales como FreeBSD usan un kernel " monolitico" en el que esta todo compilado dentro, otros usan los llamados "microkernels" como el Darwin, Hurd e incluso Windows (krnl32.dll). GNU/Linux usa un kernel "modular" (vmlinuz); un nucleo bastante grande comparado con un microkernel, pero que es capaz de delegar funciones en los llamados " modulos" , partes independientes del nucleo que pueden ser incorporadas dinamicamente si hacen falta y luego descargadas si molestan. Asi se pueden cargar "drivers" para hardware, firewall o funciones especiales de red (ppp, rdsi, etc) cuando se necesiten y cuando por ejemplo, se cierre la conexion a internet, liberar la memoria que usaba ese modulo.

No hay comentarios:

Publicar un comentario