Sei sulla pagina 1di 33

QU ES LINUX?

Linux es un sistema operativo diseado por cientos de programadores de todo el planeta, aunque el principal responsable del proyecto es Linus Tovalds. Su objetivo inicial es propulsar el software de libre distribucin junto con su cdigo fuente para que pueda ser modificado por cualquier persona, dando rienda suelta a la creatividad. GNU/Linux es uno de los trminos empleados para referirse a la combinacin del ncleo o kernel libre similar a Unix denominado Linux, que es usado con herramientas de sistema GNU. Su desarrollo es uno de los ejemplos ms prominentes de software libre; Caractersticas GNU/Linux Multitarea Linux desde su concepcin fue diseado como un sistema operativo multitarea, lo que le permite ejecutar varios programas a la vez, de forma que no tiene que esperar a que termine uno para empezar otro Multiusuario Linux es un sistema operativo capaz de responder, simultaneamente, a las solicitudes de varios usuarios que empleen el mismo ordenador En lneas generales podemos decir que se dispone de varios tipos de sistema de archivos para poder acceder a archivos en otras plataformas. Se distribuye su cdigo fuente, lo cual permite a cualquier persona que as lo desee hacer todos los cambios necesarios para resolver problemas que se puedan presentar, as como tambin agregar funcionalidad. El nico requisito que esto conlleva es poner los cambios realizados a disposicin del pblico, esto debido a su licencia. Es desarrollado en forma abierta por cientos de usuarios distribudos por todo el mundo, los cuales la red Internet como medio de comunicacin y colaboracin. Esto permite un rpido y eficiente ciclo de desarrollo. Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una opcin atractiva tanto para empresas como para usuarios individuales. Ventajas de usar GNU/LINUX - Posibilidad de manipular el cdigo fuente - Ms econmico: porque muchos de los sistemas basados en LINUX son gratuitos - Mas fcil de actualizar y ms seguros - Requerimientos: Linux, al poder funcionar exclusivamente en modo texto sin la necesidad de cargar un entorno grfico puede ejecutarse en cualquier mquina a partir de un i386. - Estabilidad: Tiene un nico ncleo basado en Unix, por lo tanto es muy estable. - Multitarea real: Es posible ejecutar varias aplicaciones y procesos simultneamente. - Crecimiento: Crece mucho gracias a miles de programadores en todo el mundo. Tipos de LINUX openSUSE Ubuntu Kubuntu Fedora MacOSX Solaris Microsoft Windows Windows es un sistema operativo de interfaz grfica de ordenadores personales. Dicho sistema, se ha convertido en el ms utilizado por su fcil manejo. Microsoft Windows

(conocido como Windows) es un sistema operativo grfico para computadoras personales cuyo propietario es la empresa Microsoft. Caractersticas de Windows -Es de interfaz grfica. -Es el ms utilizado por su fcil manejo. -Principalmente se utiliza en computadoras personales. -Y las ventajas y desventajas que se mencionan arriba. Ventajas de Windows Mayor compatibilidad con Software -Mayor compatibilidad con Hardware -El respaldo de las compaas de pago - Es ms fcil de manejar Tipos de Microsoft Windows MS-DOS Windows 1.0 Windows 2.0 Windows 3.0 Windows 3.1 y 3.11 Windows 95 Windows NT Windows 98 Windows Millenium Windows 2000 Windows XP ( Experience) Diferencias entre WINDOWS y LINUX La instalacin: * En Linux a pesar de todos los esfuerzos la instalacin no resulta sencilla siempre, pero te permite personalizar totalmente los paquetes que quieras instalar. * En Windows la instalacin es mnimamente configurarle aunque es muy sencilla. La compatibilidad: Ninguno de los dos sistemas operativos son totalmente compatibles con el Hardware, a pesar de que Windows se acerca ms, los dos estn cerca de conseguirlo. * Aunque Linux no esta detrs de ninguna casa comercial gracias a su elevada popularidad ofrece una alta compatibilidad ofreciendo, adems, actualizaciones frecuentes. * Windows al ser parte de Microsoft intenta ofrecer una gran cantidad de drivers ya que su gran poder econmico hace que las empresas mismas de hardware creen sus propios drivers.

Software: * Linux al tener menos software en algunos campos sufre una menor aceptacin por parte de las empresas, aunque gracias a los apoyos de empresas como Sun Microsystems o IBM se ha logrado muchos avances. * Windows al ser el ms fcil de usar en las empresas, posee una gran cantidad de software.

Robustez: * Linux se ha caracterizado siempre por la robustez de su sistema ya que pueden pasar meses e incluso aos sin la necesidad de apagar o reiniciar el equipo, tambin si una aplicacin falla simplemente no bloquea totalmente al equipo. * En Windows siempre hay que reiniciar cuando se cambia la configuracin del sistema, se bloquea fcilmente cuando ejecuta operaciones aparentemente simples por lo que hay que reiniciar el equipo. Qu ventajas tiene Linux sobre Windows? Es ms seguro o Ya que la gran mayora de los ataques de hackers son dirigidos a servidores Windows al igual que los virus los cuales se enfocan principalmente a servidores con ste sistema operativo. o La plataforma Linux es ms robusta lo cual hace ms difcil que algn intruso pueda violar el sistema de seguridad de Linux. Es ms rpido o Al tener una plataforma ms estable, sto favorece el desempeo de aplicaciones de todo tipo tales como: bases de datos, aplicaciones XML, multimedia, etc. o La eficiencia de su cdigo fuente hace que la velocidad de las aplicaciones Linux sean superiores a las que corren sobre Windows lo cual se traduce en velocidad de su pgina. Es ms econmico o Ya que requieren menor mantenimiento. En servidores windows es ms costoso debido a que es necesaria una frecuente atencin y monitoreo contra ataques de virus, hackers y errores de cdigo, instalacin y actualizacin de parches y service packs. o El software Linux as como tambin un sin nmero de aplicaciones son de cdigo abierto (gratuitos). o No requieren supervisin tan estrecha ni pagos de plizas de mantenimiento necesarias para obtener los Service Packs. Qu ventajas tiene Windows sobre Linux? Es ms fcil o Al ser de mayor facilidad de uso Windows en este momento contina siendo el sistema operativo ms comercial lo cual se refleja en la disponibilidad de aplicaciones, facilidad de mantenimiento as como soporte en el desarrollo de nuevas aplicaciones, puntos que pueden ser cruciales en la eleccin de servidores que corren aplicaciones web. Aplicaciones desarrolladas en menor tiempo o Fruto de la inversin realizada por Microsoft y aunado a una comunidad de programadores cada vez ms grande se ha logrado facilitar el desarrollo de aplicaciones y sistemas que corran sobre servidores Windows lo cual se ve reflejado en tiempos de desarrollo menores. o La curva de aprendizaje en el sistema Windows es mucho menor.

Arquitectura Arquitectura Sistema Operativo Windows Visin General de la Arquitectura de Windows. Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que ya tienen una posicin privilegiada, en cuanto a resultados, debe tener una serie de caractersticas que le permitan ganarse ese lugar. Algunas de estas son: Que corra sobre mltiples arquitecturas de hardware y plataformas. Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que corrieran la mayora de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en este caso particular a las de 16-bit de MS-DOS y Microsoft Windows 3.1. Rena los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix). Rena los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo. Sea fcilmente adaptable al mercado global soportando cdigo Unicode. Sea un sistema que corra y balancee los procesos de forma paralela en varios procesadores a la vez. Sea un Sistema Operativo de memoria virtual. Uno de los pasos ms importantes que revolucion los Sistemas Operativos de la Microsoft fue el diseo y creacin de un Sistema Operativo extensible, portable, fiable, adaptable, robusto, seguro y compatible con sus versiones anteriores (Windows NT). Uno de las caractersticas que Windows comparte con el resto de los Sistemas Operativos avanzados es la divisin de tareas del Sistema Operativo en mltiples categoras, las cuales estn asociadas a los modos actuales soportados por los microprocesadores. Windows usa un modo privilegiado (Kernel) y un modo no privilegiado (Usuario). Modo Kernel Capa de Abstraccin de Hardware (HAL). Conocido por sus siglas en ingls HAL (Hardware Abstraction Layer) es una interfaz entre el hardware y el resto del Sistema Operativo, est implementada como una biblioteca de enlace dinmico (dll) y es responsable de proteger el resto del sistema de las especificaciones del hardware, tales como controladores de interrupcin e interfaces de entrada/salida. Esta abstraccin hace al sistema ms portable ya que el resto del sistema no tiene que preocuparse sobre que plataforma est corriendo. Cada plataforma en que el sistema corre necesita un HAL especfico. Para cada procesador fsico que existe en la computadora el HAL representa un procesador virtualizado al microkernel. Sobre un sistema SMP (Multiprocesamiento Simtrico) para cada procesador fsico en el sistema el HAL representa un procesador virtualizado al microkernel.

