Escolar Documentos
Profissional Documentos
Cultura Documentos
Elaborado por:
Douglas Aponte, C.I.: 9.955.507
Sección: 7C
En los años sesenta, un sistema operativo se podría haber definido como el software que
controla al hardware. Sin embargo, actualmente existe una tendencia significativa a la transferencia
de las funciones del software al firmware, es decir, microcódigo. Dicha tendencia se ha pronunciado
tanto que es probable que en algunos sistemas las funciones codificadas en firmware sobrepasen
pronto aquéllas codificadas en software.
Es evidente que se necesita una nueva definición de sistema operativo. Se puede imaginar un
sistema operativo como los programas, instalados en el software o el firmware, que hacen utilizable el
hardware.
Un sistema operativo es un conjunto de programas que administran eficientemente los recursos de un
sistema de cómputo, controlando la ejecución de programas de aplicación y actuando como una
interfaz entre el usuario y la computadora (el hardware).
Firmware: es un programa almacenado en un chip de memoria flash de un dispositivo de hardware
cuya función es asegurar su correcto funcionamiento. Firmware o Programación en Firme, es un
bloque de instrucciones de programa para propósitos específicos, grabado en una memoria tipo
ROM, que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un
dispositivo de cualquier tipo. Al estar integrado en la electrónica del dispositivo es en parte hardware,
pero también es software, ya que proporciona lógica y se dispone en algún tipo de lenguaje de
programación. Funcionalmente, el firmware es el intermediario (interfaz) entre las órdenes externas
que recibe el dispositivo y su electrónica, ya que es el encargado de controlar a ésta última para
ejecutar correctamente dichas órdenes externas.
También puede ser proporcionado en ROMS de flash o como un archivo de imagen binaria que se
puede cargar en el hardware existente por un usuario. Como su nombre indica, el firmware se
encuentra entre el hardware y el software. Al igual que el software, es un programa que es ejecutado
por una computadora.
Encontramos Firmware en memorias ROM de los sistemas de diversos dispositivos periféricos, como
en monitores de video, unidades de disco, impresoras, etc., pero también en los propios
microprocesadores, chips de memoria principal y en general en cualquier circuito integrado.
Muchos de los Firmwares almacenados en ROM están protegidos por Derechos de Autor. El
programa BIOS de un ordenador es un firmware cuyo propósito es activar una máquina desde su
encendido y preparar el entorno para la instalación de un Sistema Operativo complejo, así como
responder a otros eventos externos (botones de pulsación humana) y al intercambio de órdenes entre
distintos componentes del ordenador.
En un microprocesador el firmware es el que recibe las instrucciones de los programas y las ejecuta
en la compleja circuitería del mismo, emitiendo órdenes a otros dispositivos del sistema.
Es una memoria interna que poseen ciertos dispositivos hardware en la que está instalado un
software especial que lleva a cabo algunas de las funciones del aparato. Esta memoria suele ser
regrabable por lo que se puede actualizar el firmware para corregir ciertos errores descubiertos en el
funcionamiento del aparato o añadirle nuevas características. Para descubrir nuevos firmware de
nuestro hardware es conveniente que nos acostumbremos a visitar regularmente la página web de su
fabricante.
En términos prácticos, las actualizaciones de firmware pueden mejorar el rendimiento y la fiabilidad,
de hecho, incluso la funcionalidad básica dispone de un dispositivo, y muchos se benefician de los
dispositivos ordinarios de actualizaciones de firmware. Uno de los dispositivos más comunes que se
han originado son los dispositivos de grabación óptica de los medios de comunicación, como los
escritores (DVD, CD, HD DVD, Blu-ray), de manera que estas actualizaciones garantizan que el
hardware se mantenga actualizado y compatible.
El firmware es una combinación de software (programa) y hardware (en este caso, chips). En su
conjunto son Chips que poseen dentro pequeños programas que son guardados dentro y que se
denominan Firmware.
El firmware en PROM o EPROM está diseñado para ser modificado si es necesario a través de una
actualización de software.
Incluso con las mejoras anteriores, el proceso por lotes dedica los recursos del sistema informático a
una única tarea a la vez. En el curso de su ejecución, la mayoría de los programas oscilan entre fases
intensivas de cálculo y fases intensivas de operaciones de E/S. Esto queda indicado donde los
periodos de cálculo intensivo se indican mediante cuadros sombreados y las operaciones de E/S
mediante zonas en blanco. El problema es que los dispositivos de E/S son muy lentos comparados
con el procesador. El procesador gasta parte del tiempo ejecutando hasta que encuentra una
instrucción de E/S. Entonces debe esperar a que concluya la instrucción de E/S antes de continuar.
Esta ineficiencia no es necesaria. Se sabe que hay memoria suficiente para almacenar.
Programa 1 Programa 2
Programa 1
Programa 2
P1 P2 P1 P2 P1 P2
Programa 1 Programa 2
Programa 1
Programa 2
P1 P2 P1 P2 P1 P2
Sistemas monolíticos.
Descripción: Sin estructura definida. Se componen de un conjunto de procedimientos, donde
cada uno de ellos puede llamar a todos los demás.
Proceso para requerir un servicio del S. O.: el programa de usuario coloca los parámetros
necesarios en los lugares previamente definidos, y seguidamente ejecuta una llamada al
supervisor (se cambia de modo usuario a modo supervisor), transfiriendo el control al S. O. que
examina dichos parámetros y determina el procedimiento que debe invocar. Cuando se complete
la llamada devuelve el control al programa de usuario. S. O. con una pequeña estructura de
niveles:
• Procedimiento Principal
• Procedimientos de Servicio
• Procedimientos Auxiliares
Sistemas en estratos.
Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos
sobre el otro que tiene menor jerarquía que él.
Ejemplos:
A. THE (Dijkstra, 1968): sistema de procesamiento por lotes.
Operador de THE
Programas de usuarios
Administrador de E/S
Comunicación entre operadores y procesos
Administración de memoria y tambor
Distribución del procesador y multiprogramación
B. MULTICS: anillos concéntricos alrededor del hardware, donde los internos son más
privilegiados que los externos.
Máquinas virtuales.
PROGRAMA DE CONTROL
HARDWARE
Modelo Cliente-Servidor.
Descripción: Su objetivo es minimizar el kernel desplazando el código de todos sus servicios
a estratos lo más superiores posibles. Para ello, la mayoría de sus funciones se implementan
como procesos de usuario, denominados procesos servidores, de forma que cuando un
proceso de usuario llamado proceso cliente, necesita un servicio del S.O. lo que hace es
enviar un mensaje al proceso servidor correspondiente, que realiza el trabajo y devuelve la
respuesta.
El kernel lo único que hace es implementar la comunicación entre clientes y servidores y
entre servidores y el hardware.
Proceso Cliente 1 Servidor de ficheros Servidor de la memoria Proceso Cliente 2 Modo Usuario
KERNEL Modo Supervisor
Gestión
de Gestión
Memoria de E/S
OBJETOS
Gestión de
Objetos
Ejemplo Grafico:
Sistema Operativo Monotareas.
Los sistemas monotareas son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse
el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo
tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.
Los sistemas operativos monotareas son más primitivos y, solo pueden manejar un proceso en cada
momento o que solo puede ejecutar las tareas de una en una.
Ejemplo Grafico:
Sistema Operativo Multiusuario.
Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya
sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas
en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de
procesos que cada usuario puede ejecutar simultáneamente.
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. En otras palabras consiste en el fraccionamiento del tiempo (timesharing).
Ejemplo Grafico:
Sistema Operativo Multitarea.
Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al
mismo tiempo.
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una
computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La
conmutación de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o
más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación
que se encuentra en primer plano (la que ve el usuario. En la multitarea cooperativa, la que se utiliza
en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante
los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta
aplicación esta esperando información del usuario), y siempre que esta aplicación lo permita. En los
sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del
microprocesador durante una fracción de segundo.
Un sistema operativo multitarea puede estar editando el código fuente de un programa durante su
depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un
proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús
y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su
productividad.
Un sistema operativo multitarea se distingue por su capacidad para soportar la ejecución concurrente
de dos o más procesos activos. La multitarea se implementa generalmente manteniendo el código y
los datos de varios procesos simultáneamente en memoria y multiplexando el procesador y los
dispositivos de E/S entre ellos.
La multitarea suele asociarse con soporte hardware y software para protección de memoria con el fin
de evitar que procesos corrompan el espacio de direcciones y el comportamiento de otros procesos
residentes.
Ejemplo grafico:
Los sistemas operativos actuales poseen una serie de funciones cuyo objetivo es el de la
manipulación de los procesos. Las operaciones que se pueden hacer sobre un proceso son las
siguientes:
Crear el proceso. Se produce con la orden de ejecución del programa y suele necesitar varios
argumentos, como el nombre y la prioridad del proceso. Aparece en este momento el PCB, que será
insertado en la cola de procesos preparados.
La creación de un proceso puede ser de dos tipos:
Jerárquica. En ella, cada proceso que se crea es hijo del proceso creador y hereda el entorno de
ejecución de su padre. El primer proceso que ejecuta un usuario será hijo del intérprete de comandos
con el que interactúa.
No jerárquica. Cada proceso creado por otro proceso se ejecuta independientemente de su creador
con un entorno diferente. Es un tipo de creación que no suele darse en los sistemas operativos
actuales.
Destruir un proceso. Se trata de la orden de eliminación del proceso con la cual el sistema operativo
destruye su PCB.
Suspender un proceso. Es un proceso de alta prioridad que paraliza un proceso que puede ser
reanudado posteriormente. Suele utilizarse en ocasiones de mal funcionamiento o sobrecarga del
sistema.
Reanudar un proceso. Trata de activar un proceso que ha sido previamente suspendido.
Cambiar la prioridad de un proceso.
Temporizar la ejecución de un proceso. Hace que un determinado proceso se ejecute cada cierto
tiempo (segundos, minutos, horas...) por etapas de una sola vez, pero transcurrido un periodo de
tiempo fijo.
Despertar un proceso. Es una forma de desbloquear un proceso que habrá sido bloqueado
previamente por temporización o cualquier otra causa.
Cuadro Comparativo: