Sei sulla pagina 1di 56

Sistemas Operativos

Facultad de Ingeniera
Escuela Profesional Ingeniera de Sistemas

Sistemas Operativos 2011 - II


Ing. CIP Carlos Orlando Claros Vsquez carlosocv@hotmail.es www.unjfsc.edu.pe

Sistemas Operativos

Unidad I: Sesin: 03

Los Sistemas Sistemas Operativos Operativos y y Los sus Caractersticas Caractersticas sus

semana 02

Sistemas Operativos Clasificacin del Software


De acuerdo con el propsito para el que fueron desarrollados, los programas se clasifican en dos categoras: Software de sistema Le dice al ordenador cmo usar sus propios componentes.
Usuario final Programador

Programas de Aplicacin Utilitarios


Diseador de Sistemas Operativos

Software de aplicacin Le dice al ordenador cmo realizar tareas especficas para el usuario.

Sistema Operativo
Hardware del computador

Sistemas Operativos Qu es un Sistema Operativo


Un S. O. es un grupo de programas de proceso con las rutinas de control necesarias para mantener continuamente operativos dichos programas. [Tanenbaum] Programa que controla la ejecucin de los programas de aplicacin y que acta como interfaz entre el usuario de la computadora y el hardware del mismo. [Stallings] El nico programa que se est ejecutando en todo momento en el computador (denominado ncleo o kernel), siendo el resto programas de aplicacin. [Silberschatz] Un SO puede ser contemplado como una coleccin organizada de extensiones software del hardware, consistente en rutinas de control que hacen funcionar una computadora y proporcionan un entorno para la ejecucin de los programas. [Milenkovic]

Sistemas Operativos
El S. O. es un eficiente administrador de recursos, siendo el recurso primario el hardware del sistema. Los principales recursos administrados por los S. O. son: Procesadores. Almacenamiento. Dispositivos de e / s. Datos.
Labor de un sistema operativo: Administrar todos los dispositivos de una computadora y proporcionar a los programas de usuario una interfaz ms sencilla para comunicarse con el hardware. Objetivos: lEjecutar las aplicaciones de los usuarios lFacilitar la interaccin con el computador lAdministrar eficientemente los recursos de la mquina

Sistemas Operativos Funciones de un sistema operativo:


Mquina virtual: Un sistema operativo proporciona un ambiente en el cual el usuario puede ejecutar convenientemente sus programas (sin entrar en detalles y complejidades del hardware). Administracin de los recursos: Un sistema operativo administra eficientemente los recursos del computador. Para ello define estrategias para compartir los recursos entre dos o ms programas que se ejecuten simultneamente.

Sistemas Operativos Dicho de otra manera:


Es un administrador de recursos como si fuera un gobierno del hardware programa de control ojo!, no realiza trabajo productivo Es una interfaz con el hardware aade caractersticas no existentes en el hw oculta caractersticas inconvenientes del hw mquina extendida
Procesador

Perifricos

(UAL y Unidad de Control)

Memoria

Canales E/S

Unidades de E/S

Unidades de Disco

SISTEMA OPERATIVO = ADMINISTRADOR RECURSOS

Sistemas Operativos Sistema operativo como administrador: Tenemos dos participantes en el sistema: los procesos y los recursos Un proceso es un programa en ejecucin Un recurso puede ser real o virtual, fsico o lgico Los procesos compiten por el uso de recursos escasos Necesitamos un arbitro imparcial que asigne recursos a los procesos de forma justa y eficiente

Sistemas Operativos Sistema operativo como Interfaz: Es una capa entre el usuario y el hardware. La interfaz ofrece una mquina extendida que es una abstraccin de la realidad. Esa abstraccin es ms cmoda, ms conveniente, ms usable para el usuario y para el programador. Esta interfaz puede ser independiente del hardware: ganamos portabilidad.

Sistemas Operativos

EVOLUCION DE LOS S.O.


1940. Primeras Computadoras 1950. Sistemas en Batch 1960. Multiprogramacion y Timesharing. 1970. Minicomputadoras y Microprocesadores. Finales de 70s y 80s. Computadoras personales, Redes, Sistemas Distribuidos y Sistemas Paralelos, Sistemas de Tiempo Real. 1990. WWW, Sistemas de Computo Mobil, PCs.

