Sunteți pe pagina 1din 19

Fundamentos de Sistemas Operativos

Unidad
Introduccin

Objetivo de la Unidad: El alumno definir lo que es un sistema operativo y describir la


evolucin de los sistemas operativos.

Objetivos de Aprendizaje: El alumno se preparar en los conceptos fundamentales de los


sistemas operativos, analizando los mecanismos Hardware y Software.

Mapa conceptual:
1. Conceptos de Sistemas Operativos
2. Evolucin de los Sistemas Operativos
3. Estructura de los Sistemas Operativos
4. Tendencias
5. Hardware
6. Software

1 Conceptos de Sistemas Operativos

Una de las definiciones ms comnmente aceptadas expresa:

Un S. O. es un grupo de programas de proceso con las rutinas de control necesarias para


mantener continuamente operativos dichos programas.

El objetivo primario de un Sistema Operativo es:

Optimizar todos los recursos del sistema para soportar los requerimientos.

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:

Controlan la operacin de la computadora en s.

Programas de aplicacin:

Resuelven problemas para los usuarios.

1
Fundamentos de Sistemas Operativos

En este contexto, el Sistema Operativo es el programa fundamental de todos los programas de sistema.
El S. O. protege y libera a los programadores de la complejidad del hardware, colocndose un nivel de
software por sobre el hardware para:

Controlar todas las partes del sistema.


Presentar al usuario una interfaz o mquina virtual.

El esquema tpico de un sistema de cmputos incluye:


Programas de aplicacin:

Sistema bancario, reservaciones en una lnea area, juegos, etc.

Programas de sistema:

Compiladores, editores, intrpretes de comandos.


Sistema Operativo.

Hardware:

Lenguaje de mquina.
Microprogramacin.
Dispositivos fsicos.

Las principales caractersticas del microprograma son:

Se trata de software que generalmente se localiza en la memoria de solo lectura.


Busca las instrucciones de lenguaje de mquina para ejecutarlas como una serie de pequeos
pasos.
El conjunto de instrucciones que interpreta define al lenguaje de mquina.
En ciertas mquinas se implanta en el hardware y no es en realidad una capa distinta.

Respecto del lenguaje de mquina es preciso sealar que:

Generalmente posee entre 50 y 300 instrucciones, sirviendo la mayora para desplazar datos,
hacer operaciones aritmticas y comparar valores.
Los dispositivos de E/S (entrada / salida) se controlan al cargar valores en registros del
dispositivo especiales.

Una de las principales funciones del S. O. es ocultar toda esta complejidad y brindar al programador
un conjunto ms conveniente de instrucciones para trabajar.

El S. O. se ejecuta en modo central o modo de supervisin, con mxima prioridad y generalmente con
proteccin por hardware.

Los compiladores, editores y dems programas se ejecutan en modo usuario.

2
Fundamentos de Sistemas Operativos

El S. O. es la serie de programas, dispuestos ya sea en el software o en la memoria fija (microcdigo),


que hacen al hardware utilizable.

Los S. O. ponen el poder computacional bsico del hardware convenientemente a disposicin del
usuario, pero consumen parte de ese poder computacional para funcionar [Deitel].

Los S. O. son, en primer lugar, administradores de recursos, siendo el recurso primario el hardware
del sistema (ver Figura 1.1).

Fig. 1.1
Las principales caractersticas de los S. O. son:

Definir la Interfaz del Usuario.


Compartir el hardware entre usuarios.
Permitir a los usuarios compartir los datos entre ellos.
Planificar recursos entre usuarios.
Facilitar la entrada / salida.

3
Fundamentos de Sistemas Operativos

Recuperarse de los errores.

Los principales recursos administrados por los S. O. son:

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.

El S. O. debe presentar al usuario el equivalente de una mquina extendida o mquina virtual que
sea ms fcil de programar que el hardware subyacente.

2 Evolucin de los Sistemas Operativos