MicroKernel Aqu es importante aclarar que el microkernel no planifica la ejecucin de procesos, sino que planifica la ejecucin de hilos en el entorno de un proceso, este procedimiento es el que hace posible la multitarea con preferencia al ser el microkernel el que planifica la ejecucin de todo el cdigo que corre en el sistema. En un sistema multiprocesador, una copia del microkernel corre en cada procesador. Estos segmentos del microkernel son usados para mantener la coherencia de los recursos del sistema que son compartidos ya que son accedidos por los hilos que corren en todos los procesadores. Normalmente cuando el sistema es interrumpido, el microkernel se apropia del hilo que este corriendo en ese momento para procesar la interrupcin. El uso final del microkernel es suministrar un soporte para la recuperacin del sistema de una cada de energa. El Ejecutor de Windows. Debido a la jerarqua de Windows las aplicaciones que corren en Modo Usuario no pueden llamar segmentos del Ejecutor de Windows directamente, sino servicios de demanda de los subsistemas de ambiente (explicado en captulos posteriores), como Win32 y POSIX los que a su vez se encargan de llamar los componentes del Ejecutor de Windows. El Administrador de Objetos. El Administrador de Objetos (Object Manager) es usado para crear, modificar y eliminar objetos (tipos de datos abstractos que son usados para representar recursos del Sistema Operativo) usados por todos los sistemas que conforman el Ejecutor de Windows. Cuando un proceso necesita acceder al objeto este solicita un tratamiento de objeto aladministrador de objetos. Adems el Administrador de Objetos se encarga de limpiar objetos hurfanos (objetos que parecen no tener dueo), esto es conocido como recoleccin de basura. El Administrador de Procesos. El Administrador de Procesos (Process Manager) es el responsable de crear, quitar y modificar los estados de todos los procesos e hilos. Este tambin proporciona informacin sobre el estado de procesos e hilos al resto del sistema. Como todo proceso debe tener por lo menos un hilo, el Administrador de Procesos es invocado de nuevo para crear el hilo. El Administrador de Memoria Virtual. El Administrador de Memoria Virtual (Virtual Memory Manager o VMM) proporciona la gestin de memoria virtual del sistema. A cada proceso se asigna un espacio de memoria virtual de 4GB. El Administrador de Memoria Virtual es el responsable de traducir las direcciones de memoria del proceso a las direcciones de memoria reales del sistema.

Servicios de Llamadas a Procedimientos Locales. El Servicio de Llamadas a Procedimientos Locales (Local Procedure Call Facility o LPC) se integran al diseo cliente/servidor de Windows. El Servicio de Llamadas a Procedimientos Locales es el mdulo que se encarga de recibir y enviar las llamadas de procedimiento locales entre las aplicaciones cliente y los subsistemas servidores. El Monitor de Seguridad. Este componente trabaja conjuntamente con los subsistemas de tiempo de corrida, proceso de conexin al sistema (conocido como logon process) y control de la seguridad local (local security authority). El SRM usa informacin contenida en la ficha de acceso del usuario y lo compara con la lista de control de accesos sobre el objeto para ver si al usuario debe concederse el nivel de acceso pedido. El Administrador de Entrada-Salida. El Administrador de Entrada-Salida (I/O Manager) es responsable de gestionar la comunicacin entre los distintos drivers de dispositivo. Tiene una serie de subcomponentes que son: Los drivers de dispositivo del sistema. El administrador de caches (Cache Manager): este se encarga de manipular la cache para todo el Sistema de Entrada y Salida. Modo Usuario Subsistemas de Ambiente Protegido Dos de los objetivos de WINDOWS son personalidad y compatibilidad. En WINDOWS, hay tres subsistemas de ambiente protegido: El subsistema de Win32 El subsistema de POSIX El subsistema de OS/2 Aunque algunas veces se muestran las personalidades Win16 y DOS incluidas en una lista de subsistemas de ambiente protegido, ellas realmente son parte del subsistema Win32. Los subsistemas de ambiente protegido actan como los mediadores entre las aplicaciones del Modo Usuario y el Ejecutor de Windows. Cuando usted inicia una aplicacin en WINDOWS, mira el encabezamiento representado por el archivo y determina en cul subsistema ejecutar la aplicacin.
El Subsistema Win32 Win32 es el subsistema nativo y primario de WINDOWS. Las bases para este subsistema es el conjunto de APIs de Win32. Algunos objetivos que se trazaron para mantener la compatibilidad con las aplicaciones hechas en versiones anteriores fueron: Suministrar un mecanismo para compartir datos entre aplicaciones Windows de 32 y 16 bits. Muchas personas piensan en Windows 3.x como un Sistema Operativo. El subsistema soporta una buena parte del API Win32.

El Subsistema POSIX. El subsistema de POSIX requiere un mnimo de servicios que son proporcionados por WINDOWS. Cuando una aplicacin de POSIX corre en WINDOWS, el subsistema es cargado y traduce las llamadas API del lenguaje C, requeridas para soportarlo en llamadas a APIs de Win32 las que son servidas por el subsistema Win32. El Subsistema POSIX interacciona con el Ejecutor de Windows. El Subsistema OS/2. El subsistema de OS/2 est implementado como un subsistema de ambiente protegido, parecido al subsistema POSIX. Este traduce las llamadas API de OS/2 en llamadas a APIs de Win32 que son servidas por el subsistema de Win32. El Subsistema OS/2 igual que el subsistema POSIX proporciona un entorno para aplicaciones UNIX, este subsistema da soporte a las aplicaciones OS/2. Proporciona la interfaz grfica y las llamadas al sistema; las llamadas son servidas con ayuda del Ejecutor de Windows.

TEORIA INTRODUCCION Descripcin del Sistema Operativo Sistema Operativo: es el software bsico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. Las funciones bsicas del Sistema Operativo son administrar los recursos de la mquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento. Caractersticas Administracin de tareas Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuar hacindolo hasta su finalizacin y/o interrupcin. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, perifricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. Administracin de usuarios Monousuario: Si slo permite ejecutar los programas de un usuario al mismo tiempo. Multiusuario: Si permite que varios usuarios ejecuten simultneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan mtodos de proteccin de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario. 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.

Funciones del sistema operativo Administracin del procesador: el sistema operativo administra la distribucin del procesador entre los distintos programas por medio de un algoritmo de programacin. El tipo de programador depende completamente del sistema operativo, segn el objetivo deseado. Gestin de procesos : La gestin de procesos podra ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y despus las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas ms antiguas. 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, es voltil 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 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, 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. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT2, NTFS, etc. Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante informacin ya que el tamao mximo de un fichero con un Sistema de Archivos FAT32 est limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamao es considerablemente mayor.

Administracin de autorizaciones : 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 de 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,. Gestor de recursos: Como gestor de recursos, el Sistema Operativo administra:

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.

Funciones de los Sistemas Operativos.


Interpreta los comandos que permiten al usuario comunicarse con el ordenador. Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse. Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnticas. Gestiona los errores de hardware y la prdida de datos. Servir de base para la creacin del software logrando que equipos de marcas distintas funcionen de manera anloga, salvando las diferencias existentes entre ambos. Componentes del sistema operativo

El sistema operativo est compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software:

El ncleo, que representa las funciones bsicas del sistema operativo, como por ejemplo, la gestin de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicacin.

El intrprete de comandos, que posibilita la comunicacin con el sistema operativo a travs de un lenguaje de control, permitiendo al usuario controlar los perifricos sin conocer las caractersticas del hardware utilizado, la gestin de las direcciones fsicas, etctera. El sistema de archivos, que permite que los archivos se registren en una estructura Ncleo (informtica)

Clasificacin de los Sistemas Operativos. Multiusuario. Es todo lo contrario a monousuario; y 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). Multitareas. 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 (context Switching) 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 esta procesando la aplicacin que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicacin.

Monotareas. Los sistemas operativos monotareas son ms primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresin. Secuencia por Lotes. La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la ejecucin de una lista de comandos del sistema operativo uno tras otro sin intervencin del usuario. En los ordenadores ms grandes el proceso de recogida de programas y de conjuntos de datos de los usuarios, la ejecucin de uno o unos pocos cada vez y la entrega de los recursos a los usuarios. Procesamiento por lotes tambin puede referirse al proceso de almacenar transacciones durante un cierto lapso antes de su envo a un archivo maestro, por lo general una operacin separada que se efecta durante la noche. Tiempo Real. Un sistema operativo en tiempo real procesa las instrucciones recibidas al instante, y una vez que han sido procesadas muestra el resultado. Este tipo tiene relacin con los sistemas operativos monousuarios, ya que existe un solo operador y no necesita compartir el procesador entre varias solicitudes. Su caracterstica principal es dar respuestas rpidas; por ejemplo en un caso de peligro se necesitaran respuestas inmediatas para evitar una catstrofe.
Tiempo Compartido. El tiempo compartido en ordenadores o computadoras consiste en el uso de un sistema por ms de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de multitareas que es comn en la mayora de los microordenadores o las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras ms grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realizacin de mltiples tareas por un solo usuario.

Cmo funciona un Sistema Operativo Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la eleccin del sistema operativo determina en gran medida las aplicaciones que puedes utilizar. Cmo se utiliza un Sistema Operativo Un usuario normalmente interacta con el sistema operativo a travs de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intrprete de la lnea de comandos. Las interfaces grficas permiten que utilices los comandos sealando y pinchando en objetos que aparecen en la pantalla PLANIFICACION

Procesos Es una abstraccin de un programa en ejecucin tambin llamada tarea. Un programa que se est ejecutando. Una actividad asincrnica. Caracteristicas del modelo de procesos:

Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuenciales o procesos. Un proceso incluye al programa en ejecucin y a los valores activos del contador, registros y variables del mismo. Conceptualmente cada proceso tiene su propia cpu virtual. Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un proceso no ser uniforme, por lo que es necesario aclarar lo siguiente: o Que los procesos no deben programarse con hiptesis implcitas acerca del tiempo. o Que normalmente la mayora de los procesos no son afectados por la multiprogramacin subyacente de la cpu o las velocidades relativas de procesos distintos. Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y estado.

Estados de un proceso

Ejecucin: el proceso est actualmente en ejecucin. Listo: el proceso est listo para ser ejecutado, slo est esperando que el planificador as lo disponga. Bloqueado: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operacin de Entrada/Salida. En ejecucin: utiliza la cpu en el instante dado. Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso. Bloqueado: no se puede ejecutar debido a la ocurrencia de algn evento externo.

Procesamiento de Interrupciones

Una interrupcin es un evento que altera la secuencia en que el procesador ejecuta las instrucciones; es un hecho generado por el hardware del computador Generalmente las interrupciones se pueden clasificar por tipos segn el siguiente detalle

SVC (llamada al supervisor): es una peticin generada por el usuario para un servicio particular del sistema, por ejemplo, realizacin de Entrada / Salida u obtencin de ms memoria. Entrada / Salida: son iniciadas por el hardware de Entrada / Salida, indicando a la cpu que ha cambiado el estado de un canal o dispositivo, por ejemplo, finalizacin de Entrada / Salida u ocurrencia de un error. Externas: son causadas por distintos eventos, por ejemplo, expiracin de un cuanto en un reloj de interrupcin o recepcin de una seal de otro procesador en un sistema multiprocesador. De reinicio: ocurren al presionar la tecla de reinicio o cuando llega una instruccin de reinicio de otro procesador en un sistema multiprocesador. De verificacin de programa: son causadas por errores producidos durante la ejecucin de procesos, por ejemplo: o Un intento de dividir por cero. o Un intento de un proceso de usuario de ejecutar una instruccin privilegiada. o Un intento de ejecutar un cdigo de operacin invlido. De verificacin de mquina: son ocasionadas por un mal funcionamiento del hardware. El Ncleo del Sistema Operativo

El ncleo del Sistema Operativo controla todas las operaciones que implican procesos y representa solo una pequea porcin del cdigo de todo el Sistema Operativo pero es de amplio uso Generalmente permanece en el almacenamiento primario. El proceso de interrupciones se incluye en el ncleo ya que debe ser rpido (especialmente en sistemas multiusuario), para optimizar el uso de los recursos del sistema y proveer tiempos de respuesta aceptables a los usuarios interactivos. El ncleo inhabilita las interrupciones mientras responde a una interrupcin. Las interrupciones son habilitadas de nuevo despus de completar el proceso de una interrupcin. Planificacin de Procesos Cuando ms de un proceso es ejecutable desde el punto de vista lgico, el Sistema Operativo debe decidir cul de ellos debe ejecutarse en primer trmino. El Planificador es la porcin del Sistema Operativo que decide y el Algoritmo de Planificacin es el utilizado. Niveles de Planificacin del Procesador

Se consideran tres niveles importantes de planificacin, los que se detallan a continuacin:

Planificacin de alto nivel: o Tambin se denomina Planificacin de trabajos. o Determina a qu trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificacin de admisin. Planificacin de nivel intermedio: o Determina a qu procesos se les puede permitir competir por la cpu. o Responde a fluctuaciones a corto plazo en la carga del sistema y efecta suspensiones y activaciones (reanudaciones) de procesos. o Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema. Planificacin de bajo nivel: o Determina a qu proceso listo se le asigna la cpu cuando esta queda disponible y asigna la cpu al mismo, es decir que despacha la cpu al proceso. o La efecta el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.

Objetivos de la Planificacin Los objetivos de la planificacin del procesador son los siguientes e involucran a los conceptos detallados seguidamente

Ser justa: o Todos los procesos son tratados de igual manera. o Ningn proceso es postergado indefinidamente. Maximizar la capacidad de ejecucin: o Maximizar el nmero de procesos servidos por unidad de tiempo. Maximizar el nmero de usuarios interactivos que reciban unos tiempos de respuesta aceptables: o En un mximo de unos segundos. Ser predecible: o Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema. Minimizar la sobrecarga: o No suele considerarse un objetivo muy importante. Equilibrar el uso de recursos: o Favorecer a los procesos que utilizarn recursos infrautilizados. Equilibrar respuesta y utilizacin: o La mejor manera de garantizar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitan, pero la utilizacin total de recursos podr ser pobre. Evitar la postergacin indefinida: o Se utiliza la estrategia del envejecimiento . o Mientras un proceso espera por un recurso su prioridad debe aumentar, as la prioridad llegar a ser tan alta que el proceso recibir el recurso esperado. Asegurar la prioridad: o Los mecanismos de planificacin deben favorecer a los procesos con prioridades ms altas.

Dar preferencia a los procesos que mantienen recursos claves: o Un proceso de baja prioridad podra mantener un recurso clave, que puede ser requerido por un proceso de ms alta prioridad. o Si el recurso es no apropiativo, el mecanismo de planificacin debe otorgar al proceso un tratamiento mejor del que le correspondera normalmente, puesto que es necesario liberar rpidamente el recurso clave. Dar mejor tratamiento a los procesos que muestren un comportamiento deseable: o Un ejemplo de comportamiento deseable es una tasa baja de paginacin. Degradarse suavemente con cargas pesadas: o Un mecanismo de planificacin no debe colapsar con el peso de una exigente carga del sistema. o Se debe evitar una carga excesiva mediante las siguientes acciones: No permitiendo que se creen nuevos procesos cuando la carga ya es pesada. Dando servicio a la carga ms pesada al proporcionar un nivel moderadamente reducido de servicio a todos los procesos.

Criterios de Planificacin Para realizar los objetivos de la planificacin, un mecanismo de planificacin debe considerar lo siguiente

La limitacin de un proceso a las operaciones de Entrada / Salida: cuando un proceso consigue la cpu, la utiliza solo brevemente antes de generar una peticin de Entrada / Salida?. La limitacin de un proceso a la cpu: cuando un proceso obtiene la cpu, tiende a usarla hasta que expira su tiempo?. Si un proceso es por lote (batch) o interactivo: los usuarios interactivos deben recibir inmediato servicio para garantizar buenos tiempos de respuesta. Qu urgencia tiene una respuesta rpida?: por ejemplo, un proceso de tiempo real de un sistema de control que supervise una refinera de combustible requiere una respuesta rpida, ms rpida que la respuesta requerida por un proceso en lotes (batch) que deber entregarse al da siguiente. La prioridad de un proceso: a mayor prioridad mejor tratamiento. Frecuentemente un proceso genera fallos (carencias) de pgina: o Probablemente los procesos que generan pocos fallos de pgina hayan acumulado sus conjuntos de trabajo en el almacenamiento principal. o Los procesos que experimentan gran cantidad de fallos de pgina an no han establecido sus conjuntos de trabajo. o Un criterio indica favorecer a los procesos que han establecido sus conjuntos de trabajo. o Otro criterio indica favorecer a los procesos con una tasa alta de fallos de pgina ya que rpidamente generarn una peticin de Entrada / Salida. Planificacin Apropiativa Versus No Apropiativa

Las Disciplinas de Planificacin pueden ser Apropiativas o No Apropiativas

Apropiativa: Una vez que se le ha otorgado la cpu a un proceso, le puede ser retirada No Apropiativa: Una vez que se le ha otorgado la cpu a un proceso, no le puede ser retirada Las principales caractersticas de la planificacin apropiativa son las siguientes: Es til cuando los procesos de alta prioridad requieren atencin rpida. Es importante para garantizar buenos tiempos de respuesta en sistemas interactivos de tiempo compartido. Las principales caractersticas de la planificacin no apropiativa son las siguientes:

Significa que los trabajos largos hacen esperar a los trabajos cortos. Logra ms equidad en el tratamiento de los procesos. Logra hacer ms predecibles los tiempos de respuesta puesto que los trabajos nuevos de prioridad alta no pueden desplazar a los trabajos en espera.

Temporizador de Intervalos o Reloj de Interrupcin El proceso al cual est asignada la cpu se dice que est en ejecucin y puede ser un proceso de Sistema Operativo o de usuario. El Sistema Operativo dispone de mecanismos para quitarle la cpu a un proceso de usuario para evitar que monopolice el sistema. El Sistema Operativo posee un reloj de interrupcin o temporizador de intervalos para generar una interrupcin, en algn tiempo futuro especfico o despus de un transcurso de tiempo en el futuro; la cpu es entonces despachada hacia el siguiente proceso Prioridades Las prioridades pueden ser de distinto tipo Tipos de prioridades: Asignadas automticamente por el sistema, Asignadas desde el, exterior, Dinmicas, Estticas, Asignadas racionalmente, Asignadas arbitrariamente. En el caso de prioridades asignadas arbitrariamente, un mecanismo del sistema necesita distinguir entre procesos sin importarle cul es el ms importante. Las principales caractersticas de las prioridades estticas son las siguientes:

No cambian. Los mecanismos de implementacin son sencillos. Implican una sobrecarga relativamente baja.

Las principales caractersticas de las prioridades dinmicas son las siguientes:

Responden al cambio. La prioridad inicial asignada a un proceso puede durar poco tiempo, luego se la reajusta a un mejor valor. Los mecanismos de implementacin son ms complicados que para prioridades estticas. Implican una sobrecarga mayor que para esquemas estticos. Tipos de Planificacin

Planificacin a Plazo Fijo Ciertos trabajos se planifican para ser terminados en un tiempo especfico o plazo fijo. Es una planificacin compleja debido a los siguientes factores:

El usuario debe suministrar anticipadamente una lista precisa de recursos necesarios para el proceso, pero generalmente no se dispone de dicha informacin. La ejecucin del trabajo de plazo fijo no debe producir una grave degradacin del servicio a otros usuarios.

Planificacin Garantizada

Se establecen compromisos de desempeo con el proceso del usuario, por ejemplo, si existen n procesos en el sistema, el proceso del usuario recibir cerca del 1 / n de la potencia de la cpu. El sistema debe tener un registro del tiempo de cpu que cada proceso ha tenido desde su entrada al sistema y del tiempo transcurrido desde esa entrada. Con los datos anteriores y el registro de procesos en curso de ejecucin, el sistema calcula y determina qu procesos estn ms alejados por defecto de la relacin 1 / n prometida y prioriza los procesos que han recibido menos cpu de la prometida.

Planificacin del Primero en Entrar Primero en Salir (FIFO) Es muy simple, los procesos se despachan de acuerdo con su tiempo de llegada a la cola de listos. Una vez que el proceso obtiene la cpu, se ejecuta hasta terminar, ya que es una disciplina no apropiativa. Puede ocasionar que procesos largos hagan esperar a procesos cortos y que procesos no importantes hagan esperar a procesos importantes. Planificacin de Asignacin en Rueda (RR: Round Robin) Los procesos se despachan en FIFO y disponen de una cantidad limitada de tiempo de cpu, llamada divisin de tiempo o cuanto. Tamao del Cuanto o Quantum La determinacin del tamao del cuanto es decisiva para la operacin efectiva de un sistema computacional

Los interrogantes son: cuanto pequeo o grande?, cuanto fijo o variable? y cuanto igual para todos los procesos de usuarios o determinado por separado para cada uno de ellos?. Si el cuanto se hace muy grande, cada proceso recibe todo el tiempo necesario para llegar a su terminacin, por lo cual la asignacin en rueda (RR) degenera en FIFO. Si el cuanto se hace muy pequeo, la sobrecarga del intercambio de contexto se convierte en un factor dominante y el rendimiento del sistema se degrada, puesto que la mayor parte del tiempo de cpu se invierte en el intercambio del procesador (cambio de contexto) y los procesos de usuario disponen de muy poco tiempo de cpu. Planificacin del Trabajo Ms Corto Primero (SJF) Es una disciplina no apropiativa y por lo tanto no recomendable en ambientes de tiempo compartido. El proceso en espera con el menor tiempo estimado de ejecucin hasta su terminacin es el siguiente en ejecutarse. Los tiempos promedio de espera son menores que con FIFO. Los tiempos de espera son menos predecibles que en FIFO. Favorece a los procesos cortos en detrimento de los largos. Planificacin del Tiempo Restante Ms Corto (SRT) Es la contraparte apropiativa del SJF. Es til en sistemas de tiempo compartido. Un proceso en ejecucin puede ser apropiado por un nuevo proceso con un tiempo estimado de ejecucin menor. Tiene mayor sobrecarga que la planificacin SJF. Debe mantener un registro del tiempo de servicio transcurrido del proceso en ejecucin, lo que aumenta la sobrecarga. La apropiacin de un proceso a punto de terminar por otro de menor duracin recin llegado podra significar un mayor tiempo de cambio de contexto (administracin del procesador) que el tiempo de finalizacin del primero. Planificacin el Siguiente con Relacin de Respuesta Mxima (HRN) Corrige algunas de las debilidades del SJF, tales como el exceso de perjuicio hacia los procesos (trabajos) largos y el exceso de favoritismo hacia los nuevos trabajos cortos. Es una disciplina no apropiativa.

La prioridad de cada proceso est en funcin no slo del tiempo de servicio del trabajo, sino que tambin influye la cantidad de tiempo que el trabajo ha estado esperando ser servido. Planificacin por Prioridad Considera factores externos al proceso Las ideas centrales son que cada proceso tiene asociada una prioridad y que el proceso ejecutable con mxima prioridad es el que tiene el permiso de ejecucin. Los procesos de alta prioridad podran ejecutar indefinidamente, ya que el planificador del sistema puede disminuir la prioridad del proceso en ejecucin en cada interrupcin del reloj. Colas de Retroalimentacin de Niveles Mltiples Proporcionan una estructura para lograr los siguientes objetivos: Favorecer trabajos cortos. Favorecer trabajos limitados por la Entrada / Salida para optimizar el uso de los dispositivos de Entrada / Salida. Determinar la naturaleza de un trabajo lo ms rpido posible y planificar el trabajo (proceso) en consecuencia. Un nuevo proceso entra en la red de lnea de espera al final de la cola superior. Se mueve por esta cola FIFO hasta obtener la cpu. Si el trabajo termina o abandona la cpu para esperar por la terminacin de una operacin de Entrada / Salida o la terminacin de algn otro suceso, el trabajo abandona la red de lnea de espera. Si su cuanto expira antes de abandonar la cpu voluntariamente, el proceso se coloca en la parte trasera de la cola del siguiente nivel inferior. El trabajo recibe servicio al llegar a la cabeza de esta cola si la primera est vaca. Mientras el proceso contine consumiendo totalmente su cuanto en cada nivel, continuar movindose hacia el final de las colas inferiores. Generalmente hay una cola en la parte ms profunda a travs de la cual el proceso circula en asignacin de rueda hasta que termina Poltica Versus Mecanismo de Planificacin Puede ocurrir que haya procesos con muchos procesos hijos ejecutndose bajo su control, por ejemplo, un proceso en un DBMS con procesos hijos atendiendo funciones especficas, tales como, anlisis de interrogantes, acceso a discos, etc. Es posible que el proceso principal (padre) pueda identificar la importancia (o criticidad) de sus procesos hijos, pero los planificadores analizados no aceptan datos de los procesos de usuario relativos a decisiones de planificacin.

La solucin es separar el mecanismo de planificacin de la poltica de planificacin, para ello se parametriza el algoritmo de planificacin y los parmetros pueden ser determinados por medio de procesos del usuario; as el mecanismo est en el ncleo del Sistema Operativo pero la poltica queda establecida por un proceso del usuario. Planificacin de Dos Niveles Los esquemas analizados hasta ahora suponen que todos los procesos ejecutables estn en la memoria principal. Si la memoria principal es insuficiente, ocurrir lo siguiente :

Habr procesos ejecutables que se mantengan en disco. Habr importantes implicaciones para la planificacin, tales como las siguientes: o El tiempo de alternancia entre procesos para traer y procesar un proceso del disco es considerablemente mayor que el tiempo para un proceso que ya est en la memoria principal. o Es ms eficiente el intercambio de los procesos con un planificador de dos niveles.

SINCRONIZACION DE PROCESOS Sincronizacin y Comunicacin entre procesos La comunicacin entre procesos: necesaria si se desea que varios procesos puedan colaborar para realizar una misma tarea. Los mecanismos de comunicacin y sincronizacin son dinmicos. Los servicios bsicos de comunicacin son: a. crear: el proceso solicita la creacin del mecanismo b. enviar o escribir: el proceso emisor enva informacin al proceso receptor c. recibir o leer: el proceso receptor recibe informacin d. destruir: el proceso solicita la destruccin del mecanismo de comunicacin La comunicacin puede ser sincrona y asncrona: sncrona: los dos procesos han de ejecutar servicios de forma simultnea. Ambas situaciones son tratadas por el sistema operativo mediante mecanismos de sincronizacin que permiten el acceso exclusivo de forma coordinada a los recursos y a los elementos de comunicacin compartidos. La seccin crtica no es el nico problema a resolver en un sistema operativo. Seccin Crtica Slo un proceso puede estar en una seccin crtica a la vez. Modelo de seccin crtica El modelo de seccin crtica que vamos a utilizar sigue el siguiente protocolo genrico: Entrar_SC(esta_SC) /* Solicitud de ejecutar esta_SC */ /* cdigo de esta_SC */ Dejar_SC(esta_SC) /* Otro proceso puede ejecutar esta_SC */ Es decir, cuando un proceso quiere entrar a la seccin crtica: (1) ejecuta Entrar_SC(), y si la seccin crtica est ocupada el proceso espera; (2) ejecuta la seccin crtica; (3) ejecuta Dejar_SC(), permitiendo que entre uno de los procesos en espera. Esto depender del tiempo que el proceso deba esperar para entrar a la seccin crtica.

Propiedades del acceso exclusivo a secciones crticas: Como criterios de validez de un mecanismo de sincronizacin nos referiremos al cumplimiento de las siguientes condiciones enunciadas por Dijkstra para el acceso exclusivo a una seccin crtica. a. SC. b. Exclusin mutua. No puede haber ms de un proceso simultneamente en la c. No interbloqueo. Ningn proceso fuera de la SC puede impedir que otro entre a la SC. d. No inanicin. Un proceso no puede esperar por tiempo indefinido para entrar a la SC. e. Independencia del hardware. No se pueden hacer suposiciones acerca del nmero de procesadores o de la velocidad relativa de los procesos. Espera por ocupado La espera por ocupado engloba una serie de mecanismos de sincronizacin que proporcionan acceso a secciones crticas de corto plazo. Inhibicin de interrupciones Las secciones crticas protegidas por interrupciones se especifican de la siguiente forma: s= inhibir() /* Inhibe interrupciones */ /* Seccin crtica */ desinhibir(s) /* Restaura estado anterior de interrupciones */ Este mecanismo lleva asociadas importantes restricciones. Por otra parte, en monoprocesadores, un proceso que utilizase la inhibicin de interrupciones como forma de acceso exclusivo a secciones crticas de duracin arbitrariamente larga impedira a los dems procesos ejecutar cdigo alguno, an ajeno a la seccin crtica. Cerrojos de espera activa Un mecanismo ms general que la inhibicin de interrupciones es la utilizacin de una variable cerrojo para proteger la seccin crtica. El proceso que quiere entrar a la seccin crtica consulta el cerrojo. Si est libre (cerrojo==0), el proceso lo echa (cerrojo=1) y entra a la seccin crtica. Cuando un proceso deja la seccin crtica, libera el cerrojo (cerrojo=0).

Espera por bloqueado Primitivas de dormir y despertar Cuando otro proceso o el propio sistema operativo ejecuta despertar sobre ese flag, desbloquea a todos los procesos dormidos en ese flag. Una implementacin de lock_lp y unlock_lp es la siguiente: lock_lp (tipo_flag flag) { lock(mutex); while (flag) dormir(flag); flag= 1; unlock(mutex); } unlock_lp (tipo_flag flag) { lock(mutex);

flag= 0; despertar(flag); unlock(mutex); } El cdigo es de acceso exclusivo y, como se observa, se protege con una seccin crtica de corto plazo mediante un cerrojo ("mutex"; hemos utilizado un cerrojo de exclusin mutua nico comn, que llamamos mutex (de mutual exclusin) el cual explicaremos mas adelante).

Modelo de Sincronizacin por Semforos Un semforo binario slo puede tomar dosvalores: 0 y 1. Si, para un semforo binario, S = 1 entonces el recurso est disponible y la tarea lo puede utilizar; si S = 0 el recurso no est disponible y el proceso debe esperar. Los semforos se implementan con una cola de tareas o de condicin a la cual se aaden los procesos que estn en espera del recurso. En sistemas con un nicoprocesador bastar simplemente con inhibir las interrupciones durante la ejecucin de las operaciones del semforo. Un proceso que corre la operacin espera y encuentra el semforo a 1, lo pone a 0 y prosigue su ejecucin. Si el semforo est a 0 el proceso queda enestado de espera hasta que el semforo se libera. El diagrama de transicin de estados de la figura se puede ampliar con un nuevo estado que denominamos de espera, figura E.

Figura E Transiciones para el estado de espera Cuando se ejecuta la operacin seal puede haber varios procesos en la lista o cola, el proceso que la dejar para pasar al estado listo depender del esquema de gestin de la cola de tareas suspendidas que se haya implementado en el diseo del semforo, por ejemplo: prioridades, FIFO, etc.
Modelo de Sincronizacin por Mensajes La comunicacin mediante mensajes necesita siempre de un proceso emisor y de uno receptor as como de informacin que intercambiarse. Por ello, las operaciones bsicas para comunicacin mediante mensajes que proporciona todo sistema operativo son: Enviar(mensaje) y recibir(mensaje). Aspectos importantes a tener en cuenta en los enlaces son: como y cuantos enlaces se pueden establecer entre los procesos, la capacidad de mensajes del enlace y tipo de los mensajes. Su implementacin vara dependiendo de tres aspectos: 1- El modo de nombrar los procesos. 2- El modelo de sincronizacin. 3- Almacenamiento y estructura del mensaje.

MODOS DE NOMBRAR LOS MENSAJES El proceso de denominacin de las tareas para la comunicacin por mensajes se puede realizar de dos formas distintas: directa e indirectamente. Las operaciones de enviar y recibir toman la forma: enviar(Q, mensaje): enva un mensaje al proceso Q recibir(P, mensaje): recibe un mensaje del proceso P Este mtodo de comunicacin establece un enlace entre dos procesos que desean comunicar, proporcionando seguridad en el intercambio de mensajes, ya que cada proceso debe conocer la identidad de su pareja en la comunicacin, pero, por lo mismo, no resulta muy adecuado para implementar rutinas de servicio de un sistema operativo. En este caso las operaciones bsicas de comunicacin toman la forma: enviar(buznA, mensaje): enva un mensaje al buzn A recibir(buznA, mensaje): recibe un mensaje del buzn A. El buzn establece un enlace que puede ser utilizado por ms de dos procesos y permite que la comunicacin de un proceso con otro se pueda realizar mediante distintos buzones. MODELOS DE SINCRONIZACIN a) Sncrona. El proceso que enva slo prosigue su tarea cuando el mensaje ha sido recibido. b) Asncrona. El proceso que enva un mensaje sigue su ejecucin sin preocuparse de si el mensaje se recibe o no. a. Invocacin remota. El proceso que enva el mensaje slo prosigue su ejecucin cuando ha recibido una respuesta del receptor. El mtodo sncrono necesita de que ambos procesos, el emisor y el receptor. Cuando el proceso que enva el mensaje contina sabe que su mensaje ha sido recibido. Por ejemplo, en un sistema con nominacin indirecta la operacin de recibir puede tener la forma: recibir(buzn, mensaje, tiempo_espera). As, si dos procesos, P y Q, se comunican de forma directa asncrona se puede establecer la sincronizacin entre ellos mediante las operaciones: P enviar(Q, mensaje) recibir(P, reconocimiento) Q recibir(P, mensaje) enviar(P,reconocimiento) El proceso P enva el mensaje a Q y despus se suspende en espera de un mensaje de reconocimiento por parte de Q. Cuando el mensaje Q recibe el mensaje enva un mensaje de reconocimiento a P que hace que este pueda proseguir su ejecucin. La invocacin remota se puede construir a partir de dos comunicaciones sncronas: P enviar(Q, mensaje) recibir(P, respuesta) Q recibir(P, mensaje) .......