Sistemas Operativos Primeros sistemas - principios de los 1940s


Estructura Grandes maquinas ejecutndose desde una consola Computadora dedicada a un usuario/programador a la vez. Programador / usuario como operador Tarjetas perforadas o cintas programadas Programacin y depuracin mediante switches y focos de luz. Primer Software Ensambladores, cargadores, linkers , Librerias de subrutinas comunes Compiladores Drivers de dispositivos Uso ineficiente de recursos Baja utilizacin del CPU Mucho tiempo en inicializacin del sistema (setup time) Programacin y depuracin es lenta y tediosa.

Sistemas Operativos 1950`s. Sistemas Batch


Cuenta con un operador distinto al usuario. Incluye un lector de tarjetas. El usuario/programador somete un conjunto de tarjetas perforadas que contienen un job a ejecutarse. Reduce el tiempo de inicializacin ejecutando en batch jobs similares. Jobs de varios usuarios son ejecutados en secuencia por un monitor residente. Primer sistema operativo rudimentario. Monitor residente control inicial en el monitor transfiere el control a el primer job cuando el job termina se transfiere el control al monitor

Sistemas Operativos 1960s. Multiprogramacin


Sistemas multiprogramados - varios jobs se conservan en memoria al mismo tiempo, y el cpu se comparte entre ellos Rutinas de E/S provista por el sistema ejecutadas simultaneamente con procesamiento del CPU. Administracin de memoria - el sistema debe reservar memoria para varios jobs. Administracin del CPU - el sistema debe elegir entre varios jobs listos para ejecucin. Administracin de dispositivos.

Sistemas Operativos Multiprogramacin


Se denomina multiprogramacin a la tcnica que permite que dos o ms procesos ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo tiempo" (pseudoparalelismo, en una nica CPU slo puede haber un proceso a la vez) en la unidad central de proceso o CPU. Ventajas: lVarios procesos en ejecucin. lPermite el servicio interactivo simultneo a varios usuarios de manera eficiente. lAprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S lAumenta el uso de la CPU. lLas direcciones de los procesos son relativas, el programador no se preocupa por saber en dnde estar el proceso dado que el sistema operativo es el que se encarga de convertir la direccin lgica en fsica. Un proceso entra a ejecutarse y llega al momento en que tiene que hacer espera por un dispositivo de entrada y/o salida por ejemplo, el CPU estar ocioso mientras espera que el proceso pueda usar el dispositivo para as finalmente ejecutarse. Los sistemas de multiprogramacin evitan eso ya que durante ese tiempo de esperar pasan a ejecutar otro proceso teniendo as al computador ocupado

Sistemas Operativos 1960s. Sistemas de Tiempo Compartido


El CPU se comparte entre varios jobs que se encuentran residentes en memoria y en disco ( el CPU se asigna a un job solo si este esta en memoria). Un job es enviado dentro y fuera del la memoria hacia el disco. Existe comunicacin en-linea entre el usuario y el sistema; cuando el sistema operativo finaliza la ejecucin de un comando, busca el siguiente estatuto de control no de una tarjeta perforada, sino del teclado del operador. Existe un sistema de archivos en-linea el cual esta disponible para los datos y cdigo de los usuarios

Sistemas Operativos Tiempo Compartido


l Utiliza calendarizacin de CPU y multiprogramacin para proporcionar a cada usuario una pequea porcin de una computadora de tiempo compartido. La computadora atiende a cada usuario durante un tiempo determinado o quantum, cambiando rpidamente de usuario a usuario, dndoles la impresin de que cada uno de ellos tiene el control absoluto de la computadora, mientras que en rea-lidad es compartida entre muchos usuarios. As como en sistemas batch se ejecutaban trabajos, aqu se ejecutan programas de usuarios. Ejemplos: Unix, Linux y Windows NT.

Sistemas Operativos

Sistemas de Tiempo Compartido (time sharing)


Por tanto con el T.C. Se consigue: Tiempo de respuesta cortos. Los usuarios tienen la impresin de poseer un ordenador particular.

Sistemas Operativos
1970-1980. Mini-computadoras y Microprocesadores
Computadoras de menor tamao. Desarrollo de sistemas operativos (UNIX, DOS, CP/M). Mejora en las interfaces de usuario. Introduccin de Microprocesadores. Desarrollo de lenguajes de programacin.

1980. Sistemas de cmputo personales


Computadoras Personales- sistemas de cmputo dedicados a un solo usuario. Dispositivos de E/S- teclados, raton, pantalla, impresoras.. Conveniente al usuario y de respuesta rpida. Puede adaptarse a la tecnologa para soportar otros sistemas operativos.

Sistemas Operativos 1980s. Sistemas Distribuidos Sistemas Distribuidos - distribuyen el cmputo entre varios procesadores geogrficamente dispersos. Sistemas dbilmente acoplados - cada procesador tiene su propia memoria local y el procesador se comunica con los dems procesadores mediante lneas de comunicacin, buses de alta velocidad y lneas telefnicas. Ventajas: Comparticin de recursos Incremento en la velocidad de cmputo comparticin de carga Confiabilidad Comunicacin

Sistemas Operativos 1980s. Redes


Estaciones de Trabajo: (Sun, Vax, Silicon Graphics). Redes de Area Local (Ethernet, Token Ring, FDDI, ATM), Redes de larga distancia (Arpanet). Redes organizadas como clientes-servidores. Servicios de S.O. Protocolos de comunicacin, encripcion de datos, seguridad, consistencia en datos distribuidos. Sistemas paralelos - sistemas de mltiples procesadores con mas de 1 procesador con comunicacin entre ellos. Sistema fuertemente acoplado - los procesadores comparten memoria y reloj; la comunicacin usualmente se realiza mediante memoria compartida. Ventajas: Incremento de throughput Econmica Incremento en la confiabilidad

1980-1990`s. Sistemas Paralelos


