Sistemas Operativos
Evolución, categorías y características generales
Definició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
Aplicación
Una aplicación es cualquier otro programa que no sea el sistema operativo
Componentes Básicos de un sistemas de computadoras
HARDWARE Sistema Operativo Aplicaciones Y el usuario
Los componentes básicos del Hardware
CPU Periferales de entrada y salida ( I/O) memoria
Diagrama de un Sistema Operativo
User#1 User#2 User#3 User #n
Compiladores Editores Juegos Hojas de Cálculo
Sistema Operativo
HARDWARE
SO 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)
Evolución de los Sistemas Operativos
Simple Batch Systems Multiprogrammed Batch Systems Time Share or Multitasking Parallel Systems Distributed Systems Real time systems
Simple Batch System
Surguieron por la necesidad de controlar los periferales I/O.
Los CPU’s 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
Simple Batch Systems
El orden en que se ejecutaban las tareas era en forma secuencial
Según los periferales aumentaban la velocidad, los CPU’s hacían lo mismo, acrecentando el problema de sincronización (Los CPU’s son mucho más rápidos que los periferales)
¿BUFFERS?
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.
¿SPOOLING?
S – imultaneous P – eripheral O – perations O – N L - ine
¿Cú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
MULTIPROGRAMMED 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.
¿”job 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”
Time 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
¿Virtual 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.
¿Qué es un proceso?
Es un programa que se ha cargado a la memoria y se esta ejecutando.
¿Qué es un thread?
Se puede definir un thread como: un proceso corriendo en el espacio de otro.
¿Será asunto del pasado los Multiprogrammed y los Multitasking Systems? No, los sistemas operativos modernos
utilizan grandemente los conceptos de los multiprogrammed, multitasking systems.
Sistemas 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.
¿Aumentar 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
¿Cú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.
Si 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%.
MultiprocesamientoSimé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.
Deficiencias 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.
MultiprocesamientoAsimé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
Sistemas 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.
Sistemas Distribuídos
Cada procesador distribuído se conoce de varios nombres según el contexto por ejemplo:
Nodo Site Computadora
Ventajas 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
Real Time Systems
Son sistemas operativos especializados en responder a situaciones con una eficiencia óptima.
Tipos 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
Para 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
Historia de los OS
UNIX 1968 Primer OS en ser Multitasking, Multiusuario, 8 Bits
MS-DOS 1980 Primer OS en ser utilizado en computadoras personales 16 bit
MAC-OS 1984 Primer OS en utilizar un GUI. 16 bits
Windows 3.0
1990 Primer OS con GUI para las PC
HistoriaWindows 3.11
1993 Primer OS en utilizar peer to peer Networking en PC 16 bits
Windows NT – (new technology)
1993 Primer OS de 32 bits que era multitasking y network ready.Workstation y Server version
Window 95
1995 OS de 32 bit que proveía compatibilidad con aplicaciones de 16 bits
Win 98 1998 Corrige errores de win 95
HistoriaWindows 2000
2000 Mejora de NT 15m VS 45 Meg líneas de código. Versiones Professional, Server, Advance Server, Data Center
Windows ME
2000 Sucesor de Win 98. Diseñado para uso doméstico
Window XP
2001 Viene versiones Home, Professional, Table PC y Media Center
Win Server 2003
2003 32/64 bits. Standard, Web Ed, Enterprise Ed, Datacenter Ed
Graphical 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.
API – 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
BIOS – 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
BIOS – 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
EFI = 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.
ROM – Read Only Memory
Es un tipo especial de memoria que no pierde su contenido cuando se corta la energía eléctrica
Device 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
CMOS – Complementary Metallic Oxide Semiconductor
Chip que guarda la configuración del BIOS
Mantiene la información con una batería
Client/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.
Sistema 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
El Sistema Operativo Controla
Los Archivos (Files) Los dispositivos (devices), La memoria El procesador Es el espíritu de la computadora
Componentes de un Sist. Ope.
Memory Manager Processor Manager Device Manager File Manager
Funciones 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
Componentes del OS
CPU
Keyboard
Ratón
MemoryManager
ProcessorManager
DeviceManager
FileManager
Compiladores
DataFile
ProgramFile
RAM
Impresora
Monitor
Memory 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.
Memory 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.
Processor 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
Processor 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
Device 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).
File 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
Si 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.
Si 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
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
Si 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
KERNEL del Sistema Operativo
Es el corazón o núcleo del OS Coordina funciones tales como
Manejo de memoria Almacenaje a los disco
El KERNEL se comunica con:
API BIOS Device Drivers Resource Manager
Resource Manager
Son programas que regulan el uso de la memoria y el CPU
Top Related