Los S. O. han estado relacionados histricamente con la arquitectura de las computadoras en las cuales
se ejecutan, razn por la cual su historia puede analizarse segn las siguientes generaciones y sus
principales caractersticas (7, Deitel):

Generacin Cero (dcada de 1940):

Carencia total de S. O.
Completo acceso al lenguaje de mquina.

Primera generacin (1945-1955): bulbos y conexiones:

Carencia de S. O.
En los aos cincuenta comienzan como transicin entre trabajos, haciendo la misma
ms simple.

Segunda generacin (1955-1965): transistores y sistemas de procesamiento por lotes (batch):

En los aos sesenta aparecen los S. O. para sistemas compartidos con:

Multiprogramacin: varios programas de usuarios se encuentran al mismo


tiempo en el almacenamiento principal, cambiando el procesador rpidamente de
un trabajo a otro.

4
Fundamentos de Sistemas Operativos

Multiprocesamiento: varios procesadores se utilizan en un mismo sistema para


incrementar el poder de procesamiento.

Posteriormente aparece la independencia de dispositivo:

El programa del usuario especifica las caractersticas de los dispositivos que


requieren los archivos.
El S. O. asigna los dispositivos correspondientes segn los requerimientos y las
disponibilidades.

Tercera generacin (1965-1980): circuitos integrados y multiprogramacin:


Difusin de la multiprogramacin:
Particin 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.
Proteccin por hardware del contenido de cada particin de memoria.
Aparicin de tcnicas de spooling:
Simultaneous Peripheral Operation On Line: operacin simultnea y en
lnea de perifricos.
Almacenamiento de trabajos de entrada y de salida en dispositivos
transitorios rpidos (discos), para disminuir el impacto de los perifricos
ms lentos.

Son sistemas de modos mltiples, es decir que deben soportar sistemas de


propsitos generales; son grandes y complejos pero muy poderosos.
Interponen una capa de software entre el usuario y el hardware.
Aparecen los lenguajes de control de trabajos, necesarios para especificar el
trabajo y los recursos requeridos.
Soportan timesharing (tiempo compartido), variante de la multiprogramacin con
usuarios conectados mediante terminales en lnea, permitiendo la operacin en
modo interactivo o conversacional.
Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta muy
exigentes, especialmente para usos industriales o militares.
Se difunden las computadoras de rango medio.

Cuarta generacin (1980-1990): computadoras personales:

Aparicin de software amigable con el usuario, destinado a usuarios no


profesionales y con una interfase grfica muy desarrollada.
Desarrollo de sistemas operativos de red y sistemas operativos distribuidos.
Sistemas operativos de red:

Los usuarios estn conscientes de la existencia de varias computadoras


conectadas.
Cada mquina ejecuta su propio S. O. local.

5
Fundamentos de Sistemas Operativos

Son similares a los S. O. de un solo procesador pero con el agregado de:


Controlador de interfaz de la red y su software de bajo nivel.
Software para conexin y acceso a archivos remotos, etc.
o Sistemas operativos distribuidos:
Aparece ante los usuarios como un S. O. de un solo procesador, an cuando de
soporte a varios procesadores.
Los usuarios no son conscientes del lugar donde se ejecutan sus programas o
donde se encuentran sus archivos, ya que lo debe administrar el S. O.
automticamente.
Deben permitir que un programa se ejecute mediante varios procesadores a la
vez, maximizando el paralelismo.
o Aparicin de emuladores de terminal para el acceso a equipos remotos desde
computadoras personales (PC).
o Gran nfasis en la seguridad, en especial por el desarrollo de los sistemas de
comunicaciones de datos.
o El S. O. crea un ambiente de trabajo segn el concepto de mquina virtual, que lo asla
del funcionamiento interno de la mquina.
o Proliferacin de sistemas de bases de datos, accesibles mediante redes de
comunicacin.