ALMACENAMIENTO Y ESTRUCTURA DEL MENSAJE Los mensajes con definicin del tipo son adecuados en la comunicacin con buzones. A cada buzn que utilice un proceso se le puede asignar el tipo de dato adecuado para dicho mensaje y slo mensajes con esa estructura pueden ser enviados por ese enlace. El mensaje que se transmite es irrelevante ya que el paso de mensajes tiene la nicamisin de sincronizar tareas, por ello se utiliza un mensaje nulo. El semforo est libre cuando hay un mensaje en la cola. Cualquier otro proceso que ejecute una operacin de espera no podr leer ningn mensaje ya que la cola est vaca y, por lo tanto, se suspender hasta que es sealado (enviado un mensaje) por otro proceso.

MONITORES - Los monitores son una herramienta de sincronizacin. - Un monitor posee una estructura propia, es una coleccin de procedimientos, variables y estructuras de datos que se agrupan en un mdulo especial. Los procesos pueden llamar a los procedimientos de un monitor siempre que lo requieran, pero no pueden accesar directamente las estructuras de datos internas del monitor. - Implementan un nivel an ms alto de abstraccin facilitando el acceso a recursos compartidos. - Un monitor es un tipo de datos abstracto que contiene: o Un conjunto de procedimientos de control de los cuales solamente un subconjunto es visible desde fuera. o Un conjunto de datos privados, es decir, no visibles desde fuera. Se dice que los monitores son de alto nivel, ya que son implementados por el lenguaje de programacin (Compilador + Run+time), a diferencia de los semforos que son de bajo nivel, ya que son implementados por el sistema operativo, aunque cabe aclarar que existen lenguajes de programacin que ofrecen esta solucin por medio de librerias. Un aspecto que se encuentra en muchas implementaciones de monitores es la sincronizacin condicional, es decir, mientras un proceso est ejecutando un procedimiento del monitor (con exclusin mutua) puede dar paso a otro proceso liberando el cerrojo.Estas operaciones se suele llamarwait() o delay(). El proceso que ha liberado el cerrojo se queda bloqueado hasta que otro proceso le despierta de nuevo.Este bloqueo temporal est realizado dentro del monitor (dicha tcnica se refleja en Java con wait()y notify()). Componentes - Inicializacin: contiene el cdigo a ser ejecutado cuando el monitor es creado Datos privados: contiene los procedimientos privados, que slo pueden ser usados desde dentro del monitor y no son visibles desde fuera - Procedimientos del monitor: son los procedimientos que pueden ser llamados desde fuera del monitor. - Cola de entrada: contiene a los threads que han llamado a algn procedimiento del monitor pero no han podido adquirir permiso para ejecutarlos an Ventajas - El control de los recursos esta centralizado en el monitor, lo que hace que sea ms fcil su mantenimiento. A diferencia de los semforos que se cdigo queda distribuido en varias partes del programa. - Provee una mayor proteccin a las variables de control

Desventajas - Los monitores tienen exclusividad de uso, es decir, la concurrencia est limitada si muchos procesos hacen uso del mismo monitor. - El uso de monitores es bastante costoso, porque se pierde eficiencia por tanto bloqueo de los procesos
Los CLSICOS problemas de la SINCRONIZACIN de Procesos El del fumador de cigarros, Considere un sistema con tres procesos fumadores y un proceso agente. Cada fumador est continuamente enrollando y fumando cigarrillos. Sin embargo, para enrollar y fumar un cigarrillo, el fumador necesita tres ingredientes: tabaco, papel, y fsforos. Uno de los procesos fumadores tiene papel, otro tiene el tabaco y el tercero los fsforos. El agente tiene una cantidad infinita de los tres materiales. El agente coloca dos de los ingredientes sobre la mesa. El fumador que tiene el ingrediente restante enrolla un cigarrillo y se lo fuma, avisando al agente cuando termina. Entonces, el agente coloca dos de los tres ingredientes y se repite el ciclo. La panaderia de Lamport , en este problema una panadera tiene una variedad de panes y pasteles vendidos por n vendedores. Cada uno de los cuales toma un nmero al entrar. El cliente espera hasta or su nmero. Cuando el vendedor se desocupa, llama al siguiente numero. Los filsofos que cenan (sabios), Hay cinco filsofos chinos que se pasan sus vidas pensando y comiendo. Comparten una mesa circular, alrededor de la cual se sientan. En su centro se encuentra con una provisin infinita de arroz, y sobre ella hay cinco palitos, uno de cada lado de los filsofos. Cuando un filsofo piensa, no interacta con sus colegas. De vez en cuando, un filsofo tiene hambre y trata de levantar los dos palitos ms cercanos a l. Un filosofo puede levantar un palito a la vez, y no puede tomar un palito que ya est en la mano de un vecino. Cuando un filsofo tiene ambos palitos, puede comer. Cuando termino de hacerlo, deja sus dos palitos y comienza a pensar de nuevo. El barbero dormiln, Una peluquera tiene un barbero, una silla de peluquero y n sillas para que se sienten los clientes en espera, si es que los hay. Si no hay clientes presentes, el barbero se sienta en su silla de peluquero y se duerme. Cuando llega un cliente, este debe despertar al barbero dormiln. Si llegan ms clientes mientras el barbero corta el cabello de un cliente, estos deben esperar sentados (si hay sillas desocupadas) o salirse de la peluquera (si todas las sillas estn ocupadas). El problema consiste en programar al barbero y los clientes sin entrar en condicin de competencia. Lectores y escritores, imaginemos una enorme base de datos, como por ejemplo un sistema de reservaciones de en una lnea area, con muchos procesos en competencia, que intentan leer y escribir en ella. Se puede aceptar que varios procesos lean la base de datos al mismo tiempo, pero si uno de los procesos est escribiendo, (es decir modificando) la base de datos, ninguno de los dems procesos deber tener acceso a esta, ni siquiera los lectores. El problema es como programar a los lectores y escritores. Productor/Consumidor, Tambin conocido como bounded buffer problem o problema del buffer limitado. Dos procesos comparten un almacn (buffer) de tamao fijo. Uno de ellos, el productor, coloca informacin en el almacn (buffer) mientras que el otro, el consumidor, la obtiene de l. Si el productor desea colocar un nuevo elemento, y el almacn se encuentra lleno, este deber irse a \dormir". El consumidor despertara al productor cuando elimine un elemento del almacn. De forma anloga, si el almacn esta vacio y el consumidor desea eliminar un elemento del almacn, este debe \dormirse" hasta que el productor coloque algo en el almacn.

INTERBLOQUEO El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o ms procesos. PREVENCIN DEL INTERBLOQUEO Los mtodos para prevenir el interbloqueo son de dos tipos: Los mtodos indirectos que consisten en impedir la aparicin de alguna de las tres condiciones necesarias para que se de el interbloqeo. Los mtodos directos que consisten en evitar la aparicin del circulo vicioso de espera. o Exclusin mutua: Si ningn recurso se puede asignar de forma exclusiva, no se producir interbloqueo. o Retencin y espera: los recursos asignados a un proceso pueden permanecer sin usarse durante periodos considerables, tiempo durante el cual se priva del acceso a otros procesos. o No apropiacin: Primero, si a un proceso que retiene ciertos recursos se le deniega una nueva solicitud, dicho proceso deber liberar sus recursos anteriores y solicitarlos d eneuvo, cuando sea necesario, junto con el recurso adicional. Por otra parte, si un proceso solicita un recurso que actualmente esta retenido por otro proceso, el sistema operativo debe expulsar al segundo proceso y exigirle que libere sus recursos. o Circulo vicioso de espera: La condicin del crculo vicioso de espera puede prevenirse definiendo una ordenacin lineal de los tipos de recursos.

DETECCIN DEL INTERBLOQUEO Las estrategias de prevencin de interbloqueo son muy conservadoras; resuelven el problema limitando el acceso a recursos e imponiendo restricciones sobre los procesos. La deteccin del interbloqueo es el proceso de determinar si realmente existe un interbloqueo e identificar los procesos y recursos implicados en l. Una posibilidad detectar un interbloqueo es monitorear cada cierto tiempo el estado de los recursos. Algoritmo de deteccin del interbloqueo El empleo de algoritmos de deteccin de interbloqueo implica cierto gasto extra durante la ejecucin. Los algoritmos de deteccin de interbloqueo determinan por lo general si existe una espera circular

RECUPERACIN DE INTERBLOQUEO Cuando se ha detectado que existe un interbloqueo, podemos actuar de varias formas. Actualmente, la recuperacin se suele realizar eliminando un proceso y quitndole sus recursos. Algunas veces es necesario, eliminar varios procesos hasta que se hayan liberado los recursos necesarios para que terminen los procesos restantes. Recuperacin Manual: Est forma de recuperacin consiste en avisarle al administrador o al operador del sistema que se ha presentado un interbloqueo, y ser

