Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil,...
Transcript of Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil,...
![Page 1: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/1.jpg)
Lección 1 Introducción
Diseño de Sistemas Operativos
Ingeniería Informática
Grupo ARCOS
Universidad Carlos III de Madrid
![Page 2: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/2.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Objetivos
Conocimiento de los métodos de gestión interna de
recursos en un sistema operativo.
Introducción a las técnicas para la programación y
modificación del sistema operativo.
ARCOS @ UC3M 2
![Page 3: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/3.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Lecturas recomendadas
1. Carretero 2007:
1. Cap. 2
1. Tanenbaum 2006:
1. Cap.1
2. Stallings 2005:
1. Parte uno. Transfondo.
3. Silberschatz 2006:
1. Cap.1
Base Recomendada
Carretero 2007:
Sec. 2.2.- Arranque el
Computador
La sugerencia del
ARCOS @ UC3M 3
![Page 4: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/4.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
A recordar…
ARCOS @ UC3M 4
1. Estudiar la teoría asociada.
Estudiar el material asociado a la bibliografía: las transparencias solo no son suficiente.
2. Repasar lo visto en clase.
Realizar el cuaderno de prácticas progresivamente.
3. Ejercitar las competencias.
Realizar las prácticas progresivamente.
Realizar todos los ejercicios posibles.
![Page 5: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/5.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Qué es un sistema operativo.
1. Definiciones
2. Principales funciones
3. Características
2. Cómo es por dentro.
1. Principales objetivos
2. Estructura
3. Ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo
2. Módulos
ARCOS @ UC3M 5
![Page 6: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/6.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Lección 1
Introducción
¿Qué es un Sistema Operativo?
ARCOS @ UC3M 6
![Page 7: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/7.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Definición
2. Principales Funciones.
3. Características.
ARCOS @ UC3M 7
![Page 8: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/8.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
¿Qué es un sistema operativo?
Sistema operativo: software destinado a permitir la
comunicación del usuario con un ordenador y gestionar sus
recursos de manera cómoda y eficiente.
Hardware
Sistema Operativo
Complejidad para encubrir el hardware subyacente (en el S.O.)
Programas del sistema para la gestión de los recursos.
ARCOS @ UC3M 8
![Page 9: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/9.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
¿Qué es un sistema operativo?
Sistema operativo: software destinado a permitir la
comunicación del usuario con un ordenador y gestionar sus
recursos de manera cómoda y eficiente.
Hardware
Sistema Operativo
Software de sistema
Software de aplicación
Complejidad para encubrir el hardware subyacente (en el S.O.)
Programas del sistema para la gestión de los recursos.
ARCOS @ UC3M 9
![Page 10: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/10.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Definición.
2. Principales Funciones.
3. Características.
ARCOS @ UC3M 10
![Page 11: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/11.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Proporcionar Interfaz al Usuario (s)
Máquina Extendida
Servicios, Interfaz del Programador, etc.
Gestionar los recursos del equipo
CPU, Memoria, etc.
¿Qué tiene que hacer un S.O.?
Hardware
Sistema Operativo
ARCOS @ UC3M
Usuario(s)
Aplicaciones
11
![Page 12: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/12.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Funciones del S.O.
Interfaz de Usuario: Ejecuta Órdenes de Usuario
Proporciona los resultados de esas órdenes
Gestor de Recursos: Asignación de Recursos
Contabilidad de los Recursos
Administración de los Recursos
Protección y ¿Seguridad?
Máquina Extendida Ejecuta, Administra y Gestiona Servicios para los Programas
Proporciona nuevos Recursos: canales de E/S, archivos, gestión de memoria y de errores, etc.
Proporciona Funcionalidades de Alto Nivel para todos los recursos
ARCOS @ UC3M 12
![Page 13: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/13.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
¿Qué tiene que hacer un S.O.?
Hardware
Sistema Operativo
ARCOS @ UC3M
Usuario(s)
Aplicaciones
Proporcionar Interfaz al Usuario (s)
Máquina Extendida
Servicios, Interfaz del Programador, etc.
Gestionar los recursos del equipo
CPU, Memoria, etc.
13
![Page 14: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/14.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Interfaz de Usuario: Función
El Interfaz de Usuario tiene dos funciones:
Ejecución de Órdenes del Usuario.
Proporcionar los Resultados de esas Órdenes.
ARCOS @ UC3M 14
![Page 15: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/15.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Interfaz de Usuario: Tipos
Interfaz de Usuario:
Suele utilizar una interfaz gráfica (Graphics User
Interface, GUI)
Interfaz de Usuario avanzado:
Se utiliza una Línea de Mandatos o Línea de Comandos
(Command Line Interpreter, CLI)
Interfaz del Desarrollador:
Utilizado por Diseñadores y Programadores
Utiliza funciones de Librería del Sistema
ARCOS @ UC3M
ret = close (filedesc);
15
![Page 16: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/16.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Interfaces gráficas (GUI)
ARCOS @ UC3M
htt
p:/
/ww
w.g
uid
ebo
okg
alle
ry.o
rg/s
cree
nsh
ots
/co
mm
and
pro
mp
t h
ttp
://w
ww
.gu
ideb
oo
kgal
lery
.org
/scr
een
sho
ts/f
ull
16
![Page 17: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/17.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Intérprete de mandatos (CLI)
http://www.guidebookgallery.org/screenshots/commandprompt ARCOS @ UC3M
htt
p:/
/ww
w.g
uid
ebo
okg
alle
ry.o
rg/s
cree
nsh
ots
/co
mm
and
pro
mp
t h
ttp
://w
ww
.gu
ideb
oo
kgal
lery
.org
/scr
een
sho
ts/f
ull
17
![Page 18: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/18.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
¿Qué tiene que hacer un S.O.?
Hardware
Sistema Operativo
ARCOS @ UC3M
Usuario(s)
Aplicaciones
Proporcionar Interfaz al Usuario (s)
Máquina Extendida
Servicios, Interfaz del Programador, etc.
Gestionar los recursos del equipo
CPU, Memoria, etc.
18
![Page 19: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/19.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Máquina Extendida
La Máquina Extendida se encarga de:
La ejecución de los Procesos.
La ejecución de las Órdenes de E/S (a Alto Nivel).
La realización de las Operaciones sobre Archivos.
La detección y tratamiento de Errores.
En resumen, abarca la Ejecución, Administración y
Gestión de los Servicios que proporciona el S. O. a
todos los Procesos.
ARCOS @ UC3M 19
![Page 20: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/20.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Abstracciones fundamentales Procesos
Procesos, tabla de procesos, árbol de procesos, bloques de control de procesos (BCP)
Imagen básica, planificación, señales
Identificación de usuario y grupo
Intérprete de mandatos (shell)
https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx
preparado funcionando
bloqueado
finalizado nuevo
A
B C
F E D
Árbol de procesos
Un Programa es algo estático
Un Proceso es algo dinámico
Un Proceso = Un Programa + Datos de Entrada + Información de Estado
ARCOS @ UC3M 20
![Page 21: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/21.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Abstracciones fundamentales Archivos
Archivos y directorios
Ruta, directorio de trabajo y raíz
Protección
Descriptor de archivo
Archivos especiales:
Dispositivos E/S
E/S de bloque y de caracteres
Pipes
Estándares entrada/salida/error
https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx
Directorio raíz
tmp usr etc
pit mia
ARCOS @ UC3M 21
![Page 22: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/22.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Máquina Virtual
El S.O. virtualiza ciertos elementos del hardware:
¿Por qué no virtualizarlo todo?
IBM ha usado esta idea en sus mainframes desde principio de la década de los 70.
Un Hipervisor (VMM) virtualiza todo el ordenador, de manera que permite que múltiples sistemas operativos (o copias del mismo) ejecuten a la vez.
La virtualización:
[i] supone cierta sobrecarga
[v] ofrece un aislamiento excelente entre sistemas y la flexibilidad en la reserva de recursos lo que mejora el coste, especialmente en «granjas»
ARCOS @ UC3M 22
![Page 23: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/23.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Máquina Virtual
ARCOS @ UC3M
Hardware
Usuario(s)
Sistema Operativo
HIPERVISOR (VMM)
Sistemas Operativos
Sistema Operativo
Sistema Operativo
Management
23
![Page 24: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/24.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Máquina Extendida vs Máquina Virtual
ARCOS @ UC3M
Hardware
Sistemas Operativos
Usuario(s)
HIPERVISOR (VMM)
Sistema Operativo Sistema Operativo
24
![Page 25: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/25.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Máquina Extendida vs Máquina Virtual
ARCOS @ UC3M
Hardware
Sistemas Operativos
Usuario(s)
HIPERVISOR (VMM)
Proporcionar Interfaz al Usuario (s)
Máquina Extendida
Gestionar los recursos del equipo
Proporcionar Interfaz al Usuario (s)
Máquina Extendida
Gestionar los recursos del equipo
Sistema Operativo Sistema Operativo
25
![Page 26: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/26.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Máquina Virtual
ARCOS @ UC3M
Mismo HW
Distinto HW
Mismo S.O.
Distinto S.O.
No Colabora con el Hipervisor
Colabora con el Hipervisor
Emulación del HW Virtualización
Completa
Para-Virtualización
Contenedores
26
![Page 27: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/27.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
¿Qué tiene que hacer un S.O.?
Hardware
Sistema Operativo
ARCOS @ UC3M
Usuario(s)
Aplicaciones
Proporcionar Interfaz al Usuario (s)
Máquina Extendida
Servicios, Interfaz del Programador, etc.
Gestionar los recursos del equipo
CPU, Memoria, etc.
27
![Page 28: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/28.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Gestión de Recursos: ¿Qué gestiona?
ARCOS @ UC3M
Gestión de Procesamiento
Planificación
Prioridades, multiusuario
Gestión de Memoria
Reparto de memoria entre procesos, con protección y compartición
Gestión de Almacenamiento (Sistema de Archivos)
Ofrecer una visión lógica unificada para usuarios y programas que sea independiente del medio físico
Gestión de Dispositivos
Encubriendo las dependencias de hardware
Gestión de accesos concurrentes
28
![Page 29: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/29.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Gestión de Recursos: ¿Qué es gestionar?
ARCOS @ UC3M
Asignación de Recursos
Contabilidad de los recursos
Estado, Asignación, etc.
Protección y ¿¿Seguridad??
Administración de Recursos
Determinación de la Asignación
Expropiación / Recuperación de Recursos
Aplicación de las políticas a los mecanismos internos del S.O.
29
![Page 30: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/30.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Resumen
Hardware
Sistema Operativo
ARCOS @ UC3M
Usuario(s)
Aplicaciones
Proporcionar Interfaz al Usuario (s)
Máquina Extendida
Servicios, Interfaz del Programador, etc.
Gestionar los recursos del equipo
CPU, Memoria, etc.
30
![Page 31: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/31.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Definición.
2. Principales Funciones.
3. Características.
ARCOS @ UC3M 31
![Page 32: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/32.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Las principales características de un S.O.
1. Versátil
1. Portabilidad
2. Adaptativo
3. Multidisciplinar
4. Complejo
5. Delicado
ARCOS @ UC3M 32
![Page 33: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/33.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Versátil
Mainframe OS/360, z/OS, …
Miniordenadores y PC Unix, MacOs, Windows, …
Empotrados VxWorks, QNX, LynxOS,
Android, iOS,
Windows Embedded, …
Supercomputador Unix, Linux, …
ARCOS @ UC3M 33
![Page 34: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/34.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Mismo equipo, diferentes SSOO: IBM PC
Mismo SO, diferentes equipos: Unix
1) Versátil
IBM PC
DR-DOS Linux
IBM PC
Unix
CRAY-Y/MP
…
…
ARCOS @ UC3M
Portabilidad
34
![Page 35: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/35.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
2) Continuos cambios para adaptarse
Está sometido a continuos cambios para adaptarse a:
Las nuevas demandas de los usuarios:
Reconocimiento de voz, entrada multitáctil, etc.
La evolución o nuevo tipo de hardware:
Controladores para todo tipo de nuevos dispositivos
Sistemas multicore, virtualización, etc.
La integración de soluciones de distintos entornos:
Procesamiento por lotes, multiprogramación, tiempo compartido, etc.
Multiusuario, trabajo colaborativo, etc.
Sistemas distribuidos, servicios en red, etc.
ARCOS @ UC3M 35
![Page 36: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/36.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Evolución de los sistemas operativos Distribuciones Linux (distros) hasta 2010
http://futurist.se/gldt/wp-content/uploads/gldt1012.png
Otras distribuciones:
Slackware es la más antigua de todas y sigue en evolución:
ARCOS @ UC3M 36
![Page 37: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/37.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
3) Multidisciplinar
Software multidisciplinar que integra trabajos de
diferentes áreas:
Interfaces de usuario, software de sistema, inteligencia artificial,
seguridad, Ingeniería Software, etc.
ARCOS @ UC3M 37
![Page 38: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/38.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
4) Software Complejo
Software complejo:
Muchas líneas de código.
Muchos equipos de trabajo.
ARCOS @ UC3M 38
![Page 39: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/39.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Complejidad de los sistemas operativos Windows
http://www.zdnet.co.uk/reviews/desktop-os/2010/11/20/a-quarter-century-of-windows-40090900/5/#top ARCOS @ UC3M 39
![Page 40: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/40.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Complejidad de los sistemas operativos Windows
http://www.zdnet.co.uk/reviews/desktop-os/2010/11/20/a-quarter-century-of-windows-40090900/5/#top ARCOS @ UC3M 40
![Page 41: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/41.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Complejidad de los sistemas operativos Windows
http://www.zdnet.co.uk/reviews/desktop-os/2010/11/20/a-quarter-century-of-windows-40090900/5/#top ARCOS @ UC3M 41
![Page 42: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/42.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Complejidad de los sistemas operativos Linux
https://secure.wikimedia.org/wikipedia/de/wiki/Datei:Linux_kernel_loc.svg http://blogs.computerworld.com/204_5_million_lines_of_code_equals_one_great_linux_distribution
Fed
ora
Co
re 9
=>
~2
00
ARCOS @ UC3M 42
![Page 43: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/43.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
5) Delicado
Software delicado:
Un fallo en un driver (software controlador de un dispositivo)
puede bloquear todo el sistema.
Trata datos de distintas aplicaciones de distintos usuarios que no
deben ser perdidos o trasladados a manos incorrectas.
ARCOS @ UC3M 43
![Page 44: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/44.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
5) Delicado
Software delicado:
ARCOS @ UC3M 44
![Page 45: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/45.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Las principales características de un S.O. resumen
1. Versátil
1. Portabilidad
2. Adaptativo
3. Multidisciplinar
4. Complejo
5. Delicado
ARCOS @ UC3M 45
![Page 46: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/46.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Lección 1
Introducción
¿Cómo es por dentro?
ARCOS @ UC3M 46
![Page 47: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/47.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Principales Objetivos de Diseño de un S.O.
2. Estructura del sistema operativo.
3. Ejecución Asíncrona.
ARCOS @ UC3M 47
![Page 48: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/48.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Objetivos de Diseño de un S.O.
Rendimiento: eficiencia y velocidad Baja sobrecarga, uso adecuado de los recursos
Estabilidad: robustez y resistencia Tiempo de funcionamiento, degradación aceptable, fiabilidad e integridad
Capacidad: prestaciones, flexibilidad y compatibilidad
Seguridad y protección Protección entre usuarios
Sistema seguro para ‘los malos’
Portabilidad
Claridad
Código inteligible y documentado
Extensibilidad
http://www.cc.gatech.edu/~pwh/ ARCOS @ UC3M 48
![Page 49: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/49.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Objetivos de Diseño de un S.O.
Algunos Objetivos de Diseño son Antagónicos entre sí:
Rendimiento (eficiencia y velocidad) vs Seguridad
Por tanto, siempre “hay que seleccionar una terna de
objetivos de diseño” (Butter Lampson)
http://www.cc.gatech.edu/~pwh/ ARCOS @ UC3M 49
![Page 50: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/50.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Principales Objetivos de Diseño de un S.O.
2. Estructura del sistema operativo.
1. Diseño Conceptual
2. Diseño Arquitectural (Arquitecturas de S.O.)
3. Ejecución Asíncrona.
ARCOS @ UC3M 50
![Page 51: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/51.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Principales Objetivos de Diseño de un S.O.
2. Estructura del sistema operativo.
1. Diseño Conceptual
2. Diseño Arquitectural (Arquitecturas de S.O.)
3. Ejecución Asíncrona.
ARCOS @ UC3M 51
![Page 52: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/52.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Máquina Extendida
Proporcionar Interfaz al Usuario (s)
Gestionar los recursos del equipo
¿Qué tiene que hacer un S.O.?
Hardware
Sistema Operativo
ARCOS @ UC3M
Usuario(s) Aplicaciones
52
![Page 53: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/53.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Servicios
API
Núcleo
Shell
Diseño Conceptual de un S.O.
Hardware
Sistema Operativo
ARCOS @ UC3M
Usuario(s) Aplicaciones
¿Interfaz de Usuario?
¿Máquina Extendida?
¿Gestor de Recursos?
¿Interfaz del Desarrollador?
53
![Page 54: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/54.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Diseño Conceptual de un S.O.
Intérprete de Comandos (shell):
Ejecuta Órdenes de Usuario
Proporciona los resultados de esas órdenes
Interface de Programación de Aplicaciones (API):
Proporciona las invocaciones a las Llamadas al Sistema
Gestiona el paso de Modo Usuario a Modo Kernel
Servicios:
Implementa las Llamadas al Sistema (y su funcionalidad)
Gestiona los dispositivos Hardware
Núcleo / Kernel / Core:
Gestor del S.O.
Gestiona Procesos e Interrupciones (INT)
ARCOS @ UC3M 54
![Page 55: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/55.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Contenidos
1. Principales Objetivos de Diseño de un S.O.
2. Estructura del sistema operativo.
1. Diseño Conceptual
2. Diseño Arquitectural (Arquitecturas de S.O.)
3. Ejecución Asíncrona.
ARCOS @ UC3M 55
![Page 56: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/56.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Arquitectura del S.O. Monolítico (macrokernel)
Sistema monolítico.
No estructurado.
Desde cualquier punto del
código se puede acceder a
cualquier variable o función de
otra parte del núcleo (kernel)
Ejemplo:
MS-DOS, DR-DOS, UNICS
App App
Servicios del sistema
Hardware
Procedimientos y
estructuras del
sistema operativo
Modo Usuario
Modo Kernel
En monolítico: [v] muy rápido en ejecución
[i] muy difícil de mantener y muy
sensible a errores
ARCOS @ UC3M 56
![Page 57: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/57.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Arquitectura del S.O. En subsistemas
Sistema monolítico, compuesto
de subsistemas lógicos que
ofrecen interfaces bien definidas
como puntos de entrada.
Se agrupan procedimientos y
estructuras de datos
relacionadas.
Ejemplo:
Linux
App App
Servicios del sistema
Hardware
Subsistema 1
Modo Usuario
Modo Kernel
…
En subsistemas: [v] diseño algo más claro
[i] bastante sensible a errores y difícil de
mantener
ARCOS @ UC3M 57
![Page 58: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/58.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Arquitectura del S.O. Por capas
Binario monolítico aunque codificado estructurado de forma lógica en capas.
Cada capa sólo se relaciona con las adyacentes: Proporciona SERVICIOS a capa
superior
Requiere SERVICIOS del interfaz de la capa del nivel inferior
Ejemplo: THE (Dijkstra)
Multics, que añadió a la noción de capa la idea de anillos de privilegios
OS/2 (IBM)
App App
Servicios del sistema
Hardware
Modo Usuario
Modo Kernel
G. dispositivos de E/S
Planificación e IPC
Gestión de memoria
ARCOS @ UC3M
Por Capas: [v] modularidad y ocultación (encapsulación) de la información
[i] sobrecarga de procesamiento por el tratamiento de los
SERVICIOS
58
![Page 59: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/59.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Arquitectura del S.O. Microkernel
Además de estructurado,
los principales componentes
se ejecutan como procesos
servidores, fuera del kernel.
El microkernel tiene: Planificación y gestión de procesos.
Gestión de memoria virtual básica.
Comunicación entre procesos básica.
Ejemplo:
Match, QNX, Minix, L4, etc.
Servidor
de memoria
App
Cliente
Servidor
de red
Servidor
de procesos
Servidor
de ficheros Servidor
Pantallas
Microkernel
Hardware
petición
respuesta
Modo Usuario
Modo Kernel
ARCOS @ UC3M
Por Microkernel: [v] más fiable y estructurado
[i] sobrecarga pérdida de rendimiento por sobrecarga de
procesamiento y menor seguridad
59
![Page 60: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/60.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecutivo
Drivers Kernel Win32
User/GDI
Hardware Abstraction Layer (HAL)
Arquitecturas del SS.OO. Reales Arquitectura de la Familia Windows 2000
Aplicacs.
Usuario
Subsystem DLL
Procesos
de sistema Servicios
Interface DLL
Session Mgr
WinLogon
Replicator
Alerter
Event Log
Ntdll.dll Usuario
Kernel
Procesos del
Sistema y
Servicios
Win32 POSIX OS/2
Subsistemas de entorno
ARCOS @ UC3M 60
![Page 61: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/61.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Arquitecturas de SS.OO. Reales Linux (Esquema Simplificado)
Usuario
Kernel
Núcleo
Servicios
Shell
ARCOS @ UC3M 61
![Page 62: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/62.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
SS.OO. Reales Linux (versión ‘menos’ simplificada)
http://www.makelinux.net/kernel_map.shtml ARCOS @ UC3M 62
![Page 63: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/63.jpg)
Alejandro Calderón Mateos / Manuel A. Lea ARCOS @ UC3M
Contenidos
1. Principales Objetivos de Diseño de un S.O.
2. Estructura del sistema operativo.
3. Ejecución Asíncrona.
63
![Page 64: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/64.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Servicios
API
Núcleo
Shell
Comunicación interna en S.O.
Hardware
ARCOS @ UC3M
Usuario(s) Aplicaciones
64
![Page 65: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/65.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejecución (general)
ARCOS @ UC3M 65
------------------ ------------------ ------------------ ------------------ ------------------
t
![Page 66: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/66.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejecución (general)
ARCOS @ UC3M 66
------------------ ------------------ ------------------ ------------------ ------------------
------------------ ------------------ ------------------ ------------------ ------------------
t
hx
ex
Al llegar un evento (ex)
se ejecuta el manejador
asociado (hx)
![Page 67: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/67.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejecución (general)
ARCOS @ UC3M 67
------------------ ------------------ ------------------ ------------------ ------------------
------------------ ------------------ ------------------ ------------------ ------------------
------------------ ------------------ ------------------ ------------------ ------------------
t
hx
ex
Al finalizar el manejador, se
continúa la ejecución por
donde fue interrumpida
![Page 68: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/68.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejecución (general)
ARCOS @ UC3M 68
------------------ ------------------ ------------------ ------------------ ------------------
------------------ ------------------ ------------------ ------------------ ------------------
------------------ ------------------ ------------------ ------------------ ------------------
t
hx
ex
Al finalizar el manejador, se
continúa la ejecución por
donde fue interrumpida
Al llegar un evento (ex)
se ejecuta el manejador
asociado (hx)
![Page 69: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/69.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona código (general)
ARCOS @ UC3M 69
int main ( … )
{
…
On (event1, handler1) ;
…
} 1) Asociar el manejador
(handler1) al
evento.
![Page 70: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/70.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona código (general)
ARCOS @ UC3M 70
int main ( … )
{
…
On (event1, handler1) ;
…
}
void handler1 ( … )
{
}
…
1) Asociar el manejador (handler1) al
evento.
2) Codificar la función
manejador (handler1) que
tratará el evento.
![Page 71: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/71.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona código (general)
ARCOS @ UC3M 71
int global1;
…
int main ( … )
{
…
On (event1, handler1) ;
…
}
void handler1 ( … )
{
}
…
1) Asociar el manejador (handler1) al
evento.
2) Codificar la función
manejador (handler1) que
tratará el evento.
3) Dado que utilizan el
mismo espacio todas
las funciones del
Kernel, es más
eficiene usar
Constantes y
Variables Globales.
![Page 72: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/72.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejemplo de ejecución asíncrona Señales (interrupciones software)
ARCOS @ UC3M 72
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
void sig_handler (int signo)
{
if (signo == SIGINT)
printf("received SIGINT\n");
}
int main(void)
{
if (signal(SIGINT, sig_handler) == SIG_ERR)
printf("\ncan't catch SIGINT\n");
sleep(60); // simula un proceso largo.
return 0;
}
signal.h
http://www.thegeekstuff.com/2012/03/catch-signals-sample-c-code/
![Page 73: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/73.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 73
S.O.
HW.
App.
CPU Disco RAM
• char buffer[1024]; …
• read(fd,buffer)
•
Pi
![Page 74: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/74.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 74
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque
• Ejecutar Pi +1
• char buffer[1024]; …
• read(fd,buffer)
•
ll. sistema
Pi
![Page 75: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/75.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 75
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque
• Ejecutar Pi +1
Pi • char buffer[1024]; …
• read(fd,buffer)
•
ll. sistema
Pi +1 • int x; …
• for (x=0; x<900; x++);
•
![Page 76: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/76.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 76
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque
• Ejecutar Pi +1
Pi • char buffer[1024]; …
• read(fd,buffer)
•
ll. sistema
Pi +1 • int x; …
• for (x=0; x<900; x++);
•
![Page 77: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/77.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 77
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque
• Ejecutar Pi +1
int. hw
• Copiar a RAM
• Pi listo
• Continuar Pi +1
Pi • char buffer[1024]; …
• read(fd,buffer)
•
ll. sistema
Pi +1 • int x; …
• for (x=0; x<900; x++);
•
![Page 78: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/78.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 78
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque
• Ejecutar Pi +1
int. hw
• Copiar a RAM
• Pi listo
• Continuar Pi +1
Pi • char buffer[1024]; …
• read(fd,buffer)
•
ll. sistema
Pi +1 • int x; …
• for (x=0; x<900; x++);
•
![Page 79: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/79.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 79
S.O.
HW.
App.
CPU Disco RAM
int. hw
• Copiar a RAM
• Pu listo
• Continuar Pv
Pi • char buffer[1024]; …
• read(fd,buffer)
•
X
int. hw
• Dato a RAM
• Px listo
• Continuar Py
![Page 80: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/80.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecución asíncrona ejemplo simplificado
ARCOS @ UC3M 80
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque
• Ejecutar Pi +1
Pi • char buffer[1024]; …
• read(fd,buffer)
•
ll. sistema
![Page 81: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/81.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Estructura base del sistema operativo código (general)
ARCOS @ UC3M 81
int global1;
…
int main ( … )
{
…
On (event1, handler1)
;
On (event2, handler2)
;
On (event3, handler3)
;
…
}
void handler1 ( … ) { xxx }
…
void handler2 ( … ) { xxx }
void handler3 ( … ) {
} i.h. 1
ll. sistema
i.h. 2
Disc
o
Red
App 1
…
![Page 82: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/82.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Interrupciones hardware repaso (1/4)
ARCOS @ UC3M 82
Cada periférico (capaz de generar una petición de interrupción) dispone de una línea
denominada IRQ (Interrupt ReQuest)
Puede haber múltiples dispositivos en una línea, se precisa muestreo para conocer el peticionario
Todas las líneas se conectan a un PIC (Programmable Interrupt Controller)
Actualmente se usa un APIC (Advanced Programmable Interrupt Controller)
El PIC se conecta a la CPU por una línea de aviso de interrupción pendiente (INT)
El PIC y la CPU también están conectados por el bus de datos
Understanding the Linux kernel (2nd edition)
Periférico i PIC
CPU ...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 83: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/83.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Interrupciones hardware repaso (2/4)
ARCOS @ UC3M 83
El PIC monitoriza las líneas de IRQ esperando la llegada de una señal
Si llega una señal entonces:
Asocia al IRQ del periférico un valor que guarda en un registro del PIC (llamado vector)
Avisa a la CPU a través de la línea de interrupción pendiente (INT)
La CPU lee del registro (como puerto de E/S o como dirección de memoria) el vector
La CPU escribe en el registro de control del PIC que ya leyó el vector
El PIC desactiva la línea de interrupción pendiente. borra el vector y vuelve a monitorizar…
Understanding the Linux kernel (2nd edition)
Periférico i PIC
CPU ...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 84: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/84.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Interrupciones hardware repaso (3/4)
ARCOS @ UC3M 84
El PIC puede permitir deshabilitar selectivamente las IRQ
El PIC deja de avisar a la CPU de la petición de una IRQ hasta que se habiliten: no se pierden.
Deshabilitar a nivel de CPU (mask/unmask) es diferente: ignora la INT
El PIC puede permitir tener niveles de prioridad de interrupción
Se asocia a cada IRQ con una prioridad
Si hay varias IRQ, el PIC ‘atiende’ primero las de mayor prioridad (resto: deshabilitado temporalmente)
Si el PIC no tiene niveles de prioridad, se pueden simular por software en el sistema operativo
Understanding the Linux kernel (2nd edition)
Periférico i PIC
CPU ...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 85: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/85.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Interrupciones hardware repaso (4/4)
ARCOS @ UC3M 85
La CPU detecta la petición de INT
Acepta la interrupción: copia el vector por el bus de datos y ACK al PIC
Busca en la Interrupt Descriptor Table (IDT) la rutina de tratamiento asociada
Guarda el estado del procesador en pila, pasa a modo privilegiado y ejecuta la RTI
Puede que varias RTI (do_IRQ) compartan una misma interrupción (uso de enumeración)
Puede que varias interrupciones compartan una rutina genérica común a ellas
Recupera el estado de pila y ejecuta RETI (paso a modo previo y vuelta a lo interrumpido)
Periférico i PIC
CPU ...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 86: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/86.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Llamada al sistema soporte hardware
ARCOS @ UC3M 86
S.O.
HW.
App.
CPU Disc
o RAM
• Pedir
bloque
• Ejecutar Pi
+1
Pi • char buffer[1024]; …
• read(fd,buffer)
•
ll. sistema
![Page 87: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/87.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Llamada al sistema
ARCOS @ UC3M 87
Existe una instrucción en ensamblador que genera una interrupción por software
La CPU detecta la petición de INT
Busca en la Interrupt Descriptor Table (IDT) la rutina de tratamiento asociada
Guarda el estado del procesador en pila, pasa a modo privilegiado y ejecuta la RTI
Puede que varias RTI (do_IRQ) compartan una misma interrupción (uso de enumeración)
Puede que varias interrupciones compartan una rutina genérica común a ellas
Recupera el estado de pila y ejecuta RETI (paso a modo previo y vuelta a lo interrumpido)
CPU
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
Int. i descriptor
...
![Page 88: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/88.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Lección 1
Introducción
¿Cómo es por fuera?
ARCOS @ UC3M 88
![Page 89: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/89.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecutables (1/1)
ARCOS @ UC3M 89
Los primeros kernels tenían que:
Incluir código para
todos los posibles dispositivos.
Cada cierto tiempo se recompilaba para
añadir los nuevos dispositivos.
Se distribuía como
un conjunto de ejecutables.
http://www.cc.gatech.edu/~pwh/
G. dispositivos de E/S
D#10 D#15
![Page 90: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/90.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Módulos (1/2)
Los módulos inicialmente se desarrollaron
para permitir la inclusión condicional de
controladores de dispositivos (drivers)
Los módulos ofrecen añadir dinámicamente
código de un driver pre-compilado.
Pueden verse como las librerías dinámicas
para el kernel (.dll/.so/.dmp).
El módulo puede descargarse cuando el
dispositivo deje de usarse.
http://www.cc.gatech.edu/~pwh/
G. dispositivos de E/S
D#10
D#15
ARCOS @ UC3M 90
![Page 91: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/91.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Módulos (2/2)
La gran mayoría de sistemas operativos modernos
tienen un kernel que permite el uso de módulos:
Linux, Solaris, BSD, Windows, etc.
Los módulos se utilizan no solo para los drivers
de los dispositivos, actualmente también se
utilizan para añadir otro tipos de funcionalidad:
El kernel de Linux lo utiliza extensivamente para
sistemas de ficheros, protocolos de red, llamadas al
sistema, etc.
http://www.cc.gatech.edu/~pwh/
App App
Kernel
D#18
ARCOS @ UC3M 91
![Page 92: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/92.jpg)
Alejandro Calderón Mateos / Manuel A. Lea
Ejecutivo
Drivers Kernel Win32
User/GDI
Hardware Abstraction Layer (HAL)
Ejemplo de Módulos Arquitectura de la Familia Windows 2000
Aplicacs.
Usuario
Subsystem DLL
Subsistemas
de entorno
Win32
POSIX
OS/2
Procesos
de sistema Servicios
Interface DLL
Session Mgr
WinLogon
Replicator
Alerter
Event Log
Ntdll.dll
System Service Dispatcher
Sistema
E/S
Monitor
Seguridad
Procesos/
Threads
Servicios
de objetos
Memoria
Mgmt
Win32
GDI
Exec.
RTL Drivers
Hardware Abstraction Layer (HAL)
Kernel
Gestión de Objectos Sistemas
ficheros
Usuario
Kernel
Procesos del
Sistema y
Servicios
Win32 POSIX OS/2
Subsistemas de entorno
ARCOS @ UC3M 92
![Page 93: Introducción - Academia Cartagena99 · 2020-03-25 · Reconocimiento de voz, entrada multitáctil, etc. La evolución o nuevo tipo de hardware: Controladores para todo tipo de nuevos](https://reader033.fdocuments.net/reader033/viewer/2022042409/5f24fe93652d35188a6ed7b0/html5/thumbnails/93.jpg)
Lección 1 Introducción
Universidad Carlos III de Madrid
Grupo ARCOS
Diseño de Sistemas Operativos
Ingeniería Informática