Anda di halaman 1dari 51

1

Un sistema operativo proporciona el ambiente dentro del cual se ejecutan los programas, internamente tienen gran variacin en su contenido y estn muy bien organizados. Existen varios puntos de vista desde los cuales se puede ver un sistema operativo, uno consiste en examinar los servicios que proporciona, otro implica analizar la interfaz para usuarios y programadores, un tercero que consiste en desensamblar el sistema en sus componentes e interconexiones. Un sistema operativo crea el entorno en el que se ejecutan los programas. Podemos crear un sistema tan grande y complejo como un sistema operativo slo si lo dividimos en porciones ms pequeas. Cada una de estas partes deber ser un componente bien delineado del sistema, con entradas, salidas y funciones cuidadosamente definidas.

Estructura De Los Sistemas Operativos

Componentes Del Sistema

Un programa no puede hacer nada si la CPU no ejecuta sus instrucciones. Podemos pensar en un proceso como una porcin de un programa en ejecucin o todo el programa, por ejemplo un usuario individual ejecutando un editor de texto en una PC, es un proceso. Un proceso necesita ciertos recursos, incluidos tiempo de CPU, memoria, archivos y dispositivos de E/S, para llevar a cabo su tarea. Estos recursos se otorgan al proceso en el momento en que se crea, o bien se le asignan durante su ejecucin. Un proceso necesita ciertos recursos, incluidos tiempo de CPU, memoria, archivos y dispositivos de E/S, para llevar a cabo su tarea. Estos recursos se otorgan al proceso en el momento en que se crea, o bien se le asignan durante su ejecucin.

Administracin De Procesos

Un sistema operativo es responsable de las siguientes actividades relacionadas con la administracin de procesos

Crear y eliminar procesos de usuarios y procesos del sistema Suspender y continuar procesos
Proporcionar mecanismos para la sincronizacin de procesos Proporcionar mecanismos para la comunicacin de procesos Proporcionar mecanismos para el manejo de bloqueos mutuos

ADMINISTRACION DE LA MEMORIA PRINCIPAL


La memoria principal es un componente central en la operacin de un sistema de computo moderno; es un arreglo grande de palabras o byte , cuyo tamao va desde ciento de miles hasta miles de millones, cada palabra o byte tiene su propia direccin .

El sistema operativo es responsable de Para que un programa se ejecute, debe la siguiente s actividades relacionadas convertirse en un mapa de direcciones con la administracin de la memoria: absolutas y cargarse en memoria .
La seleccin de un esquema de administracin para un sistema especifico depende de muchos factores especialmente del diseo de hardware del sistema. cada algoritmo requiere su propio soporte de hardware . llevar un registro de las partes de la memoria que estn siendo utilizadas en el momento y quien las esta utilizando. decidir que procesos se van a cargar en la memoria cuando el espacio de la misma este disponible. asignar y liberar espacio de la memoria segn se necesite.

3
GESTION DE ARCHIVOS

El S.O. presenta una perspectiva lgica uniforme de almacenamiento de informacin, abstrayendo las propiedades fsicas de sus dispositivos de almacenamiento para definir una unidad de almacenamiento lgica, que es el archivo. A este se puede acceder a travs de los dispositivos de almacenamiento. Un archivo es una coleccin de informacin relacionada definida por su creador, esto consiste en una secuencia de bits, lneas o registros cuyos significados han sido definidos por su creador El S.O. se encarga de lo siguiente relacionado con archivos: Crear y eliminar archivos Crear y eliminar directorios Proveer las primitivas para la manipulacin de archivos y directorios Establecer la correspondencia de los archivos con almacenamiento secundario Resguardar los archivos en medios de almacenamiento estables

GESTION DEL SISTEMA DE E/S


Uno de los objetivos de un S.O. es ocultar las peculiaridades de dispositivos de hardware especfico de modo que el usuario no las perciba. Por ejemplo en UNIX el subsistema de e/s oculta las peculiaridades de los dispositivos de e/s al resto del S.O. mismo. Dicho subsistema consiste en: Un componente de gestin de memoria que incluye el uso de buffer y cachs Una interfaz general con los controladores de dispositivos Controladores de software (drivers) para dispositivos de hardware especficos.

Dado que la memoria

principal es demasiado
pequea y que pierde su informacin cuando deja de recibir corriente elctrica, el sistema de computacin debe contar con algn almacenamiento secundario para

La mayor parte de los sistemas del computador utiliza discos como principal medio de almacenamiento en lnea tanto para programas como para datos.

