Entradas

Mostrando las entradas de 2017

5.5 Mecanismos de acceso a los archivos

Imagen
Existen varios mecanismos para acceder los archivos: Directorios, descriptores de archivos, mecanismos de control de acceso y procedimientos para abrir y cerrar archivos. Descriptores de archivos. El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene información que el sistema necesita para administrar un archivo. Es una estructura muy dependiente del sistema. Puede incluir la siguiente información:  Nombre simbólico del archivo.   Localización del archivo en el almacenamiento secundario.   Organización del archivo (método de organización y acceso).   Tipo de dispositivo.   Datos de control de acceso.   Tipo (archivo de datos, programa objeto, programa fuente, etc.).   Disposición (permanente contra temporal).   Fecha y tiempo de creación.  Fecha de destrucción.   Fecha de la última modificación.

5.6 Manejo de espacio en memoria secundaria

Imagen
A diferencia de la Memoria Principal la Memoria Secundaria , auxiliar, masiva, externa no es tan veloz pero tiene gran capacidad para almacenar información en dispositivos tales como discos, cintas magnéticas, discos ópticos. Frecuentemente los datos y programas se graban en la Memoria Secundaria , de esta forma, cuando se ejecuta varias veces un programa o se utilicen repetidamente unos datos, no es necesario darlos de nuevo a través del dispositivo de entrada.

5.7 Modelo jerárquico

Imagen
El directorio contiene un conjunto de datos por cada archivo referenciado. Fig. 5.7.1 Ejemplo de directorio jerárquico Una posibilidad es que el directorio contenga por cada archivo referenciado:  El nombre.  Sus atributos.  Las direcciones en disco donde se almacenan los datos. Otra posibilidad es que cada entrada del directorio contenga:  El nombre del archivo.  Un apuntador a otra estructura de datos donde se encuentran los atributos y las, direcciones en disco

5.8 Mecanismos de recuperación en caso de falla

Imagen
Recuperación Los archivos y directorios se mantienen tanto en memoria principal como en disco, y debe tener. Se cuidado para que los fallos del sistema no provoquen una pérdida de datos o una incoherencia en los mismos. Comprobación de coherencia. Como hemos explicado en la Sección 11.3, parte de la información de directorios se almacena en la memoria principal (o en caché) para acelerar el acceso. La información de directorios en11a memoria principal está, generalmente, más actualizada que la correspondiente información en el disco, porque la información de directorios almacenada en caché no se escribe necesariamente en el disco nada más producirse la actualización. Considere, entonces, el posible ejemplo de un fallo de la computadora. El contenido de la caché y de los búferes, así como de las operaciones de E/S que se estuvieran realizando en ese momento, pueden perderse, y con él se perderán los cambios realizados en los directorios correspondientes a los archivos abiertos. Dicho su...

Unidad 4: Administración de entrada/salida

4.1 Dispositivos y manejadores de dispositivos: device drivers

Imagen
 Se pueden clasificar en dos grandes categorías: 1. Dispositivos de bloque 2. Dispositivos de carácter  Las principales características de los dispositivos de bloque son:   La información se almacena en bloques de tamaño fijo.   Cada bloque tiene su propia dirección.   Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes. Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento. -Un ejemplo típico de dispositivos de bloque son los discos. -Las principales características de los dispositivos de carácter son: -La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques.   No se pueden utilizar direcciones.  No tienen una operación de busqueda.  Unos ejemplos típicos de dispositivos de carácter son las impresoras de línea, terminales, interfaces de una red, ratones, etc.

4.2 Mecanismos y funciones de los manejadores de dispositivos: device drivers

Imagen
¿Qué es una estructura? Los sistemas operativos actuales son grandes y complejos, estos deben poseer una ingeniería correcta para su fácil actualización y para que puedan cumplir su función correctamente. La estructura es generalmente modular, cada modulo cumple una función determinada e interactúa con los demás módulos. Estructura simple El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no están bien definidos. Los programas de aplicación pueden acceder a operaciones básicas de entrada / salida para escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea vulnerable, ya que un programa de aplicación puede eliminar por completo un disco rígido por alguna falla. Además este sistema, también esta limitado al hardware sobre el que corre. Otra estructura simple es la utilizada por la versión original de UNIX, esta consiste de dos partes separadas, el kernel y los programas ...

4.3 Estructuras de datos para manejo de dispositivos

