You are on page 1of 34

TEMAS

1) Conceptos bsicos Estructura del computador * * * 2) Introduccin Definicin * * * Historia Clasificacin Estructura de un sistema operativo Hardware Software Firmware

3) Administracin de procesos Definicin * * * Procesos concurrentes y no concurrentes Comunicacin y sincronizacin entre procesos Planificacin de procesos

4) Administracin de memoria Almacenamiento real * * Organizacin de la memoria virtual Administracin de la memoria virtual

Introduccin a los sistemas operativos * * 2 edicin HARVEY M.DEITEL

ESTRUCTURA BSICA DE UN COMPUTADOR


Objetivo: Familiarizarse con la terminologa y los principales conceptos relacionados con la estructura de un PC. Estructura de un PC En los ordenadores se puede distinguir el hardware (circuitos integrados, placas, cables, etc.), el software (consta de algoritmos, y su representacin en el ordenador, son los programas, etc.)Y el firmware (hardware + software). ORGANIZACIN FSICA DEL COMPUTADOR

Controladoras

Bus

Dispositivo de entrada

Unidad central de proceso

Dispositivo de salida

Memoria central

Unidad aritmtica y lgica

Memoria externa o memoria auxiliar

LA VISIN ACTUAL DEL ORDENADOR JERARQUIZADA

*Nivel 1: Lgica digital.- Sus circuitos son sistemas lgicos que realizan funciones lgicas elementales. Este nivel permite comprender el funcionamiento de los distintos bloques en que se ha dividido el computador y las conexiones de estos.

*Nivel 2: Microprogramacin.-Microprograma o micro cdigo (firmware) conjunto de instrucciones utilizadas para especificar el control de la maquina el micro cdigo suele ser grabado en una memoria (ROM o RAM programable).

*Nivel 3: Lenguaje de Maquina.-Es el primer nivel de programacin. Para facilitar la programacin a nivel de lenguaje de mquina, los usuarios disponen de un intrprete simblico llamado ensamblador (representacin simblica del lenguaje de programacin del nivel de lenguaje de mquina.)

*Nivel 4: Sistema Operativo.- Sistema tipo software que controla la computadora y administra los servicios y sus funciones. Permite interactuar con el hardware y ejecutar programas compatibles en estos. Permite controlar las asignaciones de memoria, ordenar las actitudes al sistema, controla los dispositivos de entrada, salida, facilitar la conexin a redes y el manejo de archivos, escondiendo al usuario la dificultad de su utilizacin desde el nivel inferior.

*Nivel 5: Lenguaje de alto nivel.- es aquel que se aproxima ms al lenguaje natural humano que al lenguaje binario, o lenguaje de bajo nivel. Su funcin principal radica en que a partir de su desarrollo, existe la posibilidad de que se pueda utilizar el mismo programa en distintas maquinas. *Nivel 6: Usuario o Aplicaciones.- En informtica un usuario es un individuo que utiliza una computadora, sistema operativo, servicio o cualquier sistema informtico por lo general es una nica persona.

HARDWARE
En informtica se aplica a los dispositivos de una computadora tales como el disco duro, CD-ROM, disquetera (floppy), etc. En dicho conjunto se incluyen los dispositivos electrnicos y electromecnicos, circuitos, cables, armarios o cajas, perifricos de todo tipo y cualquier otro elemento fsico involucrado. TIPOS DE HARDWARE Se clasifica generalmente en bsico y complementario, entendiendo: Bsico.- Todo aquel dispositivo necesario para iniciar el funcionamiento del computador. Complementario.- Sirve para realizar funciones especficas o ms all de las bsicas. Las computadoras son aparatos electrnicos capaces de interpretar y ejecutar comandos programados para operaciones de entrada, salida, clculos y lgica; recibe entradas (datos para su procesamiento), producen salidas (resultados del procesamiento), procesan y almacenan informacin. Perifricos de Entrada (E): Son los que permiten al usuario que ingrese informacin desde el exterior: teclado, escner, micrfono, mouse, etc. Perifricos de Salida (S): Son los que muestran al usuario el resultado de las operaciones realizadas para el PC: monitor, impresora, altavoces, etc.