El S.O. relacionada con las gestin de disco se encarga de:

El almacenamiento secundario se usa con

Administracin de espacio libre

mucha frecuencia, por lo cual su uso debe ser eficiente.

Asignacin de almacenamiento

respaldar la memoria
principal.

Planificacin del disco.

Un sistema distribuido es una coleccin de procesadores que no comparten memoria.

Cada procesador tiene su propia memoria local y se comunica con los

Varan en cuanto al tamao y funcin.

otros procesadores.

Los S.O. normalmente generalizan el acceso por red como una forma

Los procesadores del sistema se conectan por medio de una red de comunicacin.

de acceso a archivos.

5
Si un sistema de cmputo tiene mltiples usuarios y permite la ejecucin concurrente de varios procesos, entonces estos procesos deben ser protegidos de las actividades de los dems.
Para dicho fin, se incorporan mecanismos que aseguran que los archivos, los segmentos de memoria, la CPU y otros recursos sean operados solo por aquellos procesos que cuentan con una autorizacin del sistema operativo.

SISTEMAS DE PROTECCIN
La proteccin es cualquier mecanismo para controlar el acceso de programas, procesos o usuarios a los recursos definidos por un sistema de cmputo.

El temporizador (timer) asegura que ningn proceso tenga control de la CPU sin abandonar finalmente dicho control.

6
Manipulacin del sistema de archivo : el sistema de archivo es de inters particular. Obviamente, los programas necesitan leer y escribir archivos ; tambin crear y borrar archivos por nombres
Comunicaciones : existen muchas situaciones en las cuales los procesos necesitan intercambiar informacin . Esta comunicacin se da de 2 maneras ; la primera se da entre procesos que se ejecutan en la misma computadora ; la segunda tiene lugar entre procesos que se ejecutan entre diferentes sistemas de computo enlazados mediante una red de computadoras

Operaciones de E/S : por lo general el usuario no puede controlar de manera directa a los dispositivos de E/S; por lo tanto el sistema operativo debe proporcionar un medio para poder realizar estas operaciones

Ejecucin de programas : el sistema debe ser capaz de carga un programa en la memoria para luego ejecutarlo; el programa se encargara de terminar su ejecucin ya sea de manera normal o anormal

SERVICIOS DEL SISTEMA OPERATIVO

Deteccin de errores : el S.O. constantemente debe estar preparado ante la posible aparicin de errores. Estos pueden ocurrir en la CPU y en el hardware de la memoria (como una falla en la energa) en dispositivo de E/S (una falla de conexin de red, o falta de papel en la impresora ) para cada tipo de error; el S.O. deber tomar la accin apropiada , para asegurar una operacin correcta

Asignacin de recursos

Contabilizacin

Proteccin

Son la interfaz entre un proceso y el sistema operativo. Estas llamadas generalmente estn disponibles como instrucciones en lenguaje ensamblador, y casi siempre se listan en los manuales empleados por quienes programan en ese lenguaje.

Habitualmente, mediante una instruccin especial de la mquina (syscall, int, trap, ...). La instruccin cambia automticamente a modo privilegiado. Si programamos en un lenguaje de alto nivel escribimos la llamada al sistema como una subrutina, y el compilador la sustituye por la instruccin de mquina correspondiente

Control de procesos: Fin, abortar, cargar, ejecutar, crear, finalizar, obtener y establecer atributos, espera, asignar y liberar memoria. Manipulacin de archivos: Crear y eliminar archivo, abrir y cerrar, leer, escribir, reposicionar, obtener y establecer atributos Manipulacin de dispositivos: Solicitar y liberar, leer, escribir, reposicionar, obtener y establecer atributos, conectar y desconectar dispositivos Mantenimiento de informacin: Obtener y establecer hora, fecha, datos del sistema, atributos de un proceso, archivo o dispositivo. Comunicaciones: Crear, eliminar conexiones; enviar y recibir mensajes

10

Un programa en ejecucin debe poder detener su ejecucin ya sea normalmente o anormalmente.

Muchos sistemas ofrecen llamadas al sistema para efectuar un vuelco de la memoria, la cual es til para la depuracin.

En un sistema por lote, el intrprete de rdenes por lo regular termina todo el trabajo actual y contina con el siguiente.

Un proceso o trabajo que ejecuta un programa podra querer cargar y ejecutar otro programa. Esta funcin permite al intrprete de rdenes ejecutar un programa cuando se lo solicita.

