Download b. sistemas operativos i. conceptos y estructuras básicas 1. historia y

Document related concepts

Multiusuario wikipedia , lookup

Núcleo (informática) wikipedia , lookup

Historia de los sistemas operativos wikipedia , lookup

Sistema operativo wikipedia , lookup

MINIX wikipedia , lookup

Transcript
B. SISTEMAS OPERATIVOS
I. CONCEPTOS Y ESTRUCTURAS BÁSICAS
1. HISTORIA Y EVOLUCIÓN
NECESIDAD DEL SISTEMA OPERATIVO, ADMINISTRACIÓN DE RECURSOS
Y DESEMPEÑO DEL SISTEMA
Necesidad del sistema operativo : Tiene 16 comandos, cada uno de los cuales queda
determinado durante la acción de carga entre 1 y 9 bytes en un registro de dispositivos,
estos comandos se utilizan para leer y escribir datos, mover el brazo del disco, dar
formato a las pistas, así como inicializar, sensibilizar, volver a inicializar y volver a
calibrar el controlador y las unidades.
Administración de recursos : Un punto de vista alternativo, de arriba hacia abajo,
sostiene que el sistema operativo está ahí para controlar todas las piezas de un complejo
sistema. La computadoras modernas constan de procesador, memorias, cronómetros,
discos, terminales, unidades de cintas magnéticas, interfaces de red, impresoras y una
amplia gama de otros dispositivos. Desde este punto de vista la labor de un sistema
operativo es la de proporcionar una asignación ordenada y controlada de los
procesadores, memorias y dispositivos de E/S para los varios programas que compiten
por ellos.
Desempeño del sistema : El sistema operativos sostiene que su principal tarea es la de
llevar un registro de la utilización de los recursos, dar paso a las solicitudes de recursos,
llevar la cuenta de uso y mediar entre las solicitudes en conflicto de los distintos
programas y usuarios.
GENERACIONES DE SISTEMAS OPERATIVOS (R)
Primera generación (1945 – 1955).
En esos primeros días, un solo grupo de personas diseñaban, construía, programaba,
operaba y daba mantenimiento a cada maquina. Toda la programación se lleva a cabo en
lenguaje maquina absoluto y con frecuencia se utilizaban conexiones para controlar la
funciones básicas de las maquinas. Los lenguajes de programación eran desconocidos
(incluso el lenguaje ensamblador), no se oía de los sistemas operativos. A principio de
la década de los años cincuentas. La rutina mejoro un poco con la introducción de las
tarjetas perforadas. Fue entonces posibles escribir los programas en las tarjetas y
leerlas en vez de insertar conexiones; por lo demás, el proceso era el mismo.
La segunda Generación (1955 – 1965).
Para ejecutar un trabajo (es decir un programa o conjunto de programas) el programador
debía escribir el programa en hojas de papel (en fortran o ensamblador) para después
perforar las tarjetas, después debía llevar el paquete de tarjetas perforadas al cuarto de
lectura y dárselas a uno de los programadores. Se desperdiciaba demasiado tiempo de
cómputo mientras que los operadores caminaban para realizar todo el proceso.
Dado al alto costo del equipo, no debe sorprender el hecho de que las personas buscaron
en forma por demás rápidas vías para reducir el tiempo invertido. La solución que por lo
general se adoptó, fue la de los sistemas de procesamiento por lotes.
La tercera generación ( 1965 – 1980).
Aquí fue donde se introdujo el primer sistema operativo, la IBM fue quien lo introdujo,
llamado sistema/360. El 360 era una serie de maquinas con software compatible, y estas
solo se diferenciaban el precio y desempeño, (máximo memoria, velocidad de
procesador, número permitido de dispositivos E/S), Puesto que las maquinas tenían las
mismas arquitectura y conjunto de instrucciones, al menos en teoría, los programas
escritos para una maquina pacían ejecutarse en las otras.
El OS/360 se diseño para hacer cálculos tantos científicos como comerciales.
La cuarta generación (1980 -1990).
Surgen las computadoras personales, dos sistemas operativos a dominado la escena de
las computadoras personales y las estaciones de trabajo, MS-DOS de Microsoft y
UNIX.
Aunque la versión inicial de MS-Dos era realmente primitiva, las subsecuentes
versiones del MS-Dos han incluido características más avanzadas entre ellas algunas de
UNIX. Este desarrollo nos es del todo sorprendente, puesto que Microsoft es uno de los
principales proveedores de UNIX.
El otro contendiente principal es UNIX, que dominaba en la computadoras que no
utilizaban Intel, así como las estaciones de trabajo, en particular las que poseen chips de
alto desempeño RISC. Un interesante desarrollo que comenzó a llevarse a cabo a
mediados de la década de los ochenta ha sido el crecimiento de las redes de
computadoras personales con sistemas operativos de red y sistemas operativos
distribuidos.
2. ESQUEMA BÁSICO
ESTRUCTURA INTERNA: MONOLÍTICO Y MODULAR (R)
Monolítico : El sistema operativo se escribe como una colección de procesamientos,
cada uno de los cuales puede llamara a los demás cada vez que así lo requiera. Cuando
se usa esta técnica, cada procesamiento del sistema tiene una interfaz bien definida en
términos de parámetros y resultados y cada uno de ellos es libre de llamar a cualquier
otro, si éste último proporciona cierto cálculo útil para el primero.
Modular :
TIPOS DE SISTEMAS: MONOUSUARIO, MULTIUSUARIO, DISTRIBUIDO, DE
RED, DE TIEMPO REAL, DE PROPÓSITO ESPECIAL .
Sistemas Monousuario : Los sistemas operativos monousuarios son aquéllos que
soportan a un usuario a la vez, sin importar el número de procesadores que tenga la
computadora o el número de procesos o tareas que el usuario pueda ejecutar en un
mismo instante de tiempo. Las computadoras personales típicamente se han clasificado
en este renglón.
Sistemas Multiusuario :
Sistemas Operativos de Red : Los sistemas operativos de red se definen como aquellos
que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por
medio de un medio de transmisión con el objeto de intercambiar información, transferir
archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial
de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o
llamadas al sistema para ejecutar estas operaciones, además de la ubicación de los
recursos que desee acceder.
Sistemas Operativos Distribuidos : Los sistemas operativos distribuidos abarcan los
servicios de los de red, logrando integrar recursos ( impresoras, unidades de respaldo,
memoria, procesos, unidades centrales de proceso ) en una sola máquina virtual que el
usuario acceso en forma transparente. Es decir, ahora el usuario ya no necesita saber la
ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como
si todos ellos fuesen locales a su lugar de trabajo habitual. Todo lo anterior es el marco
teórico de lo que se desearía tener como sistema operativo distribuido, pero en la
realidad no se ha conseguido crear uno del todo, por la complejidad que suponen:
distribuir los procesos en las varias unidades de procesamiento, reintegrar subresultados, resolver problemas de concurrencia y paralelismo, recuperarse de fallas de
algunos recursos distribuidos y consolidar la protección y seguridad entre los diferentes
componentes del sistema y los usuarios. Los avances tecnológicos en las redes de área
local y la creación de microprocesadores de 32 y 64 bits lograron que computadoras
mas o menos baratas tuvieran el suficiente poder en forma autónoma para desafiar en
cierto grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlas,
sugiriendo la oportunidad de partir procesos muy pesados en cálculo en unidades más
pequeñas y distribuirlas en los varios microprocesadores para luego reunir los subresultados, creando así una máquina virtual en la red que exceda en poder a un
mainframe. El sistema integrador de los microprocesadores que hacer ver a las varias
memorias, procesadores, y todos los demás recursos como una sola entidad en forma
transparente se le llama sistema operativo distribuido. Las razones para crear o adoptar
sistemas distribuidos se dan por dos razones principales: por necesidad ( debido a que
los problemas a resolver son inherentemente distribuidos ) o porque se desea tener más
confiabilidad y disponibilidad de recursos.
Sistemas operativos de tiempo real : Un sistema de tiempo real es aquel en el que para
que las operaciones computacionales estén correctas no depende solo de que la lógica e
implementación de los programas computacionales sea correcto, sino también en el
tiempo en el que dicha operación entregó su resultado. Si las restricciones de tiempo no
son respetadas el sistema se dice que ha fallado.
Por lo tanto, es esencial que las restricciones de tiempo en los sistemas sean cumplidas.
El garantizar el comportamiento en el tiempo requerido necesita que el sistema sea
predecible. Es también deseable que el sistema obtenga un alto grado de utilización a la
vez que cumple con los requerimientos de tiempo.”
LENGUAJES DE CONTROL (SHELL), INTERFACES
UTILITARIOS DE UN SISTEMA OPERATIVO.
GRÁFICAS
Y
LLAMADAS AL SISTEMA.
Llamadas al Sistema : Esta sección está dedicada a las llamadas al sistema que te
permiten acceder a la funcionalidad de red de una máquina Unix. Cuando llamas a una
de estas funciones, el núcleo toma el control y realiza todo el trabajo por ti
automáticamente.
3. ARQUITECTURA DE UN SISTEMA OPERATIVO
MANEJO DEL PROCESADOR: POLÍTICAS Y TÉCNICAS PARA LA GESTIÓN
(SCHEDULING) (E)
MANEJO DE MEMORIA SECUNDARIA: POLÍTICAS Y TÉCNICAS PARA LA
GESTIÓN (E)
MANEJO DE DISPOSITIVOS DE E/S (E)
SISTEMA DE ARCHIVOS: ARCHIVOS Y DIRECTORIOS. ESTRUCTURA,
ORGANIZACIÓN Y TIPOS (E)
SEGURIDAD Y PROTECCIÓN (E)
4. DESEMPEÑO DE UN SISTEMA OPERATIVO
HERRAMIENTAS MATEMÁTICAS ASOCIADAS: TEORÍA DE
CÁLCULO DE PROBABILIDADES, PROCESOS DE MARKOV (R, E)
ALGORITMOS DE SCHEDULING (R, E)
COLAS,
5. DISPOSITIVOS Y SERVICIOS ESPECIALES
CONFIGURACIÓN (E)
II. SISTEMAS OPERATIVOS ESPECIALIZADOS
1. TIPOS ESPECIALES DE SISTEMAS OPERATIVOS
INTERCOMUNICACIÓN ENTRE PROCESOS (R)
SISTEMAS OPERATIVOS DE RED: SERVIDORES DE ARCHIVOS Y DE
IMPRESIÓN, ARQUITECTURA CLIENTE-SERVIDOR, ARQUITECTURA PAR A
PAR (R)
SISTEMAS OPERATIVOS DISTRIBUIDOS: SISTEMA DE ARCHIVOS
DISTRIBUIDOS, MEMORIA DISTRIBUIDA, BALANCEO DE CARGA (R)
MODELOS DE PROCESOS DISTRIBUIDOS Y MULTIHILOS (R)
SISTEMAS EN TIEMPO REAL (R, E)
SISTEMAS PARA COMPUTADORAS PARALELAS (MEMORIA COMPARTIDA,
MEMORIA DISTRIBUIDA, MEMORIA DISTRIBUIDA/COMPARTIDA) (R)
2. AMBIENTES GRÁFICOS
MANEJO DE VENTANAS (E)
ENTORNOS MULTITAREA (R)