La interfaz entre el S. O. y los programas del usuario se define como el conjunto de instrucciones
ampliadas (Tanenbaum) que proporciona el S. O. y son las llamadas al sistema:

Crean, eliminan y utilizan objetos del software controlados por el S. O.:

Los ms importantes son procesos y archivos.

Procesos:

Es el concepto central de todos los S. O.


Es bsicamente un programa en ejecucin.
Consta del programa ejecutable, sus datos y pila, contador y otros registros, adems de la
informacin necesaria para ejecutar el programa.
La informacin de control relacionada con los procesos se almacena en la tabla de procesos:
o Es administrada por el S. O.
o Posee un arreglo de estructuras, una por cada proceso existente en ese momento.
Un proceso (suspendido) consta de:
o Un espacio de direccin.
o Los datos pertinentes de la tabla de procesos.
Un proceso puede crear procesos hijo y estos nuevos procesos hijo, conformando un rbol de
procesos.

Archivos:

Una de las funciones principales del S. O. es brindar independencia de dispositivo.


Muchos S. O. soportan el concepto de directorio como una forma de agrupar archivos.

6
Fundamentos de Sistemas Operativos

Los directorios se estructuran jerrquicamente, por lo que a cada archivo le corresponde una
ruta de acceso.
Existen distintos esquemas de seguridad de archivos en los distintos S. O.

Llamadas al sistema:

Permiten a los programas comunicarse con el S. O. y solicitarle servicios.


A cada llamada le corresponde un procedimiento:

Pone los parmetros de la llamada en un lugar especfico para luego ejecutar una
instruccin tipo trap de llamada a procedimiento protegido para iniciar el S. O.
Luego de trap el S. O. recupera el control, examina los parmetros y si son vlidos
ejecuta el trabajo solicitado.
Luego de terminar, el S. O. coloca un cdigo de estado en un registro indicando si
tuvo xito o fracaso y ejecuta una instruccin del tipo return from trap para
regresar el control al procedimiento.
El procedimiento regresa al programa llamador con un cdigo de estado como un
valor de funcin; dentro de los parmetros pueden regresar valores adicionales.

3 Estructura de los Sistemas Operativos

Se considera la organizacin interna de los S. O. y conforme a ella se los clasifica de la siguiente


manera, destacndose sus principales caractersticas:

Sistemas monolticos:

Es muy comn: no existe estructura propiamente dicha o es mnima.


El S. O. es una coleccin de procedimientos que se pueden llamar entre s (ver Figura 3.1).

Fig. 3.1

Cada procedimiento tiene una interfaz bien definida en trminos de parmetros y resultados.

7
Fundamentos de Sistemas Operativos

Fig. 3.2

Para ejecutar los servicios del S. O. (llamadas al sistema): (ver Figura 3.2).
o Se solicitan colocando los parmetros en lugares bien definidos (registros o pilas).
o Se ejecuta una instruccin especial de trampa: llamada al ncleo o llamada al
supervisor.
o La instruccin cambia la mquina del modo usuario al modo ncleo (o modo
supervisor). [Tanenbaum]
o Se transfiere el control al S. O.
o El S. O. examina los parmetros de la llamada para determinar cul de ellas se desea
realizar.
o El S. O. analiza una tabla que contiene en la entrada k un apuntador al procedimiento
que realiza la k-sima llamada al sistema:
Identifica al procedimiento de servicio llamado.
o La llamada al sistema termina y el control regresa al programa del usuario.

Sistemas con capas:

Es una generalizacin del modelo de estructura simple para un sistema monoltico.


Consiste en organizar el s. o. como una jerarqua de capas, cada una construida sobre la
inmediata inferior.

5 - Operador
4 - Programas del Usuario
3 - Control de Entrada - Salida
2 - Comunicaciones Operador -
Proceso
1 - Administracin de la Memoria y

8
Fundamentos de Sistemas Operativos