Imagen
Cada dispositivo de E/S, o cada clase de dispositivos, tiene un manejador asociado en el sistema operativo. Dicho manejador incluye: código independiente del dispositivo para proporcionar al nivel superior del sistema operativo una interfaz de alto nivel y el código dependiente del dispositivo necesario para programar el controlador del dispositivo a través de sus registros y datos. La tarea de un manejador de dispositivo es aceptar peticiones en formato abstracto, de la parte del código de E/S independiente del dispositivo, traducir dichas peticiones a términos que entienda el controlador, enviar al mismo las órdenes adecuadas en la secuencia correcta y esperar a que se cumplan. La siguiente figura muestra un diagrama de flujo con las operaciones de un manejador. Todos los manejadores tienen una lista de peticiones pendientes por dispositivo donde se encolan las peticiones que llegan de niveles superiores. El manejador explora la lista de peticiones, extrae una petición pendiente y or...

4.4 Operaciones de Entrada /salida

Imagen
se denomina periféricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora. Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal. Se pueden clasificar en dos grandes categorías:  Dispositivos de bloques: dispositivos que almacenan la información en bloques de tamaño fijo (discos)  Dispositivos de caracteres: maneja la información mediante un flujo de caracteres sin estructurarlos en bloques (mouse, teclado, impresora) Las principales características de los dispositivos de bloque son:   La información se almacena en bloques de tamaño fijo.  Cada bloque tiene su propia dirección.  Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes.  Se puede leer o escribir en un bloque de...

Unidad III: Administración de memoria

3.1 Política y filosofía

Imagen
Filosofía  La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene asignada una dirección que la identifica. Una de las funciones básicas que debe implementar un SO es la Administración de la Memoria para tener un control sobre los lugares donde están almacenados los datos y procesos que actualmente se están utilizando. Sea cual sea el esquema de organización del almacenamiento que se adopte para un sistema específico es necesario decidir que estrategias se deben utilizar para obtener un rendimiento óptimo. Políticas  FIFO: Los procesos se despachan de acuerdo a su tiempo de llega a la cola de procesos listos, si un proceso llega al procesador sale hasta que termine. La política FIFO actualmente no se usa como el esquema principal de un sistema, pero si por ejemplo cuando se usa una política de prioridades y hay procesos con la misma prioridad, a estos se les podría apli...

3.2 Memoria real

Imagen
La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ella es de mas rápido acceso

3.3 Organización de memoria virtual

Imagen
La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta ilusión permite que los programas se hagan sin tener en cuenta el tamaño exacto de la memoria física. La memoria virtual ha llegado a ser un componente esencial de la mayoría de los S.O actuales. Y como en un instante dado, en la memoria solo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más procesos en la memoria. La memoria virtual también simplifica la carga del programa para su ejecución llamado reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física. 

3.4 Administración de memoria virtual

Imagen
La clave del concepto de memoria (almacenamiento) virtual esta en la disociación:  De las direcciones a las que hace referencia un programa.  De las direcciones disponibles en la memoria real (almacenamiento primario). Mientras el proceso se ejecuta con sus páginas actuales, el sistema carga las demás páginas que estarán disponibles cuando las requiera el proceso. El S. O. intenta predecir las páginas que un proceso va a necesitar y a continuación precarga estas páginas cuando hay espacio disponible Mientras el proceso ejecuta sus páginas actuales, el sistema carga páginas nuevas que estarán disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecución de un proceso se puede reducir.

Unidad II: Administración de Procesos y del procesador

Imagen
2.1 Concepto de proceso  Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros y las variables. Conceptualmente cada uno de estos procesos tiene su propia CPU virtual. Desde luego, en la realidad la verdadera CPU conmuta de un proceso a otro. Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. Otra información que permite al sistema operativo su planificación. Esta definición varía ligeramente en el caso de sistemas operativos multadillo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de i...

2.2 Estados y transiciones de los procesos

Imagen
El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo. En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso. Aunque cada proceso se una entidad independiente, con su propio contador de programa y estado interno, los procesos a menudo necesitan interactuar con otros procesos. Un proceso podría generar ciertas salidas que otro proceso utilizan como entradas, en el comando de Shell. Cuando un proceso se bloquea, lo que hace porque le es imposible continuar lógicamente, casi siempre porque es...

2.6 Técnicas de administración del planificador

Imagen
Las disciplinas de planificación pueden ser:  • Expropiativas  • No expropiativas  Se denomina planificador al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan. Siempre que haya tomar una decisión, el planificador debe decidir cuál de los procesos que compiten por la posesión de un determinado recursos lo recibirá.  Los algoritmos (técnicas) tienen distintas propiedades según los criterios en los que se basen para su construcción, lo cual se refleja en qué tipo de procesos se puede ver favorecido frente a otro en la disputa del procesador. Antes de realizar la elección de un algoritmo se debe considerar las propiedades de estos frente al criterio de diseño elegido.  Algunos de estos son:  a) Eficacia: Se expresa como un porcentaje del tiempo medio de utilización. Aunque puede parecer lógico intentar mantener este parámetro próximo al 100%, con un valor tan elevado otros...

