UNIDAD 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
OBJETIVOS Y FUNCIONES DE LOS SISTEMAS OPERATIVOS
Un sistema operativo es un programa que controla la ejecución de aplicaciones y programas y
que actúa como interfaz entre las aplicaciones y el hardware del computador. 3 objetivos:
Facilidad de uso: Un SOP facilita el uso de un computador.
Eficiencia: Un SOP permite que los recursos de un sistema de computación se puedan
utilizar de una manera eficiente.
Capacidad para evolucionar: Un SOP se debe construir de tal forma que se puedan
desarrollar, probar e introducir nuevas funciones en el sistema sin interferir con sus
servicios.
EL SISTEMA OPERATIVO COMO UNA INTERFAZ DE USUARIO/COMPUTADOR
El hardware y el software utilizados para proporcionar
aplicaciones a los usuarios se pueden ver de forma jerárquica o
en capas. El usuario final, no se preocupa por los detalles del
hardware del computador. Por lo tanto, el usuario final ve un
sistema en términos de un conjunto de aplicaciones.
Una aplicación se puede expresar en un lenguaje de
programación y normalmente es desarrollado por un
programador de aplicaciones. Para facilitar la tarea al
programador, se proporcionan un conjunto de programas de
sistema. Estos programas se los conoce como utilidades y
utilizan frecuentemente funciones que asisten al programador
en las fases de creación de programas, gestión de ficheros
El SOP oculta muchos detalles del hardware al programador y le proporciona una
interfaz apropiada para utilizar el sistema. El SOP proporciona normalmente servicios en las
siguientes áreas:
Desarrollo de programas: el SOP proporciona editores, depuradores… Estos
servicios se ofrecen en la forma de utilidades.
Ejecución de programa: los SOP realizan estas labores de planificación, cargar
datos e instrucciones a memoria principal, inicializar dispositivos E/S, en
nombre del usuario.
Acceso a dispositivos de E/S: el SOP proporciona una interfaz uniforme que
esconde esos detalles de forma que los programadores puedan acceder a
dichos dispositivos utilizando lecturas y escrituras sencillas.
Acceso controlado a los ficheros: el SOP debe reflejar una comprensión
detallada no solo de la naturaleza del dispositivo de E/S, sino también de la
estructura de los datos contenidos en los ficheros del sistema de
almacenamiento.
Acceso al sistema: para sistemas compartidos o públicos, el SOP controla el
acceso al sistema completo y a recursos del sistema específicos.
Detección y respuesta a errores: se pueden dar gran variedad de errores
durante la ejecución de un sistema de computación. Errores de hardware
internos y externos, error de memoria, fallo de un dispositivo, división por
cero…
Contabilidad: recogerá estadísticas de uso de los diferentes recursos y
monitorizará parámetros de rendimiento tales como el tiempo de respuesta.
EL SISTEMA OPERATIVO COMO GESTOR DE RECURSOS
Un computador es un conjunto de recursos que se utilizan para el transporte,
almacenamiento y procesamiento de los datos, así como lleva a cabo el control de estas
funciones. El SOP se encarga de gestionar estos recursos.
El SOP tiene el control de las funciones básicas del mismo. Pero este control se realiza
de una forma curiosa. Normalmente, se habla de un mecanismo de control como algo externo
al dispositivo controlado. Este no es el caso del SOP, que es un mecanismo de control inusual
en dos aspectos:
Las funciones del SOP actúan de la misma forma que el resto del software; se
trata de un programa o conjunto de programas ejecutados por el procesador.
El SOP frecuentemente cede el control y depende del procesador para volver a
retomarlo.
Una porción del SOP se
encuentra en la memoria principal. Esto
incluye el kernel o núcleo, que contiene
las funciones del SOP más
frecuentemente utilizadas. El resto de la
memoria principal contiene programas y
datos de usuarios. El SOP decide cuando
un programa en ejecución puede utilizar
un dispositivo de E/S y controla el
acceso y uso de los ficheros. También
determinar cuánto tiempo de
procesador debe asignarse a la
ejecución de un programa de usuario
particular.
FACILIDAD DE EVOLUCIÓN DE UN SISTEMA OPERATIVO
Un SOP importante debe evolucionar en el tiempo por las siguientes razones:
Actualizaciones de hardware más nuevos tipos de hardware: cambian para
explorar capacidades de paginación, para usar terminales graficas y en modo
página…
Nuevos servicios: añadiendo nuevas herramientas de medida y control,
actualizaciones para soporte de ventanas…
Resolución de fallos: el sistema debe tener un diseño modular, con interfaces
entre los módulos claramente definidos y bien documentados…
LA EVOLUCION DE LOS SISTEMAS OPERATIVOS
PROCESAMIENTO SERIE
Con los primeros computadores, desde finales de los años 40 hasta mediados de los
años 50, el programador interaccionaba directamente con el hardware del computador, no
existía ningún sistema operativo. Los programas en código de maquina se cargaban a través
del dispositivo de entrada. Si un error provocaba la parada del programa, las luces indicaban la
condición de error. Si el programa terminaba de forma normal, la salida aparecía en la
impresora.
Presentaban dos problemas principales:
Planificación: la mayoría de las instalaciones utilizaban una plantilla impresa
para reservar tiempo de máquina. Un usuario podía solicitar un bloque de
tiempo en múltiplos de media hora. Esto podía generar un malgasto de tiempo
de procesamiento del computador o no ser suficiente el tiempo.
Tiempo de configuración: un único programa, denominado trabajo, podía
implicar la carga en memoria del compilador y del programa en lenguaje de
alto nivel y a continuación la carga y el enlace del programa objeto y las
funciones comunes.
Llamado así para reflejar el hecho de que los usuarios acceden al computador en serie.
SISTEMAS EN LOTES SENCILLOS
Se desarrolló el concepto de SOP en lotes para mejorar la utilización de las maquinas.
Fue desarrollado a mediados de los años 50 por General Motors para el uso de un IBM 701.
La idea central es el uso de una pieza de software denominada monitor. Con este tipo
de SOP, el usuario no tiene que acceder directamente a la máquina. En su lugar, el usuario
envía un trabajo a través de una tarjeta o cinta al operador del computador, que crea un
sistema por lotes con todos los trabajos enviados y coloca la secuencia de trabajos en el
dispositivo de entrada. Cuando un programa finaliza su procesamiento, devuelve el control al
monitor y este carga el siguiente programa.
Se puede analizar desde 2 puntos de vista:
Punto de vista del monitor: el monitor controla
la secuencia de eventos. Para ello, una gran
parte del monitor debe estar siempre en
memoria principal y disponible para la ejecución
(monitor residente). El resto del monitor esta
formado por un conjunto de utilidades y
funciones comunes que se cargan como
subrutinas en el programa de usuario. El monitor
lee de uno de los trabajos, lo coloca en el área
de programa de usuario y se le pasa el control.
Cuando se completa, el monitor toma el control
y lee otro trabajo.
Punto de vista del procesador: el procesador ejecuta instrucciones de la zona
de memoria principal que contiene el monitor. Estas instrucciones provocan
que se lea el siguiente trabajo y se almacena en otra zona de memoria
principal. Una vez que el trabajo se ha leído, el procesador encontrará una
instrucción de salida en el monitor que le indica al procesador que contiene la
ejecución al inicio del programa de usuario.
El monitor es simplemente un programa. Este confía en la habilidad del procesador
para cargar instrucciones de diferentes porciones de la memoria principal. Otras
características del hardware son:
Protección de memoria: el usuario no debe alterar el área de memoria que
contiene el monitor.
Temporizador: para evitar que un único trabajo monopolice el sistema.
Instrucciones privilegiadas: solo las puede ejecutar el monitor, si el
procesador las encuentra mientras el usuario ejecuta el programa se produce
un error provocando que el control se transfiera al monitor.
Interrupciones: para dejar y retomar el control desde los programas de
usuario.
Un programa de usuario se ejecuta en modo usuario en el cual los usuarios no pueden
acceder a ciertas áreas de memoria y no pueden ejecutar ciertas instrucciones. El monitor
ejecuta modo sistema o modo núcleo, en el cual se pueden ejecutar instrucciones privilegiadas
y se puede acceder a áreas de memoria protegidas.
SISTEMAS EN LOTES MULTIPROGRAMADOS
Aún con el secuenciamiento automático de trabajos ofrecido por un SOP sencillo por
lotes, el procesador este desocupado con frecuencia, ya que los dispositivos de E/S son lentos
comparados con el microprocesador.
Consiste en tener varios programas de usuario en la memoria, y cuando el programa
que está en ejecución va a esperar por E/S, el procesador cambia a otro trabajo que no esté
esperando por E/S. Este proceso es conocido como multiprogramación.
Para poder ejecutar varios programas al mismo tiempo, estos deben estar guardados
en la memoria principal, requiriendo alguna gestión de memoria.
Si varios trabajos están listos para la ejecución, el procesador define cual ejecutar por
medio de un algoritmo de planificación.
SISTEMAS DE TIEMPO COMPARTIDO
Para muchos trabajos es deseable proporcionar un modo en el cual el usuario
interaccione directamente con el computador para un modo interactivo esencial.
Se comparte el tiempo de procesador entre múltiples usuarios ya que acceden
simultáneamente al sistema a través de terminales, siendo el SOP el encargado de entrelazar
la ejecución de cada programa en pequeños intervalos de tiempo. Si hay n usuarios, cada uno
vera 1/n capacidad de computación efectiva.
DESARROLLOS QUE HAN LLEVADO A LOS SISTEMAS OPERATIVOS MODERNOS
En los últimos años se han introducido un gran numero de nuevos elementos de diseño tanto
en SOP nuevos como en nuevas versiones de SOP existentes. Estos responden a nuevos
desarrollos de hardware, nuevas aplicaciones y amenazas de seguridad. Se ha logrado
incrementar la velocidad de la máquina, dispositivos de conexión de alta velocidad a la red,
aplicaciones multimedia, internet y acceso a la web.
Las características de un SOP moderno son: arquitectura micronúcleo, multihilo
multiprocesamiento simétrico, SOP distribuidos y diseño orientado a objetos.
Hace poco tiempo, la mayoría de los SOP estaban formados por un núcleo monolítico, este se
implementa como un único proceso, con todos los elementos compartiendo el mismo espacio
de direcciones.
Una arquitectura micronúcleo, asigna solo unas pocas funciones esenciales al núcleo (espacios
de almacenamiento, comunicación entre procesos y planificación básica). Simplifica la
implementación, proporciona flexibilidad y se adapta perfectamente a un entorno distribuido.
Multihilo o multitheading es una técnica en la cual un proceso, ejecutando una aplicación, se
divide en una serie de hilos o threads que pueden ejecutar concurrentemente. La técnica es
útil para las aplicaciones que llevan a cabo un número de tareas esencialmente independientes
que no necesitan ser serializadas.
Thread o hilo: unidad de trabajo. Incluye el contexto (contador + puntero de pila) y su
propia área de datos para una pila (para posibilitar el salto a subrutinas). Se ejecuta
secuencialmente y se puede interrumpir.
Proceso: es una colección de uno o mas hilos y sus recursos de sistema asociados
(memoria, datos, ficheros y dispositivos). Esto corresponde al concepto de programa
en ejecución.
Multiprocesamiento simétrico SMP, se refiere a la arquitectura hardware del computador y
también al comportamiento del SOP que explota dicha arquitectura. Se puede definir un SMP
como un sistema de computación aislado con las siguientes características:
1. Tiene múltiples procesadores.
2. Estos procesadores comparten las mismas utilidades de memoria principal y de E/S,
interconectadas por un bus de comunicación.
3. Todos los procesados pueden realizar las mismas funciones.
Tiene ciertas ventajas potenciales sobre las arquitecturas monoprocesador:
Rendimiento.
Disponibilidad.
Crecimiento incremental: un usuario puede mejorar el rendimiento de un sistema
añadiendo un procesador adicional.
Escalado: es horizontal (misma maquina repetida).
Un SOP distribuido proporciona la ilusión de un solo espacio de memoria principal y un solo
espacio de memoria secundario. Retrasado con respecto a los monoprocesadores y SMP.
El diseño orientado a objetos introduce una disciplina al proceso de añadir extensiones
modulares a un pequeño núcleo. Permite personalizar un SOP sin liminar la integridad del
sistema.
DESCRIPCIÓN GLOBAL DE MICROSOFT WINDOWS
HISTORIA
MS DOS 1.0 (1981). SOP de Microsoft para la primera computadora personal
de IBM. Se ejecutaba en 8K de memoria utilizando el microprocesador Intel
8086.
MS DOS 2.0 (1983). Para el PC XT de IBM. Añadió soporte para discos duros y
ofrecía directorios jerárquicos (directorios con subdirectorios y archivos). Se
añadieron también características de UNIX como el redireccionamiento de E/S
(capacidad de cambiar la identidad de la entrada o salida de una aplicación) y
la impresión subordinada (background). La memoria creció hasta 24 Kb.
MS DOS 3.0 (1984). Para el PC AT de IBM con micro Intel 80286 que añadió
direccionamiento extendido y recursos de protección de memoria, pero DOS
no los utilizó. Uso el 80286 como un “8086 rápido” para mantener
compatibilidad. Los requisitos de memoria crecieron hasta 36 KB.
Windows 3.0 (1990). El DOS estaba siendo utilizado en un entorno que iba
más allá de sus capacidades. Microsoft comienza el desarrollo de una Interfaz
Gráfica de Usuario (GUI) que podría ejecutarse entre el usuario y el DOS.
Windows NT (1993). Luego de una tentativa fallida por Microsoft de
desarrollar junto a IBM un SO de nueva generación que aprovechara las
características de los actuales microprocesadores, IBM desarrolla OS/2 y
Microsoft lanza Windows NT. Ofrece multitarea en entornos monousuarios y
multiusuarios.
Windows NT 4.0. Después de varias versiones NT 3.X, Microsoft desarrolla la
versión 4.0, que proporciona la misma interfaz de Windows 98.
Windows 2000 (2000). Nuevamente el ejecutor y la arquitectura micronúcleo
son fundamentalmente los mismos que en NT 4.0.
Window XP (2001)
Windows Server 2003 (2003).
Windows Vista (2007).
Windows Server 2008 (2008).
Windows 7 (2009).
Windows 8 (2011).
Windows Server 2012 (2012).
Windows 10 (2014).
MULTITAREA MONOUSUARIO
El desarrollo de Windows fue dirigido por la necesidad de explotar las capacidades de
los microprocesadores actuales de 32 bits, que rivalizan con los mainframes y
minicomputadores de hace unos pocos años en velocidad, sofisticaciones de hardware y
capacidad de memoria.
Desarrollos que dispararon la necesidad de multitarea: aumento de la computación
cliente/servidor, incremento de la velocidad y la capacidad de memoria de los
microprocesadores.
Un usuario abre cada aplicación cuando la necesita y la deja abierta. Un computador
personal (cliente) y un sistema host se usan en forma conjunto para llevar a cabo una
aplicación particular.
ARQUITECTURA
Su estructura modular da a Windows una considerable flexibilidad. Se ha diseñado
para ejecutar en una variedad de plataformas hardware y da soporte a aplicaciones escritas
para una gran cantidad de SOP.
Windows separa el software orientado a aplicación del software del SOP. La segunda
parte, incluye el sistema ejecutivo, el núcleo y la capa de abstracción del hardware, ejecuta en
modo núcleo.
ORGANIZACIÓN DEL SISTEMA OPERATIVO
Windows no tiene una arquitectura micronúcleo pura, sino lo que Microsoft denomina
arquitectura micronúcleo modificada. Windows es muy modular. Cada función del sistema se
gestiona mediante un único componente del SOP. El resto del SOP y todas las aplicaciones
acceden a dicha función a través del componente responsable y utilizando una interfaz
estándar.
Windows se configura de forma que muchas de las funciones del sistema externas al
micronúcleo se ejecuten en modo núcleo (por el rendimiento). Los componentes en modo
núcleo son:
Sistema ejecutivo: contiene los servicios básicos del SOP, como la gestión de
memoria, de procesos e hilos, seguridad, E/S y comunicación entre procesos.
Núcleo: formado por los componentes más fundamentales del SOP. El núcleo
gestiona la planificación de hilos, intercambio de procesos… El código del
núcleo no se ejecuta en hilos, por lo tanto, es la única parte del SOP que no es
expulsable o paginable.
Capa de abstracción de hardware (HAL): realiza una proyección entre
mandatos y respuestas hardware genéricos y aquellos que son propios de una
plataforma especifica. Aísla el SOP de las diferencias de hardware específicas
de la plataforma.
Controladores de dispositivos: incluye tanto sistema de ficheros como
controladores de dispositivos hardware que traducen funciones de E/S de
usuario.
Gestión de ventanas y sistemas gráficos: implementa las funciones de la
interfaz gráfica de usuario (GUI).
El sistema ejecutivo incluye módulos para funciones del sistema especificas y
proporciona un API para software en modo usuario. Módulos del sistema ejecutivo:
Gestor de E/S: Proporciona un entorno a través del cual las aplicaciones
pueden acceder a los dispositivos de E/S. El gestor es responsable de enviar la
petición al controlador de dispositivos apropiado para un procesamiento
posterior. Implementa todas las API de E/S de Windows y provee seguridad y
nombrado para dispositivos y sistemas de ficheros (utilizando el gestor de
objetos).
Gestor de cache: mejora el rendimiento de la E/S basada en ficheros,
provocando que los datos de disco referenciados recientemente residan en
memoria principal para un acceso rápido.
Gestor de objetos: crea, gestiona y borra los objetos del sistema ejecutivo de
Windows y los tupos de datos abstractos utilizados para representar recursos
como procesos, hilo y objetos de sincronización.
Gestor de plug and play: determina que controladores se necesitan para un
determinado dispositivos y carga dichos controladores.
Gestor de potencia: coordina la gestión de potencia entre varios dispositivos y
se puede configurar para reducir el consumo de potencia hibernando el
procesador (se puede ver en el administrador de tarea).
Monitor de referencia de seguridad: Asegura la validación de acceso y las
reglas de generación de auditoria.
Gestión de memoria virtual: proyecta direcciones virtuales del espacio de
direcciones del proceso a las paginas físicas de la memoria del computador
(extensión de la memoria principal en el disco duro.
Gestor de procesos e hilos: crea y borra los objetos y traza el comportamiento
de los objetos proceso e hilo.
Gestor de configuración: responsable de implementar y gestionar el registro
del sistema, que es el repositorio para la configuración de varios parámetros a
nivel de sistema global y por usuario.
Utilidad de llamada a procedimiento local (LPC): fuerza una relación
cliente/servidor entre las aplicaciones y los subsistemas ejecutivos dentro de
un único sistema, en un modo similar a una utilidad de llamada a
procedimiento remoto (RPC) utilizada para procesamiento distribuido.
PROCESOS EN MODO USUARIO
Hay 4 tipos básicos de procesos en modo usuario en Windows:
Procesos de sistema especiales: incluye servicios no proporcionados como
parte del SOP Windows, como el proceso de inicio y el gestor de sesiones.
Procesos de servicio: otros servicios de Windows.
Subsistemas de entorno: expone los servicios nativos de Windows a las
aplicaciones de usuario y, por lo tanto, proporciona un entorno.
Aplicaciones de usuario: pueden ser Win32, Posix, OS/2, Windows 3.1 o MS-
DOS.
MODELO CLIENTE/SERVIDOR
El sistema ejecutivo, los subsistemas protegidos y las aplicaciones se estructura de
acuerdo con el modelo de computación cliente/servidor, que es un modelo común para la
computación distribuida.
Cada subsistema de entorno y subsistema del servicio ejecutivo se implementa como
uno o más procesos. Cada proceso espera la solicitud de un cliente (programa u otro módulo
del SOP) solicita un servicio a través del envío de un mensaje. El mensaje se encamina a través
del sistema ejecutivo al servidor apropiado. El servidor lleva a cabo la operación requerida y
devuelve los resultados por medio de otro mensaje.
Las ventajas de la arquitectura cliente/servidor son las siguiente:
Simplifica el sistema ejecutivo. Es posible construir diversos API sin conflictos o
duplicaciones en el sistema ejecutivo. Se pueden añadir fácilmente nuevas
interfaces.
Mejora la fiabilidad. Cada módulo de los servicios ejecutivos se ejecuta como
un proceso separado, con su propia partición de memoria protegida de otros
módulos.
Proporciona a las aplicaciones maneras uniformes de comunicarse con el
sistema ejecutivo a través de los LPC sin restringir la flexibilidad.
Proporciona una base adecuada para la computación distribuida.
SISTEMAS UNIX TRADICIONALES
HISTORIA
Variante UNIX para la arquitectura del PC IBM (Intel 80386). Linus Torvalds, un
estudiante finlandés de informática, escribió la versión inicial, la distribuyó por internet en
1991. Desde entonces han contribuido al desarrollo de Linux, bajo el control de Torvalds.
Debido a que Linux es libre y el código fuente está disponible, se convirtió pronto en una
alternativa para otras estaciones de trabajo UNIX, tal como las ofrecidas por Sun Microsystems
e IBM. Hoy en día, Linux es un sistema UNIX completo que ejecuta en todas las plataformas.
DESCRIPCIÓN
El hardware subyacente es gestionado por el software del SOP. El SOP se denomina
frecuentemente el núcleo del sistema para destacar su aislamiento frente a los usuarios y a las
aplicaciones. UNIX viene equipado con un conjunto de servicios de usuario e interfaces que se
consideran parte del sistema. Estos se pueden agrupar en el Shell y los componentes del
compilador C. La capa externa esta formada por las aplicaciones de usuario y la interfaz de
usuario al compilador C.
ESTRUCTURA MODULAR
La mayoría de los núcleos Linux son monolíticos que incluyen prácticamente toda la
funcionalidad del SOP en un gran bloque de código que ejecutan como un único proceso con
un único espacio de direccionamiento. Todos los componentes funcionales del núcleo tienen
acceso a todas las estructuras internas de datos y rutinas. Si los cambios se hacen sobre
cualquier porción de un SOP monolítico, todos los módulos y rutinas deben volverse a enlazar
y reinstalar y el sistema debe ser reiniciado para que los cambios tengan efecto.
Aunque Linux no utiliza una técnica de micronúcleo, logra muchas de las ventajas por
medio de su arquitectura modular, tiene una colección de módulos, algunos de los cuales
pueden cargarse y descargarse automáticamente bajo demanda.
Estos bloques relativamente independientes se llaman módulos cargables. Un módulo
es un archivo cuyo código puede enlazarse y desenlazarse con el núcleo en tiempo real.
Normalmente, un módulo implementa algunas funciones específicas como un sistema de
archivos, un controlador de dispositivo o algunas características de la capa superior del núcleo.
Un módulo se ejecuta en modo núcleo en nombre del proceso actual.
Los módulos cargables tienen dos características importantes:
Enlace dinámico: un módulo de núcleo puede cargarse y enlazarse al núcleo
mientras el núcleo esta en memoria y ejecutándose. Un módulo puede
desenlazarse y eliminarse de la memoria en cualquier momento. Facilita la
configuración y reduce el uso de memoria del núcleo.
Módulos apilables: los módulos se gestionan como una jerarquía. Los módulos
individuales sirven como bibliotecas cuando los módulos clientes los
referencian desde la parte superior de la jerarquía y actúan como clientes
cuando referencian a módulos de la parte inferior de la jerarquía. Esto tiene
dos ventajas:
o El código común para un conjunto de módulos similares se puede
mover a un único módulo, reduciendo la replicación.
o El núcleo puede asegurar que los módulos necesarios están presentes,
impidiendo descargar un módulo del cual otros módulos que ejecutan
dependen y cargando algunos módulos adicionales requeridos cuando
se carga un nuevo módulo.
COMPONENTES DEL NÚCLEO
El núcleo mismo está compuesto por una colección de componentes que
interaccionan, usando flechas para indicar las principales interacciones. También se muestra el
hardware subyacente como un conjunto de componentes utilizando flechas para indicar qué
componentes del núcleo utilizan o controlan qué componentes del hardware. Todos los
componentes del núcleo ejecutan en la CPU, pero por simplicidad no se muestran estas
relaciones.
Señales: para llamar a un proceso.
Llamadas al sistema: cuando un proceso requiere un servicio de núcleo
específico. Pueden agruparse en 6 categorías: sistema de ficheros, proceso,
planificación…
Procesos y planificador:
crea, gestiona y planifica
procesos.
Memoria virtual: la asigna y
la gestiona.
Sistema de ficheros:
proporciona un espacio de
nombres global y jerárquico
para los archivos, directorios
y otros objetos relacionados
con los ficheros.
Protocolos de red: a soporte
a la interfaz Socket
(manejador) para los
usuarios, utilizando la pila de protocolos TCP/IP.
Controladores de dispositivo tipo carácter: gestiona los dispositivos que
requieren el núcleo para enviar o recibir Bytes (terminales, modem,
impresora).
Controladores de dispositivo tipo bloque: para los que leen y escriben datos
en bloque, memoria secundaria (discos, DVD, USB).
Controladores de dispositivos de red: gestiona placas de red y puertos de
comunicación (puentes y routers).
Traps y fallos: gestiona los traps (excepción) y fallos generados por la CPU,
como los fallos de memoria.
Memoria física: gestiona marcos de paginas de memoria real y asigna las
páginas de memoria virtual.
Interrupciones: gestiona las interrupciones de los dispositivos periféricos.
UNIDAD 2: ADMINISTRACIÓN Y GESTIÓN DE ARCHIVOS
Los archivos son unidades lógicas de información creada por los procesos. En general, un disco
contiene miles o incluso millones de archivos independientes.
Los procesos pueden leer los archivos existentes y crear otros si es necesario. La información
que se almacena en los archivos debe ser persistente, es decir, no debe ser afectada por la
creación y terminación de los procesos. Un archivo puede desaparecer solo cuando su
propietario lo remueve de manera explícita.
Los archivos son administrados por el SOP. La parte del SOP que trata con los archivos se
conoce como sistema de archivos. Este proporciona las abstracciones de recursos típicamente
asociadas con el almacenamiento secundario.
ARCHIVOS
NOMENCLATURA DE ARCHIVOS
Los archivos son un mecanismo de abstracción. Proporcionan una manera de
almacenar información en el disco y leerla después.
Cuando un proceso crea un archivo le proporciona un nombre. Cuando el proceso
termina, el archivo continúa existiendo y puede ser utilizado por otros procesos mediante su
nombre.
Las reglas para denominar archivos varían un poco, pero todos los SOP actuales
permiten cadenas de una a ocho letras como nombres de archivos. Con frecuencia también se
permiten dígitos y caracteres especiales. Muchos sistemas de archivos admiten nombres de
hasta 255 caracteres.
Algunos sistemas de archivos diferencian mayúsculas de las minúsculas. Unix cae en la
primera categoría; MS-DOS en la segunda.
Windows 95 y 98 utilizan el sistema de archivo MS-DOS conocido como FAT-16.
Windows NT, 2000, XP y .WV tienen un sistema de archivos nativo (NTFS).
Muchos SOP aceptan
nombres de archivos en dos
partes, separadas por un
punto. La parte que va
después del punto se conoce
como extensión del archivo y
por lo general indica algo
acerca de su naturaleza.
ESTRUCTURA DE ARCHIVOS
Los archivos se pueden estructurar en una de varias formas. Tres posibilidades
comunes:
Secuencia de bytes sin estructura: el sistema operativo no sabe, ni le importa,
qué hay en el archivo. Todo lo que ve son bytes. Cualquier significado debe ser
impuesto por lo programas a nivel usuario.
Secuencia de registros de longitud fija: cada registro tiene cierta estructura
interna. La operación de lectura devuelve un registro y la operación de
escritura sobrescribe o anexa un registro.
Árbol de registros: los registros pueden ser de diferente longitud. Cada
registro posee un campo clave en una posición fija del registro. El árbol se
ordena según el campo clave con el objetivo de encontrar con rapidez una
clave en particular.
TIPOS DE ARCHIVOS
Muchos SOP soportan varios tipos de archivos.
Archivos regulares: contienen información del usuario. Pueden ser ASCII o
binarios.
o ASCII: consisten en líneas de texto. Pueden exhibirse e imprimirse tal
cual y pueden editarse con cualquier editor de texto. Facilitan la
conexión de la salida de un programa con la entrada de otro.
o Binarios: poseen una estructura interna conocida por los programas
que los usan. Solo pueden ser visualizados por la aplicación que los
creó.
Directorios: sistemas de archivos para mantener la estructura del sistema de
archivos.
Archivos especiales de caracteres: se relacionan con la entrada/salida y se
utilizan para modelan dispositivos de E/S en serie.
Archivos especiales de bloques: se utilizan para modelar discos.
ACCESO A ARCHIVOS
En acceso secuencial un proceso podía leer todos los bytes o registros en un archivo en
orden, empezando desde el principio, pero no podía saltar algunos y leerlos fuera de orden.
Pero, podían rebobinarse para poder leerlos todas las veces que fuera necesario. Los archivos
secuenciales eran convenientes cuando el medio de almacenamiento era cinta magnética en
vez de disco. Read da la posición en la que va a empezar a leer.
Los archivos de acceso aleatorio son esenciales para muchas aplicaciones. Los archivos
pueden leerse en cualquier orden. Se puede acceder a ellos a través de una clave o índice
independientes de su posición, sin tener que pasar por los datos anteriores. Usado en discos.
Seek establece la posición actual.
ATRIBUTOS DE ARCHIVOS
Todo archivo tiene su nombre y sus datos. Además, todos los SOP asocian otra
información con cada archivo. Estos elementos adicionales se les llama atributos del archivo o
metadatos.
Los primeros cuatro atributos se
relacionan con la protección del archivo e
indican quién puede acceder a él y quién
no.
Las banderas son bits o campos
cortos que controlan o habilitan cierta
propiedad especifica.
Los campos longitud de registro,
posición de llave y longitud de llave solo
están presentes en los archivos en cuyos
registros se pueden realizar búsquedas
mediante el uso de una llave.
Los diversos tiempos llevan la
cuenta de cuándo se creó el archivo, su acceso y sus modificaciones s recientes.
El tamaño actual indica que tan grande es el archivo en el presente.
OPERACIONES DE ARCHIVOS
Los archivos existen para almacenar información y permitir que se recupere
posteriormente. Distintos sistemas proveen diferentes operaciones para permitir el
almacenamiento y la recuperación.
1. Create: el archivo se crea sin datos.
2. Delete: se borra, desocupando el espacio en disco.
3. Open: el sistema obtiene los atributos y la lista de direcciones de disco y lo
coloca en la memoria principal para tener acceso a ellos rápidamente en
llamadas posteriores.
4. Close: cerrar el archivo para desocupar espacio en tablas internas.
5. Read: se leen datos de un archivo, en la posición actual.
6. Write: se escriben datos en un archivo en la posición actual.
7. Append: es una forma restringida de write, solo puede agregar datos al final
del archivo.
8. Seek: reubica el puntero de archivo en un lugar específico del mismo.
9. Get attributes: muchas veces lo procesos necesitan leer lo atributos de un
archivo para efectuar su trabajo.
10. Sett attributes: el usuario puede establecer algunos de los atributos o
modificarlos después de que se creo el archivo.
11. Rename: permite cambiar el nombre de un archivo existente.
DIRECTORIOS
Para llevar el registro de los archivos, los sistemas de archivos por lo general tienen directorios
o carpetas, que en muchos sistemas son también archivos.
SISTEMAS DE DIRECTORIOS DE UN SOLO NIVEL
La forma más simple de un sistema de directorios es tener un directorio que contenga
todos los archivos. Algunas veces se llama directorio raíz.
Las ventajas de este esquema son su simpleza y
la habilidad de localizar archivos con rapidez.
SISTEMAS DE DIRECTORIOS JERÁRQUICOS
Con este esquema, árbol de directorios, puede haber tantos directorios como se
necesite para agrupar los archivos en formas naturales. Además, si varios usuarios comparten
un servidor de archivos común, cada usuario puede tener un directorio raíz privado para su
propia jerárquica.
NOMBRES DE RUTAS
Cuando el sistema de archivos esta organizado como un árbol de directorios, se
necesita cierta forma de especificar los nombres de los archivos. Se utilizan dos métodos
distintos.
Ruta absoluta: consta en la ruta desde el directorio raíz al archivo.
Ruta relativa: esta se utiliza en conjunto con el concepto de directorio de
trabajo o actual. Consiste en el camino que hay que seguir desde el directorio
de trabajo hasta el archivo.
OPERACIONES DE DIRECTORIOS
Las llamadas al sistema permitidas para administrar directorios exhiben más variación
de un sistema a otro que las llamadas al sistema para los archivos.
1. Create: se crea un directorio. Está vacío, excepto por punto y puntopunto,
que el sistema coloca ahí de manera automática.
2. Delete: se elimina un directorio. Se puede eliminar solo un directorio
vacío.
3. Opendir: para leer directorios.
4. Closedir: cerrar el directorio para liberar espacio en la tabla interna.

Este documento contiene más páginas...

Descargar Completo
RESUMEN 1 PARCIAL.pdf
browser_emoji Estamos procesando este archivo...
browser_emoji Lamentablemente la previsualización de este archivo no está disponible. De todas maneras puedes descargarlo y ver si te es útil.
Descargar
. . . . .