Está en la página 1de 7

Sistemas Operativos

Definiciones, características, funciones y administrador de recursos

Previo

Cuando se enciende el computador, el BIOS (Sistema Básico de Entrada y Salida) es lo primero


que se ejecuta y verifica que todos los dispositivos (teclado, monitor,…) estén conectados
perfectamente. Si la operación es exitosa, el Sistema Operativo toma el control para administrar
todo el sistema computacional.

Definiciones

Stallin (2007) señala que un sistema operativo (SO) es un programa (conjunto de programas) que
controla la ejecución de aplicaciones y programas que actúa como interfaz entre las aplicaciones
y el hardware del computador, sus objetivos son:
 Facilidad de uso
 Eficiencia
 Capacidad para evolucionar

Es un gestor de recursos utilizados para el transporte, almacenamiento y procesamiento de


datos. Administra todos los dispositivos y proporciona a los programas de usuario una interfaz
más sencilla para comunicarse con el hardware.

Punto de Vista del usuario

La mayoría de los usuarios que se sientan frente a un computador disponen de un monitor, un


teclado, un ratón, entre otros accesorios. Un sistema así se diseña para que un usuario
monopolice sus recursos. El objetivo es maximizar el trabajo que el usuario realice. En este caso,
el sistema operativo se diseña para que sea de fácil uso, presentando algo de atención al
rendimiento y ninguna a la utilización de recursos (en cuanto a si se usa mucho o no). En otros
casos, un usuario se sienta frente a un terminal conectado a un mainframe. Otros usuarios
acceden simultáneamente a través de otros terminales, estos usuarios comparten recursos y
pueden intercambiar información. En este caso, el sistema operativo se diseña para maximizar la
utilización de recursos, asegurar que todo el tiempo de CPU, memoria y E/S disponibles se usen
en forma eficiente.

Punto de vista del sistema

El sistema operativo es el programa más íntimamente relacionado con el hardware. En este


contexto, se puede ver el sistema operativo como un asignador de recursos.

Definición de S.O

Es un conjunto de programas destinados a permitir la comunicación del usuario con un


computador y gestionar sus recursos de manera eficiente.
Comienza a trabajar cuando se enciende el computador, inmediatamente después de la
ejecución del BIOS, para la gestión del hardware de la máquina desde los niveles más básicos.
Tiene como misión administrar todos los elementos de un sistema complejo. Debe realizar un
reparto ordenado y controlado de los procesadores, memorias y dispositivos de E/S entre los
diversos programas que compiten por obtenerlos.

Ejemplo (Tanenbaum, 2003)

Si tres programas que se ejecutan en alguna computadora tratarán de imprimir sus salidas al
mismo tiempo en la misma impresora. Si no se ordena tal situación, representaría un problema
porque probablemente habría mezcla de líneas de los tres programas.
Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos
electrónicos sin necesidad de estar conectados a una computadora y que utilicen
microprocesadores para funcionar, debido a que gracias a estos se puede entender la máquina y
que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios y
otros).

Importante sobre S.O

 Capa que facilita el uso del computador


 Máquina ampliada (servicios a los programas)
 Oculta toda la complejidad del hardware al programador
o Presenta un conjunto de funciones más fácil de programar que el hardware.
Ejemplo: LEER BLOQUE DE FICHERO (Archivo)
o Presenta al usuario una máquina virtual
 Gestor de recursos (UCP, memoria, E/S) entre los programas activos y de forma
ordenada.
 Lleva la cuenta de quién emplea los recursos, contabiliza su utilización y decide la
concesión a diferentes programas o usuarios en caso de conflicto
 Soporte de usuario (mandatos)

El sistema operativo funciona como intermediario para que el usuario pueda comunicarse con el
hardware y así el sistema pueda proporcionar un ambiente en donde el usuario pueda ejecutar
programas. Esta relación hace que el sistema operativo y el hardware funcionen de manera
eficiente. Un sistema operativo forma parte de un sistema de computación y este se divide en
cuatro partes:
 El hardware
 El SO
 Los programas de aplicación
 Los usuarios

