Está en la página 1de 5

Introduccin a Sistemas Operativos

Qu es un Sistema Operativo?
Mquina desnuda computador carente de sistema operativo
Programa ejecutable fichero que contiene un programa en cdigo binario
(lenguaje mquina) en un formato tal, que procesado adecuadamente posibilita la
construccin de una imagen en memoria para permitir ejecutar dicho programa.
Usuario persona autorizada a utilizar un sistema informtico
Funciones clsicas de un Sistema Operativo
A. Gestin de recursos del computador (kernel la capa ms cercana al hardware,
ejecutada en modo privilegiado y residente en memoria)
- Asignacin de recursos: abstracciones y tcnicas
o Procesador, memoria (pginas, regiones), ficheros (dispositivos),
volmenes, procesos, hilos, seales, pipes, mutex, colas de mensajes,
cuentas de usuarios, grupos de usuarios, credenciales,
o estructuras de seguimiento, polticas de gestin, planificadores,
cuotas, recuperacin,
- Proteccin: entre usuarios y entre trabajos
- Contabilidad: monitorizacin para cargar por el uso o afinar el rendimiento
B. Ejecucin de servicios para los programas en ejecucin (API o conjunto de
llamadas al sistema). Ofrece una mquina extendida a los procesos.
- Ejecucin de programas
- Ordenes de entrada/salida
- Operaciones sobre ficheros
- Deteccin y tratamiento de errores
C. Intrprete de mandatos (shell interfaz para interaccin con el usuario; se
ejecuta en modo usuario y es discutible si forma parte bsica del sistema
operativo)
- Interfaz textual
- Interfaz grfica
- Ficheros de mandatos
Usuarios: autenticacin (contraseas) y plantillas de proteccin
Administrador o superusuario
Grupos de usuarios
Arranque del sistema
1. Memoria ROM que contiene
a. Iniciador ROM independiente del SO. Modo real, sin interrupciones
i. Comprueba el sistema (POST Power-On self-test)
ii. Carga en memoria el boot desde el dispositivo de arranque
seleccionado
iii. Cede control al programa de arranque (boot)
b. Software de E/S (BIOS): disco, teclado, pantalla,
2. Cargador del SO en disco (boot): almacenado en zona predefinida
a. Comprueba el sistema (coherencia del sistema de ficheros)
b. Carga el kernel residente en memoria
c. Inicializa las estructuras de informacin (IDT, tablas de procesos,)

d. Crea las tablas de pginas de memoria y activa la MMU paso a modo


protegido
e. Habilita interrupciones
3. Sistema Operativo en funcionamiento fase inicial
a. Carga mdulos adicionales, generalmente drivers de dispositivos
b. Crea procesos servidores (demonios) iniciales
c. Crea un proceso de inicio o login por cada terminal, y procesos auxiliares
d. El proceso login autentica al usuario mediante contrasea y ejecuta un
shell para interactuar con l
Parada del sistema
Copia a disco de la informacin necesaria mantenida en memoria por razones de
eficiencia; si no se efecta as, el sistema queda corrompido y en el prximo
arranque debe ser reparado
Hibernacin: copia a disco de la imagen completa de memoria principal
rearranque rpido a la misma situacin de apagado
Suspensin (Standby): apagado de casi todo excepto la memoria reanudacin
instantnea
Activacin del Sistema Operativo
El SO despierta a la actividad a causa de:
1. Llamadas al sistema. Instruccin TRAP
2. Interrupciones externas: de E/S, de reloj, de otro procesador
3. Excepciones h/w sncronas o asncronas
La secuencia de activacin es:
1. La interrupcin hace pasar el proceso A a modo privilegiado y pasa control al
kernel
2. EL kernel salva el contexto (estado) del proceso A interrumpido
3. El kernel atiende al servicio solicitado
4. El kernel usa el planificador para seleccionar un nuevo proceso B, si es el
caso
5. El kernel restaura el contexto del proceso B y le cede control
Servicios de sistema (cada llamada-servicio est asociada a un nmero)
La prestacin del servicio puede
- ser inmediato
- requerir bloqueo del proceso solicitante (sncrono)
- proceder dejando continuar al proceso solicitante (asncrono)
Funciones de biblioteca
Arropan a las llamadas al sistema
- preparan los argumentos
- invocan la instruccin TRAP o equivalente
- recuperan los resultados
Tipos de sistemas operativos
1. Monotarea (monoproceso), multitarea (multiproceso)
2. Multiprogramacin: batch (cola de trabajos) o Tiempo-compartido
(interactivo - asociado a terminal)
3. Personal (monousuario) o multiusuario

4. Monoprocesador (una CPU) o multiprocesador (varias CPUs)