del Disco
0 - Asignacin del Procesador y
Multiprogramacin
Tabla 3.1: Estructura del S.O. en
capas "THE".

El primer sistema con este esquema fue el THE (Dijkstra ): (ver Tabla 3.1).

THE: Technische Hogeschool Eindhoven.

Capa 0:
o Trabaja con la asignacin del procesador.
o Alterna entre los procesos cuando ocurren las interrupciones o expiran los cronmetros.
o Proporciona la multiprogramacin bsica.
Capa 1:
o Administra la memoria.
o Asegura que las pginas (porciones de memoria) requeridas de los procesos lleguen a
memoria cuando fueran necesarias.
Capa 2:
o Administra la comunicacin 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 informacin 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.

Una generalizacin mas avanzada del concepto de capas se presento con Multics (MIT, Bell Labs y
General Electric):

Multics: multiplexed information and computing service.


Presenta una estructura en anillos concntricos, siendo los interiores los privilegiados.
Un procedimiento de un anillo exterior, para llamar a un procedimiento de un anillo interior,
debe hacer el equivalente a una llamada al sistema.

Mquinas virtuales:
Se separan totalmente las funciones de multiprogramacin y de mquina extendida.

Existe un elemento central llamado monitor de la mquina virtual que:

9
Fundamentos de Sistemas Operativos

Se ejecuta en el hardware.
Realiza la multiprogramacin.
Proporciona varias mquinas virtuales a la capa superior.

Las mquinas virtuales instrumentan copias exactas del hardware simple, con su modo ncleo /
usuario, e / s, interrupciones y todo lo dems que posee una mquina real.

Pueden ejecutar cualquier S. O. que se ejecute en forma directa sobre el hardware.

Las distintas mquinas virtuales pueden ejecutar distintos S. O. y en general as lo hacen.

Soportan perifricos virtuales.

Ejemplo de S. O. representativo de esta estructura: VM/370 de IBM: (ver Figura 3.3).

Fig. 3.3

Las m. v. generalmente utilizaran, entre otros, el S. O. CMS: Conversational Monitor System.


Cuando un programa CMS ejecuta una llamada al sistema:

La llamada es atrapada por el S. O. en su propia m. v.; no pasa directamente al VM/370.


CMS proporciona las instrucciones de e / s en hardware para la lectura del disco virtual o lo
necesario para efectuar la llamada.
VM/370 atrapa estas instrucciones de e / s y las ejecuta sobre el hardware verdadero.

Modelo cliente - servidor:


Una tendencia en los S. O. modernos es la de explotar la idea de mover el cdigo a capas superiores y
mantener un ncleo mnimo, de manera similar al VM/370.

Implantar la mayora de las funciones del S. O. en los procesos del usuario.

Para solicitar un servicio (por ej.: lectura de un bloque de cierto archivo) segn el modelo cliente -
servidor: (ver Figura 3.4).

10
Fundamentos de Sistemas Operativos

Fig. 3.4

El proceso del usuario (proceso cliente) enva la solicitud a un proceso servidor:


Realiza el trabajo y regresa la respuesta.
El ncleo controla la comunicacin entre los clientes y los servidores.

Se fracciona el S. O. en partes, cada una controlando una faceta:

Servicio a archivos, a procesos, a terminales, a memoria, etc., cada parte pequea y ms fcilmente
controlable.
Los servidores se ejecutan como procesos en modo usuario:

No tienen acceso directo al hardware.


Se aslan y acotan ms fcilmente los problemas.

Se adapta para su uso en los sistemas distribuidos: (ver Figura 3.5).

Fig. 3.5

Si un cliente se comunica con un servidor mediante mensajes:

No necesita saber si el mensaje se atiende localmente o mediante un servidor remoto, situado en


otra mquina conectada.
Enva una solicitud y obtiene una respuesta.

11
Fundamentos de Sistemas Operativos