COMPONENTES DE UN SISTEMA DE CMPUTO


Hardware Grafico: El hardware grafico lo constituye las tarjetas graficas poseen su propia unidad de proceso (CPU) y memoria. Memoria ROM: Dispositivo que permite el almacenamiento temporal de informacin para que la unidad de procesamiento pueda ser capaz de ejecutar sus programas.

Perifricos de Entrada/Salida (E/S): Son dispositivos que permiten simultneamente ingreso de informacin al PC. Y al usuario: modem (modulador, demodulador), unidades de almacenamiento: discos duros, disquetes, ZIP, memory flash, etc.

Unidad Central de Procesamiento: CPU de una PC, es la computadora real, la inteligencia de un sistema de computacin.

SOFTWARE
Se denomina software, programtica, equipamiento lgico o soporte lgico a todos los componentes intangibles de una computadora, es decir, al conjunto de programas y procedimientos necesarios para hacer posible la realizacin de una tarea especfica, en contraposicin a los componentes la interaccin con los componentes fsicos del sistema (hardware), facilitando la interaccin con los componentes fsicos y el resto de aplicaciones. La definicin ms formal de software es la atribuida por el instituto de ingenieros electicos y electrnicos en su estndar 729.

FORMAS

El software adopta varias formas en distintos momentos de su ciclo de vida.

CDIGO FUENTE

CDIGO OBJETO

CDIGO EJECUTABLE

Escrito por programadores; contiene el conjunto de instrucciones destinadas a la computadora.

Form1.frm Dim A,B as integer prvate sub A=imputbox (digite) B=imputbox (digite) C=A+B print C End sub

Resultado de uso de un compilador sobre el cdigo fuente. Consiste en una traduccin de cdigo fuente. El cdigo objeto no es directamente inteligible por el ser humano pero tampoco es directamente entendible por la computadora.

Resultado de enlazar uno o varios fragmentos de cdigo objeto. Constituye en un archivo binario con un formato total que el sistema operativo es capaz de cargarlo en la memoria de una computadora, y proceder su ejecucin. El directamente intangible por la Proyecto.exe

form.frx

Tipologa: Esta distincin es de cierto modo arbitraria

Software De Programacin: Es el que proporciona herramientas para ayudar al programador a escribir programas informticos y a usar diferentes lenguajes de programacin. incluye entre otros: * Editores de texto * Compiladores * Intrpretes, etc. estas herramientas son tiles de forma que el programador no necesite introducir mltiples comandos para compilador, interpretar, depurar, etc., gracias a que habitualmente cuentan con una interfaz grfica de usuario(GUI) avanzada.

Software De Sistema: Es la parte que permite funcionar al hardware. su objetivo es aislar tanto como sea posible al programador de aplicaciones de los detalles del programador incluye. * Sistemas operativos *Controladores de dispositivos *Herramientas

Software De Aplicaciones: Permite llevar a cabo una o varias tareas ms especificas , en cualquier campo de actividad susceptible de ser automatizado Incluye: *Aplicaciones ofimticas *Software educativo *Software medico *Base de datos *Video juegos *Archivo de datos

FIRMWARE O PROGRAMACIN EN FIRME

TIPOLOGA DE FIRMWARE