¿Por qué es un sistema?


Estas partes hacen las veces de capas, cada una de las cuales acerca más al usuario a utilizar los
recursos del hardware. El hardware (CPU, memoria y dispositivos) proporciona los recursos de
computación básicos sobre los que se agregaran estas capas sucesivas. Los programas de
aplicación como los compiladores, juegos, aplicaciones de negocios, entre otros. Define la forma
en que estos recursos se emplearán para solucionar los problemas del usuario.
Un usuario no necesariamente es una persona.
Puede haber varias clases de usuarios usando el sistema, como son personas, programas y otras
computadoras tratando de resolver diversos problemas. El SO controla y coordina el uso del
hardware entre los diversos programas de aplicación y los distintos usuarios, administrando todos
los recursos como disco, memoria, impresoras, monitor. El SO determina los tiempos en que un
determinado programa utilizará un recurso dado.

Características:
 Hace más conveniente el uso de una computadora.
 Permite que los recursos de la computadora se usen de manera correcta y eficiente.
 Evoluciona hacia nuevas funciones.
 Administra el hardware.
 Se comunica con los periféricos cuando el usuario así lo requiera. Maneja
comunicaciones en red.
 Facilita el manejo de dispositivos de entrada y salida.
 Permite el compartimiento de la información (datos) y hardware entre los usuarios.

Funciones de los S. O.
 Asignación de tiempo de CPU:
o Planificar las diversas actividades.
 Control de recursos:
o Asignar recursos de forma racional. Ejemplo: División de la memoria del
computador entre los programas, controlar colas de E/S.
 Control de entrada/salida:
o Gestionar los datos desde y hacia los periféricos.
 Control de los errores y protección:
o Informar sobre las situaciones anómalas
 Interfaz con el usuario:
o Facilita el uso.
 Facilidades contables:
o Cálculo de costes de uso de CPU.
Sistema Operativo como Administrador de Recursos

Un sistema informático tiene muchos recursos que pueden ser necesarios para solucionar un
problema: Tiempo de CPU, espacio de memoria, espacio de almacenamiento de archivos,
dispositivos de E/S por nombrar algunos. Al enfrentarse a potenciales conflictivas solicitudes
de recursos, el SO debe decidir cómo asignarlos a programas y usuarios específicos, de modo
que la computadora pueda operar en forma eficiente y equitativa.
A continuación se mencionan algunos de esos recursos:

Procesador

De la memoria principal será seleccionado un proceso de acuerdo a algún algoritmo de


planificación o calendarización. Un procesador ejecuta solo un trabajo, por lo tanto varios
procesos pueden competir por el mismo. El sistema operativo como planificador debe rotar el
procesador entre ellos para que el sistema sea justo. Un proceso es cualquier programa que
se esté ejecutando, solo que existen procesos de procesos, por ejemplo no es lo mismo
atender al SO que a un proceso de un usuario. Cuando el
CPU atiende a al SO, es porque está en un trabajo administrativo como compactando la
memoria o el disco. Se puede decir que tal actividad es privilegiada y está por encima de la
actividad relacionada con el usuario.

Memoria

Lo ideal sería que fuera extremadamente rápida, con tamaño de sobra y de costo
insignificante. Actualmente esto no ocurre.
La memoria se divide en niveles de almacenamiento que van desde la Cache, RAM y
Secundaria, entre otras. Dependiendo de cuál de ellas sea, la relación capacidad de
almacenamiento y velocidad serán contrarias. Significa esto que la caché es más rápida, pero
la capacidad de almacenamiento es baja.
Ocurre lo contrario si se refiere a disco. De ellas interesa en este tema la memoria principal.
En memoria serán ubicados procesos para su próxima ejecución, Existen estrategias para
traer, colocar y reemplazar un proceso o partes de él.

Entrada y Salida