Algunas funciones del S. O., por ej. el cargado de comandos en los registros fsicos del dispositivo de e
/ s, presentan problemas especiales y distintas soluciones:

Ejecucin en modo ncleo, con acceso total al hardware y comunicacin con los dems
procesos mediante el mecanismo normal de mensajes.
Construccin de un mnimo de mecanismos dentro del ncleo manteniendo las decisiones de
poltica relativas a los usuarios dentro del espacio del usuario.

4 Tendencias

Las principales tendencias en S. O. son las siguientes [Deitel]:

Soporte generalizado para multiprocesamiento.

Migracin hacia el microcdigo de funciones de los S. O. realizadas por software.

Distribucin del control entre procesadores localizados.

Mejora de la eficiencia en el soporte de la ejecucin concurrente de programas.

Soporte del paralelismo masivo con altsimo grado de concurrencia.

Profundizacin de los esquemas de mquinas virtuales.

Continuacin del esquema de familias de S. O. para familias de computadoras, viendo las aplicaciones
mquinas virtuales.

Compatibilidad con nuevas generaciones de computadoras.

Desarrollos en la ingeniera de software para brindar S. O. ms preservables, confiables y


comprensibles.

Proliferacin 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 mquinas virtuales.

Permanencia del concepto de almacenamiento virtual.

Permanencia de la perspectiva del S. O. como administrador de recursos, teniendo presente que los
datos sern considerados cada vez ms como un recurso para ser administrado.

Profundizacin del desarrollo de S. O. con funciones distribuidas entre varios procesadores a travs de
grandes redes de sistemas [Tanenbaum].

5 Hardware

Los principales aspectos del hardware, de importancia para los S. O., son los siguientes [Deitel]:

12
Fundamentos de Sistemas Operativos

Compaginacin del almacenamiento:

Objetivo: acelerar el acceso al almacenamiento primario (bancos de memoria).


Generalmente, mientras cualquiera de las localidades de un banco de almacenamiento
primario, est siendo accedida, ninguna otra referencia puede estar en curso.
La compaginacin del almacenamiento coloca localidades de memoria adyacentes en diferentes
bancos de almacenamiento, para permitir varias referencias al mismo tiempo.

Registro de relocalizacin:

Permite relocalizar de forma dinmica los programas.


La direccin base de un programa en la memoria principal se sita en el registro de
relocalizacin.
El contenido del registro de relocalizacin se aade a cada direccin desarrollada por un
programa en ejecucin.
Permite al programa residir en localizaciones diferentes a aquellas para las cuales fue traducido.

Interrupciones y escrutinio:

Interrupciones: permiten a una unidad obtener la inmediata atencin de otra, de manera que la
primera pueda informar de un cambio de estado:
o Permite salvar el estado de la unidad interrumpida antes de procesar la interrupcin.
Escrutinio: tcnica que permite que una unidad verifique el estado de otra unidad de
funcionamiento independiente.

Utilizacin del buffer:

Un buffer es un rea de almacenamiento primario destinada a contener datos durante


transferencias de e / s.
Cuando concluye la transferencia los datos pueden ser accedidos por el procesador.
Esquema de entradas de buffer simple:
o El canal deposita datos en el buffer.
o El procesador procesa estos datos.
o El canal deposita nuevos datos, etc.
o No puede haber simultaneidad entre operaciones de colocar datos en el buffer y
procesarlos:
Afecta la performance.
Esquema de entradas de buffer doble:
o Permite la sobreposicin de operaciones de e / s con el procesamiento:
Mejora la performance.
o Mientras el canal deposita datos en un buffer el procesador puede estar procesando los
datos del otro buffer.
o Cuando el procesador concluye el proceso de los datos del primer buffer, puede
continuar con los datos del segundo, mientras el canal deposita nuevos datos en el
primer buffer:
Es la tcnica de buffer biestable ( o en flip flop).

Dispositivos perifricos:

13
Fundamentos de Sistemas Operativos

