Professional Documents
Culture Documents
ndice de contenidos............................................................................................................... 1
El sistema informtico ............................................................................................................ 2
Software ............................................................................................................................. 2
Clasificacin........................................................................................................................ 2
Creacin ............................................................................................................................. 2
Licencias ............................................................................................................................. 3
El sistema Operativo .............................................................................................................. 4
Funciones ........................................................................................................................... 4
Componentes ..................................................................................................................... 5
Tipos ................................................................................................................................... 5
Gestin de procesos ........................................................................................................... 6
Estados de Procesos. Ciclo de vida ................................................................................ 7
Planificadores para la gestin de procesos ..................................................................... 8
Algoritmos de planificacin a corto plazo: ........................................................................ 9
Comunicacin y sincronizacin de procesos ................................................................ 11
Gestin de memoria .......................................................................................................... 11
Conceptos ..................................................................................................................... 12
Tcnicas de gestin de memoria ................................................................................... 13
Algoritmos de reemplazo ............................................................................................... 15
Gestin de Entrada/Salida ................................................................................................ 17
Conceptos ..................................................................................................................... 17
Tcnicas empleadas para la sincronizacin en la gestin de E/S .................................. 18
Gestin de almacenamiento .......................................................................................... 19
Estructura de directorios ................................................................................................ 30
El sistema informtico
Un sistema informtico es un conjunto de partes interrelacionadas. Un sistema informtico
tpico emplea un ordenador que usa dispositivos programables para capturar, almacenar y
procesar datos. Dicho ordenador, junto con la persona que lo maneja y los perifricos que lo
envuelven, resultan de por s un ejemplo de un sistema informtico.
Estructuralmente, un sistema informtico se puede dividir en partes, pero funcionalmente
indivisibles, en el sentido de que si se divide, pierde alguna de sus propiedades esenciales. Por
eso un sistema informtico sin alguna de sus partes no funcionar.
Software
Clasificacin
Podemos clasificar el software en tres grandes grupos:
a. Software de base: conjunto de programas necesarios para que el hardware
tenga capacidad de trabajar (hacen posible que la pantalla funcione, que
represente lo que se escribe desde el teclado, comunicarse con los perifricos,
etc.). Ejemplos: sistema operativo, intrprete, drives.
b. Software de aplicacin: programas que maneja el usuario (tratamiento de
textos, bases de datos, hojas de clculo...).
i.
De propsito general: son usados en cualquier sector productivo:
procesadores de texto, hojas de clculo, visualizadores pdf.
ii.
De propsito especfico o vertical: destinadas a un sector concreto.
iii.
De utilidades: destinado a facilitar el uso de nuestro equipo, ya sea
manejando cierto tipo de archivos, recuperando datos borrados o bien
grabando informacin en discos y otros soportes externos: Antivirus
c. Software de desarrollo: software utilizado para el desarrollo de programas
informticos. Depuradores, compiladores, ensambladores.
Creacin
La creacin de un software puede realizarse en varios lenguajes, los cuales tienen varios
niveles segn la cercana al usuario o al hardware:
1.
El lenguaje de alto nivel es aquel que se acerca ms al nivel del usuario para que ste
lo pueda entender. Ofrece herramientas como el control de flujo (Si, Si no, En caso de),
bucles (Mientras, hasta que, Para) para que el programador las incorpore a su cdigo,
facilitando el trabajo de programacin. Algunos ejemplos: JAVA, C++.
Los programas en escritos en lenguajes para ser ejecutados por el hardware deben ser
compilados /traducidos a lenguaje mquina.
2.
3.
Una vez que se programa un software en un lenguaje de alto nivel, disponemos del cdigo
fuente el programa. Este cdigo puede ser visto, estudiado y modificado utilizando el mismo
lenguaje con el que se cre y un editor de dicho lenguaje.
El Cdigo fuente, por s solo, no puede ser ejecutado por el hardware, Siendo necesario un
proceso de compilacin, traduccin a cdigo objeto. El cdigo objeto puede ser ejecutado
directamente por el hardware para el que se compil, pero no puede ser interpretado,
estudiado o modificado por el ser humano.
A la hora de distribuir software una caracterstica diferenciadora ser la posibilidad de tener
disponible o no el cdigo fuente de ese programa.
Licencias
Una licencia es un acuerdo o contrato legal entre el desarrollador, o propietario de un
programa, y el usuario final que va a hacer uso del mismo.
El autor o propietario del programa tiene unos derechos patrimoniales que puede
reservarse:
-
El sistema Operativo
Un sistema operativo es un programa o conjunto de programas de control que tiene por
objeto facilitar el uso del ordenador y conseguir que ste se utilice eficientemente.
-
Es de control ya que se encarga de gestionar los recursos hardware que requieren los
programas. Estos recursos son el procesador, la memoria principal y los perifricos.
Facilita el uso del computador ya que hace transparente al usuario las caractersticas
del hardware.
Funciones
Control de la ejecucin de los programas. Para ello, acepta los trabajos, administra la
manera en que se realizan, les asigna los recursos y los conserva hasta su finalizacin.
Administracin de memoria. Asigna memoria a los procesos y gestiona su uso.
Administracin de perifricos. Coordinando y manipulando los dispositivos conectados al
ordenador.
Gestin de permisos y de usuarios. Adjudica los permisos de acceso a los usuarios y evita
que las acciones de uno, afecte al trabajo que est realizando otro.
Control de concurrencia. Establece prioridades cuando diferentes procesos solicitan el
mismo recurso.
Control de errores. Gestiona los errores de hardware y la prdida de datos.
Control de seguridad. Debe proporcionar seguridad tanto para los usuarios como para el
software y la informacin almacenada en los sistemas.
En concordancia con dichas funciones principales, es posible analizar la estructura de un
sistema operativo en cinco niveles. Los primeros dos niveles entraran dentro de la parte del
sistema operativo dependiente del hardware, el resto de los niveles pertenecen a la parte
portable del mismo:
Nivel 1. Gestin del procesador. En este nivel se encuentra el Kernel o ncleo que es
la parte del sistema operativo encargada de la gestin de la CPU. Realiza funciones
ms especficas como:
-Conmutacin de procesos.
-Control de interrupciones.
-Manejo de condiciones de error.
Componentes
Gestor del sistema de archivos: Proporciona una vista uniforme de todas las
formas de almacenamiento, implementando el concepto de archivo como una coleccin
de bytes. Debe permitir:
- Crear, abrir, cerrar y borrar archivos
- Leer y escribir archivos
Tipos
Los Sistemas Operativos pueden clasificarse de varias formas, ya que cada uno puede tener
distintas caractersticas:
- Segn la organizacin interna del ncleo o Kernel pueden ser:
Monolticos, que no tienen una estructura bien definida, como MsDOS.
Jerrquico o multicapa, en donde la comunicacin es ms clara, como Unix.
- Segn el nmero de procesadores, pueden ser:
Monoproceso, en el cual slo se permite utilizar un procesador del ordenador.
Gestin de procesos
Un programa es un conjunto ordenado de instrucciones. Es una entidad pasiva, no
cambia, y el nico recurso que consume es memoria secundaria.
Un proceso se puede definir como un programa en ejecucin, es decir, cargado en
memoria, que en algn momento tomar el control de la CPU. Es una entidad activa, que
necesita ciertos recursos para su desarrollo como son el uso de la CPU, memoria, archivos,
dispositivos de E/S, etc.
En la ejecucin de un proceso se alternan rfagas de ejecucin en CPU y la espera de E/S.
Rfaga CPU: Tiempo de ejecucin en CPU
Rfaga E/S: Tiempo entre solicitud y terminacin de E/S.
Para maximizar la utilizacin de los recursos del sistema, en concreto de la CPU, en las
rfagas de entrada salida de un proceso, la CPU es asignada a un proceso que lo pueda
aprovechar. Por lo que los procesos irn cambiando de estado segn avanza el tiempo.
En general los procesos son implementados por los SSOO por una estructura con un
conjunto de elementos:
Bloque de Control de Procesos (PCB)
Segmento de Cdigo. Es la parte de memoria principal donde se carga el cdigo.
Segmento de Datos. Contiene las variables globales que el proceso manipula.
Segmento de Pila. Contiene los parmetros que se pasan a las funciones o
procedimientos, as como las direcciones de retorno de estas y las variables locales que tiene
cada funcin o variables locales que tiene cada funcin o procedimiento.
Cada proceso tiene un contexto, el contexto de un proceso en un cierto instante de
tiempo est formado por su espacio de direcciones (direcciones de inicio y fin de los
segmentos de cdigo, datos y pila), los contenidos de los registros hardware de la mquina y
las estructuras de datos del ncleo asociadas a dicho proceso.
A medida que el S.O. gestiona los distintos procesos, estos van pasando por una serie
de estados. En un instante dado el procesador solo puede estar usado por un proceso, que
ser el que est en estado de ejecucin. Cada uno de los procesos admitidos por el S.O. para
su ejecucin solo puede encontrarse en uno de los siguientes estados:
Nuevo. Es el primer estado de un proceso. Ocurre cuando el gestor de procesos lo
admite, y est creando todas las estructuras del proceso.
Listo o preparado. Los procesos que estn preparados y esperan a que se les asigne
el procesador.
Ejecucin. El procesador est ejecutando las instrucciones del proceso. A este estado
slo se llega desde el estado listo.
Bloqueado. El proceso est detenido esperando que finalice el evento que ha
provocado que pase a este estado, por ejemplo, una operacin de E/S. Una vez producido
esto, pasa al estado de listo.
Terminado. El proceso ha terminado de ejecutar todas las instrucciones que inclua. El
S.O. se liberar todos los recursos que le haba asignado.
En sistemas con memoria virtual adems tendremos:
Listo y Suspendido: Los procesos que estn preparados ya la espera de que se les
asigne el procesador, pero por problemas de espacio libre en la memoria virtual han pasado de
estar cargados en memoria RAM a estar en memoria secundaria. Una vez que desaparezcan
los problemas de memoria RAM libre pasarn a listos.
Bloqueado y Suspendido: Los procesos que estn detenidos esperando que finalice el
evento que ha provocado que pase a este estado, por ejemplo, una operacin de E/S. y que
por problemas de espacio libre en la memoria virtual han pasado de estar cargados en
memoria RAM a estar en memoria. Estos procesos pueden pasar a Bloqueados si desaparece
el problema de espacio libre en la RAM o a Listo y suspendido una vez que se produzca el
evento por el que esperaban.
RR ROUND ROBIN
Se intenta hacer un reparto justo en rueda, de forma que cada proceso obtiene la CPU durante
un breve espacio de tiempo llamado quantum de tiempo (q), normalmente de 10 a 100
milisegundos.
Cuando el quantum termina, el proceso es expropiado e insertado al final de la cola de
preparados.
Si el quantum es grande se convierte en el planificador FCFS. Si el quantum es pequeo se
pierde mucho tiempo en cambios de contexto. q debe ser grande con respecto al tiempo de
cambio de contexto, en otro caso la sobrecarga es muy alta.
Gestin de memoria
La memoria se asemeja a una tabla dividida en celdas de
igual tamao. Cada celda tiene una direccin fsica que la
identifica y un dato almacenado en dicha celda.
Ejercicio de ejemplo
Primer Ajuste
100K
Mejor Ajuste
100K
Peor Ajuste
100K
500K
212k
500K
417k
500K
200K
112
200K
112k
200K
300K
212k
300K
112k
600K
426k
600K
212k
300K
600K
417
417k
Conceptos
Fragmentacin: es el desaprovechamiento de partes la memoria.
o Interna: se desaprovecha zona de memoria asignada a un proceso, ya que el proceso
necesita menos memoria.
o Externa: Se desaprovechan particiones, por ser ms pequeas de lo que necesita un
proceso.
Reubicacin: Es la posibilidad de ubicar las diferentes particiones asignadas a un proceso
cada vez que se carga en ubicaciones diferentes sin afectar a su funcionamiento. Para
conseguirlo se manejan dos tipos de direcciones:
o Direccin Fsica: Posicin real del dato en la RAM.
o Direccin Lgica: posicin que maneja la CPU y que no tiene por qu coincidir con la
fsica. Es necesaria una transformacin por parte del gestor de memoria para calcular y
acceder a la direccin fsica. Consta de dos partes:
Nmero de Pgina (P) o de Segmento (S) .
Desplazamiento (D) dentro de la pgina o segmento.
.
MMU: unidad de manejo de memoria, dispositivo que traduce direcciones lgicas a fsicas
Fallo de pgina: suceso que se produce cuando se intenta acceder a una direccin lgica que
no est cargada en memoria.
Proteccin: El S.O debe asegurarse de que un proceso no accede a zonas de memoria
donde est el SO o a zonas asignadas a otros procesos.
Tanto para poder reubicar como para ofrecer proteccin, se utilizan:
Registro base: Contiene la direccin de memoria RAM, de la primera celda de las
asignadas a un proceso.
Registro lmite: contiene la direccin de la ltima celda asignada a un proceso.
Cuando un proceso intenta acceder a una direccin se comprueba que es un acceso permitido,
es decir est accediendo a su espacio de memoria, entre el registro base y el lmite.
Comparticin: La posibilidad de tener zonas a las que pueda acceder ms de un proceso.
en
de
de
en
se
Algoritmos de reemplazo
Algoritmo de reemplazo ptimo: Un algoritmo ptimo debe generar el mnimo nmero de
fallos de pgina. Por ello, la pgina que se debe reemplazar es aquella que tardar ms tiempo
en volverse a usar. Evidentemente, este algoritmo es irrealizable, ya que no se puede predecir
cules sern las siguientes pginas accedidas. El inters de este algoritmo es que sirve para
comparar el rendimiento de otros algoritmos realizables.
Supongamos un proceso al que se han asignado tres marcos de pgina en la memoria
principal. Dada una secuencia de accesos de ese proceso a pginas, la evaluacin (carga,
fallos de pgina y descarga) segn este algoritmo queda reflejada en la siguiente tabla:
Algoritmo LRU (Least Recently Used, menos recientemente usada): El algoritmo LRU est
basado en el principio de proximidad temporal de referencias: si es probable que se vuelvan a
referenciar las pginas accedidas recientemente, la pgina que se debe reemplazar es la que
no se ha referenciado desde hace ms tiempo.
Gestin de Entrada/Salida
Conceptos
Un dispositivo o perifrico es un aparato conectado al ordenador que permite intercambiar
informacin entre usuario y ordenador o entre distintos sistemas informticos.
Existe una gran variedad de dispositivos de entrada/salida, muy diferentes respecto a su
velocidad, su forma de representar la informacin, su modo de trabajar
Para compatibilizar las caractersticas de los dispositivos de E/S con las de un procesador e
intercambiar informacin entre ambos, se usan controladores de perifricos. Cada perifrico
necesita disponer de su propio controlador que puede ser ms o menos complejo.
Gestin de almacenamiento
Un sistema de archivo ( File System) es una estructura de directorios con algn tipo de
organizacin que permite almacenar, crear y borrar archivos en diferentes formatos.
Los sistemas de archivos se aplican a dispositivos de memoria secundaria que proporcionar
un almacenamiento a largo plazo de la informacin.
Un fichero es un conjunto de informaciones relacionadas entre s segn un criterio establecido
por el creador del fichero, al que se le asigna un nombre.
Independientemente del tipo de dispositivo que almacene la informacin el usuario
acceder a ella de la misma forma, ser el SO quien establecer una correspondencia
entre el fichero y su ubicacin fsica.
El gestor de archivos debe proporcionar las siguientes funcionalidades:
Administracin de archivos. Ofrece diferentes funciones para la manipulacin de
los archivos y directorios
Administracin del almacenamiento secundario. Asigna espacio en los
dispositivos de almacenamiento secundario a los archivos
Mecanismos de integridad. Proporciona mecanismos para que la informacin
almacenada en un archivo no desaparezca
Los datos se escriben a travs de los sectores en las pistas y cilindros modificando
las superficies por medio de las cabezas.
El tiempo de Lectura/ Escritura de un bloque de un disco depende de tres factores:
1. Tiempo de bsqueda. Tiempo que una cabeza necesita para ir de una pista a
otra. Depende de la distancia entre la posicin actual a la pista buscada.
2. Tiempo de latencia. Tiempo que tarda una cabeza en posicionarse, dentro de
una pista, desde el sector actual al sector deseado. Depende de la distancia
entre sectores y la velocidad de rotacin del disco.
3. Tiempo de transferencia. Tiempo en transferirse la informacin al buffer.
Algoritmos de
planificacin C- SCAN (
Exploracin circular).
Variante del algoritmo anterior. La cabeza se mueve desde un extremo a otro del disco
sirviendo las peticiones a medida que avanza. Cuando alcanza el otro extremo
retorna al extremo original sin atender peticiones.
Para el mismo ejemplo, con lista de peticiones 98,183, 37,122,14, 124, 65, 67
la grfica ahora sera:
Ante una peticin de espacio se busca en la tabla un grupo contiguo de bloques suficientes, los
asigna y actualiza la tabla.
Asignacin contina:
Asignacin Enlazada:
Cada fichero se administra como una lista enlazada de bloque de disco.Cada archivo es una
lista ligada de bloques de disco, en cada bloque existe un puntero que direcciona hacia el
bloque siguiente, el resto del bloque es usado para almacenar datos, de esta forma, todos los
bloques del disco pueden ser usados
Ventaja:
1. Al ser una lista enlazada, slo se necesita la direccin del bloque inicial, los dems
bloques pueden ser encontrados a partir del primero.
2. No desperdicia espacio, pues no requiere dejar espacios vacos para ubicacin, reubicacin o el crecimiento de archivos, lo que conlleva a un buen manejo del espacio
libre.
3. No Produce Fragmentacin externa.
Desventajas
1. Solo es eficiente para archivos de acceso secuencial, el acceso a archivo de forma
aleatoria o directa es bastante lenta, pues para leer el bloque n, se deben leer n-1
bloques antes de poder acceder al bloque deseado, lo que conlleva muchas lecturas y
por consiguiente mucho tiempo.
2. Si se pierde un puntero al siguiente bloque, se pierde acceso al resto del archivo.
3. Prdida de espacio en los bloques, debido a los punteros.
4. Prdida de eficiencia, en la lectura datos en mltiplos del tamao del bloque, pues la
cantidad de datos guardados ya no ser una potencia de 2 debido a los punteros, por
ende la cantidad de datos que caben en un bloque completo se deben distribuir entre 2,
lo que requiere una posterior concatenacin generando un overhead debido a la copia
necesaria en la operacin.
Algunos problemas de este mtodo, puede mejorarse, sacando los punteros de los bloques de
disco y ponindolos en una tabla ubicada en memoria. Aqu es donde nacen los sistemas
"FAT" o por sus siglas en ingles "File Allocation Table" (Tabla de Asignacin de Archivos),
usados en sistemas MS/DOS, OS2, Windows entre otras implementaciones en sistemas ms
actuales.
Ventajas
1. No requiere una gran tabla en memoria como en FAT: Simplemente se carga el I-nodo
de el/los archivo(s) abierto(s) en cada momento.
2. Si el nodo ocupa n bytes y se puede abrir k archivos a la vez en el sistema, solo se
requieren nk bytes en memoria. Para que nk fuese de una magnitud similar a FAT
deberan abrirse todos los archivos del disco duro a la vez. Por lo que en definitiva el
uso de memoria no depende del tamao de disco, si no de la cantidad de archivos en
uso.
3. Permite el acceso especfico del archivo.
4. Acceso Aleatorio.
5. No produce fragmentacin Externa.
Desventajas
1. Desperdicio de espacio para archivos muy pequeos.
2. Tamao de archivo limitado debido al tamao prefijado del I-nodo, para solventar esto
se usa la indireccin.
Una solucin para sobrepasar las limitaciones de tamaos de archivos es usar un nivel de
direccionamiento, reservando la ltima direccin del i-nodo no para datos, si no que para la
direccin de un bloque de indireccin que contiene ms direcciones de bloques de datos. Esta
idea, se puede extender a doble o triple indireccin.
Esquemas de particionado
El esquema de particiones hace referencia a cmo se crean las particiones, que tipo de
particiones pueden existir, cuantas se pueden crear y cmo se gestionan.
En un disco fsico podremos tener :
- Espacio particionado, (divisin del disco duro en trozos o particiones), estas
particiones sern posteriormente formateadas (sistema de archivos ) para su uso como
almacenamiento de informacin.
- Espacio sin particionar (Espacio no accesible del disco que todava no ha sido
asignado a ninguna particin).
Cada particin se comporta como una unidad de disco independiente desde el punto de vista
del SO. Cada particin podr tener un sistema de archivos distinto.
Dos esquemas posibles:
1. Master Boot Record (MBR).
1.1. Sistema tradicional y ms extendido
1.2. Soportado por todas las BIOS actuales
1.3. Tamao mximo de particin: 4TB
1.4. MBR (Master Boot Record): primer sector (de
arranque, 512 bytes) del disco guarda toda la
correspondiente a las posibles particiones del
disco y su estado.
1.5. Slo admite cuatro particiones primarias, o menos
de tres primarias y una extendida.
1.5.1. Particin primaria : trozo del disco, con su
propio sector de arranque
1.5.2. Particin extendida: trozo de disco
1.5.3. Particin lgica: trozo de disco dentro de
una particin extendida
http://archive.techarp.com/showarticle83f6.html?artno=812&p
gno=0
En Windows, ejecutando dir en la lnea de comando podemos ver los ficheros y directorios que
contiene el directorio actual:
Ya sea con el comando dir /A o con attrib podremos ver ms atributos de los ficheros: