0% encontró este documento útil (0 votos)
32 vistas6 páginas

Sistema Operativo

El documento define un sistema operativo y describe su historia y funciones principales. Un sistema operativo gestiona los recursos del hardware, provee servicios a los programas de aplicación, y ejecuta programas en modo privilegiado. Algunas funciones clave incluyen gestionar la memoria, CPU, entrada/salida, archivos, y autorizaciones de usuario. Los primeros sistemas operativos mejoraron la utilización de computadoras al procesar trabajos por lotes. Versiones posteriores fueron multiprogramadas para mejorar el rendimiento al solapar E/I y c

Cargado por

vengatureyno2022
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas6 páginas

Sistema Operativo

El documento define un sistema operativo y describe su historia y funciones principales. Un sistema operativo gestiona los recursos del hardware, provee servicios a los programas de aplicación, y ejecuta programas en modo privilegiado. Algunas funciones clave incluyen gestionar la memoria, CPU, entrada/salida, archivos, y autorizaciones de usuario. Los primeros sistemas operativos mejoraron la utilización de computadoras al procesar trabajos por lotes. Versiones posteriores fueron multiprogramadas para mejorar el rendimiento al solapar E/I y c

Cargado por

vengatureyno2022
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

¿Qué es un sistema operativo?

Un sistema operativo (SO) es el conjunto de programas de un sistema


