¿Qué es un sistema operativo?
Un sistema operativo es un programa que tiene encontradas una serie de funciones diferentes cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciéndolo seguro y eficiente.
Maquina desnuda
El término de máquina desnuda se aplica a una computadora carente de sistema operativo, el término es interesante porque resalta el hecho de que una computadora en si misma no hace nada y para realizar una determinada función es necesario que contenga un sistema operativo.
Funciones del sistema operativo
Las funciones clásicas del sistema operativo se pueden agrupar en las tres categorías siguientes:
Gestión de los recursos de la computadora.
Ejecución de servicios para los programas.
Ejecución de los mandatos de los usuarios.
El sistema operativo como gestor de recursos
En una computadora actual suelen coexistir varios programas, del mismo o de varios usuarios, ejecutándose simultáneamente. Estos programas compiten por los recursos de la computadora, siendo el sistema operativo el encargado de arbitrar su asignación y uso. Como complemento a la gestión de recursos, el sistema operativo ha de garantizar la protección de unos programas frente a otros y ha de suministrar información sobre el uso que se hace de los recursos.
El sistema operativo como máquina extendida.
El sistema operativo ofrece a los programas un conjunto de servicios, o llamadas al sistema, que pueden solicitar cuando lo necesiten, proporcionando a los programas una visión de máquina extendida. Los servicios se pueden agrupar en las cuatro clases siguientes:
Ejecución de programas
Operaciones de E/S
Operaciones sobre archivos
Detección de tratamiento de errores.
Arranque de la computadora
El arranque de una computadora actual tiene dos fases:
Arranque hardware
Arranque software
Que por el arranque hardware se entiende que es la parte dura es decir el inicio o encendido de todos los componentes de la PC
Ahora el arranque software es el inicio del sistema operativo en una computadora
Componentes y estructura del sistema operativo
El sistema operativo está formado por una serie de componentes especializados en determinadas funciones. Cada sistema operativo estructura estos componentes de forma distinta. En esta sección se describen en primer lugar los distintos componentes que conforman un sistema operativo.
Componentes del sistema operativo
Un sistema operativo está formado por tres capas:
El núcleo
Los servicios y el intérprete de mandatos o shell.
El núcleo es la parte del sistema operativo que interacciona directamente con el hardware de la máquina. Las funciones básicas de manipulación de menmoria.
Estructura del sistema operativo
Internamente los sistemas operativos estructuralmente de se clasifican según como se hayan organizado internamente en su diseño, por esto la clasificación más común de los sistemas operativos son:
Sistemas monolíticos
En estos sistemas operativos se escriben como un conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada una tiene la libertad de llamar a cualquiera otra, si la última ofrece algún cálculo útil que la primera necesite.
Para construir el programa objeto real del sistema operativo cuando se usa este método, se compilan todos los procedimientos individuales a archivos que contienen los procedimientos y después se combinan todos en un solo archivo objeto con el enlazador.
En términos de ocultamiento de información, esencialmente no existe ninguno; todo procedimiento es visible para todos (al contrario de una estructura que contiene módulos o paquetes, en los cuales mucha información es local a un módulo y sólo pueden llamar puntos de registro designados oficialmente del exterior del módulo)
Sistemas operativos estructurados
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.
Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interfase con el resto de elementos
Cliente-servidor
El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas.
Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales.
El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro.
Gestión de procesos
Uno de los módulos más importantes de un sistema operativo es la de administrar los procesos y tareas del sistema de cómputo. En esta sección se revisarán dos temas que componen o conciernen a este módulo: la planificación del procesador y los problemas de concurrencia.
Planificación del procesador
La planificación del procesador se refiere a la manera o técnicas que se usan para decidir cuánto tiempo de ejecución y cuando se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema.
Niveles de planificación
En los sistemas de planificación generalmente se identifican tres niveles: el alto, el medio y el bajo. El nivel alto decide que trabajos (conjunto de procesos) son candidatos a convertirse en procesos compitiendo por los recursos del sistema; el nivel intermedio decide que procesos se suspenden o reanudan para lograr ciertas metas de rendimiento mientras que el planificador de bajo nivel es el que decide que proceso, de los que ya están listos (y que en algún momento paso por los otros dos planificadores) es al que le toca ahora estar ejecutándose en la unidad central de procesamiento. En este trabajo se revisaran principalmente los planificadores de bajo nivel porque son los que finalmente eligen al proceso en ejecución.
Gestión de memoria
El gestor de memoria es uno de los componentes principales del sistema operativo. Su actividad se centra fundamentalmente en la categoría de gestión de recursos, puesto que tiene por objetivo casi exclusivo la gestión del recurso memoria, en este sentido se encarga de:
Asignar memoria a los procesos para crear su imagen de memoria.
Proporcionar memoria a los procesos cuando la soliciten y liberarla cuando así lo requieran.
Tratar los posibles errores de acceso a memoria, evitando que unos procesos interfieran en la memoria de otros.
Permitir que los procesos puedan compartir memoria entre ellos. De esta forma los procesos podrán comunicarse entre ellos.
Gestionar la jerarquía de memoria y tratar los fallos de página en los sistemas con memoria virtual.
Servicios
El gestor de memoria ofrece una serie de servicios a los procesos. Estos son:
Solicitar memoria
Liberar memoria
Compartir memoria.
Gestión de la E/S
Una de las principales funciones de un sistema operativo es la gestión de los recursos de la computadora y, en concreto, de los dispositivos periféricos. El gestor de E/S debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos:
Facilitar el manejo de los dispositivos periféricos. Para ello ofrecer una interfaz sencilla, uniforme y fácil de utilizar entre los dispositivos, y gestionar los errores que se pueden producir en el acceso a los mismos.
Ofrecer mecanismos de protección que impidan a los usuarios acceder sin control a los dispositivos periféricos.
Gestión de Archivos y directorios.
El servidor de archivos es la parte del sistema operativo que cubre una de las cuatro clases de funciones que tiene este en su faceta de máquina extendida. Los Objetivos fundamentales del servidor de archivos son los dos siguientes:
Facilitar el manejote los dispositivos periféricos. Para ello ofrece una visión lógica simplificada de los mismos en forma de archivos.
Proteger a los usuarios, poniendo limitaciones a los archivos que es capaz de manipular cada usuario.
Los servicios que se engloban en el servidor de archivos son de dos tipos:
Los servicios dirigidos al manejo de datos, o archivos.
Los dirigidos al manejo de los nombres o directorios.
Un sistema de archivos ( file system ) es una estructura de directorios con algún tipo de organización el cual nos permite almacenar, crear y borrar archivos en diferenctes formatos.