Sistemas Operativos 1990`s-2000.


Computo Paralelo (Teraflops). PCs poderosas (1.5 GigaHertz) , Computadoras Multimedia. Redes de Comunicacin de distancia mundial, con envo de imgenes, grandes cantidades de datos, audio y video. World Wide Web. Notebooks utilizando tecnologas de comunicacin inalmbrica: Computo Mobil. Computo Embebido y Robtica.

1990-2000`s-Sistemas de Tiempo Real


A menudo utilizados como dispositivo de control en aplicaciones dedicadas, como control de experimentos cientficos, sistemas de procesamiento de imgenes mdicas, sistemas de control industrial, etc... Exige complimiento de restricciones de tiempos. Sistemas de tiempo real crticos. Cumplimiento forzoso de plazos de respuesta. Predictibilidad y anlisis de cumplimiento de plazos de respuesta Sistemas de tiempo real acrticos. Exigencia suave de plazos de respuesta. Atencin lo mas rpido posible a eventos, en promedio.

Sistemas Operativos

Sistema Operativo: Funciones


Administracin del procesador (Corrida-Bloqueado-Disponible) Administra la memoria (swapping) Administracin de Unidades de E/S ( controladores) Administra archivos y espacio de almacenamiento (F.A.T. -Organizacin de Archivos ) Administracin de Impresin (Spooling) Mantenimiento de la seguridad (perfiles) Deteccin de fallas. Interfaz con el Usuario (comandos vs. conos)

Sistemas Operativos Las principales caractersticas de los S. O. son: Definir la Interfaz del Usuario. Compartir el hardware entre usuarios. Permitir a los usuarios compartir los datos entre ellos. Planificar recursos entre usuarios. Facilitar la entrada / salida. Recuperarse de los errores.

Sistemas Operativos

Servicios del Sistema Operativo


Controlar la ejecucin de procesos permitiendo su creacin, terminacin o suspensin y comunicacin Planificar el uso de la CPU a travs del scheduling de procesos. Asignar memoria principal para el proceso en ejecucin. Compartir el hardware entre usuarios. Permitir a los usuarios compartir datos entre ellos. Facilitar la entrada /salida Asignar memoria secundaria para uso eficiente y recuperacin de datos del usuario Permitir el acceso controlado desde los procesos a los dispositivos.

