You are on page 1of 5

Introducción a Sistemas Operativos

¿Qué es un Sistema Operativo?
Máquina desnuda – computador carente de sistema operativo
Programa ejecutable – fichero que contiene un programa en código binario
(lenguaje máquina) en un formato tal, que procesado adecuadamente posibilita la
construcción de una imagen en memoria para permitir ejecutar dicho programa.
Usuario – persona autorizada a utilizar un sistema informático
Funciones clásicas de un Sistema Operativo
A. Gestión de recursos del computador (kernel – la capa más cercana al hardware,
ejecutada en modo privilegiado y residente en memoria)
- Asignación de recursos: abstracciones y técnicas
o Procesador, memoria (páginas, regiones), ficheros (dispositivos),
volúmenes, procesos, hilos, señales, pipes, mutex, colas de mensajes,
cuentas de usuarios, grupos de usuarios, credenciales,…
o estructuras de seguimiento, políticas de gestión, planificadores,
cuotas, recuperación,…
- Protección: entre usuarios y entre trabajos
- Contabilidad: monitorización para cargar por el uso o afinar el rendimiento
B. Ejecución de servicios para los programas en ejecución (API o conjunto de
llamadas al sistema). Ofrece una máquina extendida a los procesos.
- Ejecución de programas
- Ordenes de entrada/salida
- Operaciones sobre ficheros
- Detección y tratamiento de errores
C. Intérprete de mandatos (shell – interfaz para interacción con el usuario; se
ejecuta en modo usuario y es discutible si forma parte básica del sistema
operativo)
- Interfaz textual
- Interfaz gráfica
- Ficheros de mandatos
Usuarios:  autenticación (“contraseñas”) y plantillas de protección
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 información (IDT, tablas de procesos,…)