11
Muchos sistemas operativos generan un perfil de tiempo de un programa. Un perfil de tiempo requiere un servicio de rastreo o interrupciones regulares del temporizador. Con interrupciones del temporizador, lo suficientemente frecuentes, se puede obtener una imagen estadstica del tiempo consumido por las diversas partes del programa. El sistema operativo MS-DOS es un ejemplo de un sistema de una sola tarea, y que tiene un interprete de comandos que se invoca al iniciar la computadora . (Figura 3.3 a).

El sistema carga el programa en la memoria, escribiendo sobre la mayor parte de si mismo para dar al programa tanta memoria como sea posible (Figura 3.3 b)

Un ejemplo de sistemas multitareas es el UNIX. Cunado un usuario se conecta al sistema, se ejecuta el Shell (interprete de comandos) que l elige. Este interprete es similar al de MS-DOS por el hecho de que acepta comandos y ejecuta programas que el usuario solicita. Sin embargo, debido a q UNIX es un sistema multitarea, el interprete de comando puede continuar en ejecucin mientras otro programa tambin se ejecuta. Para comenzar un nuevo proceso, el interprete ejecuta la llamada el sistema. Luego, el programa seleccionado se carga en la memoria y entonces se ejecuta el programa. Dependiendo de la forma en que se haya emitido el comando, el interprete espera luego a que termine el proceso o bien ejecuta el proceso que se encuentra en segundo plano.

12
Crear un archivo, eliminar un archivo.

Abrir, cerrar.

Obtener atributos de archivos, establecer atributos de archivos.

Leer, escribir, reposicionar.

Solicitar dispositivo, liberar dispositivo.

Leer, escribir, reposicionar.

Obtener atributos de dispositivo, establecer atributos de dispositivo.

Conectar o desconectar lgicamente dispositivos.

Otras devuelven informacin acerca del sistema Muchas llamadas al sistema existen con el propsito de transferir informacin entre el programa del usuario y el S.O. Numero de usuarios actuales Numero de versin del sistema operativo Cantidad de memoria o espacio en disco libre.

La mayor parte devuelven la hora y la fecha actuales

Tambin hay llamadas al sistema para restablecer la informacin de los procesos

13

Existe dos modelos de comunicacin en el modelo de paso de mensajes la informacin se intercambia mediante un servicio de comunicacin entre procesos proporcionado por el sistema operativo. Antes de que tenga lugar una comunicacin, se necesita abrir una conexin, debe conocerse el nombre del otro comunicador, ya sea otro proceso en la misma CPU, o uno en otra computadora conectada por una red de comunicaciones

MEMORIA COMPARTIDA

Los procesos utilizan las llamadas al sistema map memory para obtener acceso a regiones de memoria que corresponde a otros procesos el sistema operativo trata de impedir que un proceso acceda a la memoria de otro. La memoria compartida requiere que dos o mas procesos estn de acuerdo en remover esta restriccin y entonces poder intercambiar informacin leyendo y escribiendo datos en esta reas compartidas

14
ADMINISTRACION DE ARCHIVOS.-Estos

programas crean , borran asignan nuevos nombres

imprimen

vacan

listan

generalmente

manipulan archivos y directorios IMFORMACION sistema disponible MODIFICACION DE ARCIVOS.-pueden estar disponibles varios editores de texto para crear y modificar el contenido DE ESTADO.-preguntan al

la fecha hora

cantidad de memoria

SOPORTES PARA LENGUAJE DE PROGRAMACION.- La

mayora de estos programas ahora tienen un costo y se


distribuyen de manera separada

CARGA Y EJECUCION DE PROGRAMAS.-El sistema puede proporcionar cargadores absolutos , cargadores relocalizadles editores de encadenamiento y cargadores de superposiciones ,

COMUNICACIONES .-Proporcionan los mecanismos para


crear conexiones virtuales entre procesos , usuarios y diferentes sistemas de computo

15

Muchos de los comandos dados en este nivel son para manipular archivos: crear, borrar, listar, imprimir, copiar, ejecutar entre otras.

16

Una de las estrategias para disear un sistema operativo consiste en dividir la terea en componentes pequeos, en lugar de un sistema monoltico. Cada modulo debe de ser una porcin bien definida del sistema, con entradas, salidas y funciones cuidadosamente especificadas.

