Un sistema
operativo (SO, frecuentemente OS, del
inglés Operating System) es un programa o
conjunto de programas que en un sistema informático gestiona los
recursos de hardware y
provee servicios a los programas
de aplicación,
ejecutándose en modo privilegiado respecto de los restantes y
anteriores próximos y viceversa.2
Nótese
que es un error común muy extendido denominar al conjunto completo
de herramientas sistema operativo, es decir, la inclusión en el
mismo término de programas como el explorador
de ficheros,
el navegador
web y
todo tipo de herramientas que permiten la interacción con el sistema
operativo, también llamado núcleo o kernel.
Esta identidad entre kernel y sistema operativo es solo
cierta si el núcleo es monolítico.
Otro ejemplo para comprender esta diferencia se encuentra en la
plataforma Amiga,
donde el entorno
gráfico de usuario se
distribuía por separado, de modo que, también podía reemplazarse
por otro, como era el caso de directory
Opus o
incluso manejarlo arrancando con una línea
de comandos y
el sistema
gráfico.
De este modo, al arrancar un Amiga, comenzaba a funcionar con
el propio
sistema operativo que
llevaba incluido en una ROM,
por lo que era cuestión del usuario decidir si necesitaba un entorno
gráfico para manejar el sistema operativo o simplemente otra
aplicación. Uno de los más prominentes ejemplos de esta diferencia,
es el núcleo
Linux,
usado en las llamadas distribuciones
Linux,
ya que al estar también basadas en Unix,
proporcionan un sistema de funcionamiento similar. Este error de
precisión, se debe a la modernización de la informática llevada a
cabo a finales de los 80, cuando la filosofía de estructura básica
de funcionamiento de los grandes computadores3 se
rediseñó a fin de llevarla a los hogares y facilitar su uso,
cambiando el concepto de computador multiusuario,
(muchos usuarios al mismo tiempo) por un sistema monousuario
(únicamente un usuario al mismo tiempo) más sencillo de
gestionar.4 (Véase AmigaOS, beOS o MacOS como
los pioneros5 de
dicha modernización, cuando los Amiga fueron bautizados con el
sobrenombre de Video Toasters6 por
su capacidad para la Edición
de vídeo en
entorno multitarea round
robin,
con gestión
de miles de colores einterfaces
intuitivos para diseño
en 3D.
Uno
de los propósitos del sistema operativo que gestiona el
núcleo intermediario consiste
en gestionar los recursos de localización y protección de acceso
del hardware, hecho que alivia a los programadores de aplicaciones de
tener que tratar con estos detalles. La mayoría de aparatos
electrónicos que utilizan microprocesadores para
funcionar, llevan incorporado un sistema operativo (teléfonos
móviles, reproductores
de DVD,
computadoras, radios, enrutadores,
etc.). En cuyo caso, son manejados mediante una Interfaz
Gráfica de Usuario,
un gestor
de ventanas o
un entorno
de escritorio,
si es un celular, mediante una consola o control
remoto si
es un DVD y, mediante una línea
de comandos o
navegador web si es un enrutador.
Gestión
de procesos
Un
proceso es simplemente, un programa en ejecución que necesita
recursos para realizar su tarea:tiempo de CPU, memoria, archivos y
dispositivos de E/S. El SO es el responsable de:
·
Crear y destruir procesos
·Parar
y reanudar procesos
·
Ofrecer mecanismos para que los procesos puedan comunicarse y
se sincronicen
La
gestión de procesos podría ser similar al trabajo de oficina. Se
puede tener una lista de tareas a realizar y a estas fijarles
prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo
las tareas de prioridad alta primero y cuando se terminen seguir con
las de prioridad media y después las de baja. Una vez realizada la
tarea se tacha. Esto puede traer un problema que las tareas de baja
prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la
lista para siempre. Para solucionar esto, se puede asignar alta
prioridad a las tareas más antiguas.
Gestión
de la memoria principal
La
memoria es una gran tabla de palabras o bytes que se referencian cada
una mediante una dirección única. Este almacén de datos de rápido
acceso es compartido por la CPU y los dispositivos de E/S, es volátil
y pierde su contenido ante fallos del sistema. El SO es el
responsable de:
·
Conocer qué partes de la memoria están siendo utilizadas y
por quién
·
Decidir qué procesos se cargarán en memoria cuando haya
espacio disponible
·
Asignar y reclamar espacio de memoria cuando sea necesario
Gestión
del almacenamiento secundario
Un
sistema de almacenamiento secundario es necesario, ya que la memoria
principal (almacenamiento primario) es volátil y además muy pequeña
para almacenar todos los programas y datos. También es necesario
mantener los datos que no convenga mantener en la memoria principal.
El SO se encarga de:
·
Planificar los discos.
·
Gestionar el espacio libre.
·
Asignar el almacenamiento.
·
Verificar que los datos se guarden en orden
El sistema de entrada y salida
Consiste
en un sistema de almacenamiento temporal (caché), una interfaz de
manejadores de dispositivos y otra para dispositivos concretos. El
sistema operativo debe gestionar el almacenamiento temporal de E/S y
servir las interrupciones de los dispositivos de E/S.
Sistema de archivos
Los
archivos son colecciones de información relacionada, definidas por
sus creadores. Éstos almacenan programas (en código fuente y
objeto) y datos tales como imágenes, textos, información de bases
de datos, etc. El SO es responsable de:
·
Construir y eliminar archivos y directorios.
·
Ofrecer funciones para manipular archivos y directorios.
·
Establecer la correspondencia entre archivos y unidades de
almacenamiento.
·
Realizar copias de seguridad de archivos.
Existen
diferentes sistemas de archivos, es decir, existen diferentes formas
de organizar la información que se almacena en las memorias
(normalmente discos) de los ordenadores. Por ejemplo, existen los
sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc.
Desde
el punto de vista del usuario estas diferencias pueden parecer
insignificantes a primera vista, sin embargo, existen diferencias muy
importantes. Por ejemplo, los sistemas de ficherosFAT32 y NTFS, que
se utilizan fundamentalmente en sistemas operativos de Microsoft,
tienen una gran diferencia para un usuario que utilice una base de
datos con bastante información ya que el tamaño máximo de un
fichero con un sistema de archivos FAT32 está limitado a 4
gigabytes, sin embargo, en un sistema NTFS el tamaño es
considerablemente mayor.
Sistemas
de protección
Mecanismo
que controla el acceso de los programas o los usuarios a los recursos
del sistema. El SO se encarga de:
·
Distinguir entre uso autorizado y no autorizado.
·
Especificar los controles de seguridad a realizar.
·
Forzar el uso de estos mecanismos de protección.
Sistema
de comunicaciones
Para
mantener las comunicaciones con otros sistemas es necesario poder
controlar el envío y recepción de información a través de las
interfaces de red. También hay que crear y mantener puntos de
comunicación que sirvan a las aplicaciones para enviar y recibir
información, y crear y mantener conexiones virtuales entre
aplicaciones que están ejecutándose localmente y otras que lo hacen
remotamente.
Programas
de sistema
Son
aplicaciones de utilidad que se suministran con el SO pero no forman
parte de él. Ofrecen un entorno útil para el desarrollo y ejecución
de programas, siendo algunas de las tareas que realizan:
·
Manipulación y modificación de archivos.
·
Información del estado del sistema.
·
Soporte a lenguajes de programación.
·
Comunicaciones.
Gestor de recursos
Como
gestor de recursos, el sistema operativo administra:
·
La unidad central de procesamiento (donde está alojado el
microprocesador).
·
Los dispositivos de entrada y salida.
·
La memoria principal (o de acceso directo).
·
Los discos (o memoria secundaria).
·
Los procesos (o programas en ejecución).
·
Y en general todos los recursos del sistema.
Características
de un sistema operativo moderno.
Funciones
de los sistemas operativos modernos.
1.
Aceptar
todos los trabajos y conservarlos hasta su finalización.
2.
Interpretación
de comandos: Interpreta los comandos que permiten al usuario
comunicarse con el ordenador.
3.
Control
de recursos: Coordina y manipula el hardware de la computadora, como
la memoria, las impresoras, las unidades de disco, el teclado o el
Mouse.
4.
Manejo
de dispositivos de E/S: Organiza los archivos en diversos
dispositivos de almacenamiento, como discos flexibles, discos duros,
discos compactos o cintas magnéticas.
5.
Manejo
de errores: Gestiona los errores de hardware y la pérdida de datos.
6.
Secuencia
de tareas: El sistema operativo debe administrar la manera en que se
reparten los procesos. Definir el orden. (Quien va primero y quien
después).
7.
Protección:
Evitar que las acciones de un usuario afecten el trabajo que está
realizando otro usuario.
8.
Multiacceso:
Un usuario se puede conectar a otra máquina sin tener que estar
cerca de ella.
9.
Contabilidad
de recursos: establece el costo que se le cobra a un usuario por
utilizar determinados recursos.

No hay comentarios:
Publicar un comentario