Tiene dos partes (la controladora y el dispositivo en sí). La controladora es un chip o conjunto
de chips insertos en la tarjeta madre que controla físicamente al dispositivo. Las operaciones
de E/S pueden ejecutarse de esta manera:
Un programa de usuario emite una llamada al sistema, que el kernel traduce en una llamada
de procedimiento al controlador de dispositivo apropiado.
Entonces el controlador de dispositivo inicia la E/S y entra en un ciclo corto que pregunta
continuamente al dispositivo para ver si ya terminó. Cuando termina la operación de entrada
y salida, el controlador de dispositivo coloca los datos donde se necesitan y regresa.
Conceptos claves que afectan el diseño de un sistema operativo

 Interrupciones

Es un mecanismo que permite ejecutar un bloque de instrucciones interrumpiendo la


ejecución de un programa, y luego restablecer la ejecución del mismo sin afectarlo
directamente.  De este modo un programa puede ser interrumpido temporalmente para
atender alguna necesidad urgente de la computadora y luego continuar su ejecución de
manera normal y como si nada hubiera pasado.

Son un método del que disponen los dispositivos e incluso los procesos para hacer notar a la
unidad central de procesamiento o CPU la aparición de alguna circunstancia que requiera su
intervención. De este modo, los dispositivos pueden provocar que el procesador deje por el
momento la tarea que estaba realizando y atienda la interrupción. Una vez atendida, seguirá
con su labor anterior.

 Buffering
Un área de memoria principal donde se almacenan datos producto de operaciones de entrada y
salida.
 Reloj
Dispositivo para evitar el monopolio del CPU.
 Spooling
Un dispositivo de alta velocidad se interpone entre un programa en ejecución y un dispositivo de
baja velocidad. El propósito es compartir un recurso, por ejemplo una impresora. Si la impresora
está ocupada, se almacenan los siguientes datos a imprimir en el almacenamiento rápido
mientras se desocupa la impresora.
 Estado problema / Estado supervisor
Se refiere al procesador:
o Estado problema cuando el CPU ejecuta un programa del usuario.
o Estado supervisor cuando ejecuta instrucciones que forman parte del SO.
 Emulación
Es una técnica bajo la cual una máquina se comporta como si fuera otra.
 Relocalización
Se refiere a que las direcciones lógicas no son las mismas direcciones físicas, por lo tanto se
relocalizan las mismas, por ejemplo para la ejecución.
 Reentrancia
Una sola copia de un programa puede ser simultáneamente usada por varios usuarios.
Principios en el desarrollo de sistemas operativos futuros

Existen cuatro principios dominantes que deben regir en el diseño de sistemas operativos futuros
1. Abstracción
El principio de la abstracción es que un nivel del ambiente de software no debe necesitar "saber"
los detalles sobre la implementación en otros niveles. Por ejemplo, un programador no debe
requerir saber qué clase de procesador será usado cuando se ejecute su programa, y un usuario
de correo-electrónico no debe requerir de conocimientos de los protocolos de red.
2. Robustez y gestión de errores
Los sistemas operativos futuros deben ser extremadamente robustos. Sus metas:
 Ninguna acción del usuario debe hacer que el sistema comporte en una extraña o ilógica
manera
 Debe ser imposible que cualquier programa interrumpa el funcionamiento de otros
programas, o de la máquina en su totalidad. Sin importar las acciones y las decisiones del
usuario y del programador, la computadora nunca debe "colapsarse”. Además, cualquier
acontecimiento inesperado se debe manejar de una manera práctica. Los problemas que
el sistema operativo no puede solucionar se deben señalar al usuario de una manera no-
secreta (tales como un "cuadro de diálogo"), y se deben explicar de una manera no técnica
(utilizar un lenguaje dependiendo del módulo de programación).
 El sistema debe enumerar claramente las opciones de las cuales el usuario debe elegir.