Estos chips normalmente son de los siguientes tipos: *ROM (s): Read only memory (Memoria solo de lectura). *PROM (s): Programmable read only memory (Memoria programable de solo lectura). *EPROM (s): Erasable programable read only memory (Memoria programable y con capacidad de ser borrados. *EEPROM (s): Electrial erasable and programable R-O-M (Memoria elctrica borrable y programable). El Firm PROM o EPROM estn diseados para ser modificados.

EJEMPLOS

El programa BIOS de un ordenador es un firmware cuyo propsito es activar una maquina desde su encendido y preparar el entorno para la instalacin de un sistema operativo complejo, as como responder a otros eventos externos (Botones de pulsacin humano)

En un microprocesador el firmware es el que recibe las instrucciones de los programas y los ejecuta en la compleja circuitera del mismo emitiendo ordenes a otros dispositivos del sistema.

CONOCIMIENTOS PREVIOS
El S.O. se encuentra almacenado en la memoria secundaria, primero carga y se ejecuta un pedazo de cdigo que se encuentra en el BIOS (Basic Input Output System), el mismo que reconoce todo el hardware instalado en la computadora y este a su vez carga el S.O. que se encarga de tomar el control del hardware y poner en funcionamiento todos los programas de aplicacin instalados.

SISTEMA OPERATIVO
1.- Los sistemas operativos hacen utilizable el hardware, ponen dicha capacidad de cmputo al alcance de los usuarios y administran cuidadosamente el hardware para lograr un buen rendimiento. 2.- Los Sistemas Operativos son ante todo administradores de recursos; del computador; adems de los procesadores, los medios de almacenamiento, los dispositivos de entrada/salida, los dispositivos de comunicacin y los datos. 3.- Son programas que actan como intermediario entre el usuario y el hardware del computador y su propsito es proporcionar el entorno en el cual el usuario pueda ejecutar programas, por lo tanto el computador se emplee de manera eficiente. En resumen, se podra decir que los Sistemas Operativos son un conjunto de programas con las rutinas de control necesarias, que permiten crear la interfaz del hardware con el usuario

FUNCIONES DEL SISTEMA OPERATIVO


Interpreta los comandos que permiten al usuario comunicarse con el ordenador. Coordina y manipula el hardware de la computadora (memoria, impresoras, unidades de disco, etc.) Organiza los archivos en diversos dispositivos de almacenamiento, (discos, CD, flash memory, etc.) Gestiona los errores de hardware y la prdida de datos. Sirve de base para la creacin del software logrando que equipos de marcas distintas funcionen de manera anloga, salvando las diferencias existentes entre ambos. Configura el entorno para el uso del software y los perifricos En una red, el S.O. Se convierte en la plataforma de trabajo de los usuarios y es ste quien controla los elementos o recursos que comparten, inclusive seguridades.

CARACTERSTICAS DE LOS SISTEMAS OPERATIVOS.

 Conveniencia.- Un S. O. hace ms conveniente el uso de una computadora.  Eficiencia.- Un S. O. permite que los recursos de la computadora se usen de la manera ms eficiente posible.

 Habilidad para evolucionar.- Un S. O. deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio.  Encargado de administrar el hardware.- El S. O. se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.  Relacionar dispositivos (gestionar a travs del kernel).- El S. O. se debe encargar de comunicar a los dispositivos perifricos, cuando el usuario as lo requiera.

 Manejar las comunicaciones en red.- El S. O. permite al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de computadoras.  Facilitar las entradas y salidas.- Un S. O. debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.  Evita que otros usuarios interfieran.- El S. O. evita que los usuarios se bloqueen entre ellos, informndoles si esa aplicacin est siendo ocupada por otro usuario. * * * * Tcnicas de recuperacin de errores. Permite que se puedan compartir el hardware y los datos entre los usuarios (red). Organizar datos para acceso rpido y seguro. Procesamiento por bites de flujo a travs del bus de datos.

ESQUEMA GENERAL DE UN SISTEMA OPERATIVO

ARRANQUE DEL SISTEMA OPERATIVO


Cargadores Manejadores de interrupcin Rutinas del S.O 640 KB Manejador de dispositivos Entrada y salida Secuenciador de trabajo Interprete de tarjetas

ESTRUCTURA DE FUSIN ENTRE HARDWARE Y SOFTWARE DE UN S.O

ESTRUCTURA DE UN S.O

DISEO POR CAPAS

INTERFACES DEL SO QUE DEBE CONOCER EL DISEADOR: Interfaz hardware: Interrupciones, repertorio de instrucciones, traduccin de direcciones, punto de entrada para cargar el SO Interfaz usuario y programas API (Application Program Interface).

DISEO POR CAPAS


El diseo por capas lleva asociada una jerarquizacin que permite disminuir la complejidad observable de un sistema. Concepto de capa: conjunto de funciones claramente definidas hacia un objetivo comn.

VENTAJAS DEL EMPLEO DE CAPAS  Las estructuras internas y algoritmos de una capa no son visibles a las dems  El sistema puede evolucionar fcilmente. Lo nico que hay que mantener son las interfaces  Pueden existir realizaciones alternativas llevadas a cabo por diferentes grupos de trabajo  Cada capa se codifica y prueba de modo independiente, para luego hacer las pruebas de integracin y de conjunto  Esto es muy importante en el desarrollo del software.

NIVELES CLSICOS DE UN SISTEMA OPERATIVO

Usuario y aplicaciones N5: Gestin de la informacin N4: Gestin de los dispositivos N3: Gestin de procesos N2: Gestin de memoria N1: Gestin del procesador Hardware

NIVEL 1
Nivel inferior de gestin del procesador Objetivo: Compartir la CPU entre procesos Funciones: Sincronizacin entre procesos Conmutacin de la CPU Gestin de interrupciones Arranque inicial

NIVEL 2
Gestin de memoria Objetivo: Repartir la memoria entre procesos.

Funciones: Asignacin y liberacin de memoria Control violacin de acceso

NIVEL 3
Nivel superior de gestin de procesos Objetivo: Gestin de procesos de alto nivel Funciones: Creacin y destruccin de procesos Intercambio de mensajes entre procesos Detencin y arranque de procesos

NIVEL 4
Nivel de gestin de dispositivos Objetivo: Realizar la gestin de las E/S en funcin de los dispositivos existentes Funciones: Creacin de procesos de E/S Asignacin y liberacin de dispositivos de E/S Planificacin de la E/S

NIVEL 5
Nivel de gestin de la informacin Objetivo: Gestionar el espacio de nombres lgicos y la proteccin de la informacin Funciones: Creacin y destruccin de archivos y directorios Apertura y cierre de archivos Lectura y escritura de archivos Proteccin de acceso

NCLEO DEL SISTEMA OPERATIVO


Proporciona la funcionalidad bsica del SO. Es la parte ms dependiente del hardware de todo el SO. Suele permanecer en el almacenamiento primario porque su cdigo se ejecuta muy frecuentemente.

FUNCIONES BSICA DEL NCLEO


y Objetivo: Proporcionar el entorno adecuado para la existencia de procesos y Funciones: Tratamiento de interrupciones Conmutacin del procesador entre procesos (soporte al diagrama de estados) Mecanismos bsicos de comunicacin y sincronizacin entre hilos y procesos Carga inicial y activacin de la configuracin del sistema Tratamiento de interrupciones:   El ncleo transforma las interrupciones en eventos de ms alto nivel (ej. mensajes). El ncleo determina qu proceso espera una interrupcin y le enva un mensaje.

Conmutacin de CPU entre procesos  Los procesos de usuario pasan por varios estados durante su tiempo de vida en el sistema  El ncleo proporciona los mecanismos de conmutacin de la CPU entre procesos

Comunicacin y sincronizacin entre procesos El ncleo proporciona mecanismos para que los procesos puedan intercambiar informacin y sincronizarse.

Mecanismos: Seales Semforos Mensajes RPC (REMOTE PROCEDURE CALLS) Ejemplo: NFS (Sistema de ficheros en red) construido a partir de RPC

HISTORIA DE LOS SISTEMAS OPERATIVOS


Definicin: Los primeros sistemas (1945-1950) eran grandes mquinas operadas desde la consola maestra por los programadores una de estas fue la IBM 701. Este trabajaba haciendo operaciones en secuencia. Durante la dcada siguiente (1950-1960) se llevaron a cabo avances en el hardware: Lectores de tarjetas, impresoras, cintas magnticas, etc. Esto a su vez provoc un avance en el software: Compiladores, ensambladores, cargadores, manejadores de dispositivos, etc. Este realizaba un gran procesamiento por lotes. Durante la dcada siguiente (1960-1970) se crea la memoria virtual que guarda informacin por un tiempo si este es apagado tiende a reiniciarse, resurge un nuevo campo llamado ingeniera de software para crear nuevos y mejores sistemas operativos y sobre todo confiables porque los que antiguamente creaban lo hacan sin saber bien lo que hacan uno de estos sistemas fue el MULTICS creado por IBM que posteriormente se convertira en un S.O. Durante la dcada siguiente (1970-1980) se crea en tiempo compartido con mltiples modos de operacin ambienta las comunicaciones entre los sistemas de computo un protocolo de comunicacin es el TCP/IP protocolo de lenguaje para entenderse entre el computador.

Durante la dcada siguiente (1980-1990) se crea una configuracin dinmica hecha por Linux que tiene acceso al cdigo del sistema operativo.

TIPOS DE SISTEMAS OPERATIVOS


Actualmente los sistemas operativos se clasifican en tres formas: SISTEMAS OPERATIVOS POR LOS SERVICIOS QUE OFRECEN Sistemas operativos por su estructura (visin interna) Requisitos del usuario: Es fcil de usar y de aprender seguro, rpido y adecuado al uso que se le quiere destinar Requisitos del software: Donde se engloban aspectos como el mantenimiento. Sistemas operativos por los servicios que ofrece al usuario. Sistemas operativos por la forma en que ofrecen sus servicios (visin externa).

SISTEMAS OPERATIVOS POR SERVICIOS. Esta clasificacin es la ms comnmente usada y conocida desde el punto de vista del usuario final:

POR NMERO DE USUARIOS: SISTEMA OPERATIVO MONOUSUARIO Los sistemas operativos monousuarios son aquellos que soportan a un usuario a la vez, sin importar el nmero de procesadores que tenga la computadora o el nmero de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales tpicamente se han clasificado en este rengln. En otras palabras los sistemas monousuarios son aquellos que nada ms puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicacin que se est ejecutando.

SISTEMA OPERATIVO MULTIUSUARIO

Los sistemas operativos multiusuario son capaces de dar servicio a ms de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el nmero de procesadores en la mquina ni el nmero de procesos que cada usuario puede ejecutar simultneamente. En esta categora se encuentran todos los sistemas que cumplen simultneamente las necesidades de dos o ms usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing).

