Está en la página 1de 6

Sistemas Operativos

En el sistema operativo se cumplen cinco funciones consideradas básicas:

 Administración de recursos (esta es la función que le permite al usuario la dirección


del hardware, incluyéndose tanto los periféricos como la red en caso de existir).

 Suministro de interfaz a los usuarios (a partir de esta el usuario podrá cargar


programas, acceder a los archivos y realizar otras tareas en la computadora).

 administración de archivos (permite crear, modificar y hasta eliminar los archivos).

 servicio de soporte y de utilidades (permite actualizar las versiones, incorporar nuevas


y más utilidades, mejorar la seguridad del sistema en función de las necesidades,
controlar los nuevos periféricos que ingresan y también la corrección de errores que
se suscitan en alguno de los software).
 administración de tareas (facilita la administración de todas las tareas informáticas
que lleva a cabo el usuario).

Estructura de los sistemas Operativos

En esta sección veremos los componentes de un sistema operativo, los servicios que él brinda
y sus posibles estructuras.

 Componentes de un sistema operativo


 Administración de procesos
 Administración de memoria
 Subsistema de Entrada/Salida
 Administración de Almacenamiento secundario
 Subsistema de archivos
 Sistema de protección

Administración de Procesos

Para comenzar debemos saber que es un proceso. Un proceso es un programa en memoria +


CPU + acceso a dispositivos + otros recursos. Notemos que un proceso necesita de ciertos
recursos (como CPU, memoria, archivos, dispositivos de E/S, etc.) para realizar su tarea.
Podemos ver entonces que un proceso es una entidad activa, mientras que un programa una
entidad pasiva.
Sabiendo entonces que es un proceso, podemos decir entonces que el sistema operativo es el
encargado de su administración. Es el encargado de proveer servicios para que cada proceso
pueda realizar su tarea. Entre los servicios se encuentran: • Crear y destruir procesos •
Suspender y reanudar procesos • Proveer mecanismos para la sincronización y comunicación
entre procesos • Proveer mecanismos para prevenir dead-locks o lograr salir de ellos.

Administración de Memoria

La memoria es un área de almacenamiento común a los procesadores y dispositivos, donde se


almacenan programas, datos, etc. El sistema deberá administrar el lugar libre y ocupado, y será
el encargado de las siguientes tareas: • Mantener que partes de la memoria están siendo
usadas, y por quien. • Decidir cuales procesos serán cargados a memoria cuando exista espacio
de memoria disponible, pero no suficiente para todos los procesos que deseamos. • Asignar y
quitar espacio de memoria según sea necesario.

Subsistema de Entrada/Salida

El sistema operativo deberá ocultar las características específicas de cada dispositivo y ofrecer
servicios comunes a todos. Estos servicios serán, entre otros: • Montaje y desmontaje de
dispositivos • Una interfaz entre el cliente y el sistema operativo para los device drivers. •
Técnicas de cache, buffering y spooling. • Device drivers específicos

Administración de Almacenamiento secundario

Dado que la memoria RAM es volátil y pequeña para todos los datos y programas que se
precisan guardar, se utilizan discos para guardar la mayoría de la información. El sistema
operativo será el responsable de: • Administrar el espacio libre • Asignar la información a un
determinado lugar • Algoritmos de planificación de disco (estos algoritmos deciden quien
utiliza un determinado recurso del disco cuando hay competencia por él)

Subsistema de Archivos

Proporciona una vista uniforme de todas las formas de almacenamiento, implementando el


concepto de archivo como una colección de bytes. El Sistema Operativo deberá proveer
métodos para: • Abrir, cerrar y crear archivos • Leer y escribir archivos

Sistema de protección

Antes que nada, tener en cuenta que por protección nos referimos a los mecanismos por los
que se controla el acceso de los procesos a los recursos. En un sistema multiusuario donde se
ejecutan procesos de forma concurrente se deben tomar medidas que garanticen la ausencia
de interferencia entre ellos. Estas medidas deben incorporar la posibilidad de definir reglas de
acceso, entre otras cosas.
Servicios del Sistema Operativo

El sistema brindará un entorno de ejecución de programas donde se dispondrá de un conjunto


de servicios. Los servicios principales serán: • Ejecución de programas (el SO deberá ser capaz
de cargar un programa a memoria y ejecutarlo. El programa deberá poder finalizar, de forma
normal o anormal) • Operaciones de E/S (el SO deberá proveer un mecanismo de acceso ya
que por eficiencia y protección los usuarios no accederán directamente al dispositivo) •
Manipulación del Sistema de archivos (se deberá tener acceso al sistema de archivos y poder,
como mínimo, leer, escribir, borrar y crear) • Comunicación entre procesos (los procesos
deberán poder comunicarse, ya sea que estén en el mismo computador o el diferentes) •
Manipulación de errores (el sistema deberá tomar decisiones adecuadas ante eventuales
errores que ocurran, como fallo de un dispositivo de memoria, fallo en un programa, etc.)