2.5 Niveles, objetivos y criterios de planificación

Imagen
En épocas pasadas de los sistemas de procesamiento por lotes, con una entrada en forma de imágenes de tarjetas en una cinta magnética, el algoritmo de planificación era sencillo: solo había que ejecutar el siguiente trabajo en la cinta. En los sistemas de multiusuario de tiempo compartido, que se combinaban con un fondo de trabajos procesados en lote, el algoritmo era más complejo. En forma invariable, existían varios usuarios en espera de servicio y podían existir también otros trabajos para ser procesados en lote. Incluso en los sistemas puros de tiempo compartido existen con frecuencia los trabajos colaterales, como el sistema de correo electrónico, que a menudo se ejecuta todo el tiempo para enviar o recibir correo o noticias. Cuando más de un proceso es ejecutable, el Sistema Operativo debe decidir cuál de ellos deberá ejecutarse primero. Hay que tener una planificación de los procesos que quieren ejecutarse en el sistema. La planificación es una función primordial del Sistema O...

2.4 Concurrencia y secuenciabilidad

La concurrencia comprende un gran número de cuestiones de diseño, incluyendo la comunicación entre procesos, comparación y competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador a los procesos y es fundamental para que existan diseños como Multiprogramación, Multiproceso y Proceso distribuido Los procesos son concurrentes si existen simultáneamente. Cuando dos o más procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. Es importante mencionar que para que dos o más procesos sean concurrentes, es necesario que tengan alguna relación entre ellos La concurrencia puede presentarse en tres contextos diferentes: • Varias aplicaciones: La multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varios trabajos o aplicaciones activas. • Aplicaciones estructuradas: Como ampliación de los principios del diseño modular y l...

Unidad 1: Introducción a los Sistemas Operativos

Imagen
Un Sistema Operativo (SO) es un programa (software) que después de arrancado o iniciado el ordenador se encarga de gestionar todos los recursos del sistema informático, tanto de hardware (partes físicas, disco duro, pantalla, teclado, etc.) como el software (programas e instrucciones), permitiendo así la comunicación entre el usuario y el ordenador.  Todos las PC, portátiles, tablets, smartphones y servidores tienen y necesitan un sistema operativo. Los otros programas son llamados aplicaciones. Resumiendo, un SO es el encargado de gestionar el software y el hardware de un ordenador o computadora. 1.1 Definición y Concepto 1.2 Funciones y Características 1.3 Evolución e Historia 1.4 Clasificación 1.5 Estructura 1.6 Nucleo   

1.2 Funciones y Características

Imagen
El sistema operativo es capaz de desempeñarse en varias funciones:  Gestionar la CPU: Se encarga de administrar la CPU que va a estar repartida entre todos los procesos que se estén ejecutando.  Gestionar la RAM: Para asignar el espacio de memoria a cada aplicación y a cada usuario, en caso de ser necesario. Cuando esta memoria se hace insuficiente, se crea una memoria virtual, de mayor capacidad, pero como está en el almacenamiento secundario (disco duro), es más lenta.  Gestionar el I/O: El sistema operativo crea un control unificado de los programas a los dispositivos, a través de drivers.  Gestionar los procesos: Se encarga de que las aplicaciones se ejecuten sin ningún problema, asignándoles los recursos que sean necesarios para que estas funcionen. Si una de ellas no responde, se procede a matar el proceso.  Gestionar los permisos: Garantiza que los recursos sean sólamente utilizados por programas y usuarios que tengan las autorizaciones que les...

1.3 Evolución e Historia

Imagen
Evolución La evolución de los Sistemas Operativos ha ido siempre de la mano de la evolución de las Computadoras. Por ello es relevante recordar las generaciones de Computadores (Tanembaum, 2009): 1. Tubos al Vacío (1945-1955) Tubos al vacío de la ENIAC Después de los esfuerzos infructuosos de Babbage, no hubo muchos progresos en la construcción de computadoras digitales sino hasta la Segunda Guerra Mundial, que estimuló una explosión de esta actividad. El profesor John Atanasoff y su estudiante graduado Clifford Berry construyeron lo que ahora se conoce como la primera computadora digital funcional en Iowa State University. Utilizaba 300 tubos de vacío (bulbos). Aproximadamente al mismo tiempo, Konrad Zuse en Berlín construyó la computadora Z3 a partir de relevadores. En 1944, la máquina Colossus fue construida por un equipo de trabajo en Bletchley Park, Inglaterra; la Mark I, por Howard Aiken en Harvard, y la ENIAC, por William Mauchley y su estudiante graduado J. Presper Ec...