Sistemas Operativos SPOOL: Operacin On-line


Impresora
Spooling (simulatenous peripheral operation on line): 1.La CPU termina un programa 2.Se libera la memoria del programa 3.Se carga un nuevo programa en la memoria Liberada 4. Se ejecuta el nuevo programa

Cinta

Lector

Impresora Disco Procesador Central Memoria Canal1 Canal2 Canal3 CPU

Sistemas Operativos

Tipos de sistemas operativos


Sistemas operativos de Mainframe Sistemas operativos de Servidor Sistemas operativos Multiprocesador Sistemas operativos de computadora Personal Sistemas operativos de tiempo real computer operating systems embebidos Real-time operating systems de tarjetas inteligentes. Sistemas Operativos Virtuales.

Sistemas Operativos Clasificacin de los sistemas operativos


Segn la utilizacin de recursos (sobre todo, CPU) Sistemas monoprogramados Sistemas multiprogramados Sistemas de multiprocesamiento Segn la interactividad (tiempo de respuesta) Sistemas de procesamiento por lotes (batch) Sistemas de tiempo compartido Sistemas de tiempo real Segn el nmero de usuarios (definir usuario) Sistemas monousuario Sistemas multiusuario

Sistemas Operativos
Tipo de Sistema Operativo Monousuario Caractersticas Ejecuta los programas de un solo usuario de manera inmediata Ejecuta los programas de varios usuarios al mismo tiempo, adems de tener acceso a los recursos de la computadora a travs de las redes Ejecutan un programa en un determinado tiempo, o slo una tarea, de una en una, lo que significa que se debe esperar a que se termine de ejecutar el programa que se usa para poder iniciar otra tarea. Permite ejecutar varios programas al mismo tiempo, almacenando en la memoria las instrucciones y los datos de estos procesos. Hacen posible la distribucin de los recursos comunes de forma igualitaria entre los usuarios, para que parezca que cada uno tiene una computadora independiente. Optimizan los tiempos de respuesta para procesar la informacin rpidamente. Suele usarse para aplicaciones que necesitan gran precisin (operaciones militares o vuelos de aerolneas)

Multiusuario

Monotareas

Multitareas

Tiempo Compartido

Tiempo Real

Sistemas Operativos Participacin de Sistemas Operativos Julio de 2008

Windows Vista 9% Mac OS X 5% Windows 2000 3% Linux 2% Otros S.O. 5%

Windows XP 76%

Notes: This report was generated 07/31/2008 based on the last 27,797,911 unique visits to all tracked websites at that time.

Sistemas Operativos
Arranque del Computador: Cmo cargar el ncleo?
Fase Iniciar ROM Operacin Test del hardware Carga de la rutina bootstraping en memoria. Rutina de Boostraping (booteo) Inicializacin Operativo del Carga en memoria componentes del SO. de de

Sistema Test de integridad del sistema de archivos. Crear estructuras internas. de datos

Arranque de procesos demonios del sistema (swapper, init, pager, etc.) Funcionamiento Aceptar conexiones de usuarios locales y/o remotos.

Sistemas Operativos Arranque del sistema operativo


El arranque del sistema tiene 2 fases Arranque hardware Arranque del sistema operativo Resumen de actividades ms importantes

Sistemas Operativos

Arranque de Hardware
El computador slo puede realizar actividades tiles si tiene un programa cargado en memoria principal: Que es voltil Al arrancar el computador, la memoria principal no contiene informacin vlida Para solucionar el problema, se usa un programa de arranque (iniciador ROM) grabado permanentemente en memoria ROM (no voltil) Cuando se arranca el computador se cargan unos valores

predefinidos en los registros En especial, se carga en el registro contador de programa la direccin de comienzo del iniciador ROM.

Sistemas Operativos Ubicacin del sistema operativo


El SO est almacenado en disco En una zona predefinida del disco (los N primeros sectores) est almacenado el programa cargador (boot) del SO Tiene un tamao prefijado Llevado a memoria por el iniciador ROM El iniciador ROM es independiente del SO a arrancar Ubicacin, tamao y direccin de arranque del cargador no cambian entre SO diferentes