Estructura del Sistema

La estructura interna de los sistemas operativos pueden ser muy diferentes, ya que se debe
tener en cuenta las metas de los usuarios (fácil uso, confiable, rápido, etc.) y las del sistema
(fácil de diseñar, implementar y mantener, eficiente, etc.). Veremos 3 posibles diseños del
sistema.

Maquina Virtual
Una máquina virtual no es más que un software capaz de cargar en su interior otro sistema
operativo haciéndole creer que es un PC de verdad. Tal y como su nombre indica, el concepto
es tan sencillo como crear una máquina (PC, consola, móvil o lo que sea) que en vez de ser
física es virtual o emulada.

Hay dos tipos de máquinas virtuales diferenciadas por su funcionalidad: las de sistema y las de
proceso, si bien la gran mayoría de las veces que oigas hablar de una máquina virtual casi
seguro que se estarán refiriendo a las de sistema.

Máquinas virtuales de sistema

Una máquina virtual de sistema es aquella que emula a un ordenador completo. En palabras
llanas, es un software que puede hacerse pasar por otro dispositivo -como un PC- de tal modo
que puedes ejecutar otro sistema operativo en su interior. Tiene su propio disco duro,
memoria, tarjeta gráfica y demás componentes de hardware, aunque todos ellos son virtuales.

Que sus componentes sean virtuales no quiere decir necesariamente que no existan. Por
ejemplo, una máquina virtual puede tener unos recursos reservados de 2 GB de RAM y 20 GB
de disco duro, que obviamente salen de algún sitio: del PC donde está instalada la máquina
virtual, también llamado a veces el hipervisor, el host o el anfitrión. Otros dispositivos podrían
realmente ser inexistentes físicamente, como por ejemplo un CD-ROM que en verdad es el
contenido de una imagen ISO en vez de un lector de CD de verdad.
Para el sistema operativo que se ejecuta dentro de la máquina virtual toda esta emulación es
transparente e invisible. Todo funciona igual a si se estuviera ejecutando en un PC normal, sin
que sepa que en verdad está metido dentro de una burbuja dentro de otro sistema operativo.
De hecho, nada te impide hacer como en la película Inception / Origen y crear otra máquina
virtual dentro de la anterior máquina virtual.

En su burbuja, la máquina virtual no puede acceder al resto de datos de la máquina anfitrión a


pesar de estar físicamente funcionando en la misma, están aisladas. No obstante, las
principales aplicaciones de máquinas virtuales como VirtualBox o VMWare disponen de atajos
y herramientas para facilitar la tarea de pasar archivos de una máquina a otra.

Para funcionar, una máquina virtual mapea los dispositivos virtuales que ofrece a su invitado
con los dispositivos reales presentes en la máquina física. Por ejemplo, la máquina puede estar
emulando una tarjeta de sonido Sound Blaster de 16 bit, aunque en verdad está conectada con
la tarjeta de sonido interna de la placa base de tu PC portátil que es Realtek.

La virtualización puede ser por software o con apoyo mediante el hardware, en cuyo caso se
obtiene un mejor rendimiento. Desde 2005 es común que los procesadores cuenten con
tecnología de virtualización por hardware, aunque no siempre está activada por defecto en la
BIOS.

Máquinas virtuales de proceso

Una máquina virtual de proceso es menos ambiciosa que una de sistema. En vez de emular un
PC por completo, ejecuta un proceso concreto, como una aplicación, en su entorno de
ejecución. Suena algo esotérico, pero lo usas cada vez que ejecutas una aplicación basada en
Java o basada en .NET Framework.
Esto es de utilidad a la hora de desarrollar aplicaciones para varias plataformas, pues en vez de
tener que programar específicamente para cada sistema, el entorno de ejecución (es decir, la
máquina virtual) es el que se encarga de lidiar con el sistema operativo.

Las máquinas virtuales de proceso te permiten disfrutar de aplicaciones que se comportan de


forma igual en plataformas tan distintas como Windows, Mac o Linux, pero tú como usuario
normalmente no les prestarás mucha atención. Por eso, salvo que seas programador,
generalmente cuando se habla de máquinas virtuales nos estamos refiriendo a las de sistema.

Modo de usuario:
Modo donde se ejecutan todos los programas de usuario. No tiene acceso a la RAM y el
hardware. La razón de esto es porque si todos los programas se ejecutaran en modo kernel,
podrían sobreescribir la memoria de los demás. Si necesita acceder a alguna de estas
características, realiza una llamada a la API subyacente. Cada proceso iniciado por Windows,
excepto el proceso del sistema, se ejecuta en modo de usuario.

Modo Kernel:
Modo donde se ejecutan todos los programas kernel (diferentes controladores). Tiene acceso
a todos los recursos y hardware subyacente. Se puede ejecutar cualquier instrucción de CPU y
se puede acceder a todas las direcciones de memoria. Este modo está reservado para los
conductores que operan en el nivel más bajo

También podría gustarte