so introducción x2
TRANSCRIPT
-
7/23/2019 SO Introduccin X2
1/24
07/04/2015
1
Qu es un sistema operativo?
Un programa que acta como un intermediario entre un usuario de una
com utadora elhardware de la com utadora.
Introduccin
Objetivos de Sistema Operativo:
Ejecutar los programas de usuario y permitir la solucin de problemas
del usuario mas fcilmente.
Conveniencia de uso del sistema de la computadora.
17/03/201300:55:07
.
Componentes del Sistema de Cmputo
1. Hardware provee los recursos bsicos de computacin (CPU,
memoria dis ositivos de E S .
Introduccin
2. Sistema Operativo controla y coordina el uso del hardware entre
varios programas de aplicacin para varios usuarios.
3. Programas de Aplicacin define el modo en el cual los recursos del
sistema son usados para resolver los problemas de computacin delos usuarios (compiladores, sistemas de bases de datos, videojuegos,
17/03/201300:55:07
we , programas a m n strat vos, etc .
4. Usuarios (gente, mquinas, otras computadoras).
-
7/23/2019 SO Introduccin X2
2/24
07/04/2015
2
Introduccin
17/03/201300:55:07
Vista Abstracta de los Componentes del Sistema
Introduccin
17/03/201300:55:07
-
7/23/2019 SO Introduccin X2
3/24
07/04/2015
3
Definiciones de Sistemas Operativos
Alocador de recursos
Introduccin
a m n s ra o os os recursos.
decide sobre requerimientos conflictivos para asegurar eficiencia y
uso imparcial de recursos
Programa de Control
controla ejecucin de los programas para prevenir errores y el uso
17/03/201300:55:07
.
Los sistemas Operativos
son ante todo administrado-
El programa ms fundamental
de todo el sistema es el Sistema
Sistemas Operativos: Definiciones
res de recursos.
H. M. Deitel
Operativo, el cual controla todos
los recursos del computador.
Andrew Tanenbaum.
Un Sistema Operativo es un
programa que acta comoEl Sistema Operativo es un
programa que controla la
17/03/201300:55:07
intermediario entre el
usuario y el hardware del
computador.
Silberschatz-Peterson-Galvin
ejecucin de los programas
de Aplicacin.
W. Stall ings.
-
7/23/2019 SO Introduccin X2
4/24
07/04/2015
4
Inicio de la Computadora
El programa debootstrap es cargado en el encendidoo reboot
Introduccin
p camen e a macena o en o , genera men e
conocido como firmware
Inicializa todos los aspectos del sistema
Carga el kernel del sistema operativo y comienza la ejecucin
17/03/201300:55:07
Cmo arranca el SO?
Windows:
Se car a la biblioteca HAL.
Introduccin
El Kernel.
Registro del sistema.
Se determinan los controladores y se cargan.
Se inicia el sistema y se crean procesos. Proceso del sistema.
17/03/201300:55:07
Procesos de Usuario.
SMSS (Session Manager Subsystem, similar al init en linux).
Crea procesos como winlogon y csrss (subsistema API Win 32).
Qu sucede cuando un Windows hiberna?
-
7/23/2019 SO Introduccin X2
5/24
07/04/2015
5
Qu hace el SO?
El SO corre programas de los usuarios, si esta disponible, entonces
entra en un ciclo de no hacer nada (ciclo idle).
Introduccin
En el ciclo idle:
El SO ejecuta un ciclo infinito (UNIX).
El SO realiza actividades de gestin del sistema y anlisis de rendimiento.
EL SO detiene el procesador y entra en modo de bajo consumo de energa
(notebooks).
El SO realiza al una funcin DECs VMS sobre VAX calculaba Pi .
17/03/201300:55:07
El SO se despierta cuando recibe:
Interrupciones desde los dispositivos de hardware.
Traps desde los programas.
Excepciones desde los programas de usuario.
Organizacin del Sistema de Cmputo
Operacin del Sistema de Cmputo
Introduccin
na o m s s, se provee acceso a a memor a compar a por
dispositivos de control conectados a un canal comn
La ejecucin concurrente de CPUs y dispositivos compiten por
ciclos de memoria.
17/03/201300:55:07
-
7/23/2019 SO Introduccin X2
6/24
07/04/2015
6
Organizacin del Sistema de Cmputo
Introduccin
17/03/201300:55:07
Operacin del Sistema de Cmputo
Los dispositivos de E/S y la CPU pueden ejecutar concurrentemente.
Introduccin
a a con ro a or e spos vos es encarga o e un po par cu ar
de dispositivo.
Cada controlador de dispositivos tiene un buffer local.
La CPU mueve datos desde/hacia la memoria principal a/desde losbuffers locales.
17/03/201300:55:07
.
El controlador de dispositivo informa a la CPU que ha finalizado su
operacin por medio de unainterrupcin.
-
7/23/2019 SO Introduccin X2
7/24
07/04/2015
7
Funcionamiento de las Interrupciones
Una interrupcin transfiere el control a la rutina de servicio de la
misma eneralmente or medio del vector de interru cin ue
Introduccin
contiene las direcciones de todas las rutinasde servicio.
La arquitectura de la interrupcin debe salvar la direccin de
Introduccin la instruccin interrumpida.
Las interrupciones entrantes son deshabilitadas mientras otra
interrupcin est siendo procesada para prevenir una prdida de
17/03/201300:55:07
nterrupc n.
Untrap es una interrupcin generada por el software causadapor un
error o por un requerimiento de usuario.
Un sistema operativo es manejado por lasinterrupciones.
Manejo de Interrupciones
El sistema operativo preserva el estado de la CPU almacenando los
re istros el contador de ro rama.
Introduccin
Determina que tipo de interrupcin ha ocurrido:
o polling
o
Sistema de interrupcinvectoreadoSegmentos de cdigo separados determinan que tipo de accin
17/03/201300:55:07
.
-
7/23/2019 SO Introduccin X2
8/24
07/04/2015
8
Multiprogramacin
Dos tcnicas son posibles para el funcionamiento de E/S.
Introduccin
.
No usa interrupciones.
El CPU tiene que esperar por la terminacin de cada
operacin de E/S.
E/S manejada por interrupcin.
El CPU puede ejecutar cdigo durante el funcionamiento de
17/03/201300:55:07
E/S.
Se interrumpe cuando la operacin de E/S se termina.
Mejoras del acceso:
Acceso Directo a Memoria: Un bloque de datos se transfiere
hacia/desde memoria directamente, sin pasar por el CPU.
Estructura de E/S
Forma Sincrnica
Introduccin
uego que a com enza, e con ro re orna a programa e usuar o
solo cuando la E/S se haya completado.
Una instruccin de espera mantiene ociosa la CPU hasta la
prxima interrupcin.
Lazo de espera (contencin para el acceso a memoria).
17/03/201300:55:07
,
procesamiento simultneo de E/S.
-
7/23/2019 SO Introduccin X2
9/24
07/04/2015
9
E/S programada
El mdulo de E/S realiza la accin, en
Introduccin
.
Pero el mdulo de E/S no interrumpe
al CPU cuando se termina la E/S.
El procesador debe mantenerse
ocupado esperando, verificando el
estado del mdulo de E/S.
17/03/201300:55:07
E/S manejada por interrupciones
El procesador es interrumpido
cuando el mdulo de E/S esta
Introduccin
listo para intercambiar datos.
El procesador es libre de realizar
otro trabajo.
El procesador NO necesita estarocupado esperando.
17/03/201300:55:07
procesador porque cada palabra
leda o escrita pasa a travs del
procesador.
-
7/23/2019 SO Introduccin X2
10/24
07/04/2015
10
Usado por dispositivos de E/S de alta velocidad para transmitir
informacin a velocidades similares a la de la memoria.
Estructura de Acceso Directo a Memoria (DMA)
Introduccin
El controlador de dispositivos transfiere bloques de datos desde el
buffer de almacenamiento directamente a la memoria principal sin la
intervencin de la CPU.
Solo una interrupcin es generada por bloque, y no una por byte.
17/03/201300:55:07
Estructura de almacenaje
Memoria principal nico medio de almacenaje que la CPU puede
acceder directamente.
Introduccin
Almacenaje Secundario extensin de la memoria principal que
provee una gran capacidad de almacenaje no voltil.
Discos Magnticos
La superficie del disco est lgicamente dividida entracks (pistas),
los cuales estn subdivididas en sectores.
17/03/201300:55:07
El controlador de disco determina la interaccin lgica entre el
dispositivo y la computadora.
-
7/23/2019 SO Introduccin X2
11/24
07/04/2015
11
Caching
Principio importante que es llevado a cabo por varios niveles en una
com utadora en hardware sistema o erativo software
Introduccin
La informacin en uso copiada desde un almacenaje lento a uno ms
rpido temporariamente.
El almacenaje ms rpido (cache) es verificado primero para
determinar si la informacin est all:
Si est, es usada directamente del cache (rpido)
17/03/201300:55:07
Si no, el dato es copiado al cache y usado all.
Estructura del Sistema Operativo
La Multiprogramacin es necesaria para lograr eficiencia:
Introduccin
n s mp e usuar o no pue e man ener a y os spos vos e
E/S ocupados todas las veces.
La multiprogramacin organiza las tareas ( cdigo y p g g g datos)
de tal manera que la CPU siempre tiene uno ejecutando.
Un subconjunto del total de tareas en el sistema se mantienen en
memoria.
17/03/201300:55:07
Una tarea es seleccionada y ejecuta va una planificacin de
tareas.
Cuando tiene que esperar (p.ej. E/S), el sistema operativo
conmuta a otra tarea.
-
7/23/2019 SO Introduccin X2
12/24
07/04/2015
12
Concurrencia
En un sistema multiprogramado (1 P), los procesos se intercalan,
para dar la apariencia de simultaneidad.
Introduccin
En un sistema con varios procesadores (n P), los procesos se
P1
P2
P3
17/03/201300:55:07
superponen.
P1
P2
P3
Operaciones del Sistema Operativo
La operacin en modo dual permite al sistema operativo protegerse a
si mismo otros com onentes del sistema
Introduccin
Modo usuario y modo kernel
El bit de modo es provisto por el hardware
Provee la habilidad para distinguir cuando el sistema estejecutando cdigo de usuario o cdigo kernel.
17/03/201300:55:07
,
modo kernel.
La llamada a sistema cambia el modo a kernel, el retorno de la
llamada reinicia al modo usuario.
-
7/23/2019 SO Introduccin X2
13/24
07/04/2015
13
Administracin de Procesos
Un proceso es un programa en ejecucin. Es una unidad de trabajo
dentro del sistema. Un ro rama es unaentidad asiva el roceso es
Introduccin
unaentidad activa.
El proceso necesita recursos para realizar su tarea.
CPU, memoria, E/S, archivos
Inicializacin de datos
17/03/201300:55:07
.
Administracin de Memoria
Todos los datos antes y despus del procesamiento.
Introduccin
o as as ns rucc ones en memor a para e ecu ar.
Determina que hay en memoria cuando es necesario optimizar la
utilizacin de CPU y el tiempo de respuesta.
Actividades de la administracin de memoria: Lleva control de que partes de la memoria estn siendo usadas y
17/03/201300:55:07
.
Decide que procesos cargar cuando hay espacio de memoria
disponible.
Ocupa y desocupa espacio de memoria cuando necesite.
-
7/23/2019 SO Introduccin X2
14/24
07/04/2015
14
Administracin del almacenaje
Administracin del Sistema de Archivos
Introduccin
os arc vos, usua men e es n organ za os en rec or os
El control de acceso en la mayora de los sistemas determina
quien puede acceder a que
Las actividades del SO incluyen:
Creacin y destruccin de archivos y directorios.
17/03/201300:55:07
Soporte de primitivas para el manejo de archivos y directorios.
Mapeo de archivos sobre el almacenaje secundario.
Respaldo sobre medios de almacenajes estables.
Administracin de Almacenaje Secundario
Los discos son usados para almacenar datos que no entran en
memoria rinci al o ara datos ue tienen ue ser uardados un
Introduccin
largo perodo de tiempo.
Su administracin es de vital importancia.
La velocidad de operacin de la computadora depende del subsistema
de discos y sus algoritmos.
17/03/201300:55:07
-
7/23/2019 SO Introduccin X2
15/24
07/04/2015
15
Subsistema de E/S
Uno de los propsitos del SO es esconder las peculiaridades de los
dis ositivos de hardware de los usuarios.
Introduccin
Los subsistemas de E/S son responsables de:
Administracin de memoria de las E/S incluyendo el buffering
(almacena datos temporariamente mientras estn siendo
transferidos), caching (almacena partes de datos en
almacenamiento rpido por rendimiento), spooling (el solapado
17/03/201300:55:07
e a sa a e un o con aentra a a otros
Interfaz general de drivers de dispositivos.
Drivers especficos para dispositivos de hardware
Proteccin y Seguridad
Proteccin mecanismo para controlar el acceso de procesos o
usuarios a recursos definido or el SO
Introduccin
Seguridad defensa del sistema contra ataques internos y externos
Amplio rango, incluyendo DoS, worms, virus, robo de identidad,
robo de servicios
17/03/201300:55:07
-
7/23/2019 SO Introduccin X2
16/24
07/04/2015
16
Proteccin y Seguridad (cont.)
Los Sistemas generalmente primero distinguen entre usuarios para
determinar uien uede ue:
Introduccin
oIdentidad de usuarios (ID de usuarios, IDs de seguridad) incluye
nombre y nmero asociado, uno por usuario
oEl ID de usuario se asocian con todos los archivos
oprocesos de ese usuario para determinar el control de acceso
17/03/201300:55:07
de usuarios controlar el manejo, tambin asociado con cada
proceso, archivo
oEscalamiento de privilegios permite al usuario cambiar a un ID
efectivo con ms derechos
Ambientes de Computacin
Computadora Tradicional
Introduccin
orrosa en e empo
Ambiente de oficina
oPCs conectadas a una red, terminales conectados mainframe o
minicomputadoras proveyendo procesamiento en lotes ytiempo compartido
17/03/201300:55:07
remotos acceder a los mismos recursos.
Redes hogareas
oUsados como sistemas simples, luego modems
oAhora firewalls y redes
-
7/23/2019 SO Introduccin X2
17/24
07/04/2015
17
Ambientes de Computacin (Cont.)
Computacin Cliente-Servidor
Introduccin
erm na es o as sup an a as por s
Muchos sistemas, ahora servidores, responden a requerimientos
generados por los clientes
El servidor provee una interfaz al cliente que requiere el
servicio (p.e. base de datos)
17/03/201300:55:07
almacenen y recuperen archivos
Computacin Peer-to-Peer (P2P)
Otro modelo de sistema distribuido
Introduccin
no s ngue en re c en es y serv ores
Todos los nodos son considerados peers
Cada uno puede actuar como cliente, servidor o ambos
El Nodo debe agregarse a la red P2P
oRegistra su servicio con un servicio central de bsqueda sobre
17/03/201300:55:07
la red o
oRequerir por un broadcast un servicio y responder a los
requerimientos por servicio viaprotocolo de descubrimiento.
Ejemplos incluyenNapster y Gnutella
-
7/23/2019 SO Introduccin X2
18/24
07/04/2015
18
Computacin basada en la Web
La Web se ha convertido ubicua
Introduccin
as s son os spos vos que preva ecen
La mayora de los dispositivos estn en red para tener acceso a la web
Nueva categora de dispositivos para manejar el trfico de la web
entre servidores similares: balanceadores de carga.
El uso de SOs como Windows 95, lado del cliente, han evolucionado
17/03/201300:55:07
,
clientes y servidores
Servicios del Sistema Operativo
Un conjunto de servicios de SO provee funciones que son tiles al
usuario:
Estructura del Sistema Operativo
Comunicaciones. Los procesos pueden intercambiar informacin, en la red
Las comunicaciones pueden ser va memoria compartida o por medio de
pasaje de mensajes (los paquetes son movidos por el SO)
Deteccin de errores. Los SOs necesitan estar constantemente al margen deerrores.
17/03/201300:55:07
, ,
en programas de usuario
Para cada tipo de error el SO toma la operacin apropiada para asegurar
una computacin correcta y consistente
Las facilidades de depuracin pueden mejorar las habilidades del usuario y
programador para hacer eficiente el uso del sistema.
-
7/23/2019 SO Introduccin X2
19/24
07/04/2015
19
Servicios del Sistema Operativo (Cont)
Otro conjunto de funciones del SO existen para asegurar una
o eracin eficiente del ro io sistema va recursos com artidos.
Estructura del Sistema Operativo
Proteccin y seguridad. Los propietarios de la informacin
almacenada en sistema de computadoras multiusuarios o de red
pueden querer controlar el uso de esa informacin, los procesos
concurrentes no deben interferir uno con otro.
o Proteccin implica asegurar que todos los accesos a recursos del sistema
17/03/201300:55:07
.
o Seguridad del sistema frente a los de afuera requiere autenticacin,
extensin para defender los dispositivos externos de E/S de intentos de
accesos no vlidos.
Si un sistema debe ser protegido y seguro, deben ser tomadas precauciones
pues una cadena es tan fuerte como el ms dbil de los eslabones.
Interfaz de Usuario del Sistema Operativo - CLI
La interfaz de lneas de comando (Command Line Interface - CLI) o
intr rete de comando ermite entrar comandos en forma directa
Estructura del Sistema Operativo
o Algunas veces implementadas en el kernel, otras como programas
de sistema
o A veces mltiples variantes shells
o En primer lugar espera un comando del usuario y luego lo ejecuta
17/03/201300:55:07
,
programas
En este ltimo caso, agregar nuevas caractersticas no
requiere modificaciones en la shell.
-
7/23/2019 SO Introduccin X2
20/24
07/04/2015
20
Llamadas al Sistema
Son la interfaz de programacin a los servicios provistos por el SO
Estructura del Sistema Operativo
p camen e escr as en engua es e a o n ve o
Mayoritariamente accedidas por programas va Application Program
Interface (API) ms que por el uso llamadas a sistema directas
Las tres API ms comunes son Win32 para Windows, POSIX API para
sistemas POSIX (incluyendo virtualmente todas las versiones de UNIX,
Linux, y Mac OS X), y Java API para la mquina virtual Java (JVM)
17/03/201300:55:07
Programas de Sistema
Los programas de sistema proveen un medio conveniente para el
desarrollo de ro ramas e ecucin. Pueden ser divididos en:
Estructura del Sistema Operativo
o Manipulacin de archivos
o Informacin de estado
o
Modificacin de archivoso Soporte de lenguajes de programacin
17/03/201300:55:07
o Carga de programas y ejecucin
o Comunicaciones
o Programas de aplicacin
La visin que tienen la mayora de los usuarios del sistema operativo est dada por los
programas de sistema y no por las llamadas a sistema (system calls).
-
7/23/2019 SO Introduccin X2
21/24
07/04/2015
21
Sistema monoltico App App
Modo Usuario
Estructura del Sistema Operativo
Supervisa solicitudes
de cambio desde modo
usuario al modo kernel
Servicios del sistema
Modo Kernel
17/03/201300:55:07
Hardware
Procedimientos
SO
Estructura Simple
MS-DOS escrito para proveer mxima funcionalidad en el menor
es acio
Estructura del Sistema Operativo
No est dividido en mdulos
Aunque MS-DOS tiene cierta estructura, sus interfaces y niveles de
funcionalidad no estn bien separados
17/03/201300:55:07
Capas de la Estructura MS-DOS
-
7/23/2019 SO Introduccin X2
22/24
07/04/2015
22
Enfoque por Capas
El sistema operativo est dividido en un nmero de capas (niveles),
cada una construida sobre el to e de otra.
Estructura del Sistema Operativo
La capa inferior (nivel 0), es el hardware; la mas alta (capa N) es la
interfaz de usuario.
En forma modular, las capas son seleccionadas de manera que cada
una usa funciones (operaciones) y servicios de las capas inferiores
17/03/201300:55:07
enta as:Simplicidad de construccin.
Facilidad de depuracin.
Extensible.
Desventajas:Definir las capas.
Cada capa agrega sobrecarga.
Estructura Unix
Estructura del Sistema Operativo
17/03/201300:55:07
-
7/23/2019 SO Introduccin X2
23/24
07/04/2015
23
Estructura UNIX modernos
Estructura del Sistema Operativo
17/03/201300:55:07
Microkernel del SO (SO Cliente/Servidor)
Implementos del Kernel : ServidorMemoria
App
Cliente
Servidor
Red
Estructura del Sistema Operativo
Planificacin
Gestin Memoria
Comunicacin
interprocesos (IPC)Servidores modo-usuarios
Servidor
Procesos
Servidor
Archivos
Servidor
Pantallas
Modo Usuario
Modo Kernel
17/03/201300:55:07
Microkernel
Hardware
pet c n
respuesta
-
7/23/2019 SO Introduccin X2
24/24
07/04/2015
24
Estructura Windows
Estructura del Sistema Operativo
17/03/201300:55:07
Estructura de Sistema Microkernel
Mueve tanto como se pueda al espacio de usuario
Estructura del Sistema Operativo
as comun cac ones enen ugar en re m u os e usuar os por
medio de pasajes de mensajes
Beneficios:
Ms fcil de extender
Ms fcil de portar el SO a nuevas arquitecturas
17/03/201300:55:07
Mas confiable (menos cdigo corre el el modo kernel)
Ms seguro
Detrimentos:
Sobrecarga de rendimiento en la comunicacin del espacio de
usuario al espacio de kernel