Monotarea (monoproceso). de reloj. Crea un proceso de inicio o login por cada terminal. Carga módulos adicionales.ser inmediato . Habilita interrupciones 3. multitarea (multiproceso) 2. de otro procesador 3. El kernel restaura el contexto del proceso B y le cede control Servicios de sistema (cada llamada-servicio está asociada a un número) La prestación del servicio puede . Sistema Operativo en funcionamiento – fase inicial a. generalmente drivers de dispositivos b. EL kernel salva el contexto (estado) del proceso A interrumpido 3. Excepciones h/w síncronas o asíncronas La secuencia de activación es: 1.preparan los argumentos .asociado a terminal) 3. Crea procesos servidores (“demonios”) iniciales c. si es el caso 5. Interrupciones externas: de E/S. La interrupción hace pasar el proceso A a modo privilegiado y pasa control al kernel 2. Crea las tablas de páginas de memoria y activa la MMU  paso a modo protegido e. Multiprogramación: batch (cola de trabajos) o Tiempo-compartido (interactivo . el sistema queda corrompido y en el próximo arranque debe ser “reparado”  Hibernación: copia a disco de la imagen completa de memoria principal  rearranque rápido a la misma situación de apagado  Suspensión (Standby): apagado de casi todo excepto la memoria  reanudación instantánea Activación del Sistema Operativo El SO “despierta” a la actividad a causa de: 1.d. si no se efectúa así.proceder dejando continuar al proceso solicitante (asíncrono) Funciones de biblioteca Arropan a las llamadas al sistema .recuperan los resultados Tipos de sistemas operativos 1. El kernel usa el planificador para seleccionar un nuevo proceso B.invocan la instrucción TRAP o equivalente . Instrucción TRAP 2. Llamadas al sistema. El proceso login autentica al usuario mediante contraseña y ejecuta un shell para interactuar con él Parada del sistema  Copia a disco de la información necesaria mantenida en memoria por razones de eficiencia. El kernel atiende al servicio solicitado 4.requerir bloqueo del proceso solicitante (síncrono) . y procesos auxiliares d. Personal (monousuario) o multiusuario .

semáforos. Servicios: solicitar. Por recurso – ACL: cada recurso lista usuarios y operaciones permitidas b. estado del procesador. memoria virtual. cambiar de directorio Seguridad y protección  Autenticación de usuario mediante contraseña u otro método (ej. Servicios: crear. bloques. Servicios de ficheros: abrir. Cliente (estación de trabajo personal que recurre a servidores) o servidor (usuarios: sistemas remotos) 7. destruir 4. Alfanumérica . Estructura: Bloque de Control de Proceso c. Abstracción: imagen de memoria. Abstracción: directorios. liberar. Abstracción: cauces. mensajes b. ejecutar. Comunicación y sincronización de procesos a.4. Gestor de Entrada/salida a. borrar c. escribir. recibir (esperar). Fijos o móviles (entorno reducido y de bajo consumo) (nombrar ejemplos reales de SSSO de cada tipo) Componentes del Sistema Operativo 1. leer. Por usuario – “Capacidades”: cada usuario lista recursos y operaciones permitidas Interfaces Interfaz de programación: “Single UNIX Specification UNIX 03” – POSIX Windows API Interfaz de usuario a. Gestor de procesos a. terminar proceso 2. Servicios: Crear mecanismo. posicionar. crear. Mono-thread o multi-thread 6. Abstracción: ficheros – atributos. huella)  Protección de acceso y operación a. proceso b. borrar. puntero de posición.. leer. Gestor de memoria a. Abstracción: regiones. Servicios: los de ficheros (independencia de dispositivo) c. Servicios de directorios: crear. Estructuras: tablas de páginas c. jerarquía de nombres d. abrir. Abstracción: dispositivo como fichero b. Tipos: Orientados a caracteres o a bloques 5. volumen b. cerrar. Gestor de ficheros y directorios a. compartir memoria 3. enviar (despertar). Monoprocesador (una CPU) o multiprocesador (varias CPUs) 5. imagen de memoria b. Empotrado (interaccionan con un sistema físico) o de tiempo real (garantizan la ejecución del programa en un tiempo determinado) 8.

“plataforma que soporta un solo proceso ligado a un lenguaje” . 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 protección  Desventaja: merma de rendimiento * Máquina virtual “duplicado eficiente y aislado de una máquina real o estándar” a.Tipo I: el hipervisor corre en la máquina física SO invitado (“guest”) corre en la MV nativa . MV de proceso (ej.b. DCOM. THE)  Jerarquía de capas de programación  Cada una ofrece un interfaz claro a la capa superior  Ventaja: modularidad * Cliente/servidor (Minix. MV de sistema o hardware (Virtual Box. MSDOS. VMWare) . sistemas de ficheros. Gráfica (GUI) c.Tipo II: el hipervisor corre en un SO anfitrión (“host”) SO “guest” corre encima del SO “host” b.…  Aplicado generalmente a SSOO personales . UNIX)  Todos los componentes integrados en un único programa  Un único espacio de direcciones  Todas las funciones se ejecutan en modo privilegiado  Desventaja: complejidad.“plataforma completa que soporta la ejecución de un SO completo” . COM+. Ficheros de mandatos (shell scripts) Diseño de los Sistemas Operativos * Monolíticos (OS-360. Java JVM.NET CLI) .emulación de un sistema no nativo * SO distribuido (middleware: DCE. dificultad de mantenimiento y ampliación Estructurados: * Sistema por capas (OS/2. . algunas políticas de gestión. Mach.. Java RMI) Carga dinámica de módulos  Modo de recomponer en tiempo de arranque o “en vivo” la configuración de un SO  Aplicado generalmente a manejadores de dispositivos. Amoeba.se llama “hipervisor” al monitor de la MV .

.. discos. Interrupciones. criptosistemas de clave pública. estado.etc. Gestión de memoria: paginación. buffering Hebras (threads)... acción o fenómeno con independencia del objeto en que existe o por que existe”. Fichero: memoria permanente de datos con tipo.ABSTRACCIÓN “Considerar una cualidad.. Sistema de ficheros: designación.. sondeo. listas de acceso. capacidades. Shell: interfaz de usuario programable… TÉCNICAS Ideamos técnicas para construir abstracciones Planificadores de recursos: CPUs. Memoria virtual: simula una RAM infinita.. Dominios.. El SO simplifica el hardware construyendo una serie de abstracciones: Proceso: una CPU dedicada a un programa... Socket: canal de comunicación de E/S de datos con tipo.