5. Mono-thread o multi-thread
6. Cliente (estacin de trabajo personal que recurre a servidores) o servidor
(usuarios: sistemas remotos)
7. Empotrado (interaccionan con un sistema fsico) o de tiempo real (garantizan
la ejecucin del programa en un tiempo determinado)
8. Fijos o mviles (entorno reducido y de bajo consumo)
(nombrar ejemplos reales de SSSO de cada tipo)
Componentes del Sistema Operativo
1. Gestor de procesos
a. Abstraccin: imagen de memoria, estado del procesador, proceso
b. Estructura: Bloque de Control de Proceso
c. Servicios: crear, ejecutar, terminar proceso
2. Gestor de memoria
a. Abstraccin: regiones, memoria virtual, imagen de memoria
b. Estructuras: tablas de pginas
c. Servicios: solicitar, liberar, compartir memoria
3. Comunicacin y sincronizacin de procesos
a. Abstraccin: cauces, semforos, mensajes
b. Servicios: Crear mecanismo, recibir (esperar), enviar (despertar),
destruir
4. Gestor de Entrada/salida
a. Abstraccin: dispositivo como fichero
b. Servicios: los de ficheros (independencia de dispositivo)
c. Tipos: Orientados a caracteres o a bloques
5. Gestor de ficheros y directorios
a. Abstraccin: ficheros atributos, puntero de posicin, bloques,
volumen
b. Servicios de ficheros: abrir, leer, escribir, cerrar, posicionar, crear,
borrar
c. Abstraccin: directorios, jerarqua de nombres
d. Servicios de directorios: crear, abrir, leer, borrar, cambiar de
directorio
Seguridad y proteccin
Autenticacin de usuario mediante contrasea u otro mtodo (ej., huella)
Proteccin de acceso y operacin
a. Por recurso ACL: cada recurso lista usuarios y operaciones
permitidas
b. Por usuario Capacidades: cada usuario lista recursos y
operaciones permitidas
Interfaces
Interfaz de programacin:
Single UNIX Specification UNIX 03 POSIX
Windows API
Interfaz de usuario
a. Alfanumrica

b. Grfica (GUI)
c. Ficheros de mandatos (shell scripts)
Diseo de los Sistemas Operativos
* Monolticos (OS-360, MSDOS, UNIX)
Todos los componentes integrados en un nico programa
Un nico espacio de direcciones
Todas las funciones se ejecutan en modo privilegiado
Desventaja: complejidad, dificultad de mantenimiento y ampliacin
Estructurados:
* Sistema por capas (OS/2, THE)
Jerarqua de capas de programacin
Cada una ofrece un interfaz claro a la capa superior
Ventaja: modularidad
* Cliente/servidor (Minix, Mach, Amoeba, Mac OS X)
Usa un microkernel: SO que se ejecuta en modo privilegiado
Los servicios y funciones del SO se ejecutan en modo usuario
como servidores
El proceso de usuario (cliente) solicita servicio (a los servidores)
mediante paso de mensajes usando el microkernel como
intermediario
Ventajas: flexibilidad y proteccin
Desventaja: merma de rendimiento
* Mquina virtual
duplicado eficiente y aislado de una mquina real o estndar
a. MV de sistema o hardware (Virtual Box, VMWare)
- plataforma completa que soporta la ejecucin de un SO completo
- se llama hipervisor al monitor de la MV
- Tipo I: el hipervisor corre en la mquina fsica
SO invitado (guest) corre en la MV nativa
- Tipo II: el hipervisor corre en un SO anfitrin (host)
SO guest corre encima del SO host
b. MV de proceso (ej., Java JVM, .NET CLI)
- plataforma que soporta un solo proceso ligado a un lenguaje
- emulacin de un sistema no nativo
* SO distribuido (middleware: DCE, DCOM, COM+, Java RMI)
Carga dinmica de mdulos
Modo de recomponer en tiempo de arranque o en vivo la configuracin
de un SO
Aplicado generalmente a manejadores de dispositivos, sistemas de
ficheros, algunas polticas de gestin,
Aplicado generalmente a SSOO personales

ABSTRACCIN
Considerar una cualidad, estado, accin o fenmeno con independencia del objeto en
que existe o por que existe.
El SO simplifica el hardware construyendo una serie de abstracciones:
Proceso: una CPU dedicada a un programa.
Memoria virtual: simula una RAM infinita.
Fichero: memoria permanente de datos con tipo.
Socket: canal de comunicacin de E/S de datos con tipo.
Shell: interfaz de usuario programable
TCNICAS
Ideamos tcnicas para construir abstracciones
Planificadores de recursos: CPUs, discos,etc.
Gestin de memoria: paginacin,...
Sistema de ficheros: designacin,...
Interrupciones, sondeo, buffering
Hebras (threads).
Dominios, listas de acceso, capacidades, criptosistemas de clave pblica,...