Sistemas Operativos Ubicacin del sistema operativo


Misin del cargador del SO Traer a memoria ciertos componentes del SO Una vez cargados, se pasa a la fase de iniciacin Fase de iniciacin Comprobacin del sistema Completar las pruebas hardware Comprobar que el sistema de archivos tiene un estado coherente Establecer estructuras de datos propias del SO Tabla de procesos, de memoria, de E/S, etc. Cargar en memoria el resto de componentes del sistema operativo que han de estar siempre en memoria Al conjunto de componentes del SO que estn permanentemente en memoria se le denomina sistema operativo residente Crear un proceso de inicio (login) por cada terminal definida en el sistema Presentan un mensaje de bienvenida y esperan a que el usuario inicie la sesin Crear un conjunto de procesos auxiliares y demonios Para impresin, comunicaciones, etc.

Sistemas Operativos

Virtual Memory?
Es la tcnica utilizada cuando queremos cargar un programa en memoria y ste no cabe. Consiste en cargar una porcin del programa en memoria y la otra en el disco, alternando segn se necesite.

Sistemas Operativos

Sistemas Distribudos
Estos sistemas contrario a los anteriores, no comparten, el bus, el clock o la memoria Cada uno tiene sus propios recursos Se comunican a travs de cables, lneas de telfonos, microondas, etc. Varian en tamao y funcin pueden incluir Mainframes, PCs, Minis, etc.

Sistemas Operativos

Sistemas Distribudos
Cada procesador distribudo se conoce de varios nombres segn el contexto por ejemplo: Nodo Site Computadora

Sistemas Operativos

Ventajas:
Compartir Recursos (Data, Periferales, etc ) Opcin en velocidad de ejecucin Confiabilidad Comunicacin

Sistemas Operativos

Graphical User Interfase - GUI


Es el ambiente grfico de ventanas, botones e iconos que facilitan el manejo del sistema operativo. Es uno de los componentes que ms cambia entre los distintos sistemas operativos y an entre las versiones de un mismo sistema.

Sistemas Operativos

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 cdigo que el OS puede entender Provee una interfase para que el BIOS se pueda comunicar con el OS y viceversa

Sistemas Operativos

BIOS Basic Input/Output System


Inicializa y permite la comunicacin con los dispositivos del Hardware Realiza pruebas a los dispositivos al momento de encender la mquina Dirige la comunicacin bsica entre el HW y el SW Levanta al sistema operativo para interacte con el usuario

Sistemas Operativos

BIOS Basic Input/Output System


Cada computadora tiene uno Se almacena en memoria ROM (Read Only Memory) El OS interacta con el BIOS cuando realiza transacciones de I/O

ROM Read Only Memory


Es un tipo especial de memoria que no pierde su contenido cuando se corta la energa elctrica

Sistemas Operativos