POR EL NMERO DE TAREAS: SISTEMA OPERATIVO MONO TAREA Los sistemas mono tarea son aquellos que slo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y mono tarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez. Los sistemas operativos mono tareas son ms primitivos y, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una.

SISTEMA OPERATIVO MULTITAREA

Un sistema operativo multitarea es aquel que le permite al usuario estar realizando varias labores al mismo tiempo. Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutacin de contextos es un tipo muy simple de multitarea en el que dos o ms aplicaciones se cargan al mismo tiempo, pero en el que solo se est procesando la aplicacin que se encuentra en primer plano (la que ve el usuario). En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicacin est esperando informacin del usuario. Un sistema operativo multitarea puede estar editando el cdigo fuente de un programa durante su depuracin mientras compila otro programa, a la vez que est recibiendo correo electrnico en un proceso en background. Es comn encontrar en ellos interfaces grficas orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario, mejorando su productividad. Un sistema operativo multitarea se distingue por su capacidad para soportar la ejecucin concurrente de dos o ms procesos activos.

POR EL NMERO DE PROCESADORES: SISTEMA OPERATIVO DE UNIPROCESO Un sistema operativo uniproceso es aquel que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese ms de uno le sera intil. El ejemplo ms tpico de este tipo de sistemas es el DOS y MacOS.

