Los primeros computadores eran bastante grandes y de utilización algo complicada. Cuando se quería ejecutar un programa, el operador debía darle la orden de arranque al computador, y manejarlo a través de algunos interruptores y controles especiales. Con el tiempo, se empieza a buscar algún tipo de procedimiento estandarizado para arrancar y controlar al computador, sustituyendo el trabajo del usuario por el de la propia máquina, dando origen al concepto de sistema operativo.
La primera mención de un sistema operativo la realizaron en el año 1953 un grupo de programadores de IBM, quienes utilizaron el concepto de programa monitor, que fue el primer intento destinado simplemente a "hacer trabajar a la máquina". A partir de entonces, los sistemas operativos (programas monitores mejorados), se transformaron rápidamente en una realidad, con la desventaja de que su uso se limitaba a una máquina, aunque por aquella época, no existían demasiadas.
Con la evolución de los computadores, se hacía necesaria la estandarización de estos programas, ya que no podía pensarse en que fueran distintos en cada máquina. En la actualidad un computador está compuesto por dispositivos de entrada/salida, memoria principal, discos y uno o más microprocesadores, y el tener que hacer un programa para una determinada aplicación que además lleve el control de todos estos componentes, sería una tarea muy difícil para el programador. Por ello, es el sistema operativo el que se encarga de controlar todas las partes del computador, para que al usuario le resulte todo más fácil, evitando la programación de la circuitería de la máquina cada vez que se desea utilizarlo.
En la actualidad el sistema operativo proporciona los comandos que le permiten al usuario interactuar con el computador. A su vez, las acciones llevadas a cabo por el sistema operativo pueden ser visualizadas en la pantalla. El sistema operativo es quien controla todos los recursos del computador, y sirve de base para que el usuario pueda trabajar o desarrollar los programas de aplicación con mayor sencillez. De esta manera, cuando se ejecuta un programa de aplicación, éste le pide ciertas tareas al sistema operativo, que se ejecutan directamente sobre el hardware del computador. De no ser por el sistema operativo, el computador sería una máquina muy compleja, que sólo podría ser utilizada por un reducido número de expertos, y con un gran esfuerzo.
El sistema operativo puede definirse desde dos perspectivas:
Definición de sistema operativo como manejador de
recursos:
Conjunto de programas encargados de administrar y controlar los recursos
del computador. Los recursos son: el
microprocesador, los dispositivos de entrada/salida, las memorias y los
archivos (un archivo puede ser un texto, una imagen; un programa, etc.).
Definición de sistema operativo como máquina ampliada:
Conjunto de programas encargados de ocultar al usuario el hardware del
computador.
Estructura de los sistemas operativos
Cualquier sistema operativo debe crear el marco adecuado para una eficaz
comunicación entre el computador y el usuario, prestando servicios tales como
ejecución de programas, operaciones de entrada/salida, detección de errores,
manipulación de archivos y protección del computador.
Al principio, los sistemas operativos eran un único programa redactado en
lenguaje de máquina. En la actualidad se desarrollan en módulos, capas o niveles que cumplen con funciones específicas,
facilitando su construcción y sus continuas modificaciones, a fin de lograr
versiones mejoradas. Cada capa, desde el núcleo que es la más interna, hasta el
shell que es la más externa, es un conjunto de programas que cumplen con una
determinada tarea.
El núcleo o kernel administra al
microprocesador. Decide que proceso o tarea tendrá oportunidad de utilizar el
microprocesador, llevando el control del estado de los mismos. Un proceso o tarea es un programa en
ejecución.
La capa de administración de memoria
se encarga de la gestión de las memorias del computador. Lleva un registro de
cuáles memorias se están utilizando y cuáles no. En el caso de las memorias en
uso, también lleva un control del espacio libre.
La capa de administración de
dispositivos de entrada/salida atiende los aspectos ligados a los periféricos.
Se encarga de poder establecer la comunicación entre estos y el microprocesador
o la memoria principal.
La capa de administración de
archivos es la encargada de crear, leer, modificar y borrar los archivos.
Lleva el control de la posición y el estado de cada archivo.
El Shell es el intérprete de
comandos, y permite relacionar al sistema operativo con el usuario del
computador.
Por su parte, el hardware realiza las funciones básicas para la ejecución
de instrucciones. No forma parte del sistema operativo.
Esquemáticamente:
Estructura en capas de un sistema operativo
Tipos de sistemas operativos
En función de la cantidad de procesos o usuarios que puedan hacer uso de los recursos del computador, existen distintos tipos de sistemas operativos.
Un sistema operativo monotarea o monoprogramación, es aquel que puede tener un solo proceso (programa) en la memoria, y al cual le asigna todos los recursos. Para poder ejecutar otro proceso debe finalizar el anterior.
Algunos estudios demostraron que del 60 al 80% del tiempo que un proceso está en memoria, realiza operaciones de entrada/salida, y el resto hace uso del microprocesador. En un intento de aumentar la utilización del microprocesador logrando que siempre tenga instrucciones para ejecutar, surge el sistema operativo multitarea o multiprogramación.
Un sistema multitarea o multiprogramación es aquel que permite que en el microprocesador se intercalen instrucciones de diferentes procesos. Con esto se logra tener más de un proceso en memoria, de tal manera que mientras un proceso realiza operaciones de entrada/salida, hay otro que hace uso del microprocesador.
A su vez, un sistema operativo multiproceso, es aquel que utiliza más de un microprocesador simultáneamente, compartiendo la memoria central, las memorias auxiliares y los periféricos. Esto permite una verdadera simultaneidad en la ejecución de procesos.






No hay comentarios:
Publicar un comentario