Sistemas operativos como MS-DOS y UNIX (versin original) son ejemplos de sistemas operativos de estructura simple. Dado el limitado hardware que tenan no contaban con un modo dual ni proteccin por hardware. Y estaban a merced de programas errneos (o mal intencionados).

17

Otro ejemplo de estructuracin limitada sistema operativo UNIX estuvo limitado por la funcionalidad del hardware la cual consiste en dos partes separables : el kernel y los programas del sistema. El kernel se divide en series de interfaces y manejadores de dispositivos que sea han ampliado a lo largo de los aos a medida que UNIX ha evolucionado. Podemos ver al UNIX como series de llamada al sistema , lo que se encuentra debajo de la interfaz de llamadas al sistema y arriba del hardware fsico es el kernel. Proporciona diferentes funciones como sistemas de archivos, la planificacin de la CPU, la administracin de la memoria, etc. por medio de llamadas al sistema. En conjunto implica funcionalidad para combinarse en un solo nivel.

Los programas de sistema utilizan las llamadas al sistema soportada por el kernel para ofrecer funciones tiles, como compilacin y manipulacin de archivos.

Llamadas al sistema

Conjunto de programas al sistema

Interfaz del Interfaz del programador usuario (API) Ambas Interfaces definen el contexto al que el kernel brinda soporte

Las nuevas versiones de UNIX estan diseadas para usar hardware mas avanzado, dado un adecuado soporte al hardware.

18
Es aquel en cual el sistema operativo se descompone en varios niveles, cada uno de ellos construido sobre capas inferiores. La capa inferior (capa 0) es el hardware, la ms alta (capa N) es la interfaz del usuario. Una capa tpica del sistema operativo est compuesta de estructura de datos y un conjunto de rutinas que pueden ser invocadas por capas de mayor nivel. Esta capa a su vez puede invocar operaciones en capas de menor nivel. La principal ventaja del enfoque por capas es la modularidad.

Las capas se seleccionan de tal manera que cada una utilice funciones (operaciones) y servicios exclusivamente de capas de niveles inferiores

Este enfoque simplifica la depuracin y la verificacin del sistema

Si se encuentra un error durante la depuracin de una capa particular, el error debe estar en dicha capa, debido a que las que estn debajo de ella ya estn depuradas.

Cada capa se implementa solo con aquellas operaciones proporcionadas por capas de nivel inferior. La principal dificultad en este enfoque radica en la definicin apropiada de las diversas capas. Debido a que una capa solo puede usar aquellas que se encuentran en un nivel inferior, es necesaria una planeacin cuidadosa.

Un problema final con las implementaciones por capas es que tienden a ser menos eficientes que otros tipos, debido a que cada capa agrega un trabajo adicional por lo cual una accin toma ms tiempo en ser realizada que en un sistema sin capas.

Microkernels

19

En la dcada de 1980 investigadores de la universidad mellon desarrollaron un sistema operativo mach en el que se modulariz el kernel empleando el enfoque microkernel.

En general los microkernels tpicamente proporcionan una administracin mnima de los procesos y de la memoria, adems de un servicio de comunicacin. Esta comunicacin se proporciona mediante el paso de mensajes.

Digital UNIX proporciona al usuario una interfaz UNIX, pero q esta implementado sobre un kernel Mach. Las llamadas al sistema de UNIX son convertidas por Mach en mensajes a los servicios apropiados a nivel de usuario.

Aplicacin Win32

Aplicacin OS/2

Aplicacin Posix

Servidor de Win32

Servidor de OS/2

Servidor de Posix

Kernel

20

Conceptualmente, un sistema de cmputo est formado por capas. El hardware es el nivel ms bajo en todos estos sistemas. El kernel, que se ejecuta en el siguiente nivel, utiliza las instrucciones de hardware para crear un conjunto de llamadas al sistema para uso de las capas exteriores

Algunos sistemas llevan este esquema un paso ms adelante permitiendo que los programas del sistema sean invocados fcilmente por los programas de aplicaciones

Aunque los programas del sistema se encuentran en un nivel superior a las dems rutinas, los programas de aplicacin pueden ver todo lo que est debajo de ellos en la jerarqua como si fueran parte de la mquina misma

El proceso normalmente tiene caractersticas adicionales, como llamadas al sistema y un sistema de archivos, las cuales no son proporcionadas por el hardware

En si el enfoque de maquina virtual, por otra parte, no incluye alguna funcionalidad adicional, sino que ms bien proporciona una interfaz que es idntica al hardware simple que est en la base

