Sistemas Operativos - Arquitectura de Computadores (2269)

Transcripción

Sistemas Operativos - Arquitectura de Computadores (2269)
Sistemas Operativos
Introducción
UMH
ARCO 2015
¿Qué es un computador?
[Hamacher96]: “máquina de cálculo electrónica de alta velocidad que
acepta información digitalizada, la procesa atendiendo a una lista de
instrucciones que almacena internamente, y produce la
correspondiente información de salida”.
[RAE]: “Máquina electrónica, analógica o digital, dotada de una memoria
de gran capacidad y de métodos de tratamiento de la información,
capaz de resolver problemas matemáticos y lógicos mediante la
utilización automática de programas informáticos”.
Esquema de funcionamiento de la
computadora
Datos
Computadora
Instrucciones
de máquina
Resultados
Arquitectura del computador
¿Que es?
Arquitectura del Computador
(ISA) Juego de Instrucciones:
Diseño del conjunto de instrucciones.
Interface del computador.
Relación con los compiladores.
Organización de la máquina:
Unidades funcionales y su interconexión.
Transparente al software.
Componentes Hardware
Introducción
Funciones de un computador:
¤
¤
¤
¤
Procesamiento de datos.
Almacenamiento de datos.
Transferencias de datos entre el computador y el exterior.
Control de las anteriores operaciones.
La excesiva generalidad de estas funciones se debe a que la especialización
funcional de un computador ocurre cuando se programa y no cuando se
diseña.
¨
Sus principales componentes estructurales son:
¤
¤
¤
¤
Procesador: controla el funcionamiento del computador y procesa los datos.
Subsistema de memoria: almacena datos.
Subsistema de entrada/salida: transfiere datos entre el computador y el entorno
externo.
Ruta de datos: interconexión entre las diferentes partes.
Estructura del computador
Código
UNIDAD
ARITMÉTICA
ROM
UNIDAD DE CONTROL
Estado
Contador de programa
Registro de instrucción
Puntero de pila
¨
¨
Monoprocesador
Multiprocesador
Multicomputador
UNIDAD de ENTRADA/SALIDA
Datos
¨
PERIFÉRICOS
MEMORIA
PRINCIPAL
Registros
¿Qué es un SO?
Necesidad SO
Necesidad:
¤
¤
¤
El manejo del hardware es una tarea muy complicada.
Es necesario dar al usuario del ordenador un software
que realice y coordine las operaciones de los elementos
del sistema eficientemente.
Además debe presentar una interfaz de fácil manejo y
entendimiento.
n
Surge el Sistema Operativo.
Cada circuito necesita un lenguaje para
su programación.
VIDEO
Calculadora
Programable
Que pasa con los computadores?
Modelo de programación del
computador
• Modelo de programación
• Juego de instrucciones (usuario y núcleo)
D0
D1
D2
D3
D4
D5
D6
D7
31
16 15
87
0
Registro de estado
Registros de datos
Modo Traza
Sistema/Usuario
Máscara
de
Interrupciones
A0
A1
A2
A3
A4
A5
A6
A7
A7'
Registros de dirección
Puntero de pila de usuario
Puntero de pila de sistema
Contador de programa
Extensión
Negativo
Cero
Desbordamiento
Acarreo
T 15
14
S 13
12
11
I2 10
I1 9
I0 8
7
6
5
X 4
N 3
Z 2
V 1
C 0
0
Mapa de
memoria
0
216 -1
32
2 -1
Mapa de
E/S
Juego de Instrucciones
Octeto de
Sistema
Octeto de
Usuario
Modelo de programación de usuario y
de núcleo
Niveles de ejecución
X
N
Z
V
C
7
6
5
4
3
2
1
0
Octeto de
Usuario
Registro de estado
A0
A1
A2
A3
A4
A5
A6
A7
D0
D1
D2
D3
D4
D5
D6
D7
Registro de estado
T 15
14
S 13
12
11
I2 10
I1 9
I0 8
7
6
5
X 4
N 3
Z 2
V 1
C 0
A0
A1
A2
A3
A4
A5
A6
A7
A7'
0
Octeto de Octeto de
Usuario Sistema
D0
D1
D2
D3
D4
D5
D6
D7
0
0
31
2 -1
216-1
32
2 -1
Mapa de
memoria
Juego de
Instrucciones
Modelo de programación de usuario
Mapa de
memoria
Mapa de
E/S
Juego de
Instrucciones
Modelo de programación de núcleo
Componentes de un computador
CPU
Memoria
Bus
PROGRAMAS
Controlador
HD
Cada
unidad de un computador (CPU, memoria, disco
Todas estas partes deben cooperar transparentemente y eficazmente y
duro, monitor,de
ratón,
necesita
un programa de
formaetc…)
conveniente
a los usuarios
COMO?
control.
SISTEMA OPERATIVO
El SO como guía
The OS coordinates the sharing and use of all the components in the
computer
Operating Systems: A Modern
Perspective, Chapter 1
Evolución de los SO
Evolución de los SO. Evolución 1
Procesamiento en serie (1940-50):
nEl
usuario escribía los programas en código máquina
⇒ controlaba el HW directamente
nEl
operador era el encargado de insertar los
trabajos de cada usuario de forma manual
nTableros
n
enchufables o tarjetas perforadas
Problemas: planificación y tiempo de preparación
Evolución de los SO. Evolución 1
¤ No
había sistema operativo.
¤ Las operación con estas máquinas era desde una consola
consistente en unos indicadores luminosos, unos
conmutadores, un dispositivo de entrada y una impresora.
¤ Planificación por parte del programador.
¤ La preparación incluía cargar un compilador, un programa
fuente, salvar el programa compilado y, por último, cargar
y montar.
Evolución – 2. Por lotes (batch)
Procesos por lotes (batch, 50’s):
¤ Usuario
¤ Cintas
≠ Operador
magnéticas o tarjetas perforadas
¤ Programas escritos en ensamblador o un lenguaje de
alto nivel (FORTRAN)
¤ Se basa en el uso de un “monitor” no residente
totalmente, que gestionaba el problema de la
planificación
¤ El tiempo de inicio se reducía para trabajos similares
Evolución – 2. Por lotes (batch)
Ejemplo de trabajo por lotes
Evolución – 2. Por lotes (batch)
Monitores:
¤Software
que controla los programas que
están en funcionamiento.
¤Los trabajos se agrupaban por lotes.
¤El programa volvía al monitor al terminar su
procesamiento.
¤El monitor residente está en la memoria
principal y disponible para su ejecución.
Evolución – 2. Por lotes (batch)
Mapa de memoria:
l
Monitor
Area de programa
Protección de memoria:
No permite modificar la zona
de memoria en la que está el
monitor.
Evolución – 2. Por lotes (batch)
¨
El monitor se encarga de:
Leer e interpretar las tarjetas perforadas
n Cargar programas de sistema (compiladores) y de usuario en la
memoria
n Comunicarse con los dispositivos E/S (drivers)
n
¤ Problema:
bajo rendimiento, ya que no se pueden
solapar las operaciones E/S con CPU. Había largas
esperas entre lotes de trabajo
n
La 2ª Generación de ordenadores introduce hardware separado
para gestionar la E/S y por tanto aparece la concurrencia , como
se gestiona la concurrencia?, aparece la multiprogramacion.
Evolución – 3. Multiprogramados
l
Procesos por lotes con multiprogramación:
l
l
l
Idea básica: tener varios procesos en marcha para que el S.O.
cambie a otro proceso cuando el que está en ejecución espere
una op. E/S.
Todos los procesos están en memoria principal, en diferentes
estado de ejecución.
Grado o factor de multiprogramación
l
Se utiliza para:
§
§
§
¡ Incremento de la utilización de la CPU y recursos !
Soportar múltiples usuarios activos (servidor de red)
Permitir programas interactivos
Evolución – 3. Multiprogramados
Objetivo: aprovechar los tiempos de espera de un
trabajo en la CPU para ejecutar instrucciones de
otro trabajo
¨ Método: mantener los trabajos simultáneamente en
memoria y elegir el trabajo a conmutar
¨ Consecuencias:
¨
n
n
n
n
n
Gestión de memoria
Planificación de dispositivos
Gestión de interbloqueos
Control de la concurrencia
Protección
Evolución – 3. Multiprogramados
¨
Se requiere:
¤ Gestión
de recursos
(memoria,dispositivos E/S)
¤ Planificación de procesos
¨
Mapa de memoria:
Sistema Operativo
Proceso 1
Proceso 2
Proceso 3
Multiprogramación
La E/S es muy lenta en comparación con la
CPU.
¨ Cuando un proceso espera por la E/S (se
bloquea), ejecutamos en la CPU instrucciones
de otro proceso.
¨ Los procesos entrelazan su ejecución:
concurrencia.
¨ La CPU y la E/S trabajan en paralelo, se
terminan más trabajos en menos tiempo
¨
Evolución – 3. Multiprogramados
Multiprogramación:
P1
P2
P3
P4
1
2
3
4
Proceso utilizando la CPU
tiempo
Evolución de los SO
l Primera
l
l
generación (1943-1955):
No existe S.O.
El programador realiza todo el trabajo
l Segunda
l
Programa Monitor,
§
§
l
generación (1956-1963):
Identifica e interpreta las tarjetas de control
Realiza el control de trabajos
Procesamiento de trabajos en lotes.
Evolución de los SO
l Tercera
l
l
l
Perfeccionamiento del sistema de trabajos por lotes
Permiten la multiprogramación
Memoria virtual.
l Cuarta
l
l
l
generación (1963-1979):
generación (1980- .. ):
Aumento de la seguridad, velocidad de proceso y
prestaciones.
S.O. de red.
S.O. distribuidos.
Estructura de los SO
Introducción
Objetivo de la estructuración:
Buscar una organización interna que facilite la
comprensión, incremente la portabilidad, la ejecucion
de las tareas, su mejora y favorezca el mantenimiento
Enfoques en la estructura
A grandes rasgos cabe considerar tres
enfoques de diseño:
I.
II.
III.
Enfoque monitor monolítico
Enfoque micronúcleo
Enfoque por capas
1- SO Monoliticos
¨
¨
¨
Toda la funcionalidad del SO se incluye en el núcleo o
procedimiento principal.
El SO es un gran programa compuesto por
procedimientos. Cualquier procedimiento puede llamar
a otro à desde cualquier parte del so se puede llamar
a otra directamente.
El so trabaja en modo supervisor (acceso al hw no
restringido) y los programas de aplicación en modo
usuario.
1- SO Monoliticos
1- SO monolítico
Procesos
de usuario
Proceso
de
usuario
Proceso
de
usuario
Proceso
de
usuario
SVC
Despertar
Intérprete
de la SVC
Desbloquear
Petición de
E/S
Proceso de
la
interrupción
Nucleo
Dispositivos
Comienzo de la E/S
Interrupción
1 - SO Monoliticos
¨
Ventaja
¤ Eficiencia
procesos)
¨
(se producen pocos cambios de contexto de
Desventajas:
¤ Acceso
a todas las estructuras de datos del so
¤ El fallo de un proceso en modo núcleo puede bloquear
el so completo
¤ Depuración compleja de los problemas
¤ Extensión del SO compleja
n Ejemplos: MS-DOS y Linux
2- SO micronucleo
El so consta de:
¤
¤
Un cjto de subsistemas, cada uno de los cuales
implementa un tipo de servicio
Un micro núcleo que proporciona la mínima
funcionalidad necesaria:
n
n
Cada subsistema (servidor) ejecuta un bucle en el
que testea si alguien (cliente) ha solicitado el
servicio
La petición de servicios, la finalización y el envio
de resultados se realiza mediante mensajes a
través del micro núcleo.
2- SO Micronucleo
Desventajas:
¤ Poco
eficiencia debido a la sobrecarga de las
comunicaciones
Ventajas
¤ Fácil
implementación
¤ Si falla un servidor no se bloquea todo el so
2- Micronúcleo
Proceso
Proceso
Procesode usuario
de usuario
Proceso
de usuario
de usuario
Lectura de disco
Devolver los datos
Inicio de la E/S
Proceso
gestionador de
dispositivo
Dispositivo
Interrupción
Despertar
Determinación del
proceso que solicitó la
E/S
Micronúcleo
Proceso de la
interrupción
3- Diseño por capas
¨
¨
El diseño por capas lleva asociada una jerarquización
que permite disminuir la complejidad observable de un
sistema
Concepto de capa: conjunto de funciones claramente
definidas hacia un objetivo común
Entidad N
Capa N
Servicios
Capa N-1
Entidad N-1
Entidad N-1
Estructura de UNIX
Programas de usuario
Bibliotecas
Trap
Nivel de usuario
Nivel kernel
Interfaz de llamadas al sistema
Subsistema de
Subsistema
control de procesos
de archivos
Subsistema
de E/S
Manejo de memoria
Buffer cache
IPC
Bloque
Carácter
Planificador
Drivers
Nivel kernel
Nivel hardware
Control hardware
HARDWARE
Estructura de Linux
Interfaz de llamadas de alto nivel
Modo usuario
Validación de argumentos de las llamadas al sistema
Alto nivel
del núcleo
Conmutador de sistemas de archivo
Manejador de
archivos
Manejador de
procesos
Interfaz de
sockets y
streams
Manejador
de callouts
Manejador de
terminales
Manejador de
memoria
Estructuras del
núcleo
(alto nivel)
Pila de red
Manejador
del buffer cache
Estructuras de
datos compartidas
entre el alto y
el bajo nivel
Manejadores de dispositivo
Manejador de interrupciones
Manejador de traps de llamadas al sistema
Manejador de excepciones
Tabla de
dispatch
Manejador de
procesos de
bajo nivel
HARDWARE
Callout de
bajo nivel
Cambio
de contexto
Bajo nivel
del núcleo
Estructura de W2K
Procesos de sistema
Servicios
Controlador
de servicios
Aplicaciones
Subsistemas
POSIX
Replicador
Alertador
WinLogon
OS2
RPC
Manejador de
sesiones
Aplicaciones
DLLs
de usuario
DLLs
DLLs
Registrador
de eventos
Hilos del
sistema
Win32
NTDLL.DLL
API del núcleo
Manejador de
E/S
NtosKrnl.exe
Manejador
de cache
PnP
Control de
alimentación
Seguridad
Memoria
virtual
Procesos
e hilos
Sistema
de archivos
Manejador de objetos
Manejadores de dispositivo
Kernel
HAL
HARDWARE
Win32
GDI
Ventajas del empleo de capas
¤
¤
¤
¤
¤
Las estructuras internas y algoritmos de una
capa no son visibles a las demás
El sistema puede evolucionar fácilmente
Pueden existir realizaciones alternativas
Algunas capas pueden ser transparentes si
sus servicios no son necesarios
Cada capa se codifica y prueba de modo
independiente. No se bloquea todo el SO
Introducción a los SO
Introducción
Elementos de un sistema informático
¤ Hardware
¤ Software
software del sistema (Sistema Operativo)
n aplicaciones
n
¤ Personas
(usuarios del sistema)
usuarios
n programadores
n
El Hardware
El hardware contiene elementos:
¤ Procesamiento,
CPU
¤ Memoria:RAM, disco, cintas,..
¤ Dispositivos E/S
¤ Dispositivos Comunicaciones
Perspectives of the Computer
print
cut
save send
open()
malloc()
fork()
read-disk
start-printer
track-mouse
Application
Software
System
Software
Application
Software
System
Software
System
Software
Hardware
Hardware
Hardware
(b) Programador
de aplicaciones
© Programador de SO
(a) Usuario
Final
Application
Software
Operating Systems: A Modern
Perspective, Chapter 1
Niveles del Sistema
Aplicaciones de Usuario
Interface con el SO
Sistema Operativo
Interface con el Hardware
Hardware
Esta conceptualización es
importante
Abstracciones
El SO simplifica el uso del hardware
construyendo una serie de abstracciones:
¤ Proceso:
es una CPU dedicada a un programa
¤ Memoria Virtual: simula una RAM infinita
¤ Archivos: memoria permanente de datos
¤ Shell: interfaz de usuario programado
El SO ha evolucionado en conjunto con la tecnología
¿Que es un SO?
Es un conjunto de programas cuyas misiones son:
¤ 1.
Gestionar los recursos del sistema informático
(procesadores, memoria, E/S, etc), entre los diferentes
procesos que compiten por ellos.
¤ 2. Ofrecer al usuario una especie de "máquina virtual" o
"máquina extendida", más fácil de usar que el hardware
subyacente
Definiciones de Sistema Operativo
(Stallings) Un SO es un programa que controla la ejecución de los
programas de aplicación y que actúa como interfaz entre el
usuario del computador y el hardware del mismo.
(Silberschatz, 1): Un SO es todo aquello que te entrega el vendedor
cuando le pides un Sistema Operativo.
(Silberschatz, 2): el SO es el único programa que se está ejecutando
en todo momento en el computador (denominado núcleo o kernel),
siendo el resto programas de aplicación.
(Milenkovic): un SO puede ser contemplado como una colección
organizada de extensiones software del hardware, consistente en
rutinas de control que hacen funcionar un computador y
proporcionan un entorno para la ejecución de los programas.
Definiciones importantes
Sistema operativo:
“Conjunto de programas que controla la ejecución de los
programas de aplicación y actúa como interfaz entre el usuario
y el hardware (controla y asigna recursos)”
Programas de usuario:
Utilizan los servicios proporcionados por el S.O. para
tener acceso a los recursos (ficheros, dispositivos E/S,
procesador, memoria, etc.)
Objetivo básico de un SO
“Crear una máquina virtual con la que sea
sencillo trabajar”
SO
Funciones
HW
Otros objetivos
Ejecutar las aplicaciones de los usuarios
¨ Facilitar la interacción con el computador
¨ Administrar eficientemente los recursos de la
máquina
¨ Controlar el funcionamiento del hardware y
ofrecer un modo sencillo de acceso al
ordenador.
¨
Funciones básicas de los SO
Abstracciones
¤ Proceso:
es una CPU dedicada a un programa
¤ Memoria Virtual: simula una RAM infinita
¤ Archivos: memoria permanente de datos
¤ Shell: interfaz de usuario programado
¿Cómo implementa el SO estas abstracciones?
¤ Mediante
una serie de módulos repartidos en niveles
Parte Principal
Módulo principal: Núcleo o Kernel
El más cercano al hardware
l Se carga en memoria al iniciar la
computadora y se mantiene siempre.
l Coordina los demás módulos
l Funciones:
l
l
l
l
Manejo de interrupciones
Asignación de trabajos al procesador
Intercomunicador entre programas.
Nucleo o Kernel
Básicamente ,el sistema
operativo se compone de
un núcleo o Kernel y un
intérprete de comandos
denominado Shell.
u su a r io
p rogram a
s
sh e ll
kernel
H ard w are
Núcleo
¨
¨
¨
Se suele llamar núcleo
(kernel) al software del
sistema operativo que
reside permanentemente
en memoria y que
atiende las llamadas al
sistema.
El núcleo ofrece una serie
de servicios a los
procesos de usuario para
que estos puedan llevar a
cabo su misión.
Inicia el SO
Proceso
Proceso
N
U
C
L
E
O
Proceso
Proceso
H
ardw
are
N
U
C
L
E
O
Estructura de UNIX
Programas de usuario
Bibliotecas
Trap
Nivel de usuario
Nivel kernel
Interfaz de llamadas al sistema
Subsistema de
Subsistema
control de procesos
de archivos
Subsistema
de E/S
Manejo de memoria
Buffer cache
IPC
Bloque
Carácter
Planificador
Drivers
Nivel kernel
Nivel hardware
Control hardware
HARDWARE
Estructura de Linux
Interfaz de llamadas de alto nivel
Modo usuario
Validación de argumentos de las llamadas al sistema
Alto nivel
del núcleo
Conmutador de sistemas de archivo
Manejador de
archivos
Manejador de
procesos
Interfaz de
sockets y
streams
Manejador
de callouts
Manejador de
terminales
Manejador de
memoria
Estructuras del
núcleo
(alto nivel)
Pila de red
Manejador
del buffer cache
Estructuras de
datos compartidas
entre el alto y
el bajo nivel
Manejadores de dispositivo
Manejador de interrupciones
Manejador de traps de llamadas al sistema
Manejador de excepciones
Tabla de
dispatch
Manejador de
procesos de
bajo nivel
HARDWARE
Callout de
bajo nivel
Cambio
de contexto
Bajo nivel
del núcleo
Estructura de W2K
Procesos de sistema
Servicios
Controlador
de servicios
Aplicaciones
Subsistemas
POSIX
Replicador
Alertador
WinLogon
OS2
RPC
Manejador de
sesiones
Aplicaciones
DLLs
de usuario
DLLs
DLLs
Registrador
de eventos
Hilos del
sistema
Win32
NTDLL.DLL
API del núcleo
Manejador de
E/S
NtosKrnl.exe
Manejador
de cache
PnP
Control de
alimentación
Seguridad
Memoria
virtual
Procesos
e hilos
Sistema
de archivos
Manejador de objetos
Manejadores de dispositivo
Kernel
HAL
HARDWARE
Win32
GDI
Niveles clásicos de un SO
NIVEL 1
Nivel inferior de gestión del procesador
Objetivo:
¤
Compartir la CPU entre procesos (multiprogramacion)
Funciones:
¤
¤
¤
Sincronización entre procesos
Conmutación de la CPU
Gestión de interrupciones
Estados de un proceso
A medida que un proceso se ejecuta,
cambia de estado:
n nuevo:
recién creado por el S.O.
n en ejecución: está en la CPU ejecutando instrucciones
n bloqueado: esperando por algún evento (ej. una
operación de E/S)
n preparado: esperando a que le asignen un
procesador (CPU)
n terminado: no ejecutará más instrucciones
Estados de un proceso
F
in
o
p
e
r
a
c
ió
n
o
o
c
u
r
r
e
e
v
e
n
to
N
u
e
v
o
A
d
m
itid
o
B
lo
q
u
e
a
d
o
O
p
e
r
a
c
ió
n
E
/S
o
e
s
p
e
r
a
e
v
e
n
to
T
e
r
m
in
a
d
o
I
n
te
r
r
u
p
c
ió
n
P
r
e
p
a
r
a
d
o
E
j
e
c
u
c
ió
n
P
la
n
if
ic
a
d
o
r
L
la
m
a
d
a
s
is
te
m
a
o
e
x
c
e
p
c
ió
n
Niveles clásicos de un SO
NIVEL 2
Nivel superior de gestión de procesos
Objetivo:
¤
Gestión de procesos
Funciones:
¤
¤
¤
Creación y destrucción de procesos
Intercambio de mensajes entre procesos
Detención y arranque de procesos
Creacion de Procesos
Creación de un proceso:
¤ Desde
la línea de órdenes (shell)
¤ Creados por otros procesos
⇒ estructura árbol
A
B
D
E
C
F
Niveles clásicos de un SO
NIVEL 3
Gestión de memoria
Objetivo:
¤
Repartir la memoria entre procesos
Funciones:
¤
¤
Asignación y liberación de memoria
Control violación de acceso
Gestión de memoria principal
Memoria principal es escasa y cara
Responsabilidades del SO:
v
¤
¤
¤
¤
¤
conocer qué zonas de memoria están libres y cuáles están
ocupadas
decidir qué procesos hay que cargar cuando haya memoria
libre
reservar y liberar zonas de memoria según se solicite
memoria virtual: utilizar el almacenamiento secundario como
una extensión de la memoria principal.
Proteger la zona de memoria asignada a los procesos
Niveles clásicos de un SO
NIVEL 4
Nivel de gestión de dispositivos
¨ Objetivo:
¤
¨
Realizar la gestión de las E/S en función de los
dispositivos existentes
Funciones:
¤
¤
¤
Creación de procesos de E/S
Asignación y liberación de dispositivos de E/S
Planificación de la E/S
Gestión Dispositivos
La E/S es un conjunto de dispositivos muy
variados.
¨ Objetivos del S.O con respecto a las E/S:
¨
l
l
l
l
l
proporcionar una interfaz uniforme para el acceso a los
dispositivos (independencia del dispositivo)
proporcionar manejadores (drivers) para los dispositivos
concretos
tratar automáticamente los errores más típicos
para los dispositivos de almacenamiento, utilizar cachés
para los discos, planificar de forma óptima las peticiones
El problema de la E/S
La E/S era muy lenta en comparación con la
CPU.
¨ Esto provocaba que la CPU quedara ociosa
mucho tiempo esperando por la terminación
de operaciones de E/S.
¨ Algunas técnicas para tratar el problema:
¨
¤ Uso
de búferes y spoolers
¤ DMA
¤ Multiproceso
Controladores de E/S
¨
¨
¨
¨
Los dispositivos se conectan al bus de datos a través
de controladores de E/S.
La CPU se comunica con los controladores a través de
instrucciones especiales o de direcciones de memoria
concretas.
Cada controlador tiene un búfer local (en el
controlador). La CPU envía y recoge datos del búfer.
En general, el controlador notifica a la CPU la
finalización de una operación o la llegada de nuevos
datos mediante una interrupción.
Niveles clásicos de un SO
NIVEL 5
Nivel de gestión de la información
Objetivo:
¤
Gestionar el espacio de nombres lógicos y la
protección de la información.
Funciones:
¤
¤
¤
¤
Creación y destrucción de ficheros y directorios
Apertura y cierre de ficheros
Lectura y escritura de ficheros
Protección de acceso
Sistema de archivos
¿Cómo se almacena y cómo presenta la información el
SO?
Un archivo es un conjunto de datos identificado por un
nombre. Los archivos se almacenan en dispositivos de E/S.
Un archivo es un concepto de alto nivel que no existe en el
hardware.
¨
¤
¤
¤
¤
Los archivos contienen datos.
Una carpeta sirve para almacenar archivos y otras carpetas
Construyéndose así un sistema de archivos en forma de árbol.
La información de la estructura de carpetas se suele almacenar en
una zona predeterminada.
Sistema de archivos
Funciones del S.O.:
¤ manipulación
de archivos: crear, borrar, leer, escribir...
¤ manipulación de directorios
¤ ubicar los archivos y directorios en los dispositivos de
almacenamiento secundario
¤ automatizar ciertos servicios: copia de seguridad,
versiones, etc.
Shell
Interfaz de usuario (shell)
SHELL
USUARIO
Otros modulos
Kernel
Interfaz Aplicación
HARDWARE
SHELL
Shell
Interfaz de usuario:
El modulo que controla la manera de comunicarse el SO con el
usuario se denomina interprete de ordenes, entorno o shell.
✔ Funciones:
Traducir las ordenes del usuario en ordenes del SO.
RESUMEN
•
Todo el SO se ejecuta en modo
supervisor
●
Sólo el µnúcleo se ejecuta en
modo supervisor
●
Menos robusto
●
Más robusto
●
El SO es ininterrumpible
●
El SO es interrumpible
●
Menor rendimiento debido a la
sobrecarga de comunicaciones
●
Mayor rendimiento
●
Empleado en sistemas
pequeños
●
Empleado en sistemas grandes
●
Difícil de modificar en tiempo
de ejecución
●
Fácil de modificar en tiempo de
ejecución
●
Menos adaptable
Practicas
¨
Empiezan en Octubre
n
n
n
¨
1 grupo.
Asistencia obligatoria
guiadas y entrega de memoria
Linux embebido
n
n
n
¤ Trabajos
Interprete de ordenes
Llamadas al sistema
Programación en Lenguaje C (make,gcc)

Documentos relacionados