Vous êtes sur la page 1sur 6

1.4.

-Clasificacin
Un sistema operativo (SO) es un conjunto de programas o software destinado a
permitir la comunicacin del usuario con un ordenador y gestionar sus recursos de
manera cmoda y eficiente. Comienza a trabajar cuando se enciende el ordenador,
y gestiona el hardware de la mquina desde los niveles ms bsicos. (Wikipedia)
El sistema operativo es el primer programa que funciona cuando se pone en marcha
el ordenador, y gestiona los procesos de ejecucin de otros programas y
aplicaciones, que funcionan sobre l, actuando como intermediario entre los
usuarios y el hardware. El sistema operativo administra todos los recursos como
discos, impresoras, memoria, monitor, altavoces y dems dispositivos. Por ello,
resulta imprescindible para el funcionamiento del ordenador.

CLASIFICACIN DE LOS SISTEMAS OPERATIVOS


Los sistemas operativos se pueden clasificar atendiendo a:

ADMINISTRACIN DE TAREAS:
o MONOTAREA: los que permiten slo ejecutar un programa a la vez
o MULTITAREA: los que permiten ejecutar varias tareas o programas
al mismo tiempo
ADMINISTRACIN DE USUARIOS
o MONOUSUARIO: aquellos que slo permiten trabajar a un usuario,
como es el caso de los ordenadores personales
o MULTIUSUARIO: los que permiten que varios usuarios ejecuten sus
programas a la vez.
ORGANIZACIN INTERNA O ESTRUCTURA
o Monoltico
o Jerrquico
o Cliente-servidor
MANEJO DE RECURSOS O ACCESO A SERVICIOS
o CENTRALIZADOS: si permite utilizar los recursos de un solo
ordenador
o DISTRIBUIDOS: si permite utilizar los recursos (CPU, memoria,
perifricos...) de ms de un ordenador al mismo tiempo

1.5.-Estructura
Estructura de los sistemas Operativos En esta seccin veremos los componentes
de un sistema operativo, los servicios que l brinda y sus posibles estructuras.
1. Componentes de un sistema operativo
Administracin de procesos Administracin de memoria
Subsistema de Entrada/Salida
Administracin de Almacenamiento secundario

Subsistema de archivos
Sistema de proteccin Administracin 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
administracin. 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 sincronizacin y comunicacin entre procesos
Proveer mecanismos para prevenir dead-locks o lograr salir de ellos.
Administracin de Memoria La memoria es un rea de almacenamiento
comn 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 estn siendo usadas, y por quien.
Decidir cuales procesos sern cargados a memoria cuando exista espacio
de memoria disponible, pero no suficiente para todos los procesos que
deseamos.
Asignar y quitar espacio de memoria segn sea necesario. Subsistema de
Entrada/Salida El sistema operativo deber ocultar las caractersticas
especficas de cada dispositivo y ofrecer servicios comunes a todos. Estos
servicios sern, entre otros:
Montaje y desmontaje de dispositivos
Una interfaz entre el cliente y el sistema operativo para los device drivers.
Tcnicas de cache, buffering y spooling.
Device drivers especficos
2 Administracin de Almacenamiento secundario Dado que la memoria RAM
es voltil y pequea para todos los datos y programas que se precisan
guardar, se utilizan discos para guardar la mayora de la informacin. El
sistema operativo ser el responsable de:
Administrar el espacio libre
Asignar la informacin a un determinado lugar
Algoritmos de planificacin 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
coleccin de bytes. El Sistema Operativo deber proveer mtodos para:
Abrir, cerrar y crear archivos
Leer y escribir archivos Sistema de proteccin Antes que nada, tener en
cuenta que por proteccin 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.
2. Servicios del Sistema Operativo El sistema brindar un entorno de ejecucin
de programas donde se dispondr de un conjunto de servicios. Los servicios
principales sern:
Ejecucin 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 proteccin los usuarios no accedern directamente al
dispositivo)
Manipulacin del Sistema de archivos (se deber tener acceso al sistema
de archivos y poder, como mnimo, leer, escribir, borrar y crear)
Comunicacin entre procesos (los procesos debern poder comunicarse, ya
sea que estn en el mismo computador o el diferentes)
Manipulacin 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.)
3. 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 (fcil uso, confiable, rpido, etc.) y las del sistema (fcil de disear,
implementar y mantener, eficiente, etc.). Veremos 3 posibles diseos del
sistema.
Sistema Monoltico Estos sistemas no tienen una estructura definida, sino
que son escritos como una coleccin de procedimientos donde cualquier
procedimiento puede invocar a otro. Ejemplos de estos sistemas pueden ser
MS-DOS o Linux (aunque incluye algo de capas). Es importante tener en
cuenta que ningn sistema es puramente de un tipo.
Sistema en capas El diseo se organiza en una jerarqua de capas, donde
los servicios que brinda una capa son consumidos solamente por la capa
superior. La capa 0 es del Hardware y la N es la de los procesos de Usuario.
Estos sistemas tienen como ventaja que son modulares y la verificacin se
puede hacer a cada capa por separado (son ms mantenibles). Sin embargo
el diseo es muy costoso y es menos eficiente que el sistema monoltico ya
que pierde tiempo pasando por cada capa.
Sistema con microncleo La idea consiste en tener un ncleo que brinde
los servicios mnimos de manejo de procesos, memoria y que provea la
comunicacin entre procesos. Todos los restantes servicios se construyen

