Вы находитесь на странице: 1из 30

ESCUELA TECNOLOGICA

INSTITUTO TECNICO CENTRAL

INTRODUCCION A LA COMPUTACION

SISTEMAS OPERATIVOS
CONTENIDO

¿Qué es un sistema operativo?

Tipos de Sistemas Operativos.

Administración de procesos.

S.O. Representativos.
Una definición posible y bastante aceptada
define un sistema operativo como una
capa compleja entre el hardware y el
usuario, concebible también como una
máquina virtual, que facilita al usuario o al
programador las herramientas e
interfaces adecuadas para realizar sus
tareas informáticas, abstrayéndole de los
complicados procesos necesarios para
llevarlas a cabo.
Sistemas
Operativos

Hardware Programas

Usuarios
Los sistemas operativos, motivados por su
condición de capa software que posibilita y
simplifica el manejo de la computadora,
desempeñan una serie de funciones básicas
esenciales para la gestión de la máquina. Entre
las más destacables, cada una ejercida por un
componente interno (módulo en núcleos
monolíticos y servidor en microkernels),
podemos reseñar las siguientes:
Gestión de los recursos de la máquina.
Ejecución de servicios para los programas
Ejecución de instrucciones (comandos) de los
usuarios.
A su vez, los servicios principales ofertados
por un sistema operativo, accesibles y
manipulables a través de su API de
programación, son los siguientes:
Gestión de procesos.
Gestión de memoria.
Gestión de la E/S (Entrada/Salida).
Gestión de archivos y directorios.
Comunicación y sincronización entre procesos.
Seguridad y protección.
Administración de tareas:
Monotarea: Si solamente puede ejecutar un
programa (aparte de los procesos del propio
S.O.) en un momento dado. Una vez que
empieza a funcionar un programa,
continuará haciéndolo hasta su finalización
o interrupción.
Multitarea: Si es capaz de ejecutar varios
programas al mismo tiempo. Este tipo de
S.O. normalmente asigna los recursos
disponibles (CPU, memoria, periféricos) de
forma alternativa a los programas que los
solicitan, de manera que el usuario percibe
que todos funcionan a la vez.
Administración de usuarios:
Monousuario: Si sólo permite ejecutar los
programas de un usuario al mismo tiempo.
Multiusuario: Si permite que varios usuarios
ejecuten simultáneamente sus programas,
accediendo a la vez a los recursos del
ordenador. Normalmente estos SS.OO. utilizan
métodos de protección de datos, de manera
que un programa no pueda usar o cambiar los
datos de otro usuario.
Manejo de recursos:

Centralizado: Si permite utilizar los


recursos de un solo ordenador.

Distribuido: Si permite utilizar los


recursos (memoria, CPU, disco,
periféricos... ) de más de un ordenador al
mismo tiempo.
ORGANIZACIÓN INTERNA

Kernel monolítico (Linux, BSD, skyOS, Windows, Syllable).

Microkernel (BeOS, Mach, Mac OS X, newOS).

Nanokernel (AdeOS, Eros, KeyKOS, Brix-OS).

VOiD (unununium, TUNES, Vapour).

Sasos (Opal, Mungi, BriX).

VM (Merlin, Argante).

Exokernel (MIT exokernel).

Cache kernel (Universidad de Stanford).


Orientado a objetos (Choices).
Uno de los módulos más importantes de un
sistema operativo es la de administrar los
procesos y tareas del sistema de cómputo.
En esta sección se revisarán dos temas que
componen o conciernen a este módulo: la
planificación del procesador y los
problemas de concurrencia.
Planificación del procesador:
La planificación del procesador se refiere a la
manera o técnicas que se usan para decidir
cuánto tiempo de ejecución y cuando se le
asignan a cada proceso del sistema.
Obviamente, si el sistema es monousuario y
monotarea no hay mucho que decidir, pero en el
resto de los sistemas esto es crucial para el
buen funcionamiento del sistema.
Características a considerar de los procesos
No todos los equipos de cómputo procesan el mismo tipo de
trabajos, y un algoritmo de planificación que en un sistema
funciona excelente puede dar un rendimiento pésimo en otro
cuyos procesos tienen características diferentes. Estas
características pueden ser:
Cantidad de Entrada/Salida:
Ejemplo, aplicaciones de bases de datos.
Cantidad de Uso de CPU:
Ejemplo, operaciones con matrices.
Procesos de Lote o Interactivos:
No es lo mismo el tiempo de lectura de un archivo que la
velocidad en que una persona teclea datos
Procesos en Tiempo Real:
Prioridad para los turnos de ejecución.
Longevidad de los Procesos:
Existen procesos que típicamente requerirán varias horas para
finalizar su labor, mientras que existen otros que solo necesitan
algunos segundos.
Asignación del turno de ejecución

Los algoritmos de la capa baja para asignar el turno de


ejecución se describen a continuación:

Por prioridad
El trabajo más corto primero
El primero en llegar, primero en ejecutarse
Round Robin
El tiempo restante más corto
La tasa de respuesta más alta
Por política
PROBLEMAS DE CONCURRENCIA
En los sistemas de tiempo compartido (aquellos con
varios usuarios, procesos, tareas, trabajos que reparten
el uso de CPU entre estos) se presentan muchos
problemas debido a que los procesos compiten por los
recursos del sistema. Imagine que un proceso está
escribiendo en la unidad de cinta y se le termina su turno
de ejecución e inmediatamente después el proceso
elegido para ejecutarse comienza a escribir sobre la
misma cinta. El resultado es una cinta cuyo contenido es
un desastre de datos mezclados. Así como la cinta,
existen una multitud de recursos cuyo acceso debe ser
controlado para evitar los problemas de la concurrencia.
El sistema operativo debe ofrecer mecanismos para
sincronizar la ejecución de procesos: semáforos, envío
de mensajes, 'pipes', etc.
Condiciones de Carrera o Competencia
Postergación o Aplazamiento Indefinido
Condición de Espera Circular
Condición de No Apropiación
Condición de Espera Ocupada
Condición de Exclusión Mutua
Condición de Ocupar y Esperar un
Recurso
AtheOs Macintosh
Plan9 DOS
OSBOS BSD
SkyOS IBM

Novell Windows
Netware Unix
THEOS Linux
AtheOs
Plan9
OSBOS
SkyOS
THEOS
Macintosh
DOS
BSD
Linux
Ubuntu
Windows
PROXIMA EXPOSICIÓN
INGENIERIA FORENSE

Вам также может понравиться