3. Estandarización
Actualmente, hay numerosos sistemas operativos y sistemas de hardware que se comportan de
varias maneras. Por lo tanto, la comunicación entre las máquinas de diferente arquitectura es
difícil, y esta situación es confusa para cualquier usuario que procure cambiarse de una
plataforma a otra. Esta confusión da lugar a un costo significativo debido a la capacitación y al
tiempo perdido durante la transición y fase de aprendizaje.
Un sistema operativo bien diseñado debe ser estandardizado de una manera tal que se adapte y
siga siendo útil indefinidamente. Debe crecer en a la par con la tecnología de cómputo, la
visualización, y tecnologías de interacción, y preferencias del usuario. La naturaleza modular
del sistema operativo del mañana será tal que piezas del sistema serán continuamente
modificadas y puestas al día reflejar estos cambios. Para que estas características sean posibles,
el sistema requerirá:
 un conjunto muy bien definido de los estándares públicos disponibles (para la
comunicación entre las capas y los objetos).
 que este conjunto de estándares se desarrolle con un cierto plazo de tiempo, pero que
siga siendo claro y conciso
 que los estándares no cambien tan rápidamente como para causar problemas de
compatibilidad o altos costos de cambio de hardware.
4. Diseño para facilidad de empleo y desarrollo de software
La mayoría de los sistemas operativos actuales fueron diseñados para ser fáciles de poner en
ejecución. En contraste, los sistemas operativos de mañana serán diseñados para el uso fácil y el
desarrollo fácil. El diseño será hecho con pocas disminuciones en cuanto a su facilidad de
implementación con excepción de su modularidad y estandardización inherentes. Debido a estos
buenos principios del diseño, el sistema operativo del mañana no será difícilmente de
implementar. Estas mismas cualidades facilitarán el trabajo de los programadores también, en
cuanto a la mayoría de los proyectos de desarrollo necesitarán solamente ensamblar objetos de
alto nivel. Esos módulos que deben escribir para sí mismos serán reutilizables y fácilmente
adaptables a las necesidades de cada programador.
Perspectivas de los Sistemas Operativos en las Empresas fabricantes de Hardware y Software

Desde los primeros días de las computadoras modernas, la tecnología del hardware ha
progresado lejos más rápidamente que el software que la acompaña. Por ejemplo, existen
computadoras que poseen un hardware con un funcionamiento veloz e increíble, pero el
software (Sistema Operativo) que estas máquinas poseen es tan pobre que son extremadamente
difíciles de programar. Debido al estado inmaduro de estos sistemas operativos, estas
computadoras funcionan solamente en una fracción pequeña de su velocidad máxima mientras
que trabajan bajo cargas de trabajo típicas.
Es por lo anterior que la industria del software debe ahora dedicar más tiempo y energía al
desarrollo de este. Una vez que la tecnología del software alcance el nivel de la tecnología del
hardware, los sistemas serán no sólo más de gran alcance y prácticos, sino que utilizarán sus
recursos de hardware mucho más eficientemente.
Con la llegada de los nuevos Sistemas Operativos, el hardware se aprovechará al máximo y se
reducirá esa brecha tan grande de rapidez que existe entre el hardware y el software que lo
controla. Con estos Sistemas Operativos se llegará a concretar o consolidar lo que se llama la
quinta generación de computadoras, la cual pretende multiplicar la velocidad, disponer
procesamientos paralelos, diseñar una arquitectura de hardware-software muy superior y utilizar
el lenguaje natural.
La renovación que aportarán los sistemas operativos es múltiple. Ya no viene determinada
únicamente por la introducción de cambios material o de hardware, sino por la combinación de
novedades en el material y en la programación.
El tipo de trabajo propio que realizarán el hardware y software de la quinta generación no solo
en el tratamiento de datos, sino en la adquisición de información y, a partir de los materiales y
estructuras de que dispone, en la elaboración de conocimientos, la elaboración inteligente del
saber (aprendizaje constructivo). Se anuncia el aprovechamiento de la computadora para
adquirir conocimientos artificialmente, a través de las máquinas. A partir de esto, estas ya no
solo aportarán fuerza o habilidad, sino que también proveerán al hombre de un conocimiento del
mundo.
Una buena parte de las investigaciones actuales sobre el kernel o núcleo se concentra construir
sistemas operativos extensibles, lo que significa permitir a los usuarios añadir su propio código al
kernel. Una reflexión sobre esto último es “garantizar la seguridad al permitir extensiones”.

También podría gustarte