SISTEMA OPERATIVO DE MULTIPROCESO Un sistema operativo multiproceso se refiere al nmero de procesadores del sistema, que es ms de uno y ste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simtrica o asimtricamente. Asimtrica Cuando se trabaja de manera asimtrica, el sistema operativo selecciona a uno de los procesadores el cual jugar el papel de procesador maestro y servir como pivote para distribuir la carga a los dems procesadores, que reciben el nombre de esclavos.

Simtrica Cuando se trabaja de manera simtrica, los procesos o partes de ellos son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, tericamente, una mejor distribucin y equilibrio en la carga de trabajo bajo este esquema. Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de cdigo paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por s mismo esta facilidad, pero esta ltima opcin es costosa en horas y muy tediosa, obligando al programador a ocupar tanto o ms tiempo a la paralelizacin que a elaborar el algoritmo inicial.

SISTEMAS OPERATIVOS POR SU ESTRUCTURA: Se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.

ESTRUCTURA MONOLTICA Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las caractersticas fundamentales de este tipo de estructura son:  Construccin del programa final a base de mdulos compilados separadamente que se unen a travs de un ligador.  Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.  Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.  Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.

ESTRUCTURA JERRQUICA A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo, donde una parte del sistema contena sub partes y esto organizado en forma de niveles. Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con una interface con el resto de elementos. Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (TECHNISCHE HOGESCHOOL, EINDHOVEN), de Dijkstra, que se utiliz con fines didcticos. Se puede pensar tambin en estos sistemas como si fueran multicapa. Multics y Unix caen en esa categora.

