Documente Academic
Documente Profesional
Documente Cultură
-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.
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
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:
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.