2. Índice:
1. Conceptos básicos
Tema 2: Fundamentos
2. Modelos de diseño
3. Ejemplos de organización interna
2
3. Índice:
1. Conceptos básicos
Tema 2: Fundamentos
2. Modelos de diseño
3. Ejemplos de organización interna
3
4. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
4
5. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
5
6. 1.1 Conceptos básicos sobre A.O.
Organización básica de un ordenador:
Tema 2: Fundamentos
procesador Memoria Adaptador Adaptador Adaptador
Teclado ratón Pantalla
BUS
DMA
Controlador
discos duros
…
6
7. 1.1 Conceptos básicos sobre A.O.
La CPU. Modos de ejecución
Contiene un conjunto de registros de 8, 16, 32 o 64 bits
Estado de la CPU = valores de sus registros
Tema 2: Fundamentos
Dos registros especiales: siguiente instrucción (IP, PC…) y
estado (CCR)
Instrucciones: realización de operaciones aritméticas,
lógicas o de movimiento de datos
Los operandos pueden ser registros o posiciones de memoria
Al menos dos modos de ejecución:
Supervisor: ejecución sin restricciones
Usuario: se restringen las instrucciones que puedan acceder
a recursos del sistema
Si en modo usuario se intenta ejecutar instrucción
privilegiada: excepción 7
8. 1.1 Conceptos básicos sobre A.O.
Interrupciones y excepciones
Interrupción = alteración en secuencia de ejecución de
instrucciones. Causas:
Tema 2: Fundamentos
Interrupción hardware
Excepción
Ejecución de instrucción de petición de interrupción (INT, TRAP)
Tratamiento:
1. CPU termina de ejecutar instrucción actual
2. Se almacena estado de CPU en la pila
3. CPU pasa a modo supervisor
4. Determina dirección SSI (normalmente: tabla de vectores)
5. Salta a SSI
6. Al retornar de SSI: se restaura estado (y modo de ejecución)
7. Se prosigue ejecución por siguiente instrucción 8
9. 1.1 Conceptos básicos sobre A.O.
Arranque del sistema
Arranque del sistema = secuencia de operaciones que
tras el encendido llevan la máquina a un estado usable
Tema 2: Fundamentos
Pasos:
1. Procesador realiza inicialización interna que termina
transfiriendo control a una dirección determinada
2. En dicha dirección puede haber…
Si sistema operativo en ROM: el sistema operativo (ir a paso 5)
Si sistema operativo no en ROM: el cargador hardware
3. Cargador hardware: realiza…
Inicialización mínima: determina características y correcto
funcionamiento del sistema
Determina dispositivo de carga del sistema operativo
Lee de dicho dispositivo el cargador software
→
9
10. 1.1 Conceptos básicos sobre A.O.
Arranque del sistema (cont.)
4. Cargador software (pertenece a SO): carga el sistema
operativo y le transfiere el control una vez cargado
Tema 2: Fundamentos
5. Inicialización del sistema operativo:
Se crean estructuras de datos del sistema operativo
Comprobación detallada del sistema: detección de nuevos
dispositivos, comprobación del sistema de archivos, etc.
Se cargan los componentes opcionales que procedan del SO
Se crea uno o más procesos de inicio de sesión
Tras iniciar sesión, se crea un proceso intérprete de comandos
(texto o gráfico)
10
11. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
11
12. 1.2 Procesos
Proceso = programa en ejecución
Si se ejecuta dos o más veces un mismo programa: procesos
distintos
Tema 2: Fundamentos
Un proceso puede cambiar el programa (execve) y sigue
siendo el mismo proceso
S.O. multiprogramado: aquel que permite más de un
proceso en ejecución simultáneamente
Emplean mecanismos de protección para aislar procesos
Cada proceso tiene su propio espacio de memoria
Se proporciona mecanismos de comunicación y sincronización
Mecanismos de identificación de procesos (PID)
Un proceso puede crear otros procesos
Relación paterno/filial entre procesos
Procesos padre: atribuciones especiales sobre procesos hijos 12
13. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
13
14. 1.3 Llamadas al sistema
Llamada al sistema: petición que hace un proceso al
sistema operativo para obtener algún tipo de servicio
API (Aplication Programming Interface):
Tema 2: Fundamentos
Interfaz que el sistema operativo presenta a los programas
Compuesta por el conjunto de todas las llamadas al sistema
soportadas
API’s estandarizadas: POSIX (Portable Operating System
Interface)
API’s propietarias: WIN32, WinFX
Formas de implementación:
Mediante rutinas
Mediante interrupciones
14
15. 1.3 Llamadas al sistema
Implementación mediante rutinas
Por cada llamada al sistema, una rutina que la
implementa
Tema 2: Fundamentos
Primera dificultad: ¿en qué direcciones están?
Soluciones: (Para simplificar: un único punto de entrada)
Punto de entrada en dirección fija
• ¡Los programas dependen de esta dirección!
Punto de entrada en dirección apuntada por una variable
• ¡Los programas dependen de la dirección de dicha variable!
Programas hacen referencia a punto de entrada mediante una
variable conocida por montador de enlaces (Ej: CALL SYS)
• ¡Si cambia de versión de SO, hay que reenlazar los programas!
Segunda dificultad: ¿paso a modo supervisor?
15
16. 1.3 Llamadas al sistema
Implementación mediante interrupciones
Punto de entrada único al que se accede mediante una
interrupción
Tema 2: Fundamentos
Punto de entrada se coloca en cualquier dirección de memoria
Para efectuar llamada al sistema, se usa instrucción INT n
En el vector n de interrupción: dirección punto de entrada
Al realizar una llamada:
Se pasa a modo supervisor
Hardware determina dirección de punto de entrada
Código del SO se ejecuta en modo supervisor
Al retornar, se restaura modo de ejecución previo a llamada
16
17. 1.3 Llamadas al sistema
Implementación mediante interrupciones (cont.)
Ventajas:
Independencia de los programas respecto a ubicación de
Tema 2: Fundamentos
punto de entrada en memoria
Conmutación implícita a modo supervisor
Posibilidad de llamadas implícitas al sistema
17
18. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
18
19. 1.4 Usuarios
Usuario = personas autorizadas a usar el sistema
Los sistemas multiprogramados mantienen asociación
Tema 2: Fundamentos
entre cada proceso y su usuario propietario
Es el usuario quien determina los derechos del proceso a
acceder a recursos del sistema
Identificación de usuario: UID (normalmente numérico)
Posibilidad de definir grupos de usuario
Grupos identificados por GID (normalmente numérico)
Derechos del proceso: determinados por [UID, GID]
19
20. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
20
21. 1.5 Archivos
Archivo = conjunto de información
Organización jerárquica basada en directorios y
Tema 2: Fundamentos
subdirectorios
Archivos frecuentemente residen en dispositivos
Identificación de dispositivos: dependen de sistema
Letras de unidad: C:, D:, etc.
Archivo especial: /def/fd0, /dev/hda, etc.
En sistemas multiusuario se proporcionan mecanismos
de protección del sistema de archivos 21
22. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
22
23. 1.6 Intérpretes de órdenes
Intérprete de órdenes = programa interactivo
que lee e interpreta comandos del usuario
Nombres alternativos: intérpretes de comandos, shells…
Tema 2: Fundamentos
Algunos sistemas permiten usar distintos intérpretes de
comandos
Ejemplo: UNIX
En otros casos está integrado en sistema operativo
Ejemplo: MS-DOS
Funciones soportadas más frecuentemente:
Ejecución de programas con redirección de entrada y/o salida
Ejecución en paralelo de procesos unidos por una tubería
Ejecución de secuencias de comandos (scripts)
…
23
24. 1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
Tema 2: Fundamentos
3. Llamadas al sistema
4. Usuarios
5. Archivos
6. Intérpretes de órdenes
7. Interfaces gráficas de usuario
24
25. 1.7 Interfaces gráficas de usuario
Interfaz gráfica de usuario (GUI) = intérprete de
órdenes en modo gráfico
Suelen ofrecer API que permite su uso por parte de
Tema 2: Fundamentos
programas de usuario
Aero (Windows Vista)
Beryl
Explorer (Windows XP)
25
GNOME
26. 3. Ejemplos de organización interna
1. Linux
2. Minix
Tema 2: Fundamentos
3. Windows 2000
26