Vous êtes sur la page 1sur 5

El sistema operativo es el programa (o software) ms importante de un ordenador.

Para
que funcionen los otros programas, cada ordenador de uso general debe tener un sistema
operativo. Los sistemas operativos realizan tareas bsicas, tales como reconocimiento de la
conexin del teclado, enviar la informacin a la pantalla, no perder de vista archivos y
directorios en el disco, y controlar los dispositivos perifricos tales como impresoras, escner,
entre otros.
En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es
como un polica de trfico, se asegura de que los programas y usuarios que estn funcionando
al mismo tiempo no interfieran entre ellos. El sistema operativo tambin es responsable de la
seguridad, asegurndose de que los usuarios no autorizados no tengan acceso al sistema.


Los sistemas operativos pueden ser clasificados de la siguiente forma:
Permite que dos o ms usuarios utilicen sus programas al mismo tiempo.
Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo
tiempo.
soporta el abrir un mismo programa en ms de una CPU.
Permite que varios programas se ejecuten al mismo tiempo.
Permite que diversas partes de un solo programa funcionen al mismo
tiempo.
Responde a las entradas inmediatamente. Los sistemas operativos como
DOS y UNIX, no funcionan en tiempo real.

Los sistemas operativos proporcionan una plataforma de software encima de la cual
otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se
programan para que funcionen encima de un sistema operativo particular, por tanto,
la eleccin del sistema operativo determina en gran medida las aplicaciones que
puedes utilizar.

Los sistemas operativos ms utilizados en los PC son DOS, OS/2, y Windows, pero
hay otros que tambin se utilizan, como por ejemplo Linux.


Un usuario normalmente interacta con el sistema operativo a travs de un sistema
de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar
y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y
ejecutados por una parte del sistema operativo llamada procesador de comandos o
intrprete de la lnea de comandos. Las interfaces grficas permiten que utilices los
comandos sealando y pinchando en objetos que aparecen en la pantalla.


Los primeros sistemas (1945-1955) eran grandes mquinas operadas desde la
consola maestra por los programadores. Durante la dcada siguiente (1955-1965) se
llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas
magnticas, etc. Esto a su vez provoc un avance en el software: compiladores,
ensambladores, cargadores, manejadores de dispositivos, etc.
El problema principal de los primeros sistemas era la baja utilizacin de los mismos,
la primera solucin fue poner un operador profesional que lo manejase, con lo que se
eliminaron las hojas de reserva, se ahorr tiempo y se aument la velocidad.
Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se
conoce como procesamiento por lotes (batch) sin automatizar.


Fichas en lenguaje de procesamiento por lotes, con programa y datos, para
ejecucin secuencial.
Segn fue avanzando la complejidad de los programas, fue necesario implementar
soluciones que automatizaran la organizacin de tareas sin necesidad de un operador.
Debido a ello se crearon los monitores residentes: programas que residan en memoria
y que gestionaban la ejecucin de una cola de trabajos.
Un monitor residente estaba compuesto por un cargador, un Intrprete de comandos
y un Controlador (drivers) para el manejo de entrada/salida.
Sistemas con almacenamiento temporal de E/S
Los avances en el hardware crearon el soporte de interrupciones y posteriormente se
llev a cabo un intento de solucin ms avanzado: solapar la E/S de un trabajo con sus
propios clculos, por lo que se cre el sistema de bfers con el siguiente
funcionamiento:
Un programa escribe su salida en un rea de memoria (bfer 1).
El monitor residente inicia la salida desde el buffer y el programa de aplicacin calcula
depositando la salida en el buffer 2.
La salida desde el buffer 1 termina y el nuevo clculo tambin.
Se inicia la salida desde el buffer 2 y otro nuevo clculo dirige su salida al buffer 1.
El proceso se puede repetir de nuevo.
Los problemas surgen si hay muchas ms operaciones de clculo que de E/S (limitado
por la CPU) o si por el contrario hay muchas ms operaciones de E/S que clculo
(limitado por la E/S).

Hace aparicin el disco magntico con lo que surgen nuevas soluciones a los
problemas de rendimiento. Se eliminan las cintas magnticas para el volcado previo de
los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular
varias cintas).
Sistemas operativos multi-programados
Surge un nuevo avance en el hardware: el hardware con proteccin de memoria. Lo
que ofrece nuevas soluciones a los problemas de rendimiento:
Se solapa el clculo de unos trabajos con la entrada/salida de otros trabajos.
Se pueden mantener en memoria varios programas.
Se asigna el uso de la CPU a los diferentes programas en memoria.
Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo
que ste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas
Operativos multi-programados, los cuales cumplen con las siguientes funciones:
Administrar la memoria.
Gestionar el uso de la CPU (planificacin).
Administrar el uso de los dispositivos de E/S.
Cuando desempea esas tareas, el monitor residente se transforma en un sistema
operativo multi-programado.