Permiten el almacenamiento de grandes cantidades de informacin fuera del almacenamiento


principal.
Existen dispositivos secuenciales y de acceso directo.
Las caractersticas y prestaciones son muy variadas.

Proteccin del almacenamiento:

Limita el nmero de direcciones que un programa puede referenciar.


Es esencial en los sistemas multiusuario.
Se implementa mediante los registros de lmites, que definen las direcciones superior e
inferior del bloque de almacenamiento afectado a un determinado programa.
Tambin se pueden utilizar claves de proteccin del almacenamiento anexas a reas de
almacenamiento primario:
o Un programa solo puede acceder a localidades de almacenamiento cuyas claves de
proteccin concuerdan con las del programa.

Temporizadores y relojes:

Temporizador de intervalos: previene que un solo usuario monopolice el procesador en


sistemas multiusuario.
El temporizador genera una interrupcin al procesador cuando expira el intervalo asignado a un
usuario.
Reloj horario: permite al computador hacer un seguimiento de la hora del reloj de pared,
con una exactitud de millonsimas de segundo o mayor.

Operaciones en lnea y fuera de lnea; procesadores satlite:

Operacin en lnea: los perifricos utilizados estn conectados al procesador.


Operacin fuera de lnea: los perifricos utilizados estn conectados a unidades de control
que no estn conectadas al sistema central o principal.

Canales de entrada / salida:

Son sistemas computacionales de propsito especial, dedicados al manejo de la e / s con


independencia del procesador principal.
Tienen acceso directo al almacenamiento principal para almacenar o recuperar informacin.
Evitan al procesador la mayor parte de la carga de manejar la e / s, incrementando la
concurrencia.
Los principales tipos de canales son los siguientes:
o Selectores.
o Multiplexores de bytes.
o Multiplexores de bloques.

Robo de ciclo:

Significa que en la competencia entre el procesador y los canales para acceder a un


determinado banco de almacenamiento primario (memoria principal), se da prioridad a los
canales:

14
Fundamentos de Sistemas Operativos

o Se optimiza el uso de los dispositivos de e / s.

Direccionamiento de base ms desplazamiento:

Todas las direcciones son aadidas al contenido de un registro de base.


Los programas son independientes de la localizacin:
o Especialmente importante en ambientes multiusuario.

Estado de problema, estado supervisor, instrucciones privilegiadas:

Corresponde a distintos estados de ejecucin.


Estado de problema o de usuario: estado en que corren los programas de usuario:
o Tiene acceso a un subconjunto de instrucciones del conjunto de instrucciones de la
mquina.
Estado supervisor o de ncleo: generalmente el S. O. corre as con la categora de usuario
de mayor confianza o nivel :
o Tiene acceso a todas las instrucciones del conjunto de instrucciones de la mquina.
Si el sistema soporta ms de dos estados:
o Se puede instrumentar una granulacin de proteccin ms fina.
o Permite conceder accesos por medio del principio de menos privilegio:
Se debe garantizar a cada usuario en particular la menor cantidad de privilegio y
acceso que necesite para cumplir sus tareas.
Instrucciones privilegiadas: son aquellas a las que no se tiene acceso en estado de problema.

Almacenamiento virtual:

Los sistemas de almacenamiento virtual permiten a los programas referenciar direcciones que
no necesitan corresponder con las direcciones reales disponibles en el almacenamiento
primario.
Las direcciones virtuales desarrolladas por los programas en ejecucin son traducidas
dinmicamente por el hardware a las direcciones reales de instrucciones y datos del
almacenamiento principal.
Los programas pueden referenciar espacios de direcciones mucho mayores que los espacios de
direcciones disponibles en el almacenamiento primario.
Se utilizan tcnicas de:
o Paginacin: bloques de datos de tamao fijo van o vienen entre el almacenamiento
primario y el secundario.
o Segmentacin: identifica las unidades lgicas de los programas y datos para facilitar
el control de acceso y participacin.

