Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hardware (recurso)
Disk
Input/
CPU Memory Output
Qué es un sistema operativo?
(Vista del usuario)
Un programa que actúa como intermediario entre un
usuario de una computadora y el hardware de la
computadora
Define una interfaz para que el usuario utilice los
servicios proporcionados por el sistema
– Crea un entorno para el usuario
¿Qué es un sistema operativo?
(Vista del usuario)
• Máquina abstracta.
• Oculta detalles complejos del hardware subyacente
• Proporciona una API común a las aplicaciones y servicios
– Simplifica la escritura de aplicaciones.
• Intérprete de comandos.
• Parte de un sistema operativo que entiende y ejecuta
comandos que son ingresados interactivamente por un ser
humano o desde un programa
– Shell.
¿Qué es un sistema operativo?
(Vista del usuario)
Aplicación
Shell
Sistema
operativo
CPU Memory
Video Card Network
Monitor Disk Printer
¿Por qué es importante la abstracción?
• Sin sistemas operativos e interfaces abstractas, los escritores
de aplicaciones deben programar todo el acceso al dispositivo
directamente.
• Cargar códigos de comandos de dispositivo en registros de dispositivos
– comprender las características físicas de los dispositivos
• Proceso
– Programa cargado en memoria y en ejecución
– El programa es una entidad pasiva
• El proceso es una entidad activa
10
Tipos de sistemas
• Sistemas por lotes
– Varios trabajos, pero solo un trabajo en la memoria
a la vez y ejecutado (hasta su finalización) antes de
que comience el siguiente
Operating system
User program
Jobs waiting
Tipos de sistemas
• Sistemas multiprogramados
• Múltiples trabajos en memoria, la CPU se
multiplexa entre ellos
• Un solo usuario no puede mantener
ocupados los dispositivos de CPU y E/S en
todo momento
• Cuando tiene que esperar (para E/S, por
ejemplo), el sistema operativo cambia a
otro trabajo
• La multiprogramación organiza los trabajos
(código y datos) para que la CPU siempre
tenga uno para ejecutar
• Un subconjunto del total de trabajos en el
sistema se mantiene en la memoria
– Un trabajo seleccionado y ejecutado a
través de la programación de trabajos
Utilización eficaz de los recursos
• Mala experiencia de usuario
Tipos de sistemas
• Sistemas de tiempo compartido (multitasking)
Extensión lógica de la multiprogramación en la que la CPU cambia de trabajo
con tanta frecuencia que los usuarios pueden interactuar con cada trabajo
mientras se está ejecutando, creando computación interactiva
– Tiempo de respuesta debe ser < 1 second
– Cada usuario tiene al menos un programa ejecutándose en la memoria
– Si varios trabajos están listos para ejecutarse al mismo tiempo CPU scheduling
• OS es un programa de control
– Controla la ejecución de programas para evitar
errores y uso indebido del equipo
Administrar recursos
Job 1
• OS es un programa de control
– Controla la ejecución de programas para evitar
errores y uso indebido del equipo
Programa de control (Protección)
• Varios trabajos comparten el recurso común
• Con el uso compartido, muchos procesos podrían verse afectados
negativamente por un error en un programa
• Asegúrese de que el error en un programa podría causar problemas solo
para ese programa
J2, J3
– Un trabajo se atasca en un bucle infinito waiting
• Impedir el correcto funcionamiento de otros trabajos
CPU
(J1)
Operating
System
Process
Device Mgmt
Mgmt File System Network
Protection Comm. Kernel
Security
CPU Memory
Video Card Network
Monitor Disk Printer
21
Ejecución del sistema operativo
Impulsado por interrupciones
Hasta que llega una interrupción, el sistema operativo
permanece inactivo
• El programa de usuario invoca el código del sistema
operativo generando interrupción, llamada al sistema
• Para realizar alguna tarea reservada para el sistema operativo
– Acceso a dispositivos de E/S (lectura, escritura de archivos)
• ¿Alguna diferencia en la ejecución entre el usuario y el
programa del sistema operativo?
Operaciones del sistema operativo
Operating
System
Process
Device Mgmt
Mgmt File System Network
Protection Comm. Security
CPU Memory
Video Card Network
Monitor Disk Printer
26
Ejemplo de biblioteca C estándar
R1 P1 R1 P1
R2 P2 R2 P2