Title: Sistemas Operativos
1Sistemas Operativos
- Evolución, categorÃas y caracterÃsticas generales
2Definición
- Un SO es un programa(s) que actúa como
intermediario entre el usuario y los componentes
fÃsicos del sistema (hardware) - El propósito principal del sistema operativo es
el de hacer conveniente y eficiente el uso de
los componentes fÃsicos - Programa que está corriendo todo el tiempo
3Aplicación
- Una aplicación es cualquier otro programa que no
sea el sistema operativo
4Componentes Básicos de un sistemas de computadoras
- HARDWARE
- Sistema Operativo
- Aplicaciones
- Y el usuario
5Los componentes básicos del Hardware
- CPU
- Periferales de entrada y salida ( I/O)
- memoria
6Diagrama de un Sistema Operativo
User n
User1
User2
User3
Compiladores Editores Juegos Hojas de Cálculo
Sistema Operativo
HARDWARE
7SO programa de Control
- Un programa de control es el que dirige la
ejecución de programas, para prevenir errores y
el uso impropio de la computadora. - Su mayor responsabilidad son los periferales (I/O)
8Evolución de los Sistemas Operativos
- Simple Batch Systems
- Multiprogrammed Batch Systems
- Time Share or Multitasking
- Parallel Systems
- Distributed Systems
- Real time systems
9Simple Batch System
- Surguieron por la necesidad de controlar los
periferales I/O. - Los CPUs aunque eran relativamente rápidos, eran
extremadamente ineficientes pues tenÃan que
esperar por los periferales para poder continuar. - Los trabajos se dejaban por lotes (batch) para
que el CPU los procesara en orden
10Simple Batch Systems
- El orden en que se ejecutaban las tareas era en
forma secuencial - Según los periferales aumentaban la velocidad,
los CPUs hacÃan lo mismo, acrecentando el
problema de sincronización (Los CPUs son mucho
más rápidos que los periferales)
11BUFFERS?
- Los buffers aparecen con la llegada de los discos
duros. - Los buffers aliviaron el problema de la
sincronización. - Los buffers aumentaron la eficiencia de los SO
por que los CPU ya no tenÃan que leer la data
directamente de los periferales sino que leÃan
los datos desde el disco/buffer.
12SPOOLING?
- S imultaneous
- P eripheral
- O perations
- O N
- L - ine
13Cúal es el propósito de SPOOLING?
- El propósito de SPOOL es el de aumentar la
eficiencia del SO, mediante la técnica de leer o
escribir a periferales desde el disco. - El SO puede estar leyendo desde un periferal al
mismo tiempo que haciendo cálculos o escribiendo
a otro dispositivo
14MULTIPROGRAMMED BATCHED SYSTEM
- Surgen a raÃz de la técnica de SPOOLING
- Proveen la capacidad de escoger cual tarea
ejecutará primero y cúal despúes.
15job scheduling?
- Ocurre job scheduling cuando el sistema
operativo tiene que tomar una decisión entre un
job y otro, en cuanto a cúal cargará primero en
la memoria (por concepto de prioridad). - Cuando la decisión es sobre qué job tomará el
CPU se conoce como CPU scheduling
16Time Sharing SystemsMultitasking Systems
- Es la extensión lógica de multiprogramming
- Ejecuta varios jobs alternándolos basado en
tiempo de acceso al CPU - Permite ejecutar varios procesos al mismo
tiempo con sólo un procesador. - Permite el uso de múltiple usuarios
simultáneamente
17Virtual Memory?
- Es la técnica utilizada cuando queremos cargar un
programa en memoria y éste no cabe. - Consiste en cargar una porción del programa en
memoria y la otra en el disco, alternando según
se necesite.
18Qué es un proceso?
- Es un programa que se ha cargado a la memoria y
se esta ejecutando.
19Qué es un thread?
- Se puede definir un thread como un proceso
corriendo en el espacio de otro.
20Será asunto del pasado los Multiprogrammed y los
Multitasking Systems?
- No, los sistemas operativos modernos utilizan
grandemente los conceptos de los multiprogrammed,
multitasking systems.
21Sistemas Paralelos oMultiprocesing Systems
- Sistemas paralelos o multiprocesos consisten en
varios procesadores compartiendo recursos como
periferales, bus, system clock, y hasta en
ocasiones la misma memoria.
22Aumentar el número de procesadores aumentará la
eficiencia/velocidad?
- N procesadores no significa N aumento en la
velocidad. - Aunque si es cierto que habrá un aumento en la
velocidad, el aumento no será proporcional al
número de procesadores. - Existe un overhead para poder coordinar las
operaciones entre los procesadores - N procesadores no significa N trabajo realizado
23Cúando se utilizan los sistemas paralelos?
- Se utilizan los sistemas paralelos o
multiprocesing cuando la confiabilidad es un
factor indispensable. - Es decir, se utilizan los sistemas parallelos
cuando queremos fault tolerant systems sistemas
tolerantes a fallas. - Ej. Reactor Nuclear, controlador de trenes,
controlador aéreo, etc.
24Si tenemos 10 procesadores y uno de ellos falla
qué sucede?
- Habrá una falla de 10 y nó de un 100
- El sistema operará un 10 más lento, pero todavÃa
estará operando a un 90 de la eficiencia. - Aún cuando el sistema dañe 9 procesadores,
todavÃa estará operando un 10.
25MultiprocesamientoSimétrico
- Una copia exacta del sistema operativo se instala
en cada uno de los procesadores. - Estas copias del SO se comunican entre ellas
según ellas lo necesiten. - Como cada procesador podrá ejecutar un proceso,
habrá N procesos corriendo simultáneamente, sin
daños mayores a la eficiencia.
26Deficiencias MultiprocesamientoSimétrico
- Pueden haber procesadores sobrecargados de
trabajo y otros con poco o ninguno - Para mantener este esquema el sistema operativo
necesita asegurarse que el I/O llegue al
procesador correspondiente.
27MultiprocesamientoAsimétrico
- Es el esquema de procesamiento en donde tenemos
un Jefe y varios esclavos. - El jefe mantiene el control de los demás
procesadores esclavos - Pueden distribuirse una misma tarea o
distribuirse por procesos diferentes
28Sistemas DistribuÃdos
- Estos sistemas contrario a los anteriores, no
comparten, el bus, el clock o la memoria - Cada uno tiene sus propios recursos
- Se comunican a través de cables, lÃneas de
teléfonos, microondas, etc. - Varian en tamaño y función pueden incluir
Mainframes, PCs, Minis, etc.
29Sistemas DistribuÃdos
- Cada procesador distribuÃdo se conoce de varios
nombres según el contexto por ejemplo - Nodo
- Site
- Computadora
30Ventajas de los Sistemas DistribuÃdos
- Compartir Recursos (Data, Periferales, etc )
- Opción en velocidad de ejecución
- Confiabilidad
- Comunicación
- http//infytel.bc.inter.edu/jarodriguez/index.html
31Real Time Systems
- Son sistemas operativos especializados en
responder a situaciones con una eficiencia óptima.
32Tipos de Real Time Systems
- Hard Son los que controlan equipos que
envuelven riesgo de pérdida de vidas humanas - Soft No implican riegos de pérdidas humanas
33Para informe oral
- Historia
- Fotos de cómo se ve (GUI o no)
- Comandos más relevantes
- Sistema de Archivos
- Seguridad
- Aguanta conección para redes
- Qué conceptos discutidos en clase aplican
(multitasking, multithreading, entre otros) - 10 minutos ni más ni menos
34Historia de los OS
35Historia
36Historia
37Graphical User Interfase - GUI
- Es el ambiente gráfico de ventanas, botones e
iconos que facilitan el manejo del sistema
operativo. - Es uno de los componentes que más cambia entre
los distintos sistemas operativos y aún entre las
versiones de un mismo sistema.
38API Application programming interface
- Son las reglas o instrucciones que provee el
sistema operativo para que las aplicaciones se
puedan comunicar con él. - Traduce los pedidos de las aplicaciones a código
que el OS puede entender - Provee una interfase para que el BIOS se pueda
comunicar con el OS y viceversa
39BIOS Basic Input/Output System
- Inicializa y permite la comunicación con los
dispositivos del Hardware - Realiza pruebas a los dispositivos al momento de
encender la máquina - Dirige la comunicación básica entre el HW y el SW
- Levanta al sistema operativo para interactúe con
el usuario
40BIOS Basic Input/Output System
- Cada computadora tiene uno
- Se almacena en memoria ROM (Read Only Memory)
- El OS interactúa con el BIOS cuando realiza
transacciones de I/O
41EFI Intel BIOS 64 bits
- EFI Extensible Firmware Interface
- Nuevo standard de Intel Corp para procesadores de
64 bits Itanium - Los OS Windows 64 no trabajarán a menos que sus
procesadores tengan EFI.
42 ROM Read Only Memory
- Es un tipo especial de memoria que no pierde su
contenido cuando se corta la energÃa eléctrica
43Device Drivers
- Son las instrucciones/software que permiten al OS
comunicarse con el dispositivo en cuestión - Necesitan una dirección(address) para que el OS
pueda enviar y recibir mensajes - Ej. Una impresora necesita instalar el Driver de
ella para que el OS se pueda comunicar
44CMOS Complementary Metallic Oxide Semiconductor
- Chip que guarda la configuración del BIOS
- Mantiene la información con una baterÃa
45Client/Server
- Servidor Computadora principal de una red.
Administra los recursos de una red. (Acceso,
Aplicaciones, Usuarios, entre otros) - Cliente Cualquier dispositivo / computadora que
solicite un servicio al servidor.
46Sistema Operativo
- Entender cómo trabaja el sistema operativo es
entender como funciona la computadora. Esto se
debe a que el Sistema operativo maneja cada pieza
del Hardware y del Software. En términos simples
es el Gerente General
47El Sistema Operativo Controla
- Los Archivos (Files)
- Los dispositivos (devices),
- La memoria
- El procesador
- Es el espÃritu de la computadora
48Componentes de un Sist. Ope.
- Memory Manager
- Processor Manager
- Device Manager
- File Manager
49Funciones de los Distintos Managers
- Monitorear sus recursos constantemente para
determinar quién, qué, cuando o cuanto - Hacer cumplir las reglas del OS
- Añadir o remover recursos cuando sea apropiado
50Componentes del OS
CPU
RAM
Memory Manager
Processor Manager
Program File
Keyboard
Device Manager
File Manager
Data File
Ratón
Compiladores
Impresora
Monitor
51Memory Manager
- Se encarga de administrar la memoria principal
(RAM) - Verifica la validez de cada pedido de memoria
(request) - Si es válido el pedido, lo coloca en algún lugar
de la memoria que no esté en uso.
52Memory Manager
- En un ambiente multiusuarios, crea una tabla que
mantiene al tanto al OS de que espacio está
utilizando cada usuario - Elimina los programas o usuarios que no estén
utilizando la memoria (Deallocate) - Maneja el espacio que ocupa el propio OS en la
memoria.
53Processor Manager
- Maneja los procesos que se llevan a cabo en el
CPU - Determina que proceso tiene más prioridad que
otros - Determina el tiempo que le asignará a cada
proceso para ejecutar
54Processor Manager
- Mantiene el status de cada proceso (programas en
ejecución). - Maneja las transiciones de cada proceso (cuando
esperar por I/O, cuando está durmiendo o
esperando por algún recurso y cuando termina - Se puede comparar con un semáforo de transito
55Device Manager
- Monitorea cada dispositivo, canal y la unidad de
control - Su trabajo es escoger la manera más eficiente de
asignar los dispositivos del sistema (impresoras,
discos, teclado, entre otros) - Señala el comienzo y el fin de la tarea a
realizar (ej. Comienzo y final de un documento a
imprimir).
56File Manager
- Rastrea cada archivo presente en el sistema
- Asigna o determina su tipo (Data file, system
file, executables) - Controla el acceso a cada archivo dependiendo de
sus permisos/policies Read, Write, Exec, Delete,
etc. - Asigna los recursos necesarios para abrir, leer,
escribir, cerrar los archivos, colocarlos y
removerlos de la memoria
57Si se ejecutara una instrucción de algún programa
- El device manager recibe el impulso eléctrico del
teclado o del ratón u otro dispositivo. - Se decodifica en forma de comando.
- Se envÃa por el User Command interfase, al
Processor Manager donde será validado.
58Si se ejecutara una instrucción de algún programa
- El Processor Manager podrÃa enviar el mensaje al
dispositivo de la tarjeta de video para ser
presentado en pantalla - El Processor Manager puede determinar si tiene
que ir al Disco Duro a buscar información o si ya
está en memoria puede notificarle al Memory
Manager para que se actualice
59 Si se ejecutara una instrucción de algún programa
- Si el prog. Esta grabado, el File Manager calcula
la posición exácta en el disco y lo pasa al
Device Manager. - Este a su vez, comunica esta información al
Memory Manager quien determinará si cabe en la
memoria y donde y cuanto se guardará en la memoria
60Si se ejecutara una instrucción de algún programa
- Una vez en la memoria, el Memory Manager, rastrea
la localización y el progreso del programa que
está siendo ejecutado por el Processor Manager. - Si el programa termina el Processor Manager envÃa
un mensaje al Device Manager para que muestre en
pantalla (si fuera ese el caso) para que el
usuario lo vea
61KERNEL del Sistema Operativo
- Es el corazón o núcleo del OS
- Coordina funciones tales como
- Manejo de memoria
- Almacenaje a los disco
62El KERNEL se comunica con
- API
- BIOS
- Device Drivers
- Resource Manager
63Resource Manager
- Son programas que regulan el uso de la memoria y
el CPU