Multiprocesamiento:

Varios procesadores comparten un almacenamiento primario comn y un solo S. O.


Es necesario secuencializar el acceso a una localizacin (direccin) de almacenamiento
compartido para que dos o ms procesadores no intenten:
o Modificarla al mismo tiempo.
o Modificarla uno(s) mientras otro(s) intenta(n) leerla.

15
Fundamentos de Sistemas Operativos

Acceso directo a la memoria (DMA):

Requiere una sola interrupcin al procesador por cada bloque de caracteres transferidos durante
la operacin de e / s, lo cual mejora significativamente la performance (rendimiento).
Es como si el procesador, en vez de interrumpido fuera retrasado.
Resulta muy til para altos requerimientos de e / s.
Canal DMA: es el hardware responsable del robo de ciclos y de la operacin de los
dispositivos de e / s.

Canalizacin:

Tcnica de hardware utilizada para explotar ciertos tipos de paralelismo durante el


procesamiento de instrucciones.
Varias instrucciones pueden estar simultneamente en diferentes estados de ejecucin.

Jerarqua de almacenamiento:

Los niveles de almacenamiento incluyen:


o Almacenamiento primario: memoria principal.
o Almacenamiento secundario: discos, cintas, etc.
o Almacenamiento cach: memoria muy veloz diseada para aumentar la velocidad de
ejecucin de los programas:
Aloja la parte (instrucciones y datos) en ejecucin de un programa.
Los niveles de almacenamiento crean jerarquas de almacenamiento: cach, almacenamiento
primario, almacenamiento secundario.
Al bajar en la jerarqua:
o Descienden el costo y la velocidad.
o Aumenta la capacidad.
Espacio de direcciones: conjunto de todas las direcciones disponibles para un programa.

6 Software

Consiste en los programas de instrucciones y datos que definen para el hardware los algoritmos
necesarios para la resolucin de problemas. Los aspectos ms destacados en relacin con los S. O. son
los siguientes [Deitel]:

Programacin en lenguaje de mquina:


Lenguaje de mquina:

Lenguaje de programacin que un computador puede comprender directamente.


Es dependiente de la mquina: un programa en lenguaje de mquina escrito en el
computador de un fabricante, generalmente no puede ser ejecutado en el de otro, salvo que su
lenguaje de mquina sea compatible.
Muy poco usado actualmente.

Ensambladores y macroprocesadores:
Los lenguajes ensambladores se desarrollaron para:

16
Fundamentos de Sistemas Operativos

Incrementar la velocidad de programacin .


Reducir los errores de codificacin.

Los programas deben ser traducidos al lenguaje de mquina mediante un programa ensamblador:

Tambin es dependiente de la mquina.

Los macroprocesadores:

Se desarrollaron para acelerar la codificacin de un programa ensamblador.


Se incorporaron en los ensambladores.
Una macroinstruccin indica la ejecucin de varias instrucciones en lenguaje ensamblador.
El procesador de macroinstrucciones efecta una macroexpansin cuando lee una macro
durante la traduccin de un programa:
o 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 mquina.
Permiten el desarrollo de programas independientes de la mquina.
Se logra mayor velocidad de programacin, programas transportables entre sistemas diferentes
y menores requerimientos de conocimientos de hardware.
Compiladores: traducen los lenguajes de alto nivel al lenguaje de mquina.
Traductores: es la denominacin para compiladores y ensambladores.
o Entrada: programa fuente del programador.
o 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 administracin de la e /


s:
o Programas de canal, coordinacin de canales y procesadores, control de la e / s, etc.
Es una manifestacin de la tendencia a que los desarrolladores de aplicaciones se concentren en
la produccin de cdigos orientados hacia las aplicaciones y no hacia los sistemas (hardware).

Utilizacin del SPOOL (Simultaneous Peripheral Operation On Line: operacin simultnea de


perifricos en lnea):