Device (Drivers)
Son las instrucciones/software que permiten al OS comunicarse con el dispositivo en cuestin Necesitan una direccin(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

Sistemas Operativos

CMOS Complementary Metallic Oxide Semiconductor


Chip que guarda la configuracin del BIOS Mantiene la informacin con una batera

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.

Sistemas Operativos

Componentes de un Sistema Operativo.


Memory Manager, Processor Manager, Device Manager, File Manager,
CPU Processor Manager Memory Manager RAM

Program File Keyboard Ratn Compiladores Impresora Monitor Device Manager File Manager Data File

Sistemas Operativos

KERNEL del Sistema Operativo


Es el corazn o ncleo del OS Coordina funciones tales como Manejo de memoria Almacenaje a los disco

El KERNEL se comunica con:


API BIOS Device Drivers Resource Manager

Sistemas Operativos

Capas del Sistema Operativo La visin esquemtica de un sistema operativo comprende los siguientes niveles:
Hardware. Ncleo (kernel). Servicios sistema. Programas aplicacin. Usuarios.
Usuarios

del de

Aplicaciones Servicios Kernel Hardware

Sistemas Operativos

ESTRUCTURA.
1. 2. 3. 4. Componentes del sistema Llamadas al sistema Estructura de un sistema operativo Mquinas virtuales

Sistemas Operativos

COMPONENTES
Bsicos: 1. Gestor de procesos 2. Gestor de memoria 3. Gestor de E/S 4. Gestor del almacenamiento secundario Servidores: 5. Servidor de ficheros 6. Servidor de proteccin y seguridad 7. Servidor de comunicaciones por red Utilidades: 8. Intrprete de mandatos 9. Programas de sistema

Sistemas Operativos

ESTRUCTURA DE UN SO Sistemas monolticos I


Programas de usuario Intrprete Programas de mandatos de sistema Ncleo: Todo entre las llamadas al Llamadas al sistema sistema y el hardware POSIX Win32 No dividido en mdulos Ncleo Interfaces y niveles de Servidores funcionalidad no separados Ficheros Memoria Proteccin Comunicaciones Ej: Monitor o ejecutivo (MS-DOS) Escritos para funcionalidad Manejadores Teclado Ratn Disco especfica y gestionar hardware reducido Monoproceso

Sistemas Operativos

Sistemas modulares

Ncleo: Dividido en mdulos con Programas de usuario funcionalidad e interfaces Intrprete Programas claramente definidos de mandatos de sistema Modular y estructurado Llamadas al sistema Se pueden sustituir POSIX Win32 componentes por otros con el Ncleo mismo interfaz (manejadores, sistemas de Servidores ficheros, ...) Ficheros Memoria Proteccin Comunicaciones Un nico trap, el proceso Manejadores existe en dos modos Teclado Ratn Disco Ej: UNIX, LINUX Muchas funcionalidades Multiproceso y multiusuario

Sistemas Operativos

Sistemas por capas


Ncleo: Dividido en mltiples niveles, capas de una cebolla El ms alto la interfaz de llamadas Cada nivel usa nicamente servicios del inferior y da servicio al superior Comunicacin entre capas va traps Ej: THE, Multics Problema: Una llamada puede necesitar varios niveles de traps

Sistemas Operativos

Sistemas con microncleo


Ncleo: Reducido a las funcionalidades mnimas imprescindibles Se sacan fuera del ncleo los dems servicios Comunicacin va paso de mensajes Servidores: Hilos de ejecucin independiente Los ms altos ofrecen la interfaz de llamadas Los ms bajos gestionan el hardware Problema: Una llamada puede necesitar muchos mensajes Ventaja: Piezas separables, paso a SO Distribuido Ej: MINIX, Mach (Windows-NT)

Sistemas Operativos

MAQUINAS VIRTUALES
Una MV crea una copia idntica del hardware Procesador con su propia memoria y E/S Sobre una MV se puede ejecutar cualquier SO Sobre el mismo computador varios SSOO a la vez El Monitor de MVs ejecuta sobre el HW real Cmo se hace? Planificacin UCP para MV multiproceso Spooling y sistema ficheros multiplexacin E/S MV del operador control del sistema Ventajas: Proteccin sencilla, muy modular, bueno para investigacin y desarrollo (SO distribuido) Inconvenientes: Difcil compartir recursos Difcil implementar duplicados exactos del HW Usado para emular SSOO sobre otros Ej. VM-370, MS-DOS en Windows, VMware

Sistemas Operativos

Estructura de Mquina Virtual


Se separan totalmente las funciones de multiprogramacin y de mquina extendida. Existe un elemento central llamado monitor de la mquina virtual que: Se ejecuta en el hardware. Realiza la multiprogramacin. Proporciona varias mquinas virtuales a la capa superior. Las mquinas virtuales instrumentan copias exactas del hardware simple, con su modo ncleo / usuario, e / s, interrupciones y todo lo dems que posee una mquina real. Pueden ejecutar cualquier S. O. que se ejecute en forma directa sobre el hardware. Las distintas mquinas virtuales pueden ejecutar distintos S. O. y en general as lo hacen. Soportan perifricos virtuales.

Sistemas Operativos

Estoy construyendo un sistema operativo gratuito (no es ms que un hobby, no ser una cosa grande y profesional como GNU) para clnicos AT (con un 386 o 346). Linus Torvalds, Helsinki, Oct. 91

Potrebbero piacerti anche