En la estructura anterior se basan prcticamente la mayora de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o "rings". En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Las capas ms internas sern, por tanto, ms privilegiadas que las externas.

MQUINA VIRTUAL
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias mquinas diferentes. El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida al usuario

CLIENTE-SERVIDOR El tipo ms reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayora de las computadoras, ya sean grandes o pequeas. Este sistema sirve para toda clase de aplicaciones por tanto, es de propsito general y cumple con las mismas actividades que los sistemas operativos convencionales. El ncleo tiene como misin establecer la comunicacin entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicacin normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operacin de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro. Estos servidores deben tener mecanismos de seguridad y proteccin que, a su vez, sern filtrados por el ncleo que controla el hardware. Actualmente se est trabajando en una versin de UNIX que contempla en su diseo este paradigma.

y y

Solicita informacin Despliega resultados

y y y

Lee archivos Procesa Enva resultados

CLIENTE

SERVIDOR

SISTEMAS OPERATIVOS POR LA FORMA DE OFRECER SUS SERVICIOS Esta clasificacin tambin se refiere a una visin externa, que en este caso se refiere a la del usuario, el cmo accesa a los servicios. Bajo esta clasificacin se pueden detectar dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos.

SISTEMA OPERATIVO DE RED Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por medio de una transmisin con el objeto de intercambiar informacin, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, adems de la ubicacin de los recursos a los que desee accesar. Lo importante es hacer ver que el usuario puede accesar y compartir muchos recursos. Los Sistemas Operativos de red ms ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

SISTEMAS OPERATIVOS DISTRIBUIDOS Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola mquina virtual que el usuario accesa en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual.

Todo lo anterior es el marco terico de lo que se deseara tener como sistema operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la complejidad que suponen distribuir los procesos en las varias unidades de procesamiento, reintegrar sub-resultados, resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuidos y consolidar la proteccin y seguridad entre los diferentes componentes del sistema y los usuarios. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

SISTEMAS CON ALMACENAMIENTO TEMPORAL DE E/S Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llev a cabo un intento de solucin ms avanzado: Solapar la E/S de un trabajo con sus propios clculos, por lo que se cre el sistema de buffers con el siguiente funcionamiento: Un programa escribe su salida en un rea de memoria (buffer 1). El monitor residente inicia la salida desde el buffer y el programa de aplicacin calcula depositando la salida en el buffer 2. La salida desde el buffer 1 termina y el nuevo clculo tambin. Se inicia la salida desde el buffer 2 y otro nuevo clculo dirige su salida al buffer 1. El proceso se puede repetir de nuevo. Los problemas surgen si hay muchas ms operaciones de clculo que de E/S (limitado por la CPU) o si por el contrario hay muchas ms operaciones de E/S que clculo (limitado por la E/S).

SPOOLERS Debido al solapamiento del clculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

SISTEMAS OPERATIVOS MULTIPROGRAMADOS. Surge un nuevo avance en el hardware, el hardware con proteccin de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:

Se solapa el clculo de unos trabajos con la entrada/salida de otros trabajos. Se pueden mantener en memoria varios programas. Se asigna el uso de la CPU a los diferentes programas en memoria. Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que ste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones: Administrar la memoria. Gestionar el uso de la CPU (planificacin). Administrar el uso de los dispositivos de E/S. Cuando desempea esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.

LLAMADAS AL SISTEMA