como procesos separados del microncleo, que ejecutan en modo usuario.


Estos sistemas tienen como ventaja un diseo simple y funcional, que
aumenta la portabilidad y la escalabilidad. Para agregar un nuevo servicio no
es necesario modificar el nucleo, y es ms seguro ya que los servicios corren
en modo usuario.
1.6.-Ncleo
Controlar y administrar los servicios y peticiones de recursos y de hardware con
respecto a uno o varios procesos, en otras palabras, el kernel es el corazon del
sistema operativo.

Cada sistema operativo tiene un tipo distinto de kernel: asi los Unix mas
tradicionales como FreeBSD usan un kernel " monolitico" en el que esta todo
compilado dentro, otros usan los llamados "microkernels" como el Darwin, Hurd e
incluso Windows (krnl32.dll). GNU/Linux usa un kernel "modular" (vmlinuz); un
nucleo bastante grande comparado con un microkernel, pero que es capaz de
delegar funciones en los llamados " modulos" , partes independientes del nucleo
que pueden ser incorporadas dinamicamente si hacen falta y luego descargadas si
molestan. Asi se pueden cargar "drivers" para hardware, firewall o funciones
especiales de red (ppp, rdsi, etc) cuando se necesiten y cuando por ejemplo, se
cierre la conexion a internet, liberar la memoria que usaba ese modulo.
Interrupciones
Una interrupcion es un evento que altera la secuencia en que el procesador ejecuta
las instrucciones. La interrupcion es generada por el hardware del sistema de
computo.
Cuando ocurre una interrupcion:

El sistema operativo toma el control (es decir, el hardware pasa el control al


sistema operativo).

El sistema operativo guarda el estado del proceso interrumpido. En muchos


sistemas esta informacion se guarda en el bloque de control de proceso
interrumpido.

El sistema operativo analiza la interrupcion y transfiere el control a la rutina


apropiada para atenderla; en muchos sistemas actuales el hardware se encarga de
esto automaticamente.

La rutina del manejador de interrupciones procesa la interrupcion.

Se restablece el estado del proceso interrumpido (o del siguiente proceso).

Se ejecuta el proceso interrumpido (o el siguiente proceso).

Una interrupcion puede ser iniciada especificamente por un proceso en ejecucion


(en cuyo caso se suele denominar trampa (trap), y se dice que esta sincronizada
con la operacion del proceso) o puede ser causada por algun evento que puede
estar relacionado o no con el proceso en ejecucion (en cuyo caso se dice que es
asincrona con la operacion del proceso). Los sistemas orientados hacia las
interrupciones pueden sobrecargarse. Si estas llegan con mucha frecuencia, el
sistema no sera capaz de atenderlas. En algunos sistemas orientados hacia el
teclado, cada tecla presionada almacena en la memoria un codigo de un byte y
genera un interrupcion para informar a la UCP que un caracter esta listo para ser
procesado. Si la UCP no puede procesar el dato antes de que se presione la
siguiente tecla, se pierde el primer caracter.
Despachador-SCHEDULER

Su mision es asignar los procesadores centrales a los procesos. Es llamado cuando


un proceso no puede seguir o puede emplearse mejor en otra parte. Se activa en
las situaciones siguientes:
1.
Tras una interrupcion externa ha cambiado el estado de un proceso.
2.
Despues de que un extracodigo provoque imposibilidad de seguir la
ejecucion de un proceso.
3.
Tras una senal de error se ha suspendido el proceso hasta que no se
haya tratado este.

Estas son causas especiales de interrupcion, esto es, todas ellas consisten en
interrupciones que alteran el estado de algun proceso. El funcionamiento del
dispatcher es el siguiente:
Es el proceso en curso el mas apropiado para ser ejecutado sobre este
1. procesador? (por las razones que sean, prioridad, recursos, etc). Si es asi,
devolver el control a la posicion de memoria senalada por el contador de
programa
(continuar).
En otro caso ir a 2.
2. Salvar el entorno volatil del proceso en curso.
3. Sacar del registro del proceso aquel cuyo entorno volatil es el mas adecuado
para ser ejecutado.
4. Transferir el control a la posicion de memoria indicada por el contador de
programa asociado al nuevo proceso.
Para determinar el proceso mas adecuado para ser ejecutado se ordenan los
procesos ejecutables de acuerdo con algun criterio de prioridad. Las prioridades de
los procesos vienen dadas y por tanto no son mision del dispatcher.
Se utilizara una cola ordenada de modo que en cabeza de la cola este el proceso
mas adecuado, asi la mision del dispatcher es la de ejecutar el primer proceso de la
cola que no este siendo ejecutado.
Se puede tener en lugar de una cola, mas de una. Por ejemplo tres. Una para
aquellos procesos a los que se les permiten dos segundos consecutivos de CPU.
Otra para los que se les permiten 0,25 y otra para los que se les permite solo 0,02
segundos.
Cada cola se sirve con el criterio de "el primero en llegar es el primero en ser
servido". Las colas con menor tiempo tienen mayor prioridad. Los procesos se
colocan inicialmente en la cola de menor tiempo. Si consume todo el tiempo
asignado se transfiere a la siguiente cola en prioridad, asi sucesivamente.
Se consigue asi que los procesos que consumen menos tiempo de procesador,
reciban un proceso rapido, mientras que las tareas habituales uno mas largo.

Vous aimerez peut-être aussi