El sistema operativo es el programa más importante de la
computadora. En realidad es un conjunto de programas que hace dos cosas
fundamentales. Una de ellas
es organizar yadministrar el hardware del equipo:
partes internas y periféricos. Todo pueden funcionar perfectamente, pero sin un
sistema operativo no podemos usarlo. A finales de los años 40, cuando no había
sistemas operativos, los programadores ponían en funcionamiento el hardware repitiendo
constantemente una serie de pasos muy laboriosos. Para automatizar el proceso
se crearon los sistemas operativos.
Pero la parte más evidente es darle al usuario la capacidad de
comunicarse con la computadora. Es decir, dotar a la computadora de una interfaz.
Permite que el usuario se pueda comunicar con la computadora: hace de traductor
entre nosotros y la máquina, y viceversa.
Una interfaz es el conjunto de elementos que permiten la comunicación del usuario con la computadora. Estos
elementos pueden ser palabras, letras, números (alfanuméricos) o imágenes
(gráficos).
El sistema operativo cumple varias funciones:
-Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado. -Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta. -Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o de entrada/salida). -Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir". - Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes. -Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios. -Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.
Componentes o elementos del sistema operativo
El sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software: -Cargador inicial. Se trata de un conjunto de instrucciones que permite el paso de los programas del sistema operativo desde el disco a la memoria RAM. -El núcleo o kernel, que representa las funciones básicas del sistema operativo, como por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación. -Administrador de memoria. Se encarga de la compactación, segmentación, paginación, swapping y gestión de memoria virtual. -El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizado, la gestión de las direcciones físicas, etcétera. - Interface o interfaz de usuario UI: Se encarga de establecer la comunicación con el usuarios y puede tener dos apariencias: De consola (DOS) o puede ser gráfica (GUI, interfaz gráfica de usuario, como el entorno de Windows). Linux tiene varias GUI’s como lo son GNOME y KDE. - El sistema de archivos, que permite que los archivos se registren en una estructura arbórea. -Planificador de trabajos. Asigna tiempo de CPU a cada uno de los programas cargados en memoria para su ejecución. Debe atender a las diversas interrupciones que se generan.
Definición breve:
llamadas que ejecutan los programas de aplicación para pedir algún servicio al
SO.
Cada SO implementa un
conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz
del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las
aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos
un programa diseñado para trabajar sobre el anterior, en general el programa no
funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:
- Las
llamadas correspondientes deben tener el mismo formato.
- Cada
llamada al nuevo SO tiene que dar los mismos resultados que la
correspondiente del anterior.
Modos de ejecución 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 operación diferentes:
- Modo
usuario: el CPU podrá ejecutar sólo las instrucciones del juego
restringido de las aplicaciones.
- Modo
supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.
Llamadas al sistema
Una aplicación,
normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por
lo que si ésta se codifica como una llamada de función, cualquier cambio en el
S.O. haría que hubiera que reconstruir la aplicación.
Pero lo más
importante es que una llamada de función no cambia el modo de ejecución de la
CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que
conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de
la CPU en la llamada (y la recuperación del modo anterior en el retorno).
Esto se hace
utilizando instrucciones máquina diseñadas específicamente para este cometido,
distintas de las que se usan para las llamadas de función.
Bibliotecas de interfaz de llamadas al sistema
Las llamadas al
sistema no siempre tienen una expresión 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 programación.
La aplicación llama a
una función de la biblioteca de interfaz (mediante una llamada normal) y esa
función es la que realmente hace la llamada al sistema.
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
Artículo
principal: 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,
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 ficheros FAT32 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.
Me pareció una información correcta y util para otros usuarios con menos conocimientos en informatica , muy buen trabajo.
ResponderEliminar