Академический Документы
Профессиональный Документы
Культура Документы
A los efectos de situar a los S. O. en el conjunto del software para computadoras, podemos
clasificar a este de la siguiente manera:
Programas de sistema:
o Controlan la operación de la
computadora en sí.
Programas de aplicación:
Programas de aplicación:
Programas de sistema:
o Lenguaje de máquina.
o Microprogramación.
o Dispositivos físicos.
Una de las principales funciones del S. O. es ocultar toda esta complejidad y brindar al
programador un conjunto más conveniente de instrucciones para trabajar.
• Procesadores.
• Almacenamiento.
• Dispositivos de e / s.
• Datos.
Los S. O. son una interfaz con:
• Operadores.
• Programadores de aplicaciones.
• Programadores de sistemas (administradores del S. O.).
• Programas.
• Hardware.
• Usuarios.
o Carencia total de S. O.
o Completo acceso al lenguaje de máquina.
• Primera generación (1945-1955): bulbos y conexiones:
o Carencia de S. O.
o En los años cincuenta comienzan como transición entre
trabajos, haciendo la misma más simple.
• Segunda generación (1955-1965): transistores y sistemas de
procesamiento por lotes (batch):
o Difusión de la multiprogramación:
Partición de la memoria en porciones, con trabajos
distintos en cada una de ellas.
Aprovechamiento del tiempo de espera consecuencia
de operaciones de e / s, para utilizar la CPU para otros
procesos.
o Protección por hardware del contenido de cada
partición de memoria.
o Aparición de técnicas de spooling:
Simultaneous Peripheral Operation On Line:
operación simultánea y en línea de periféricos.
Almacenamiento de trabajos de entrada y de salida en
dispositivos transitorios rápidos (discos), para disminuir el
impacto de los periféricos mas lentos.
o Son sistemas de modos múltiples, es decir que deben
soportar sistemas de propósitos generales; son grandes y complejos
pero muy poderosos.
o Interponen una capa de software entre el usuario y el
hardware.
o Aparecen los lenguajes de control de trabajos, necesarios
para especificar el trabajo y los recursos requeridos.
o Soportan timesharing (tiempo compartido), variante de la
multiprogramación con usuarios conectados mediante terminales en
línea, permitiendo la operación en modo interactivo o
conversacional.
o Aparecen los sistemas de tiempo real, que requieren tiempos
de respuesta muy exigentes, especialmente para usos industriales o
militares.
o Se difunden las computadoras de rango medio.
• Cuarta generación (1980-1990): computadoras personales:
Procesos:
Archivos:
Llamadas al sistema:
Sistemas monolíticos:
5 - Operador
4 - Programas del Usuario
3 - Control de Entrada - Salida
2 - Comunicaciones Operador -
Proceso
1 - Administración de la Memoria
y del Disco
0 - Asignación del Procesador y
Multiprogramación
Tabla 1.1: Estructura del S.O.
en capas "THE".
• Capa 0:
o Trabaja con la asignación del procesador.
o Alterna entre los procesos cuando ocurren las
interrupciones o expiran los cronómetros.
o Proporciona la multiprogramación básica.
• Capa 1:
o Administra la memoria.
o Asegura que las páginas (porciones de
memoria) requeridas de los procesos lleguen a
memoria cuando fueran necesarias.
• Capa 2:
o Administra la comunicación entre cada proceso
y la consola del operador.
o Por sobre esta capa, cada proceso tiene su
propia consola de operador.
• Capa 3:
o Controla los dispositivos de e / s y almacena en
buffers los flujos de información entre ellos.
o Por sobre la capa 3 cada proceso puede trabajar
con dispositivos abstractos de e / s en vez de con
dispositivos reales.
• Capa 4:
o Aloja los programas del usuario.
o Los programas. del usuario no tienen que
preocuparse por el proceso, memoria, consola o
control de e / s.
• Capa 5:
o Localiza el proceso operador del sistema.
Máquinas virtuales:
• Se ejecuta en el hardware.
• Realiza la multiprogramación.
• Proporciona varias máquinas virtuales a la capa
superior.
VENTAJAS DESVENTAJAS
Centralización del control: La congestión del tráfico ha
Los accesos, recursos y la sido siempre un problema en
integridad de los datos son el paradigma de C/S. Cuando
controlados por el servidor de una gran cantidad de clientes
forma que un programa envían peticiones simultaneas
cliente defectuoso o no al mismo servidor, puede ser
autorizado no pueda dañar el que cause muchos problemas
sistema. para éste (a mayor número
de clientes, más problemas
Escalabilidad: se puede para el servidor). Al contrario,
aumentar la capacidad en las redes P2P como
de clientes y servidores por cada nodo en la red hace
separado. Cualquier elemento también de servidor, cuantos
puede ser aumentado (o más nodos hay, mejor es
mejorado) en cualquier el ancho de banda que se
momento, o se pueden añadir tiene.
nuevos nodos a la red
(clientes y/o servidores). El paradigma de C/S clásico
no tiene la robustez de una
Fácil mantenimiento: al red P2P. Cuando un servidor
estar distribuidas las está caído, las peticiones de
funciones y responsabilidades los clientes no pueden ser
entre varios ordenadores satisfechas. En la mayor parte
independientes, es posible de redes P2P, los recursos
reemplazar, reparar, están generalmente
actualizar, o incluso trasladar distribuidos en varios nodos
un servidor, mientras que sus de la red. Aunque algunos
clientes no se verán salgan o abandonen la
afectados por ese cambio (o descarga; otros pueden
se afectarán mínimamente). todavía acabar de descargar
Esta independencia de los consiguiendo datos del resto
cambios también se conoce de los nodos en la red.
como encapsulación. El software y el hardware de
Existen tecnologías, un servidor son generalmente
suficientemente muy determinantes. Un
desarrolladas, diseñadas para hardware regular de
el paradigma de C/S que un ordenador personal puede
aseguran la seguridad en
no poder servir a cierta
las transacciones, la
amigabilidad de la interfaz, y cantidad de clientes.
la facilidad de empleo Normalmente se necesita
software y hardware
específico, sobre todo en el
lado del servidor, para
satisfacer el trabajo. Por
supuesto, esto aumentará el
coste.
El cliente no dispone de los
recursos que puedan existir
en el servidor. Por ejemplo, si
la aplicación es una Web, no
podemos escribir en el disco
duro del cliente o imprimir
directamente sobre
lasimpresoras sin sacar antes
la ventana previa de
impresión de los
navegadores.
Se refiere a una red que no tiene clientes ni servidores fijos, sino una serie de nodos
que se comportan simultáneamente como clientes y como servidores de los demás
nodos de la red
TENDENCIAS
Las principales tendencias en S. O. son las siguientes
Soporte generalizado para multiprocesamiento.
Migración hacia el microcódigo de funciones de los S. O. realizadas por
software. Distribución del control entre procesadores localizados.
Mejora de la eficiencia en el soporte de la ejecución concurrente de
programas. Soporte del paralelismo masivo con altísimo grado de concurrencia.
Profundización de los esquemas de máquinas virtuales.
Continuación del esquema de familias de S. O. para familias de computadoras,
viendo las aplicaciones máquinas virtuales.
Compatibilidad con nuevas generaciones de computadoras.
Proliferación de redes de sistemas, distribuyendo tareas en equipos sobre los
que el usuario puede no tener conocimiento ni control con énfasis en la
importancia de la perspectiva de las máquinas virtuales.
Permanencia del concepto de almacenamiento virtual.
Permanencia de la perspectiva del S. O. como administrador de recursos,
teniendo presente que los datos serán considerados cada vez más como un
recurso para ser administrado.
Profundización del desarrollo de S. O. con funciones distribuidas entre varios
procesadores a través de grandes redes de sistemas.
1.1.3.- HARDWARE
Los principales aspectos del hardware, de importancia para los S. O., son los
siguientes:
Escrutinio: técnica que permite que una unidad verifique el estado de otra unidad
de funcionamiento independiente.
Selectores.
Multiplexores de bytes.
Multiplexores de bloques.
12.- Multiprocesamiento:
14.- Canalización:
Jerarquía de almacenamiento:
Al bajar en la jerarquía:
Aumenta la capacidad.
“Lenguaje de máquina”:
Ensambladores y macroprocesadores:
Los “macroprocesadores”:
Se desarrollaron para acelerar la codificación de un programa ensamblador.
Se incorporaron en los ensambladores.
Una “macroinstrucción” indica la ejecución de varias instrucciones en lenguaje
ensamblador.
El “procesador de macroinstrucciones” efectúa una “macroexpansión” cuando lee una
macro durante la traducción de un programa:
Genera una serie de instrucciones en lenguaje ensamblador correspondientes a la
macro.
COMPILADORES:
“Lenguajes de alto nivel”: se desarrollaron para resolver el problema de la dependencia
respecto a la máquina.
Permiten el desarrollo de programas “independientes de la máquina”.
Se logra mayor velocidad de programación, programas transportables entre sistemas
diferentes y menores requerimientos de conocimientos de hardware.
“Compiladores”: traducen los lenguajes de alto nivel al lenguaje de máquina.
“Traductores”: es la denominación para “compiladores” y “ensambladores”.
Entrada: “programa fuente” del programador.
Salida: “programa objeto” o “programa resultante”.
Sistemas de control de entrada / salida (IOCS: input / output control system):
EL IOCS libera al programador de aplicaciones de la complejidad de la administración
de la e / s:
Programas de canal, coordinación de canales y procesadores, control de la e / s, etc.
Es una manifestación de la tendencia a que los desarrolladores de aplicaciones se
concentren en la producción de códigos orientados hacia las aplicaciones y no
hacia los sistemas (hardware).
Utilización del SPOOL (Simultaneous Peripheral Operation On Line: operación
simultánea de periféricos en línea):
“O. hacia el procedimiento”: son de propósito general y apto para resolver gran
variedad de problemas:
“C. rápidos y sucios”: Producen rápidamente un programa objeto que puede ser
ineficiente respecto de almacenamiento y velocidad de ejecución:
INTERPRETADORES:
No producen un programa objeto.
Ejecutan directamente un programa fuente.
Son útiles en ambientes de desarrollo de programas.
Son más lentos que los códigos compilados.
Cargadores absolutos y de relocalización:
Los programas se ejecutan en el almacenamiento principal.
El programa en lenguaje de máquina producido por un traductor debe ser combinado con
otros programas en lenguaje de máquina para formar una unidad ejecutable.