Introducción:
Un sistema operativo es un programa o conjunto de programas de computadora destinado a permitir una gestión eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario.
Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, y computadoras)
¿Qué es un sistema operativo?
-
Un programa que actúa como intermediario entre el usuario de un computador y el Hardware del mismo
-
Objetivos del sistema operativo:
-
Usar el computador de forma eficiente
-
Proporcionar una máquina virtual extendida
Funciones del sistema operativo
- Gestor de recursos (UCP, memoria, ...)
-
Asignación y recuperación de recursos
-
Protección de los usuarios
-
Contabilidad/monitorización
-
Soporte de usuario
- Máquina extendida (servicios)
-
Ejecución de programas (procesos)
-
Órdenes de E/S
-
Operaciones sobre archivos
-
Detección y tratamiento de errores
- Interfaz de usuario
-
Shell
Niveles del sistema operativo

Arranque del computador
- El Reset carga valores predefinidos en registros
- CP ß dirección de arranque del cargador ROM
- Se ejecuta el cargador ROM del sistema
– Test del sistema
– Trae a memoria el boot del SO
- En el caso del PC la ROM contiene, además, sw de E/S (BIOS)
Arranque del sistema operativo
El SO está almacenado en el disco

- El cargador ROM carga el sector de boot del SO y le da control
- El boot del SO carga el SO residente y da control al programa de
- arranque del SO, que:
– Comprueba el hardware
– Comprueba el sistema de ficheros
– Establece las tablas del SO
– Crea procesos (según el tipo de SO)
- Proceso INIT
- Procesos o tareas del sistema (demonios)
- Procesos de login (uno por terminal)
– Tras la autenticación, el proceso login se convierte en shell
SeServicios del SO: llamadas al sistema
- Interfaz entre aplicaciones y SO.
- Generalmente disponibles como funciones en ensamblador.
- Actualmente en otros lenguajes de alto nivel (C, Bliss, …).
- Servicios típicos del sistema operativo
- Gestión de procesos
- Gestión de procesos ligeros
- Gestión de señales, temporizadores
- Gestión de memoria
- Gestión de ficheros y directorios
- Ejemplos de llamada
- read: permite leer datos de un fichero
- fork: permite crear un nuevo proceso
-
Los servicios se programan mediante sentencias de un lenguaje (p.e. C)
-
Estas sentencias son como llamadas a función
-
Se convierten, mediante una rutina de biblioteca de sistemas en un conjunto de instrucciones de máquina que terminan con una instrucción de trap
-
El trap, como toda interrupción es tratada por el SO
-
El SO realiza el servicio pedido y devuelve un valor
-
Ejemplo:
Int fork () {
Int r;
LOAD R8, FOR_SYSTEM_CALL
TRAP
LOAD r, R9
return r;
}
Paso de llamadas al sistema

Interfaz de usuario
- Funciones:
- Manipulación de archivos y directorios
- Herramientas de desarrollo de aplicaciones
- Comunicación con otros sistemas
- Información de estado
- Configuración de la propia interfaz y entorno
- Intercambio de datos entre aplicaciones
- Control de acceso
- Sistema de ayuda interactivo
- Tipos
- Interfaces alfanuméricas (interpretes de mandatos)
- Interfaces gráficas
|