Sistemas Operativos Evolución, categorías y características generales.

Post on 28-Jan-2016

229 views 0 download

Transcript of Sistemas Operativos Evolución, categorías y características generales.

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