Definicin breve: llamadas que ejecutan los programas de aplicacin para pedir algn
servicio al Sistema Operativo.
Cada Sistema Operativo implementa un conjunto propio de llamadas al sistema. Ese
conjunto de llamadas es la interfaz del Sistema Operativo frente a las aplicaciones.
Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el
Sistema Operativo. Por ello si cambiamos de Sistema Operativo, y abrimos un
programa diseado para trabajar sobre el anterior, en general el programa no
funcionar, a no ser que el nuevo Sistema Operativo tenga la misma interfaz. Para ello:
Las llamadas correspondientes deben tener el mismo formato.
Cada llamada al nuevo Sistema Operativo tiene que dar los mismos resultados que la
correspondiente del anterior.
Modos de ejecucin en un CPU
Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el
Sistema Operativo, tiene que poder utilizar todo el conjunto de instrucciones del CPU.
Por ello, una CPU debe tener (al menos) dos modos de operacin diferentes:
Modo usuario: el CPU podr ejecutar slo las instrucciones del juego restringido de las
aplicaciones.
Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.
Llamadas al sistema
Una aplicacin, normalmente no sabe dnde est situada la rutina de servicio de la
llamada. Por lo que si sta se codifica como una llamada de funcin, cualquier cambio
en el S.O. hara que hubiera que reconstruir la aplicacin.
Pero lo ms importante es que una llamada de funcin no cambia el modo de
ejecucin de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin
tener que conocer su ubicacin, y hacer que se fuerce un cambio de modo de
operacin de la CPU en la llamada (y la recuperacin del modo anterior en el retorno).
Esto se hace utilizando instrucciones mquina diseadas especficamente para este
cometido, distintas de las que se usan para las llamadas de funcin.
Bibliotecas de interfaz de llamadas al sistema
Las llamadas al sistema no siempre tienen una expresin sencilla en los lenguajes de
alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones
que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes
de programacin.
La aplicacin llama a una funcin de la biblioteca de interfaz (mediante una llamada
normal) y esa funcin es la que realmente hace la llamada al sistema.
Interrupciones y excepciones

El SO ocupa una posicin intermedia entre los programas de aplicacin y el hardware.
No se limita a utilizar el hardware a peticin de las aplicaciones ya que hay situaciones
en las que es el hardware el que necesita que se ejecute cdigo del SO. En tales
situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas
llamadas a dos condiciones:
Algn dispositivo de E/S necesita atencin.
Se ha producido una situacin de error al intentar ejecutar una instruccin del
programa (normalmente de la aplicacin).
En ambos casos, la accin realizada no est ordenada por el programa de aplicacin, es
decir, no figura en el programa.
Segn los dos casos anteriores tenemos las interrupciones y la excepciones:
Interrupcin: seal que enva un dispositivo de E/S a la CPU para indicar que la
operacin de la que se estaba ocupando, ya ha terminado.
Excepcin: una situacin de error detectada por la CPU mientras ejecutaba una
instruccin, que requiere tratamiento por parte del SO.
Tratamiento de las interrupciones
Una interrupcin se trata en todo caso, despus de terminar la ejecucin de la
instruccin en curso.
El tratamiento depende de cul sea el dispositivo de E/S que ha causado la
interrupcin, ante la cual debe poder identificar el dispositivo que la ha causado.
La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando
continuamente rutinas para consultar el estado del perifrico. El inconveniente es que
el dispositivo debe tener los circuitos electrnicos necesarios para acceder al sistema
de interrupciones del computador.
Importancia de las interrupciones
El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en
servicio de una aplicacin, mientras otra permanece a la espera de que concluya una
operacin en un dispositivo de E/S.
El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el
SO puede intervenir entonces, si es conveniente, para hacer que el programa que
estaba esperando por el dispositivo, se contine ejecutando.
En ciertos intervalos de tiempo puede convenir no aceptar seales de interrupcin.
Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben
poder hacerlo las mismas).
Un ejemplo de sincronismo por interrupcin es el almacenamiento de caracteres
introducidos mediante el teclado. Cuando se introduce un carcter, se codifica en el
registro de datos del dispositivo y adems se activa un bit del registro de estado quien
crea una interrupcin en el hardware. El procesador deja temporalmente la tarea que
estaba completando y ejecuta la rutina de atencin a la interrupcin correspondiente.
El teclado almacena el carcter en el vector de memoria intermedia ( tambin llamado
buffer) asociada al teclado y despierta el proceso que haba en el estado de espera de
la operacin de entrada/salida.
Excepciones

Vous aimerez peut-être aussi