Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Operativos 2.0 (BETA)
Sistemas Operativos 2.0 (BETA)
SAN MARCOS
(Universidad del Per, Decana de Amrica)
Introduccin a la computacin
Profesora: Mg. Gloria Castro Len
Alumnos:
Arenas Machaca, Cristian
Calcina Aguilar, Brayan
Chalco Vila, Enrique
Chvez Aliaga, Luis
Sistemas Operativos
Introduccin
Uno de los principales problemas que se present en el uso de las computadoras
fue la dificultad en su uso, ya que para poder realizar una actividad en ella
requera altos conocimientos en programacin e informtica. Esta fue una de las
razones por las cuales surgieron los sistemas operativos. Aunque al principio solo
servan para ejecutar un programa despus de otro, luego sirvieron para facilitar
su uso mediante una interfaz grfica mucho ms amigable, simple y que todos
entendieran.
En este trabajo abordaremos la definicin de un sistema operativo, sus
estructuras y sus operaciones. Tambin las gestiones que realiza tanto en los
procesos, memoria y almacenamiento.
Sistemas Operativos
Contenido
Introduccin..........................................................................................................2
1. Qu es un sistema operativo?.....................................................................7
1.1.
1.2.
1.3.
2. Historia...........................................................................................................9
3. Estructuras de un sistema operativo...........................................................10
3.1.
3.2.
Kernel..............................................................................................13
3.3.
Llamadas a un sistema...................................................................14
3.3.1.
Tipos de llamadas...........................................................................15
3.4.
3.5.
3.5.1.
Estructura simple............................................................................18
3.5.2.
3.5.3.
Microkernels....................................................................................19
3.5.4.
Mdulos..........................................................................................20
3.6.
Mquinas virtuales..........................................................................21
3.7.
4.2.
Temporizador..................................................................................24
5. Gestin de procesos....................................................................................25
5.1.
Concepto de proceso......................................................................25
5.2.
Planificacin de procesos...............................................................26
5.2.1.
Tipos de planificacin.....................................................................26
3
Sistemas Operativos
5.3.
5.3.1.
Tipos de comunicacin...................................................................28
5.3.2.
5.4.
Hebras............................................................................................30
5.4.1.
Modelos multihebras.......................................................................31
5.4.2.
Bibliotecas de hebras.....................................................................32
5.5.
Planificacin de la CPU..................................................................33
5.5.1.
5.5.2.
Planificador de la CPU....................................................................34
5.5.3.
Criterios de planificacin.................................................................34
5.5.4.
Algoritmos de planificacin.............................................................35
5.5.5.
Sincronizacin de procesos............................................................35
5.5.6.
5.5.7.
Solucin de Peterson......................................................................37
5.6.
Semforos.......................................................................................39
5.7.
Interbloqueos..................................................................................39
5.7.1.
Condiciones necesarias..................................................................40
5.7.2.
5.7.3.
Prevencin......................................................................................41
5.7.4.
Livelock...........................................................................................42
6. Gestin de memoria.....................................................................................43
6.1.
Memoria principal...........................................................................43
6.1.1.
Fundamentos..................................................................................43
Sistemas Operativos
Intercambio.....................................................................................48
Fragmentacin................................................................................51
6.1.4.
Paginacin......................................................................................52
6.1.5.
Segmentacin.................................................................................53
6.2.
Memoria Virtual...............................................................................53
6.2.1.
6.2.2.
Paginacin......................................................................................55
6.2.3.
Segmentacin.................................................................................59
6.2.4.
7. Gestin de archivos.....................................................................................61
7.1.
Qu es un archivo?......................................................................61
7.2.
Atributos de un archivo...................................................................61
7.3.
7.4.
Tipos de archivos............................................................................62
7.5.
Estructura de archivos....................................................................63
7.6.
Introduccin de directorios..............................................................64
7.6.1.
7.7.
7.7.1.
Tipos de acceso..............................................................................65
7.7.2.
Recuperacin..................................................................................66
7.7.3.
Comprobacin de coherencia.........................................................66
7.7.4.
7.8.
Sistemas Operativos
7.8.1.
7.8.2.
Bloque de arranque........................................................................70
7.8.3.
Bloqueos defectuosos....................................................................71
8. Sistemas distribuidos...................................................................................74
8.1.
8.2.
8.3.
independientes.............................................................................................76
8.4.
10.
9.1.
9.2.
Sistemas multimedia.......................................................................79
9.3.
Sistemas de mano..........................................................................80
Proteccin y seguridad.............................................................................81
Bibliografa..........................................................................................................82
Sistemas Operativos
1. Qu es un sistema operativo?
Un sistema operativo es un programa que administra los recursos de hardware de
una computadora, proporciona bases para los programas de aplicacin y acta
como intermediario entre el usuario y el hardware. Algo destacable de un sistema
operativo es la gran variedad de formas en la que pueden ejecutar una tarea.
Los sistemas operativos son diseados para mltiples propsitos como:
computador central.
Ser prcticos, para ejecutar todo tipo de aplicaciones y un ser fciles de
1.1.
Este punto de vista vara segn la interfaz que este utilice. Generalmente un
usuario que usa una PC cuenta con un monitor, un mouse, un teclado y una
unidad de sistema. Esta clase de sistema se desarrolla para que un usuario
monopolice sus recursos y su objetivo es maximice el trabajo que est
realizando y su fcil uso, prestando atencin al rendimiento y nada a la
utilizacin de recursos.
En otros casos, los usuarios utilizan estaciones de trabajo conectadas en red a
otras estaciones de trabajo o servidores. En este caso se comparten los
recursos en ambas direcciones (usuario-estacin de trabajo), por lo que el
7
Sistemas Operativos
otros
casos,
los
usuarios
estn
conectados
mainframes
1.2.
1.3.
En los anteriores prrafos hemos abordado los puntos de vista en los que se
puede analizar un sistema operativo, pero Cmo definimos un sistema
operativo? Lastimosamente no es posible hallar una definicin adecuada.
Los sistemas operativos existen porque es la solucin ms idnea para crear
un sistema informtico utilizable. El objetivo de una computadora es ejecutar
los programas del usuario y resolver sus problemas de una forma fcil. Con
este objetivo se construye el hardware de la computadora, pero el acceso
directo a este no es fcil. Con este se desarrollan los programas de aplicacin,
que requieren de ciertas operaciones como las que realizan los dispositivos
E/S. Estos a su vez requieren ser controlados, siendo ah donde interviene el
sistema operativo.
8
Sistemas Operativos
2. Historia
El concepto de sistema operativo surge en la dcada de los 50. El primero de la
historia fue creado en 1956 para un ordenador IBM 704, y bsicamente lo nico
que haca era comenzar la ejecucin de un programa cuando el anterior
terminaba.
En los aos 60 se produce una revolucin en el campo y aparecen conceptos
como sistema multitarea, sistema multiusuario, sistema multiprocesadores y
sistema en tiempo real. Es en esta dcada cuando aparece UNIX, la base de la
gran mayora de los sistemas operativos que existen hoy en da.
En los aos 70 se produce un boom en cuestin de ordenadores personales,
acercando estos al pblico general de manera impensable hasta entonces. Esto
hace que se multiplique el desarrollo, crendose el lenguaje de programacin C
(diseado especficamente para reescribir por completo el cdigo UNIX).
Como consecuencia de este crecimiento exponencial de usuarios, la gran mayora
de ellos sin ningn conocimiento sobre lenguajes de bajo o alto nivel, hizo que en
los aos 80, la prioridad a la hora de disear un sistema operativo fuese la
facilidad de uso, surgiendo as las primeras interfaces de usuario. En los 80
nacieron sistemas como MacOS, MS-DOS, Windows.
En la dcada de los 90 hace su aparicin Linux, publicndose la primera versin
del ncleo en septiembre de 1991, que posteriormente se unira al proyecto GNU,
un sistema operativo completamente libre, similar a UNIX, al que le faltaba para
funcionar un ncleo funcional.
Sistemas Operativos
10
Sistemas Operativos
tiempo
compartido
la
multiprogramacin
requieren
mantener
gestin de
3.1.
Sistemas Operativos
diferentes
conectadas
en
una
red.
Se
pueden
otros procesos.
Deteccin de errores: El sistema necesita detectar los posibles errores
(en hardware, dispositivos de E/S o programas de usuario). Para cada
tipo de error, el sistema operativo debe llevar a cabo la accin
apropiada para asegurar un funcionamiento correcto y coherente.
Hay disponibles otras funciones que no son pensadas para el usuario, pero
que le ayudan a garantizar la eficiencia del sistema como.
Sistemas Operativos
3.2.
Kernel
implementar
servicios
bsicos
13
como
espacios
de
direcciones,
Sistemas Operativos
3.3.
Llamadas a un sistema
Las llamadas al sistema proporcionan una interfaz con la que se puede invocar
a servicios que el sistema operativo ofrece. Estas llamadas, generalmente,
estn disponibles como rutinas escritas en C y C++, aunque determinadas
tareas de bajo nivel pueden necesitar escribirse en lenguaje ensamblador.
Un programador utiliza una interfaz programacin de aplicaciones o API. La
API especifica un conjunto de funciones que el programador de aplicaciones
puede usar, indicndose los parmetros que hay que pasar a cada funcin y
los valores de retorno que el programador debe esperar.
El sistema de soporte de tiempo de ejecucin de la mayora de lenguajes de
programacin proporciona una interfaz de las llamadas al sistema que sirve
como enlace con las llamadas al sistema disponibles en el sistema operativo.
La interfaz de llamadas del sistema intercepta las llamadas a funcin dentro de
las API e invoca la llamada del sistema necesaria. Cada llamada al sistema
tiene asociado un nmero y la interfaz de llamadas al sistema mantiene una
14
Sistemas Operativos
tabla indexada segn dichos nmeros. Con esta tabla invoca la llamada
necesaria del kernel del sistema operativo y devuelve el estado de la ejecucin
de la llamada al sistema y a los posibles valores de retorno.
Generalmente los programadores no necesitan saber cmo se implementa el
llamado, ya que la API elimina esa necesidad. Las llamadas al sistema se
llevan a cabo de forma distinta en la computadora que se utilice. La
informacion necesaria y el tipo exacto varan segn el sistema operativo. Esta
es una de las razones por la cuales los programas diseados para un sistema
en particular no funciona en otro.
Para pasar de parmetros se emplean tres mtodos generales:
Insertndolos en la pila
3.3.1.
Tipos de llamadas
a. Control de procesos
Un programa en ejecucin necesita poder interrumpir dicha ejecucin bien
de la forma normal (end) o bien de la forma anormal (abort). Si se hace
una llamada al sistema para terminar de forma anormal el programa en
ejecucin, o si el programa tiene un problema y da lugar a una excepcin
del error, en ocasiones se produce el volcado de memoria y manda un
mensaje de error (que se escribe en la memoria y en el depurador). Esto
sirve para poder examinar el error ms tarde.
En cualquier caso, el sistema debe trasferir control al intrprete de
comandos que realiz la invocacin del programa; el interprete leer
entonces el comando. Algunos sistemas utilizan tarjetas de control para
indicar acciones especiales de recuperacin en caso de que se produzcan
errores. Una tarjeta de control es un comando que permite gestionar la
ejecucin de un proceso. Ante un error puede definir un nivel de error y de
acuerdo a ello definir el parmetro de accin.
Un proceso o trabajo ejecuta un programa puede querer cargar y ejecutar
otro
Sistemas Operativos
3.4.
Sistemas Operativos
dispositivos de almacenamiento.
Modificador de archivos: Pueden disponerse de varios editores de
texto para crear y modificar el contenido de los archivos almacenados
operativo
se
proporcionan
al
usuario
compiladores,
ejecutarlas.
Comunicaciones: Estos programas proporcionan los mecanismos para
crear conexiones virtuales entre los procesos, usuarios y computadoras.
3.5.
3.5.1.
Estructura simple
Sistemas Operativos
3.5.2.
Sistemas Operativos
3.5.3.
Microkernels
todos
los
componentes
no
esenciales
del
kernel
19
Sistemas Operativos
3.5.4.
Mdulos
Formatos
ejecutables
Kernel de
Solaris
Mdulos
STREAMS
Llamadas
al
sistema
cargables
3.6.
Modulos
miscelneos
Clases de
planificacio
n
Sistema
de
archivos
Mquinas virtuales
Esta estructura por niveles se plasma con el concepto de mquina virtual. La
idea fundamental es la de abstraer el hardware de la computadora, formando
varios entornos de ejecucin diferentes, creando as la ilusin de que cada
entorno de ejecucin est operando en su propia computadora privada. Con
tcnicas de planificacin de la CPU y las tcnicas de memoria virtual, un
sistema operativo puede crear la ilusin de que un proceso tiene su propio
20
Sistemas Operativos
3.7.
carga a la memoria
Sistemas Operativos
4.1.
En
consecuencia,
cuando
el
sistema
operativo
controla
la
Control de
sistema operativo
(modo kernel)
Control de
usuario (modo
usuario)
Se devuelve el
control al sistema
(interrupcin)
Sistemas Operativos
El modo dual nos permite proteger el sistema operativo de los usuarios que
puedan causar errores, y tambin proteger a los usuarios de errores de otros
usuarios. Esto se logra designando algunas instrucciones que puedan causar
dao como instrucciones privilegiadas, evitando as que se ejecuten en el
Figura 2 Ciclo de ejecucin.
KernelExcepcin
Modo
usuario
Retorno de la llamada al
sistema
Llamadas al sistema
Bit de modo = 1
Modo kernel
23
Figura 4 Transicin del modo usuario al modo kernel
Bit de modo = 1
Bit de modo = 0
Sistemas Operativos
4.2.
Temporizador
5. Gestin de procesos
5.1.
Concepto de proceso
Una pregunta que surge cuando se estudian los sistemas operativos es como
llamar a las diversas actividades de la CPU. Los sistemas de procesamiento
por lotes ejecutan trabajos, mientras que un sistema de tiempo compartido
tiene programas de usuario o tareas. Incluso en un sistema monousuario,
como Microsoft Windows, el usuario puede ejecutar varios programas al
mismo tiempo: un procesador de textos, un explorador web y un programa de
correo electrnico. Incluso aunque el usuario pueda ejecutar solo un programa
cada vez, el sistema operativo puede tener que dar soporte a sus propias
actividades internas programadas, como los mecanismos de gestin de la
24
Sistemas Operativos
5.2.
Planificacin de procesos
Sistemas Operativos
procesos con tanta frecuencia que los usuarios puedan interactuar con cada
programa mientras este se ejecuta. Para conseguir estos objetivos, el
planificador de procesos selecciona un proceso disponible para ejecutar el
programa en la CPU. En los sistemas de un solo procesador, nunca habr ms
de un proceso en ejecucin: si hay ms procesos tendrn que esperar hasta
que la CPU este libre y se pueda asignar a otro proceso.
5.2.1.
Tipos de planificacin
llama agendador.
A corto plazo: Decide cmo compartir momento a momento al equipo
entre todos los procesos que requieren de sus recursos, especialmente
26
Sistemas Operativos
5.3.
5.3.1.
Tipos de comunicacin
27
Sistemas Operativos
entregado.
Directa: Las primitivas enviar y recibir explicitan el nombre del proceso
con el que se comunican. Ejemplo: enviar (mensaje, A) enva un
mensaje al proceso A. Es decir se debe especificar cul va a ser el
mensaje.
Indirecta: Es aquella donde la comunicacin est basada en una
herramienta o instrumento ya que el emisor y el receptor estn a
distancia.
Simtrica: Todos los procesos pueden enviar o recibir. Tambin llamada
servidores en Internet.
Uso de buffers automtico: El transmisor se bloquea hasta que el
receptor recibe el mensaje (capacidad cero).
5.3.2.
servidor
La arquitectura cliente-servidor es un modelo de aplicacin distribuida en el
que las tareas se reparten entre los proveedores de recursos o servicios,
llamados servidores, y los demandantes, llamados clientes. Un cliente
realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta
idea tambin se puede aplicar a programas que se ejecutan sobre una sola
28
Sistemas Operativos
29
Sistemas Operativos
5.4.
Hebras
Sistemas Operativos
5.4.1.
Modelos multihebras
bloqueante al sistema.
Uno a uno: Cada hilo es ejecutado como un proceso ligero (lightweight
process o LWP); podra dar la impresin de que este esquema
desperdicia la principal caracterstica de los hilos, que es una mayor
sencillez y rapidez de inicializacin que los procesos, sin embargo, la
informacin de estado requerida para crear un LWP es mucho menor
que la de un proceso regular, y mantiene como ventaja que los hilos
continan compartiendo su memoria, descriptores de archivos y dems
estructuras. Este mecanismo permite a los hilos aprovechar las ventajas
del paralelismo, pudiendo ejecutarse cada hilo en un procesador
31
Sistemas Operativos
las
principales
5.4.2.
Bibliotecas de hebras
Sistemas Operativos
Sin embargo, puesto que en la mayora de los casos la JVM se ejecuta por
encima del sistema operativo del host, la API de hebras Java se
implementa habitualmente usando una biblioteca de hebras disponible en
el sistema host. Esto significa que normalmente en los sistemas Windows,
las hebras Java se implementa usando la API de Win32, mientras que en
los sistemas Linux se suelen implementar usando Pthreads.
5.5.
Planificacin de la CPU
5.5.1.
proceso.
Rfagas de E/S: es el ciclo en donde se utilizan o esperan los
dispositivos de Entrada y Salida.
Primero se realiza una rfaga de CPU, y luego una rfaga de E/S, luego
una rfaga de CPU, luego una de E/S, luego una de CPU, y otra de E/S, y
as indefinidamente hasta que el programa se le pida terminar, en este
caso, la ltima rfaga es de CPU, puesto que se necesitan las
instrucciones de cerrar.
5.5.2.
Planificador de la CPU
33
Sistemas Operativos
5.5.3.
Criterios de planificacin
procesos listos.
El tiempo de respuesta, el tiempo transcurrido desde la presentacin de
una solicitud hasta que se produce la primera respuesta.
5.5.4.
Algoritmos de planificacin
El planificador a corto plazo puede ser invocado cuando un proceso se
encuentra en algunas de las cuatro siguientes circunstancias:
a. Pasa de estar ejecutando a estar en espera (por ejemplo, por solicitar
una operacin de E/S, esperar a la sincronizacin con otro proceso,
etc.)
b. Pasa de estar ejecutando a estar listo (por ejemplo, al ocurrir una
interrupcin. Deja de estar en espera a estar listo (por ejemplo, al
finalizar la operacin de E/S que solicit).
c. Finaliza su ejecucin, y pasa de ejecutando a terminado.
d. En el primer y cuarto casos, el sistema operativo siempre tomar el
control; un sistema que opera bajo multitarea preventiva implementar
tambin el segundo y tercer casos, mientras que uno que opera bajo
multitarea cooperativa no necesariamente reconocer dichos estados.
34
Sistemas Operativos
5.5.5.
Sincronizacin de procesos
35
Sistemas Operativos
que
permitan
bloquear
suspender
bajo
determinadas
Seales
Tuberas
Semforos
Mutex y variables condicionales
Paso de mensajes
5.5.6.
36
Sistemas Operativos
5.5.7.
Solucin de Peterson
Bandera[0] = false
bandera[1] = false
turno
=0
p0: bandera[0] = true
p1: bandera[1] = true
turno = 1
turno = 0
while( bandera[1] && turno == 1 );
while( bandera[0] && turno ==
0 );
//no hace nada; espera.
espera.
// seccin crtica
// seccin crtica
Sistemas Operativos
5.6.
Semforos
Sistemas Operativos
5.7.
Interbloqueos
39
Sistemas Operativos
5.7.1.
Condiciones necesarias
simultneamente.
Condicin de retencin y espera: Al menos un proceso Pi ha
adquirido un recurso Ri, y lo retiene mientras espera al menos un
5.7.2.
40
Sistemas Operativos
5.7.3.
Prevencin
5.7.4.
Livelock
Sistemas Operativos
6. Gestin de memoria
6.1.
Memoria principal
6.1.1.
Fundamentos
Sistemas Operativos
6.1.1.1.
Hardware bsico
Sistemas Operativos
6.1.1.2.
Reasignacin de direcciones
44
Sistemas Operativos
6.1.1.3.
Sistemas Operativos
6.1.1.4.
Carga dinmica
6.1.1.5.
Montaje
dinmico
bibliotecas
compartidas
Algunos sistemas operativos solo permiten el montaje esttico,
mediante el cual las bibliotecas de lenguaje del sistema se tratan como
cualquier otro modulo objeto son integradas por el cargador dentro de la
46
Sistemas Operativos
47
Sistemas Operativos
6.1.2.
Intercambio
Un proceso debe estar en memoria para ser ejecutado. Sin embargo, los
procesos pueden ser intercambiados temporalmente, sacndolos de la
memoria y almacenados en un almacn de respaldo y volvindolos a llevar
luego a memoria para continuar ejecucin.
Los mecanismos de intercambio requieren un almacn de respaldo, que
normalmente ser un disco suficientemente rpido. El disco debe ser
tambin lo suficientemente grande como para poder albergar copias de
todas las imgenes de memoria para todos los usuarios, y debe
proporcionar un acceso directo a esas imgenes de memoria. El sistema
mantiene una cola de procesos preparados que consistir en todos los
procesos cuyas imgenes de memoria se encuentren en el almacn de
respaldo o en la memoria y estn listos para ejecutarse.
Para que este mtodo se efectivo, el usuario debe mantener informado al
sistema acerca de cualquier cambio que se produzca en los que se refiere
a los requisitos de sistema. As, un proceso con requisitos de memoria
dinmicos necesitar ejecutar una llamada al sistema ( request memory
un
proceso,
deberemos
asegurarnos
de
que
est
6.1.2.1.
Sistemas Operativos
6.1.2.2.
de
6.1.2.3.
Asignacin de memoria
Sistemas Operativos
grande.
Mejor ajuste: Se asigna el agujero ms pequeo que tenga el
tamao suficiente. Esto hace que se genere el agujero ms
pequeo posible con la memoria que sobre del agujero original.
50
Sistemas Operativos
6.1.3. Fragmentacin
Tanto la estrategia del primer ajuste como la de mejor ajuste para la
asignacin de memoria sufren del problema denominado fragmentacin
externa. A medida que se cargan procesos en memoria y se los elimina,
el espacio de memoria libre se descompone en una serie de fragmentos
de pequeo tamaos. El problema de la fragmentacin externa aparecer
cuando hay un espacio de memoria total suficiente como para satisfacer
una solicitud, pero estos espacios disponibles no son contiguos; el
espacio de almacenamiento est fragmentado puede llegar a ser muy
grave. En el peor de los casos, estos pequeos fragmentos de memoria
estuvieran en un nico bloque libre de gran tamao. Podramos ser
capaces de ejecutar varios procesos ms.
Una solucin al problema de la fragmentacin externa consiste en la
compactacin. El objetivo es mover el contenido de la memoria con el
fin de situar toda la memoria libre de manera contigua, para formar un
nico bloque de gran tamao.
6.1.4.
Paginacin
51
Sistemas Operativos
6.1.5.
Segmentacin
6.2.
Memoria Virtual
52
Sistemas Operativos
6.2.1.
Sistemas Operativos
Sistemas Operativos
6.2.2.
Paginacin
6.2.2.1.
Sistemas Operativos
puede ser
6.2.2.2.
Una desventaja del tipo de tablas de pginas que hemos visto es que
su tamao es proporcional al espacio de direcciones virtuales.
Una estrategia alternativa al uso de tablas de pginas de uno o varios
niveles es el uso de la estructura de tabla de pginas invertidas.
56
Sistemas Operativos
6.2.2.3.
6.2.2.4.
Tamao de pgina
Sistemas Operativos
6.2.3.
Segmentacin
58
Sistemas Operativos
6.2.4.
Pa
gi
na
ci
n
y
ms
Sistemas Operativos
7. Gestin de archivos
Es el aspecto ms visible de un sistema operativo proporciona los mecanismos
para el almacenamiento en lnea en datos y programas del propio sistema
operativo y para todos los usuarios del sistema informtico, as como el acceso a
esos datos y programas
7.1.
Qu es un archivo?
7.2.
Atributos de un archivo
archivos
Ubicacin: Nos hace referencia a la direccin que podemos encontrar
Tamao: atributo que puede ser medido en (bytes, palabras o bloques)
Proteccin: informacin de control de acceso que determina quin
puede leer el archivo, escribir, ejecutarlo, etc.
60
Sistemas Operativos
7.3.
7.4.
Tipos de archivos
Una tcnica comn para implementar los archivos consiste en incluir el tipo
como parte del nombre del archivo
El nombre se divide en dos partes: un nombre y una extensin, usualmente
separadas por un carcter punto, de esta manera el usuario y el sistema
operativo pueden determinar, con solo analizar el nombre, cual es el tipo de
archivo.
61
Sistemas Operativos
Tipo de archivo
Extensin usual
Exe, com, bin
Ejecutable
Objeto
Cdigo fuente
Procesamiento por
maquina
para
Obj, o
C, cc, java, pas, asm
compilado y no montado
Cdigos
fuentes
en
Bat, sh
diversos lenguajes
Comandos
para
Txt, doc
interprete de comandos
Datos
textuales,
documentos
Diversos formatos
de
procesamientos
de
Procesador de textos
biblioteca
listos
ejecutarse
Lenguaje
lotes
Texto
Funcin
Programas en lenguaje
maquina
textos
Biblioteca de rutina para
los programadores
Archivo ASCII o binario
Impresin o
en un formato adecuado
visualizacin
para
Arc, zip, tar
su
impresin
visualizacin
Archivos
relacionados
agrupados en un nico
archivo, algunas veces
Archivado
comprimido,
archivado
Mpeg, mov, rm, mp3, avi
Multimedia
para
definitivo
almacenamiento
Archive
binario
su
o
que
contiene informacin de
audio
7.5.
Estructura de archivos
Los tipos de archivo tambin pueden usarse para indicar la estructura interna
del archivo.
Los archivos fuente y objeto tiene estructura que se corresponden con las
expectativas de los programas que se van a encargar de leerlos. Adems
62
Sistemas Operativos
7.6.
Introduccin de directorios
El directorio puede considerarse como una tabla de smbolos que traduce los
nombres de archivos a sus correspondientes entradas de directorios.
Queremos
poder
insertar
entradas,
borrar
entradas,
buscar
entrada
7.6.1.
directorio
Borrar un archivo: Cuando un archivo ya no es necesario, queremos
63
Sistemas Operativos
la estructura de directorio.
Recorrer el sistema de archivos: Puede que queramos acceder a
todos los directorios y a todos los archivos contenidos dentro de una
estructura de directorios. Para conseguir una mayor fiabilidad, resulta
conveniente guardar el contenido y la estructura de todo el sistema de
archivos a intervalos regulares. A menudo, esto se suele hacer copiando
todos los archivos en una cinta magntica. Esta tcnica proporciona una
este mecanismo
Proteccin: Cuando se almacena la informacin en un sistema
informtico, necesitamos protegerla frente a los daos fsicos (fiabilidad)
y frente a los accesos incorrectos (proteccin). La fiabilidad se
proporciona, generalmente, mediante copias duplicadas de los archivos.
La mayora de las computadoras tienen programas del sistema que
copian automticamente(o mediante intervencin del operador) los
archivos del disco en una cinta a intervalos regulares (una vez al da, o
a la semana o al mes), para mantener una copia por si acaso resultara
destruido accidentalmente el sistema de archivos
7.7.
7.7.1.
Tipos de acceso
64
Sistemas Operativos
posible reutilizacin
Listado: Listado del nombre y atributos del archivo
7.7.2.
Recuperacin
7.7.3.
Comprobacin de coherencia
principal
esta,
generalmente,
ms
actualizada
que
la
Sistemas Operativos
7.7.4.
Sistemas Operativos
7.8.
7.8.1.
67
Sistemas Operativos
calculado son diferentes, esa diferencia indica que el rea de datos del
sector se ha corrompido y que el sector de disco puede ser defectuoso.
El cdigo de correccin de errores contiene suficiente informacin como
para que, en caso de que solo unos bits de datos se haya corrompido, la
controladora puede identificar que bits han sido modificados y calcular
cuales deberan ser sus valores correctos. En este caso, la controladora
informara de que se ha producido un error blando recuperable. La
controladora realizara automticamente el procesamiento del cdigo de
correccin de errores cada vez que se lee o se escribe un sector
La mayora de discos duros se formatean a bajo nivel en la fbrica como
parte del proceso de fabricacin. Este formateo permite al fabricante probar
el disco e inicializar el mapeo entre los numero de bloque lgicos y
sectores libres de defectos en el disco. En muchos discos duros, cuando se
ordena la controladora de discos realizar un formateo de bajo nivel del
disco, tambin se la puede decir cuntos bytes de datos debe dejar entre la
cabecera y la cola de cada sector.
Normalmente, es posible elegir entre unos cuantos tamaos, como ejemplo
256, 512 y 1024 bytes. Formatear un disco con un tamao de sector ms
grande implica que en cada pista cabrn menos sectores, pero tambin se
escribirn menos cabeceras y colas en cada pista y que habr ms espacio
disponible para los datos del usuario. De todos modos, algunos sistemas
operativos solo pueden admitir un tamao de sector igual a 512 bytes.
68
Sistemas Operativos
7.8.2.
Bloque de arranque
69
Sistemas Operativos
7.8.3.
Bloqueos defectuosos
Puesto que los discos tiene partes mviles y tolerancias muy pequeas
(recuerde que el cabezal del disco vuela justo por encima de la superficie
del disco) son bastante propenso a los fallos
Algunas veces, el fallo se produce por completo, en cuyo caso ser
necesario cambiar de disco y restaurar su contenido en el nuevo disco a
partir a partir de un soporte de copia de seguridad. Los ms frecuentes que
uno de los sectores pasen a ser defectuosos se gestionan de forma
manual. Por ejemplo, el comando format de MS- DOS realiza el formateo
lgico y, como parte de dicho proceso, analiza el disco para localizar los
bloques defectuoso. Si format encuentra un bloque defectuoso, escribe un
valor especial en la entrada correspondiente de la FAT para informar las
rutinas de asignacin de que no debe utilizar dicho bloque. Si los bloques
pasan a ser defectuosos durante la operacin normal, es necesario
ejecutar manualmente un programa especial (como por ejemplo chkdsk)
para buscar los bloques defectuosos y prohibir su utilizacin, de la misma
forma que antes. Los datos que estuvieran almacenados en los que
70
Sistemas Operativos
71
Sistemas Operativos
72
Sistemas Operativos
8. Sistemas distribuidos
Un sistema distribuido es un sistema de informacin en el cual las funciones se
reparten por reas de trabajo diferentes que trabajan de forma coordinada para
asumir los objetivos que la organizacin asigna a ese sistema de informacin.
Pero no olvidemos que detrs del sistema operativo hay personas que lo usan y
los gestionan. El factor humano ser fundamental como nos cuidaremos de
recordar a lo largo del todo el diseo. Los sistemas distribuidos se encuentran
conformados por siete puntos:
donde se localizan.
Los elementos de software donde se incluyen las aplicaciones, los
servicios que ayudan a crearlas y las interfaces que ayudan a usarlas. En
este componente se integran las arquitecturas posibles para crearlas:
centralizada, batch, transaccional, cliente / servidor basado en sistema
8.1.
Sistemas Operativos
aplicaciones crticas.
Trasparencia: Se define como la ocultacin al usuario y al programador de
aplicaciones de la separacin de los componentes de un sistema
distribuido, de manera que el sistema se percibe como un todo, en vez de
una coleccin de componentes independientes. La transparencia ejerce
una gran influencia en el diseo del software de sistema.
8.2.
Sistemas Operativos
Un
sistema
operativo
distribuido
es
un
conjunto
de
computadoras
8.3.
Ventajas
de
los
sistemas
distribuidos
con
Sistemas Operativos
8.4.
Aunque los sistemas distribuidos tienen sus aspectos fuertes tambin tienen
sus debilidades. En esta seccin sealaremos algunas de ellas. Ya hemos
sealado el peor de los problemas el software. Con el actual estado de las
cosas no tenemos mucha experiencia en el diseo implantacin y uso del
software distribuido qu tipo de sistemas operativos lenguajes de
programacin y aplicaciones son adecuados para estos sistemas? Cunto
deben saber los usuarios de la distribucin? Qu tanto debe hacer el sistema
y qu tanto deben hacer los usuarios? Los expertos tienen sus diferencias.
Mientras se realice ms investigaciones a este problema, disminuir pero por
el momento no puede subestimarse.
Un segundo problema potencial es el debido a las redes de comunicacin.
Estas pueden perder mensajes lo cual requiere un software especial para su
manejo y puede verse sobrecargado. Al saturarse la red sta debe
remplazarse o aadir una segunda. En ambos casos hay que tender cables en
una parte de uno o ms edificios con gran costo o bien hay que remplazar las
tarjetas de interfaz de la red (por ejemplo por fibras pticas). Una vez que el
sistema llega a depender de la red la prdida o saturacin de sta puede
negar algunas de las ventajas que el sistema distribuido deba conseguir. Por
ltimo el hecho ya descrito de que los datos sean fcil de compartir es una
ventaja pero se puede convertir en un arma de dos filos si las personas
pueden tener acceso a los datos en todo el sistema entonces tambin pueden
tener acceso a datos con los que no tienen nada que ver. En otras palabras, la
seguridad es con frecuencia un problema. Para que los datos se mantengan
en secreto a toda costa es preferible tener una computadora personal aislada
76
Sistemas Operativos
77
Sistemas Operativos
9.1.
sistemas
embebidos
varan
considerablemente.
Algunos
son
9.2.
Sistemas multimedia
Una tendencia innovadora sobre los sistemas informticos son los sistemas
multimedia, en los cuales se utilizan los datos multimedia. Los datos
multimedia abarcan tanto archivos de audio y vdeo, como archivos
convencionales. Estos datos difieren de los convencionales en que los datos
multimedia deben suministrarse cumpliendo ciertas restricciones de tiempo.
La palabra multimedia describe un amplio rango de aplicaciones que hoy en
da son de uso popular. Incluye los archivos de audio, las pelculas de DVD, la
videoconferencia y las secuencias de vdeo con anuncios de pelculas o
noticias que los usuarios descargan a travs de Internet. Las aplicaciones
multimedia tambin pueden incluir webcast en directo de conferencias o
78
Sistemas Operativos
9.3.
Sistemas de mano
Los sistemas de mano incluyen los ADP (asistente digital personal), tales
como los Palm y Pocket-PC, y los telfonos mviles, muchos de los cuales
usan
sistemas
operativos
embebidos
de
propsito
especial.
Los
pequeas.
Velocidad: Otra dificultad que presentan los sistemas de manos es la
velocidad del procesador usado en los dispositivos. Los procesadores de la
mayor parte de los dispositivos de mano funcionan a una fraccin de la
velocidad de un procesador tpico para PC. Los procesadores requieren
mayor cantidad de energa cuanto ms rpidos son. Para incluir un
procesador ms rpido en un dispositivo de mano sera necesaria una
batera mayor, que ocupara ms espacio y tendra que ser recargada
constantemente.
Problemas E/S: La falta de espacio fsico limita los mtodos de entrada a
pequeos teclados, sistemas de reconocimiento de escritura manual o
pequeos teclados basados en pantalla. Tareas tan familiares como leer un
correo electrnico o navegador por diversas pginas web se tienen que
condensar en pantallas muy pequeas.
79
Sistemas Operativos
Bibliografa
80
Sistemas Operativos
81