informático que gestiona los recursos del hardware y provee servicios a los
programas de aplicación de software. Estos programas se ejecutan en modo
privilegiado respecto de los restantes.
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 los aparatos electrónicos que
utilizan microprocesadores para funcionar, llevan incorporado un sistema
operativo (teléfonos móviles, reproductores de DVD, computadoras,
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.
El sistema operativo de escritorio dominante es Microsoft Windows con una
cuota de mercado de alrededor del 75,88%. macOS de Apple Inc. ocupa el
segundo lugar (13,23%), y las variedades de GNU/Linux están colectivamente
en tercer lugar (1,57%).2 En el sector móvil (incluidos teléfonos inteligentes y
tabletas), la participación de Android es de hasta un 70% en el año 2017.3 Las
distribuciones Linux son dominantes en los sectores de servidores y
supercomputación.4 Existen otras clases especializadas de sistemas
operativos, como los sistemas integrados y en tiempo real, para muchas
aplicaciones.
Funciones principales
Algunas de las funciones principales de un sistema operativo son las
siguientes:
 Gestionar la memoria de acceso aleatorio y ejecutar las aplicaciones,
designando los recursos necesarios: El sistema operativo es
responsable de administrar eficientemente la memoria RAM y asignar
los recursos necesarios a las aplicaciones en ejecución. Además de
asignar memoria, también gestiona la liberación de memoria cuando una
aplicación ya no la necesita.
 Administrar la CPU gracias a un algoritmo de programación: El sistema
operativo coordina el uso de la CPU entre las diferentes tareas y
procesos que se ejecutan en el sistema. Utiliza algoritmos de
programación para determinar el orden y la prioridad de ejecución de los
procesos, asegurando un uso equitativo de los recursos de la CPU.
 Gestionar las entradas y salidas de datos a través de los periféricos:
Además de direccionar las entradas y salidas de datos, el sistema
operativo proporciona controladores (drivers) para interactuar con los
periféricos de entrada y salida, como teclados, mouse, impresoras,
discos duros externos, entre otros. Estos controladores permiten que los
dispositivos se comuniquen correctamente con el sistema operativo y las
aplicaciones.
 Administrar la información para el buen funcionamiento del sistema: El
sistema operativo gestiona información esencial para el funcionamiento
del sistema, como la tabla de procesos, la tabla de archivos abiertos y
otros datos relevantes. Además, realiza tareas de monitoreo y gestión
del rendimiento para asegurar un funcionamiento óptimo del sistema.
 Dirigir las autorizaciones de uso para los usuarios: El sistema operativo
proporciona un mecanismo de autenticación y autorización para
garantizar que los usuarios accedan solo a los recursos y funciones para
los cuales tienen permisos. Esto incluye la gestión de cuentas de
usuario, contraseñas y asignación de privilegios.
 Administrar los archivos: El sistema operativo maneja las operaciones
relacionadas con la gestión de archivos, como la creación, modificación,
eliminación y acceso a los archivos en el sistema de almacenamiento.
Esto implica la organización de los archivos en directorios o carpetas, el
control de acceso a los archivos y la implementación de mecanismos de
seguridad para proteger la integridad y confidencialidad de la
información.

Antecedentes
Los primeros sistemas (1945-1954) eran grandes máquinas operadas desde la
consola maestra por los programadores. Durante la década siguiente (1955-
1965) se llevaron a cabo avances en el hardware: lectoras de tarjetas,
impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el
software: compiladores, ensambladores, cargadores, manejadores de
dispositivos, etc.

A finales de los años 1980, una computadora Commodore Amiga equipada con
una aceleradora Video Toaster era capaz de producir efectos comparados a
sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave
ayudó a producir muchos programas de televisión y películas, entre las que se
incluyen Babylon 5, SeaQuest DSV y Terminator 2.5

Problemas de explotación y soluciones iniciales


El problema principal de las primeras computadoras era su baja utilización, la
primera solución fue poner un operador profesional que lo manejase, con lo
que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la
velocidad.
Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que
se conoce como procesamiento por lotes (batch processing) sin automatizar.

Monitores residentes

Fichas en lenguaje de procesamiento por lotes, con programa y datos, para


ejecución secuencial.
Según fue avanzando la complejidad de los programas, fue necesario
implementar soluciones que automatizaran la organización de tareas sin
necesidad de un operador. Debido a ello se crearon los monitores residentes:
programas que residían en memoria y que gestionaban la ejecución de una
cola de trabajos.

Un monitor residente estaba compuesto por un cargador, un Intérprete de


comandos y un controlador (drivers) para el manejo de entrada/salida.

Sistemas con almacenamiento temporal de E/S


Los avances en el hardware crearon el soporte de interrupciones y
posteriormente se llevó a cabo un intento de solución más avanzado: solapar la
E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de
búfers con el siguiente funcionamiento:

Un programa escribe su salida en un área de memoria (búfer 1).


El monitor residente inicia la salida desde el buffer y el programa de aplicación
calcula depositando la salida en el buffer 2.
La salida desde el buffer 1 termina y el nuevo cálculo también.
Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al
buffer 1.
El proceso se puede repetir de nuevo.
Los problemas surgen si hay muchas más operaciones de cálculo que de E/S
(limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S
que de cálculo (limitado por la E/S).

Spoolers
Hace aparición el disco magnético con lo que surgen nuevas soluciones a los
problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado
previo de los datos de dispositivos lentos y se sustituyen por discos (un disco
puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo
con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo
que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

Sistemas operativos multiprogramados


Surge un nuevo avance: el hardware con protección de memoria, ofreciendo
nuevas soluciones a los problemas de rendimiento:

Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.


Se pueden mantener en memoria varios programas.
Se asigna el uso de la CPU a los diferentes programas en memoria.
Con los cambios anteriores el monitor residente debe abordar nuevas tareas,
naciendo los Sistemas Operativos multiprogramados con las siguientes
funciones:

Administrar la memoria.
Gestionar el uso de la CPU (planificación).
Administrar el uso de los dispositivos de E/S.
Cuando desempeña esas tareas, el monitor residente se transforma en un
sistema operativo multiprogramado.
Llamadas al sistema
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 solo 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 esta 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.

Interrupciones y excepciones
El SO ocupa una posición intermedia entre los programas de aplicación y el
hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya
que hay situaciones en las que es el hardware el que necesita que se ejecute
código del SO. En tales situaciones el hardware debe poder llamar al sistema,
pudiendo deberse estas llamadas a dos condiciones:
Algún dispositivo de E/S necesita atención.
Se ha producido una situación de error al intentar ejecutar una instrucción del
programa (normalmente de la aplicación).
En ambos casos, la acción realizada no está ordenada por el programa de
aplicación, es decir, no figura en el programa.

También podría gustarte