Definicin: Son las llamadas que se ejecutan a los programas de aplicacin para pedir algn servicio al SO. Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseado para trabajar sobre el anterior, en general el programa no funcionar, a no ser que el nuevo SO tenga la misma interfaz. Para ello: 1. Las llamadas correspondientes deben tener el mismo formato. 2. Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.

MODOS DE EJECUCIN EN UN CPU Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener al menos dos modos de operacin diferentes:

C C

Modo usuario: El CPU podr ejecutar slo las instrucciones del juego restringido de las aplicaciones. Modo supervisor: El CPU debe poder ejecutar el juego completo de instrucciones.

BIBLIOTECAS DE INTERFAZ DE LLAMADAS AL SISTEMA Las llamadas al sistema no siempre tienen una expresin sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programacin. La aplicacin llama a una funcin de la biblioteca de interfaz (mediante una llamada normal) y esa funcin es la que realmente hace la llamada al sistema.

INTERRUPCIONES Y EXCEPCIONES El SO ocupa una posicin intermedia entre los programas de aplicacin y el hardware. No se limita a utilizar el hardware a peticin de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute cdigo del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:   Algn dispositivo de E/S necesita atencin. Se ha producido una situacin de error al intentar ejecutar una instruccin del programa (normalmente de la aplicacin).

SEGN LOS DOS CASOS ANTERIORES TENEMOS LAS INTERRUPCIONES Y LAS EXCEPCIONES:
* *

Interrupcin: Seal que enva un dispositivo de E/S a la CPU para indicar que la operacin de la que se estaba ocupando, ya ha terminado. Excepcin: Una situacin de error detectada por el CPU mientras ejecutaba una instruccin, que requiere tratamiento por parte del SO.

GESTIN DE LA MEMORIA PRINCIPAL La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una direccin nica. Este almacn de datos de rpido accesos es compartido por la CPU y los dispositivos de E/S, son voltiles y pierde su contenido en los fallos del sistema.

EL SO ES EL RESPONSABLE DE: * * * Conocer qu partes de la memoria estn siendo utilizadas y por quin. Decidir qu procesos se cargarn en memoria cuando haya espacio disponible. Asignar y reclamar espacio de memoria cuando sea necesario.

GESTIN DEL ALMACENAMIENTO SECUNDARIO Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es voltil y adems muy pequea para almacenar todos los programas y datos. Tambin es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de: d Planificar los discos. d Gestionar el espacio libre. d Asignar el almacenamiento.

EL SISTEMA DE E/S Consiste en un sistema de almacenamiento temporal (cach), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S. SISTEMA DE ARCHIVOS Los archivos son colecciones de informacin relacionada, definidas por sus creadores. stos almacenan programas en cdigo fuente y objeto y datos tales como imgenes, textos, informacin de bases de datos, etc. El SO es responsable de:

Construir y eliminar archivos y directorios. Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. Realizar copias de seguridad de archivos. Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la informacin que se almacena en las memorias (normalmente discos) de los ordenadores.

SISTEMAS DE PROTECCIN Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de: Distinguir entre uso autorizado y no autorizado. Especificar los controles de seguridad a realizar. Forzar el uso de estos mecanismos de proteccin.

SISTEMA DE COMUNICACIONES Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envo y recepcin de informacin a travs de las interfaces de red. Tambin hay que crear y mantener puntos de comunicacin que sirvan a las aplicaciones para enviar y recibir informacin, y crear y mantener conexiones virtuales entre aplicaciones que estn ejecutndose localmente y otras que lo hacen remotamente. PROGRAMAS DEL SISTEMA Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de l. Ofrecen un entorno til para el desarrollo y ejecucin de programas, siendo algunas de las tareas que realizan:     Manipulacin y modificacin de archivos. Informacin del estado del sistema. Soporte a lenguajes de programacin. Comunicaciones.

GESTOR DE RECURSOS COMO GESTOR DE RECURSOS, EL SISTEMA OPERATIVO ADMINISTRA: o o o o o o La CPU (Unidad Central de Proceso, donde est alojado el microprocesador). Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecucin). Y en general todos los recursos del sistema.

MANEJO DE RECURSOS Centralizado: Si permite utilizar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, perifricos...) de ms de una computadora al mismo tiempo.

You might also like