Usted se encuentra en: ARX/PC y MAC/SOFTWARE Y SISTEMAS OPERATIVOS DE PC Y MAC/LOS SISTEMAS OPERATIVOS
LOS SISTEMAS OPERATIVOS
�Qu� es un Sistema Operativo?
Definici�n de Sistema Operativo
es un programa de computadora, sin embargo, es un programa muy especial, quiz� el
m�s complejo e importante en una computadora. El Sistema Operativo despierta a la
computadora y hace que reconozca el CPU, la memoria, el teclado, la tarjeta de video
y las unidades de disco. Adem�s, proporciona la facilidad para que los usuarios se
comuniquen con la computadora y sirve de plataforma a partir de la cual se corren
programas de aplicaci�n. Cuando enciende una Computadora, lo primero que �sta hace
es llevar a cabo un autodiagn�stico llamado autoprueba de encendido (Power On Self
Test, POST). Durante la POST, la computadora indentifica su memoria, sus discos,
su teclado, su sistema de v�deo y cualquier otro dispositivo conectado a ella. Lo
siguiente que la computadora hace es buscar un SO para arrancar (boot o sector de
arranque).
Una vez que la computadora ha puesto en marcha su Sistema Operativo, mantiene al
menos parte de �ste en su memoria en todo momento. Mientras la computadora est�
encendida, el SO tiene 4 tareas principales.
1.Proporcionar ya sea una interfaz de l�nea de comando o una interfaz gr�fica al
usuario, para que este �ltimo se pueda comunicar con la computadora. Interfaz de
l�nea de comando: se introducen palabras y s�mbolos desde el teclado de la
computadora, ejemplo, el MS-DOS. Interfaz Gr�fica de Usuario (GUI), seleccionas las
acciones mediante el uso de un Mouse para pulsar sobre figuras llamadas iconos o
seleccionar opciones de los men�s.
2.Administrar los dispositivos de hardware en la computadora.Cuando corren los
programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los
puertos de Entrada/Salida (impresoras, m�dems, etc). El SO sirve de intermediario
entre los programas y el hardware.
3.Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la
informaci�n dentro de compartimientos l�gicos para almacenarlos en el disco. Estos
grupos de informaci�n son llamados archivos. Los archivos pueden contener
instrucciones de programas o informaci�n creada por el usuario. El SO mantiene una
lista de los archivos en un disco, y nos proporciona las herramientas necesarias
para organizar y manipular estos archivos.
4.Apoyar a otros programas. Otra de las funciones importantes del SO es
proporcionar servicios a otros programas. Estos servicios son similares a aquellos
que el SO proporciona directamente a los usuarios. Por ejemplo, listar los archivos,
grabarlos a disco, eliminar archivos, revisar espacio disponible, etc. Cuando los
programadores escriben programas de computadora, incluyen en sus programas
instrucciones que solicitan los servicios del SO. Estas instrucciones son conocidas
como "llamadas del sistema"
Historia Necesidades de los Sistemas Operativos
En un principio solo exist�a el hardware de computadora. Las primeras computadoras
eran (f�sicamente) grandes m�quinas que se operaban desde una consola. El
programador escrib�a un programa y luego lo controlaba directamente. En primer
lugar, el programa se cargaba manualmente en la memoria, desde los interruptores
del tablero frontal, desde una cinta de papel o desde tarjetas perforadas. Luego se
pulsaban los botones adecuados para establecer la direcci�n de inicio y comenzar la
ejecuci�n del programa. Mientras este se ejecutaba, el programador-operador lo
pod�a supervisar observando las luces en el microprocesador. Si se descubr�an
errores, el programador pod�a detener el programa, examinar el contenido de la
memoria y los registros y depurar el programa directamente desde el microprocesador.
La salida del programa se imprim�a, o se perforaba en cintas de papel o tarjetas
para su impresi�n posterior. Un aspecto importante de ese entorno era su naturaleza
interactiva directa. El programador tambi�n era el operador del sistema de
computaci�n.
La mayor�a de los sistemas utilizaban un esquema de reservas o de registro para
asignar tiempo de m�quina. Si alguien quer�a usar el computador, acud�a a la hoja
de registro, buscaba el siguiente tiempo libre de la m�quina que fuera conveniente
y se anotaba para usarla. Sin embargo, con este procedimiento se presentaban
ciertos problemas. Si un programador se hab�a registrado para usar una hora de
tiempo del computador dedicada a ejecutar el programa que estaba desarrollando,
pero se topaba con alg�n error dif�cil y no pod�a terminar en esa hora. Si alguien
m�s hab�a reservado el siguiente bloque de tiempo, el programador deb�a detenerse,
rescatar lo que pudiera y volver mas tarde para continuar. Por otra parte, si el
programa se ejecutaba sin problemas, podr�a terminar en 35 minutos; pero como pens�
que necesitar�a la m�quina durante m�s tiempo, se registr� para usarla un hora, y
permanecer�a inactiva durante 25 minutos.
Conforme transcurri� el tiempo, se desarrollaron software y hardware adicionales;
empezaron a popularizarse los lectores de tarjetas, impresoras de lineas y cintas
magn�ticas. Se dise�aron ensambladores, cargadores y ligadores para facilitar las
tareas de programaci�n, y se crearon bibliotecas de funciones comunes, de manera
que �stas pod�an copiarse a un nuevo programa sin tener que escribirlas de nuevo.
Se pod�a necesitar un considerable tiempo de operaci�n para realizar un trabajo.
Cada trabajo consist�a en varios pasos distintos: cargar la cinta del compilador de
FORTRAN, ejecutar el compilador, descargar la cinta del compilador, cargar la cinta
del ensamblador, ejecutar el ensamblador, descargar la cinta del ensamblador,
cargar el programa objeto y ejecutarlo. Si ocurr�a un error en cualquiera de los
pasos, probablemente habr�a que comenzar desde el principio. Cada paso del trabajo
pod�a ocasionar la necesidad de cargar y descargar cintas magn�ticas, cintas de
papel o tarjetas perforadoras, por lo que al avanzar el tiempo aparecieron los
primeros sistemas operativos.
Los computadores, sobretodo los centrales de gran tama�o, han sido siempre m�quinas
muy costosas. Por ello, los due�os han deseado que estas m�quinas efectuen la mayor
cantidad posible de c�lculos. Hoy en d�a, esta situaci�n tambi�n se aplica a los
microprocesadores de menor costo, de los cuales, a pesar de no ser tan costosos,
siempre se espera que logren el mayor n�mero posible de c�lculos. El cambio a los
sistemas por lotes con secuenciaci�n autom�tica de trabajos se efectu� para mejorar
el rendimiento. El problema es que las personas son demasiado lentas. Por lo tanto,
es deseable sustituir la intervenci�n humana por el software del sistema operativo.
A�n con esta secuenciaci�n autom�tica de trabajos, el CPU todav�a tiene periodos de
inactividad. El problema es la velocidad de los dispositivos mec�nicos de E/S, los
cuales son intr�nsecamente m�s lentos que los dispositivos electr�nicos. Una CPU
lenta trabaja en el orden de los microsegundos, pues ejecuta millones de
instrucciones por segundo. La soluci�n que se encontr� a esto fue el uso de buffers
o tampones que se anticipaban al programa leyendo los datos y dej�ndolos en memoria
antes de que se produjese la orden de leerlos, con lo que se acelera la ejecuci�n
total del programa.
Definamos ahora el concepto de Sistema Operativo: Es un programa que act�a como
intermediario entre el usuario y el hardware de un computador y su prop�sito es
proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo
principal de un sistema operativo es lograr que el sistema de computaci�n se use
de manera c�moda y el objetivo secundario es que el hardware del computador se
emplee de manera eficiente. Una definici�n m�s com�n es que el sistema operativo es
el programa que se ejecuta todo el tiempo en el computador, siendo programas de
aplicaci�n todos los dem�s.
1. Objetivo Principal: Los sistemas operativos existen porque se supone que es mas
f�cil trabajar con uno de ellos que sin �l. Esta situaci�n es particularmente clara
cuando se observan los sistemas operativos para los peque�os computadores
personales.
2. Objetivo Secundario: Es la utilizaci�n eficiente del sistema de computaci�n.
Este prop�sito tiene una importancia especial en los grandes sistemas multiusuario
compartidos. En el pasado, las consideraciones de eficiencia a menudo eran m�s
importantes que la comodidad, por lo que gran parte de la te�rica de sistemas
operativos se concentra en el uso �ptimo de los recursos de computaci�n.
Los sistemas operativos y la arquitectura del computador tienen una gran influencia
mutua. Los sistemas operativos se desarrollan para facilitar el uso del hardware.
Al ir dise�ando y utilizando los sistemas operativos, se hizo patente que podr�an
simplificarse con cambios en el dise�o del hardware.
Caracter�sticas de un Sistema Operativo
El Kernel y el Shell
Las funciones centrales de un SO son controladas por el n�cleo (kernel) mientras
que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo,
la parte m�s importante del DOS es un programa con el nombre "COMMAND.COM" Este
programa tiene dos partes. El kernel, que se mantiene en memoria en todo momento,
contiene el c�digo m�quina de bajo nivel para manejar la administraci�n de hardware
para otros programas que necesitan estos servicios, y para la segunda parte del
COMMAND.COM el shell, el cual es el interprete de comandos. Las funciones de bajo
nivel del SO y las funciones de interpretaci�n de comandos est�n separadas, de tal
forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de
usuario diferente. Esto es exactamente lo que sucede cuando se carga Microsoft
Windows, el cual toma el lugar del shell, reemplazando la interfaz de l�nea de
comandos con una interfaz gr�fica del usuario. Existen muchos shells diferentes en
el mercado, ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO
MS-DOS a partir de la versi�n 5.0 incluy� un Shell llamado DOS SHELL.
Categor�as de Sistemas Operativos Multitarea
El t�rmino multitarea se refiere a la capacidad del SO para correr mas de un
programa al mismo tiempo. Existen dos esquemas que los programas de sistemas
operativos utilizan para desarrollar SO multitarea, el primero requiere de la
cooperaci�n entre el SO y los programas de aplicaci�n. Los programas son escritos
de tal manera que peri�dicamente inspeccionan con el SO para ver si cualquier otro
programa necesita a la CPU, si este es el caso, entonces dejan el control del CPU
al siguiente programa, a este m�todo se le llama multitarea coperativa y es el
m�todo utilizado por el SO de las computadoras de Machintosh y DOS corriendo
Windows de Microsoft. El segundo m�todo es el llamada multitarea con asignaci�n de
prioridades. Con este esquema el SO mantiene una lista de procesos (programas) que
est�n corriendo. Cuando se inicia cada proceso en la lista el SO le asigna una
prioridad. En cualquier momen to el SO puede intervenir y modificar la prioridad de
un proceso organizando en forma efectiva la lista de prioridad, el SO tambi�n
mantiene el control de la cantidad de tiempo que utiliza con cualquier proceso
antes de ir al siguiente. Con multitarea de asignaci�n de prioridades el SO puede
sustituir en cualquier momento el proceso que esta corriendo y reasignar el tiempo
a una tarea de mas prioridad. Unix ,OS-2 y Windows NT emplean este tipo de
multitarea.
Multiusuario
Un Sistema Operativo multiusuario permite a mas de un solo usuario accesar a una
computadora. Claro que, para llevarse esto a cabo, el SO tambi�n debe ser capaz de
efectuar multitareas. Unix es el Sistema Operativo Multiusuario m�s utilizado.
Debido a que Unix fue originalmente dise�ado para correr en una minicomputadora,
era multiusuario y multitarea desde su concepci�n. Actualmente se producen
versiones de Unix para PC tales como The Santa Cruz Corporation Microport, Esix,
IBM,y Sunsoft. Apple tambi�n produce una versi�n de Unix para la Machintosh
llamada: A/UX.Unix , Unix proporciona tres maneras de permitir a m�ltiples personas
utilizar la misma PC al mismo tiempo.
1.Mediante M�dems.
2.Mediante conexi�n de terminales a trav�s de puertos seriales,
3.Mediante Redes.
Multiproceso
Las computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema
operativo multiproceso coordina las operaciones de la computadoras
multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede estar
ejecutando una instrucci�n, el otro procesador queda liberado para procesar otras
instrucciones simult�neamente. Al usar una computadora con capacidades de
multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las
computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los
primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como:
Multiproceso asim�trico: Una CPU principal retiene el control global de la
computadora, as� como el de los otros procesadores. Esto fue un primer paso hacia
el multiproceso pero no fue la direcci�n ideal a seguir ya que la CPU principal
pod�a convertirse en un cuello de botella. Multiproceso sim�trico: En un sistema
multiproceso sim�trico, no existe una CPU controladora �nica. La barrera a vencer
al implementar el multiproceso sim�trico es que los SO tienen que ser redise�ados o
dise�ados desde el principio para trabajar en un Hambiente multiproceso. Las
extensiones de Unix, que soportan multiproceso asim�trico ya est�n disponibles y
las extensiones sim�tricas se est�n haciendo disponibles. Windows NT de Microsoft
soporta multiproceso sim�trico.
* Para regrasar a alguna secci�n anterior de click en los enlaces de la parte superior "Usted se encuentra en:".
VERSI�N EN FLASH