La operacin perifrica simultnea en lnea (spooling) y el sistema de archivos pueden ofrecer lectoras de tarjetas virtuales e impresoras de lneas virtuales. Una terminal normal de usuario con tiempo compartido proporciona la funcin de la consola del operador de la maquina virtual.

21

Se requiere un esfuerzo apreciable para crear un duplicado exacto de la maquina subyacente, este ultimo tiene dos modos: modo de usuario y modo de monitor.

La maquina virtual en si solo puede ejecutarse en modo de usuario.

Dado que la maquina fsica tiene dos modos, la maquina virtual tambin deber tenerlos.

Debemos tener un modo de usuario virtual y un modo de monitor virtual, y ambos deben ejecutarse en modo de usuario fsico.

22

El concepto de maquina virtual tiene varias ventajas. Para ello, se han implementado dos estrategias:

Primero, es posible compartir un minidisco. Este esquema sigue el modelo de los discos compartidos, pero se implementan en software. Con esta tcnica, se pueden compartir archivos.

Segundo, es posible definir la red de maquinas virtuales, cada una de las cuales pueden enviar informacin por la red de comunicaciones virtual.

23

Java es un lenguaje que goza de gran popularidad, que se implementa con un compilador que se genera cdigos de bytes como salida. Estos cdigos de bytes son las instrucciones que se ejecutan en la Maquina Virtual Java(JVM, Java Virtual Machine). Para que los programas Java se ejecuten en una plataforma, es necesario que dicha plataforma este ejecutando una JVM. La Maquina Virtual Java implementa un conjunto de instrucciones basado en pila que incluye las instrucciones aritmticas, lgicas de movimiento de datos y de control de flujo que cabe esperar. Los compiladores de Java se limitan a emitir estas instrucciones de cdigos de bytes, y la JVM debe implementar la funcionalidad necesaria en cada plataforma.

24

Mquina no virtual

Mquina virtual

Ventajas/desventajas de las mquinas virtuales


La mquina virtual suministra proteccin a los recursos del sistema debido a que las mquinas virtuales estn aisladas unas de otras. Sin embargo, este aislamiento no permite compartir recursos. Una mquina virtual es un medio ideal para el desarrollo e investigacin de sistemas operativos. El desarrollo de un sistema se lleva a cabo en una mquina virtual y por lo tanto no perturba las operaciones del sistema operativo normal. La mquina virtual requiere de capacidad extra por parte del CPU anfitrin para crear duplicados del hardware.

25

OBJETIVOS DE DISEO. En el nivel mas alto, el diseo del sistema estar afectado por la seleccin del hardware y el tipo de procesamiento que se implementar en el sistema. Es difcil especificar los requisitos, se dividen en dos grupos bsicos: metas de usuario (fcil de usar, seguro, rpido, confiable) y metas del sistema. Desde luego esto es generalizado sobre la forma de lograr los objetivos.

Mecanismos y Politicas Los mecanismos determinan cmo se hace algo. La polticas deciden qu se har. La separacin de poltica y mecanismo es importante para la flexibilidad.

IMPLEMENTACIN

26

Una vez diseado un SO, este debe implementarse. Los SO por tradicin se han escrito en lenguaje ensamblador, por ejemplo el MCP, pero ahora se los hace en lenguaje de alto nivel.
Las ventajas de utilizar Lenguajes de alto nivel:

El cdigo se puede escribir mas rpidamente

El SO es ms fcil de Portar, ejm el MS-DOS

Pueden mejorar el cdigo

Reduccin en la velocidad

Las principales desventajas

Mayores requerimientos en el almacenamiento

Las mejoras importantes en el desempeo de los SO ser probablemente ms el resultado de mejores estructura de datos y algoritmos que de un excelente cdigo ensamblador

GENERACION DE SISTEMAS
Es necesario configurar o generar el sistema para cada sitio de computador especifico. Este proceso se lo conoce como generacin de sistemas (SYSGEN, system generation).

27

Una vez que se ha generado un sistema operativo, debe ponerse a disposicin del hardware

Qu CPU se usar? Qu opciones estn instaladas? Con cuanta memoria se cuenta? Con qu dispositivos se cuenta?

Este programa lee de un archivo dado o pide al operador del sistema informacin relativa a la configuracin especfica del hardware, o bien sondea el hardware directamente para determinar que componentes tiene. Hay que determinar los siguientes tipos de informacin:

Qu opciones se desea que tenga el sistema operativo, o que valores de parmetros se usarn?

Anda mungkin juga menyukai