Un dispositivo de alta velocidad (ej.: disco) se interpone entre un programa en ejecucin y un


dispositivo de baja velocidad (ej.: impresora) relacionado con el programa en la e / s.
Evita la demora en la ejecucin de programas como consecuencia del uso de perifricos lentos.

Lenguajes orientados hacia el procedimiento versus lenguajes orientados hacia el problema:

O. hacia el procedimiento: son de propsito general y aptos para resolver gran variedad de
problemas:

17
Fundamentos de Sistemas Operativos

o Ej.: Pascal, Cobol, Fortran, Basic, PL/I.


O. hacia el problema: son especficos para resolver determinados tipos de problemas:
o Ej.: GPSS (simulacin), SPSS (estadstica).

Compiladores rpidos y sucios versus compiladores optimizadores:

C. rpidos y sucios: producen rpidamente un programa objeto que puede ser ineficiente
respecto de almacenamiento y velocidad de ejecucin:
o Utiles para el desarrollo y prueba de sistemas.
C. optimizadores: producen con mayor lentitud un cdigo de mquina alta-mente eficiente en
almacenamiento y ejecucin:
o Utiles en etapa de produccin de los sistemas.

Interpretadores:

No producen un programa objeto.


Ejecutan directamente un programa fuente.
Son tiles en ambientes de desarrollo de programas.
Son ms lentos que los cdigos compilados.

Cargadores absolutos y de relocalizacin:

Los programas se ejecutan en el almacenamiento principal.


Asignacin: es la asociacin de instrucciones y datos con localizaciones particulares de
almacenamiento.
Cargador: es un programa que coloca las instrucciones y datos de un programa dentro de
localizaciones del almacenamiento principal.
Cargador absoluto: coloca las instrucciones y datos en las localizaciones especficas
indicadas en el programa de lenguaje de mquina.
Cargador de relocalizacin: puede cargar un programa en varios lugares dentro del
almacenamiento principal:
o Depende de la disponibilidad de almacenamiento primario al momento de realizar la
carga.
Tiempo de carga: momento de realizar la carga.

Cargadores de enlace y editores de enlace:

El programa en lenguaje de mquina producido por un traductor debe ser combinado con otros
programas en lenguaje de mquina para formar una unidad ejecutable.
La combinacin de programas es realizada por cargadores de enlace y editores de
enlace antes del tiempo de ejecucin del programa.
Cargador de enlace: en el momento de carga, combina cualesquiera programas requeridos y
los carga directamente en el almacenamiento primario.
Editor de enlace: ejecuta la combinacin de programas mencionada y adems crea una
imagen de carga a memoria que preserva en el almacenamiento secundario (disco), para usos
futuros:

18
Fundamentos de Sistemas Operativos

o Es muy til en ambientes de produccin, ya que la carga inmediata de la imagen de


memoria previamente producida evita un nuevo proceso de combinacin de programas
previo a cada ejecucin.

Ejercicios:

1. Realiza una breve descripcin sobre la evolucin de los sistemas operativos.


2. Indica la diferencia entre multiprogramacin y multiprocesamiento.
3. Cita varias tendencias que probablemente seguirn los diseos de sistemas operativos futuros.
4. Piensa en los tipos de aplicaciones que se podran realizar si las memorias y velocidades de
procesamiento fueran mucho ms grande que las actuales.
5. Qu desarrollos tecnolgicos hicieron posible la computacin personal?
6. Supongamos que eres un proyectista estratgico de una importante compaa de computadoras,
Cmo tomaras en cuenta los sistemas abiertos en los trabajos de planificacin?
7. En que forma los usuarios de hardware, software y sistemas de comunicacin deberan tener
presentes los sistemas abiertos en una planificacin estratgica?
8. Describe cual es la diferencia entre un sistema monoltico y una basada en capas.

19

S-ar putea să vă placă și