el administrador el que solucione dicho problema de la manera ms conveniente posible, de modo que su decisin no afecte demasiado a al usuario del proceso en conflicto, y sobre todo que no afecte a los dems usuarios del sistema. Abortar los Procesos: Para eliminar interbloqueos abortando un proceso, tenemos dos mtodos; en ambos, el sistema recupera todos los recursos asignados a los procesos terminados. 1 ) Abortar todos los procesos interbloqueados. 2 ) Abortar un proceso en cada ocasin hasta eliminar el ciclo de interbloqueo. Quiz no sea fcil abortar un proceso. Si se utiliza el mtodo de terminacin parcial, entonces, dado un conjunto de procesos bloqueados, debemos determinar cul proceso o procesos debe terminarse para intentar romper el interbloqueo. Se elimina el proceso de menor prioridad. Cuntos recursos ms necesita el proceso. Apropiacin de Recursos: Para eliminar interbloqueos utilizando la apropiacin de recursos, vamos quitando sucesivamente recursos de los procesos y los asignamos a otros hasta romper el ciclo de interbloqueo.

MEMORIA PRINCIPAL Y VIRTUAL MEMORIA REAL Los trminos memoria y almacenamiento se consideran equivalentes. Se considera almacenamiento secundario o almacenamiento auxiliar al generalmente soportado en discos. Asigna espacio en memoria a los procesos cuando estos la necesitan. Jerarqua de Almacenamiento: Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles. Los programas en la memoria cach ejecutan mucho ms rpido que en la memoria principal. Estrategias de Administracin del Almacenamiento: Estn dirigidas a la obtencin del mejor uso posible del recurso del almacenamiento principal Se dividen en las siguientes categoras: Estrategias de bsqueda: o Estrategias de bsqueda por demanda. o Estrategias de bsqueda anticipada. Estrategias de colocacin. Estrategias de reposicin. Las estrategias de reposicin estn relacionadas con la determinacin de qu fragmento de programa o de datos desplazar para dar lugar a los programas nuevos. Asignacin Contigua de Almacenamiento Versus No Contigua: En la asignacin contigua cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento.

SIN INTERCAMBIO o Monoprogramacin sin intercambio o paginacin: Cuando solo se tiene un proceso que ocupe la memoria a la vez, el esquema de la administracin de la memoria es el ms sencillo que hay. o Multiprogramacin y uso de memoria: En cambio la multiprogramacin, al tener varios procesos en la memoria principal y dividindose el tiempo de uso del procesador, logra reducir drsticamente el desperdicio del procesador. o Multiprogramacin con particiones fijas: Para poder implementar la multiprogramacin, se puede hacer uso de particiones fijas o variables en la memoria. Una vez implementada la particin, hay dos maneras de asignar los procesos a ella. CON INTERCAMBIO o Multiprogramacin con particiones variables: Inicialmente, toda la memoria est disponible para los procesos de usuario y es considerado como un gran bloque o hueco nico de memoria. Cuando llega un proceso que necesita memoria, buscamos un hueco lo suficientemente grande para el proceso. o Administracin de la memoria con mapas de bits: Este tipo de administracin divide la memoria en unidades de asignacin, las cuales pueden ser tan pequeas como unas cuantas palabras o tan grandes como varios kilobytes. A cada unidad de asignacin le corresponde un bit en el mapa de bits, el cual toma el valor de 0 si la unidad est libre y 1 si est ocupada (o viceversa). o Administracin de la memoria con listas ligadas: Otra forma de mantener un registro de la memoria es mediante una lista ligada de los segmentos de memoria asignados o libres, en donde un segmento puede ser un proceso o un hueco entre dos procesos. o Asignacin del hueco de intercambio: En algunos sistemas, cuando el proceso se encuentra en la memoria, no hay un hueco en el disco asignado a l. En otros sistemas, al caerse un proceso, se le asigna un hueco de intercambio en el disco. Cuando el proceso concluya, se libera el hueco de intercambio. o Fragmentacin: Esta fragmentacin se denomina fragmentacin externa. o Existe otro tipo de fragmentacin conocida como fragmentacin interna, la cual es generada cuando se reserva ms memoria de la que el proceso va realmente a usar.

Memoria virtual

Conceptos Bsicos de Almacenamiento Virtual: La clave del concepto de memoria (almacenamiento) virtual esta en la disociacin: o De las direcciones disponibles en la memoria real (almacenamiento primario). Los principales conceptos son los siguientes: o Direcciones virtuales: Son las referidas por un proceso en ejecucin. o Direcciones reales: Son las disponibles dentro del almacenamiento primario. o Espacio de direcciones reales (r) de un computador: Es el nmero de direcciones reales disponibles en el ordenador. Los procesos hacen referencia a direcciones virtuales pero stas deben ejecutarse en el almacenamiento real: o Las direcciones virtuales deben ser transformadas dentro de las direcciones reales, mientras el proceso est en ejecucin. Organizacin del Almacenamiento de Niveles Mltiples: El almacenamiento real es compartido por varios procesos:

Cada proceso puede tener un espacio de direcciones virtuales mucho mayor que el almacenamiento real. o Solo se mantiene al mismo tiempo una pequea parte de los programas y datos de cada proceso en el almacenamiento real. Transformacin de Bloques Los mecanismos de traduccin dinmica de direcciones deben mantener mapas que ilustren qu direcciones del almacenamiento virtual se encuentran en el almacenamiento real y dnde se encuentra. La informacin se agrupa en bloques: El sistema est informado del lugar del almacenamiento real donde han sido colocados los bloques de almacenamiento virtual. Un registro especial del procesador llamado registro origen de la tabla de bloques se carga con la direccin real a de la tabla de mapa de bloques: o Se aade el bloque nmero b a la direccin base a de la tabla de bloques para formar la direccin real de la entrada de la tabla de mapa de bloques para el bloque b: Contiene la direccin real b para el bloque b. PAGINACION: Conceptos Bsicos de Paginacin Frecuentemente se diferencia entre la paginacin pura y la combinacin de paginacin y segmentacin Las pginas se transfieren del almacenamiento secundario al primario en bloques llamados marcos de pginas: 1. Tienen el mismo tamao que las pginas. 2. Comienzan en direcciones del almacenamiento real que son mltiplos enteros del tamao fijo de la pgina. 3. Podr colocarse una nueva pgina dentro de cualquier marco de pgina o celda de pgina disponible.
4. 5. a. La traduccin dinmica de direcciones incluye: Un proceso en ejecucin hace referencia a una direccin virtual v = (p,d) Un mecanismo de transformacin de pginas busca la pgina p en la tabla de pginas y determina si la pgina p se encuentra en el marco de pgina p .

Algoritmos de reemplazo de pginas: El sistema operativo determina si la pgina est residiendo en disco, pero tambin determina que no hay marcos de memoria disponibles en la lista de marcos libres. Al ocurrir el fallo de pgina, el sistema operativo debe elegir una pgina para retirarla de la memoria y usar el espacio para la pgina que se necesita para desbloquear el sistema y que el hardware pueda seguir trabajando.

SEGMENTACIN Cada segmento tiene una serie lineal de direcciones, desde 0 hasta cierto mximo. La longitud de cada segmento puede variar de 0 hasta un mximo permitido. Adems, la longitud de un segmento puede variar durante la ejecucin. Puesto que cada segmento constituye un espacio independiente de direcciones, los distintos segmentos pueden crecer o reducirse en forma independiente sin afectar a los dems.

SISTEMAS DE ARCHIVOS Funciones del Sistema de Archivos Los usuarios deben poder crear, modificar y borrar archivos. Ej.: Acceso de Lectura, Acceso de Escritura, Acceso de Ejecucin, varias combinaciones de estos, etc. Los usuarios deben poder ordenar la transferencia de informacin entre archivos. El formato de los datos en los dispositivos. El Sistema de Archivos Un Archivo es un conjunto de registros relacionados Integridad del archivo para garantizar la integridad de la informacin del archivo. Cada entrada de archivo apunta al lugar del disco donde est almacenado el archivo referenciado. El nombre del sistema para un archivo dado debe ser nico para el sistema de archivos Archivos Se considerar el punto de vista del usuario. Nombre de los Archivos Las reglas exactas para los nombres de archivos varan de sistema a sistema

Algunos sistemas de archivos distinguen entre las letras maysculas y minsculas, mientras que otros no
Estructura de un Archivo Los archivos se pueden estructurar de varias maneras Secuencia de bytes Secuencia de registros: o El archivo es una secuencia de registros de longitud fija, cada uno con su propia estructura interna. rbol Tipos de Archivos Muchos S. O. soportan varios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales de caracteres, archivos especiales de bloques, etc:

Los Archivos Regulares son aquellos que contienen informacin del usuario. Los Directorios son archivos de sistema para el mantenimiento de una estructura del sistema de archivos. Los Archivos Especiales de Caracteres: Tienen relacin con la e / s. Se utilizan para modelar dispositivos seriales de e / s (terminales, impresoras, redes, etc.). Los Archivos Especiales de Bloques se utilizan para modelar discos.

Acceso a un Archivo Los tipos de acceso ms conocidos son: Acceso Secuencial: el proceso lee en orden todos los registros del archivo comenzando por el principio, sin poder: o Saltar registros. o Leer en otro orden. Acceso Aleatorio: el proceso puede leer los registros en cualquier orden utilizando dos mtodos para determinar el punto de inicio de la lectura: o Cada operacin de lectura (read) da la posicin en el archivo con la cual iniciar. o Una operacin especial (seek) establece la posicin de trabajo pudiendo luego leerse el archivo secuencialmente. Atributos de Archivo Cada archivo tiene: Su nombre y datos. Elementos adicionales llamados atributos, que varan considerablemente de sistema a sistema. Algunos de los posibles atributos de archivo son: Proteccin: quin debe tener acceso y de qu forma. Contrasea: contrasea necesaria para acceder al archivo. Creador: identificador de la persona que cre el archivo. Propietario: propietario actual. Bandera exclusivo - para - lectura: 0 lectura / escritura, 1 para lectura exclusivamente. Bandera de ocultamiento: 0 normal, 1 para no exhibirse en listas. Bandera de sistema: 0 archivo normal, 1 archivo de sistema. Bandera de biblioteca: 0 ya se ha respaldado, 1 necesita respaldo. Bandera ascii / binario: 0 archivo en ascii, 1 archivo en binario. Bandera de acceso aleatorio: 0 solo acceso secuencial, 1 acceso aleatorio. Bandera temporal: 0 normal, 1 eliminar al salir del proceso. Banderas de cerradura: 0 no bloqueado, distinto de 0 bloqueado. Longitud del registro: nmero de bytes en un registro. Posicin de la llave: ajuste de la llave dentro de cada registro. Longitud de la llave: nmero de bytes en el campo llave. Tiempo de creacin: fecha y hora de creacin del archivo. Tiempo del ltimo acceso: fecha y hora del ltimo acceso al archivo. Tiempo de la ltima modificacin: fecha y hora de la ltima modificacin al archivo. Tamao actual: nmero de bytes en el archivo. Tamao mximo: tamao mximo al que puede crecer el archivo.

Operaciones con Archivos Las llamadas ms comunes al sistema relacionadas con los archivos son [23, Tanenbaum]: Create (crear): el archivo se crea sin datos. Delete (eliminar): si el archivo ya no es necesario debe eliminarse para liberar espacio en disco. Ciertos S. O. eliminan automticamente un archivo no utilizado durante n das. Open (abrir): antes de utilizar un archivo, un proceso debe abrirlo. La finalidad es permitir que el sistema traslade los atributos y la lista de direcciones en disco a la memoria principal para un rpido acceso en llamadas posteriores. Close (cerrar): cuando concluyen los accesos, los atributos y direcciones del disco ya no son necesarios, por lo que el archivo debe cerrarse y liberar la tabla de espacio interno. Read (leer): los datos se leen del archivo; quien hace la llamada debe especificar la cantidad de datos necesarios y proporcionar un buffer para colocarlos. Write (escribir): los datos se escriben en el archivo, en la posicin actual. El tamao del archivo puede aumentar (agregado de registros) o no (actualizacin de registros). Append (aadir): es una forma restringida de write. Solo puede aadir datos al final del archivo. Seek (buscar): especifica el punto donde posicionarse. Cambia la posicin del apuntador a la posicin activa en cierto lugar del archivo. Get attributes (obtener atributos): permite a los procesos obtener los atributos del archivo. Set attributes (establecer atributos): algunos atributos pueden ser determinados por el usuario y modificados luego de la creacin del archivo. La informacin relativa al modo de proteccin y la mayora de las banderas son un ejemplo obvio. Rename (cambiar de nombre): permite modificar el nombre de un archivo ya existente. Archivos Mapeados a Memoria Algunos S. O. permiten asociar los archivos con un espacio de direcciones de un proceso en ejecucin . Se utilizan las llamadas al sistema map y unmap: Map: utiliza un nombre de archivo y una direccin virtual y hace que el S. O. asocie al archivo con la direccin virtual en el espacio de direcciones, por lo cual las lecturas o escrituras de las reas de memoria asociadas al archivo se efectan tambin sobre el archivo mapeado. Unmap: elimina los archivos del espacio de direcciones y concluye la operacin de asociacin. El mapeo de archivos elimina la necesidad de programar la e / s directamente, facilitando la programacin. Los principales problemas relacionados son: Imposibilidad de conocer a priori la longitud del archivo de salida, el que podra superar a la memoria. Dificultad para compartir los archivos mapeados evitando inconsistencias, ya que las modificaciones hechas en las pginas no se vern reflejadas en el disco hasta que dichas pginas sean eliminadas de la memoria.

Directorios Generalmente son utilizados por los S. O. para llevar un registro de los archivos. En muchos sistemas son a su vez tambin archivos.

Sistemas Jerrquicos de Directorios El directorio contiene un conjunto de datos por cada archivo referenciado. Sus atributos. Otra posibilidad es que cada entrada del directorio contenga: El nombre del archivo. El nmero y organizacin de directorios vara de sistema en sistema: Directorio nico: el sistema tiene un solo directorio con todos los archivos de todos los usuarios ( Un directorio por usuario: el sistema habilita un solo directorio por cada Un rbol de directorios por usuario: el sistema permite que cada usuario tenga tantos directorios como necesite, respetando una jerarqua general
Nombre de las Rutas de Acceso Cuando el sistema de archivos est organizado como un rbol de directorios se necesita una forma de determinar los nombres de los archivos. Los principales mtodos para nombres de los archivos: Ruta de Acceso Absoluta: o Cada archivo tiene una ruta de acceso absoluta. o Consta de la ruta de acceso desde el directorio raz hasta el archivo. o Los componentes de la ruta de acceso se separan mediante algn carcter llamado separador. Ruta de Acceso Relativa: o Se utiliza junto con el concepto de directorio de trabajo o directorio activo. o Todos los nombres que no comiencen en el directorio raz se toman en relacin con el directorio de trabajo. o El nombre absoluto de la ruta de acceso siempre funciona, sin importar cual sea el directorio de trabajo.

Operaciones con Directorios Las llamadas al sistema permitidas para el manejo de los directorios tienen variacin de sistema a sistema [. Las ms comunes son las siguientes: Create (crear): se crea un directorio vaco. Delete (eliminar): se elimina un directorio, que debe estar vaco. Opendir (abrir directorio): se pueden leer los directorios: o Antes de poder leer un directorio, ste debe ser abierto. Closedir (cerrar directorio): cuando se ha ledo un directorio, ste debe ser cerrado para liberar el espacio correspondiente de la tabla interna. Readdir (leer directorio): regresa la siguiente entrada en un directorio abierto, sin importar el tipo de estructura de directorios que se utilice. Rename (cambiar de nombre): cambia el nombre de un directorio de manera similar al cambio para archivos. Implantacin del Sistema de Archivos y sus Relaciones con la Asignacin y Liberacin de Espacio Se consideran aspectos tales como : La forma de almacenamiento de archivos y directorios. La administracin del espacio en disco.

Implantacin de Archivos El aspecto clave de la implantacin del almacenamiento de archivos es el registro de los bloques asociados a cada archivo [7, Deitel]. Algunos de los mtodos utilizados son los siguientes: Asignacin contigua o adyacente: Asignacin no contigua: o Asignacin encadenada orientada hacia el sector: o Asignacin por bloques: Se asignan bloques de sectores contiguos en vez de sectores individuales. El sistema trata de asignar nuevos bloques a un archivo eligiendo bloques libres lo ms prximos posible a los bloques del archivo existentes. Las formas ms comunes de implementar la asignacin por bloques son: Encadenamiento de bloques. Encadenamiento de bloques de ndice. Transformacin de archivos orientada hacia bloques. o Encadenamiento de bloques o lista ligada: Las entradas en el directorio de usuarios apuntan al primer bloque de cada archivo. Un apuntador al bloque siguiente.

Un bloque de datos

Implantacin de Directorios Para abrir un archivo el S. O. utiliza informacin del directorio: El directorio contiene la informacin necesaria para encontrar los bloques en el disco. El tipo de informacin vara segn el sistema. La principal funcin del sistema de directorios es asociar el nombre del archivo con la informacin necesaria para localizar los datos. Un aspecto ntimamente ligado con esto es la posicin de almacenamiento de los atributos: Una posibilidad es almacenarlos en forma directa dentro del dato del directorio. Otra posibilidad es almacenar los atributos en el nodo-i en vez de utilizar la entrada del directorio.

Potrebbero piacerti anche