Estructura de Discos Duros y Sistemas de Archivos

Disco Duro IDE

Dispositivo electromecánico

Pequeños electroimanes

Disco cerámico recubierto de limadura magnética

1986 – Desarrollado por Western Digital.

16 megabytes por segundo

133 megabytes por segundo

Cable de datos de 40 conectores y es de forma rectangular

RPM (Revolutions per Minute)

4800 RPM, 5200 RPM y hasta 7200 RPM

Disco Duro IDE

El disco duro IDE puede tener 2 medidas:

3.5 pulgadas (3.5″), para discos duros internos para computadora de escritorio.

2.5″ para discos duros internos para computadoras portátiles Laptop ó Notebook.

Su alimentación eléctrica, el disco IDE tienen un conector de 4 contactos tipo MOLEX

El disco duro IDE se puede conectar como:

  • Maestro (Master)
  • Esclavo (Slave)

Disco Duro SATA

Creado en el año 2000

Su arquitectura es punto a punto

Utilizan cables planos y estrechos de 7 hilos

La capacidad de los discos SATA puede llegar a los 6 TB.

Son más rápidos, con velocidades de 150 a 300 MB/s

Se pueden conectar varias unidades a la vez

Mayor longitud de cable, hasta 1 metro de longitud

Disco Duro SATA

FSB (Frontal Side Bus) transporte frontal interno, esto significa velocidad de transferencia de datos del disco duro, que puede ser de 150MB/s.

CACHE acelerador, es una memoria integrada que almacenan datos frecuentemente, se mide en megabytes (MB) y lo mas común es que integren de 8 Mb

RPM (Revolutions per Minute) vueltas por minuto, determina la velocidad a que los discos internos giran cada minuto. Que pueden ser 5200 RPM y 7200 RPM.

El conector que utiliza el disco duro SATA para transmitir y recibir los datos es de con 7 pines y es de forma de letra L.

En el caso de la alimentación eléctrica, tiene un conector de 15 contactos

Disco Duro SCSI

No son muy populares a nivel doméstico

SCSI, pequeña interfase de sistema para computadora

Son utilizados por grandes empresas y sus precios son muy altos

Medida estándar que es de 3.5 pulgadas (3.5″)

Disco Duro SCSI

Su unidad de medida es: revoluciones por minuto (RPM). Este dato puede ser 10,000 RPM hasta 15,000 RPM.

Tienen la característica de que por medio de un cable es posible conectar varios dispositivos (incluso en algunos casos unidades ópticas tipo SCSI).

En el caso de la alimentación eléctrica, el disco duro SCSI tiene un conector de 4 contactos MOLEX, que también es común para discos duros IDE y unidades ópticas.

Estructura lógica de un disco duro

1.- Caras

2.- Pistas ó Cilindros

3.- Sectores

4.- «Clusters» ó racimos

5.- Sector de arranque maestro

6. FAT y copia de la FAT

7.- Directorio raíz ó «Root directory«

8.- Zona de datos

¿Qué es un Driver o Controlador?

Son programas que actúan de intermediarios entre el sistema operativo y los dispositivos o componentes del hardware de la computadora

Son muy importantes, ya que permiten que funcionen los demás dispositivos (impresora, cámara web, tarjeta gráfica, tarjeta de red, etc.) y para que el sistema operativo u otros programas se “entiendan” con ellos

¿Para qué sirven los drivers?

Los drivers o controladores permiten que el Sistema Operativo (Windows, Linux, Mac OS, etc) se comunique con el hardware o dispositivos que componen el computador.

Sin controladores, el hardware que conecte al equipo (por ejemplo, una tarjeta de vídeo o una cámara web) no funcionará correctamente.

¿Cómo podemos conseguirlos?

Antes de hacer cualquier instalación de drivers, es necesario conocer el tipo de sistema operativo que tiene la computadora y si es de 32 o 64 bits, ya que los controladores son distintos para las versiones de 32 o 64 bits de un mismo sistema operativo.

Los drivers se pueden obtener de distintas formas:

  • En el CD del fabricante.
  • Descargarlos de Internet.
  • Mediante el Administrador de Dispositivos.
  • Usando Programas de Instalación.

Tipos de Drivers o Controladores:

Entre los principales tenemos:

  • Drivers de Audio.
  • Drivers de Video.
  • LAN o Ethernet.
  • Wireless, inalámbrico o Wi-Fi.
  • USB.
  • De la BIOS.
  • Del chipset.
  • Para escáneres, impresoras, teclados, parlantes, cámaras web, etc.

Estructura del sistema

La estructura interna de los sistemas operativos pueden ser muy diferentes, ya que se debe tener en cuenta las metas de los usuarios (fácil uso, confiable, rápido, etc.) y las del sistema (fácil de diseñar, implementar y mantener, eficiente, etc.). Veremos 3 posibles diseños del sistema.

Clasificación de las estructuras.

Sistema Monolítico

Sistema en capas

Sistema con micronúcleo

Sistema Monolítico

Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde cualquier procedimiento puede invocar a otro. Ejemplos de estos sistemas pueden ser MS-DOS o Linux (aunque incluye algo de capas). Es importante tener en cuenta que ningún sistema es puramente de un tipo.

Sistema en capas

El diseño se organiza en una jerarquía de capas, donde los servicios que brinda una capa

son consumidos solamente por la capa superior. La capa 0 es del Hardware y la N es la

de los procesos de Usuario.

Estos sistemas tienen como ventaja que son modulares y la verificación se puede hacer a cada capa por separado (son más mantenibles). Sin embargo el diseño es muy costoso y es menos eficiente que el sistema monolítico ya que pierde tiempo pasando por cada capa.

Sistema con micronúcleo

La idea consiste en tener un núcleo que brinde los servicios mínimos de manejo de procesos, memoria y que provea la comunicación entre procesos. Todos los restantes servicios se construyen como procesos separados del micronúcleo, que ejecutan en modo usuario. Estos sistemas tienen como ventaja un diseño simple y funcional, que aumenta la portabilidad y la escalabilidad.

Comunicación entre procesos

Es una función básica de los sistemas operativos que provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre sí.

La comunicación puede ser

  • Síncrona: Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otro ejercicio.
  • Asíncrona: Quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.
  • Persistente: El receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación, el mensaje se almacena tanto tiempo como sea necesario para poder ser entregado (por ejemplo, un e-mail).
  • Momentánea (transient): El mensaje se descarta si el receptor no está operativo al tiempo que se realiza la comunicación. Por lo tanto no será entregado.
  • Directa: Las primitivas “enviar” y “recibir” especifican el nombre del proceso con el que se comunican.

Planificación de procesos

El sistema operativo decide:

  • Qué proceso entra en la CPU cuando ésta queda libre.
  • En qué momento el proceso que está en ejecución debe abandonar la CPU.

Procesos

Se refiere a cómo determina el sistema operativo al órden en que irá cediendo el uso del procesador a los procesos que lo vayan solicitando.

Tipos de planificación

  • Planificación a Plazo Fijo
  • Planificación Garantizada
  • Planificación del Primero en Entrar Primero en Salir (FIFO)
  • Planificación de Asignación en Rueda (RR: Round Robín)

Planificación a Plazo Fijo

El sistema debe planificar cuidadosamente sus necesidades de recursos hasta el plazo fijo, lo que se puede complicar con las demandas de recursos de nuevos procesos que ingresen al sistema.

Planificación Garantizada

El sistema debe tener un registro del tiempo de CPU que cada proceso ha tenido desde su entrada al sistema y del tiempo transcurrido desde esa entrada.

Planificación del primero en entrar primero en salir (FIFO)

Es muy simple, los procesos se despachan de acuerdo con su tiempo de llegada a la cola de listos. Una vez que el proceso obtiene la CPU, se ejecuta hasta terminar, ya que es una disciplina “no apreciativa”.

Planificación de asignación en rueda (RR: ROUND ROBÍN)

  • Los procesos se despachan en “FIFO” y disponen de una cantidad limitada de tiempo de CPU, llamada “división de tiempo”.

Si un proceso no termina antes de expirar su tiempo de CPU ocurren las siguientes acciones:

  • La CPU es apropiada.
  • La CPU es otorgada al siguiente proceso en espera.

El proceso apropiado es situado al final de la lista de finalizado.

Planificación de Procesos en un S.O.

-Conjunto de políticas y mecanismos incorporados al sistema operativo.

-Decide cuál de los procesos en condiciones de ser ejecutado conviene ser despachado.

-Su principal objetivo es aprovechar al máximo el sistema.

Procesos

-Programa en ejecución

-Tres estados en los que puede encontrarse un proceso.

-Para el control, internamente son almacenados en una lista.

-Los S.O. cuentan con un componente llamado planificador

-Todo esto estará dado por un algoritmo.

Objetivos de la Planificación de Procesos:

-Equidad

-Eficacia

-Tiempo de Respuesta

-Tiempo de Regreso

-Rendimiento

Planificación

-Es la base para lograr la multiprogramación.

-Un sistema multiprogramado tendrá varios procesos que requerirán el recurso procesador a la vez.

-Esto sucede cuando los procesos están en estado ready (pronto). Si existe un procesador disponible y existen procesos en estado ready, se debe elegir el que será asignado al recurso para ejecutar.

-El componente del sistema operativo que realiza la elección del proceso es llamada planificador

Despachador

-Módulo del SO que da el control de la CPU al proceso seleccionado por el planificador de corto plazo

-Esto implica – Cambio de contexto: Salvar registros del procesador en PCB del proceso saliente. Cargar los registros con los datos del PCB del proceso entrante. – Cambiar el bit de modo a usuario. – Saltar a la instrucción adecuada que había quedado el proceso que se asignó a la CPU (registro program counter).

-La latencia del despachador debe ser la menor posible

-El planificador es el responsable de seleccionar el próximo proceso a ejecutarse.

Planificador por Prioridad

-En este algoritmo a cada proceso se le asocia un número entero de prioridad. Mientras menor sea este entero pues mayor prioridad tiene el proceso, por lo que la esencia del algoritmo es planificar la entrada de procesos a la CPU de acuerdo a la prioridad asociada de cada uno de ellos.

-Un caso particular del algoritmo por prioridad es el SJF, donde el valor del próximo ciclo de CPU representa la prioridad. El algoritmo por prioridad corrige algunas deficiencias del SJF, particularmente el retraso excesivo de procesos largos y el favoritismo por procesos cortos.

Criterios de Planificación

-Utilización de CPU (CPU utilization): Es el porcentaje de uso (en cuanto a ejecución de tareas de usuario o del sistema que son consideradas útiles) que tiene un procesador.

Tiempo de retorno (Turnaround time): Es el intervalo de tiempo desde que un proceso es cargado hasta que este finaliza su ejecución.

Tiempo de respuesta (Response time): Es el intervalo de tiempo desde que un proceso es cargado hasta que brinda su primera respuesta. Es útil en sistemas interactivos.

Rendimiento (Throughput): Es el número de procesos que ejecutaron completamente por unidad de tiempo.

Tiempo de espera (Waiting time): Es la suma de los intervalos de tiempo que un proceso estuvo en la cola de procesos listos.

Planificación en Tiempo Real

Un sistema de tiempo real es un sistema informático que: ­ Interacciona repetidamente con su entorno físico. ­ Responde a los estímulos que recibe del mismo dentro de un plazo de tiempo determinado.

¿Qué es un proceso de tiempo real?

Un proceso de tiempo real es aquel cuya actividad tiene un plazo de finalización.

Podemos clasificar los procesos de tiempo real de diferentes maneras:

Según el plazo de tiempo:

Rígidos(hard-realtime) : se debe realizar en un plazo de tiempo determinado. Si no lo hace, deja de tener sentido. Si el plazo de tiempo para realizarla es superado el proceso se aborta. Ejemplo: Industriales ( sensores, activadores,…).

Flexibles(soft-realtime) : es deseable que se cumpla el plazo de tiempo. Ej: Videoconferencia.(Mientras más rapido vaya mejor sera la comunicacion , pero si no , nos adaptamos a ella)

Opcionales : conviene hacerla en el plazo de tiempo, pero si no es posible se puede posponer. Ej: actualización de una aplicacion/programa instalada en el ordenador.

Según la periodicidad:

Aperiódicas : se deben a sucesos externos que deben ser atendidos. El sistema operativo no sabe, a priori, cuándo van a llegar ni el tiempo que va a durar. Ej: Notificaciones de errores, Sensores de emergencia en un coche, Ventiladores para refrigeración.

Periódicas : se realizan cada cierto tiempo (actividad repetitiva). A diferencia del anterior el sistema operativo conoce a priori cuándo van a llegar y su tiempo de duración Ej: leer la temperatura de un sensor.

Clases de sistemas de tiempo real.

Según las propiedades del sistema controlado:

– Sistemas críticos y sistemas acríticos. – Sistemas con parada segura y sistemas con degradación aceptable.

– Según las propiedades del sistema de tiempo real: 

– Sistemas con tiempo de respuesta garantizado y sistemas que hacen lo que pueden (best effort). 

– Sistemas con recursos adecuados y sistemas con recursos inadecuados.

-Sistemas dirigidos por tirmpo y sistemas dirigidos por sucesos

Los métodos de planificación a utilizar en SSOO de tiempo real son:

  • Planificación apropiativa con prioridad estática: Cada proceso tiene asociado un índice de prioridad y el procesador elige aquel proceso de la lista de preparados con mayor prioridad, es el más tradicional y puede ser llevado a cabo por el procesador de un sistema que no sea de tiempo real.
  • Planificación de tablas estáticas: se conocen las actividades a realizar (todas periódicas) y se elabora un plan fijo de ejecución.
  • Planificación dinámica: Es muy parecida a la de tablas estáticas , pero también admite actividades aperiódicas. Cuando se presenta una actividad aperiódica , el planificador intenta construir un nuevo plan de ejecución que incluya a todas las actividades. Si no encuentra la solución que las englobe a todas, rechaza la actividad, que debe ser flexible u opcional. También puede retrasar alguna actividad flexible/opcional.
  • Planificación dinámica con un mejor resultado:Se utiliza para aplicaciones compuestas mayormente por actividades aperiódicas. El planificador intenta cumplir el plazo de todas las actividades asignándole a cada actividad una prioridad en base a sus características (las actividades fuera de plazo se abortan.

Planificación en sistemas multiprocesador

Los sistemas multiprocesadores son aquellos que disponen de 2 o más procesadores. Hasta el momento hemos aplicado los criterios de planificación considerando un único procesador.

Hay dos estrategias de asignación en sistemas multiprocesadores, que son:

  • Asignación estática: Cuando un proceso pasa a estado activo por primera vez, se le asigna un determinado procesador (el que menor carga de trabajo tenga en ese momento) al que se asocia hasta fin de ejecución.
  • Asignación dinámica: nuestros procesos en estado preparado pueden cambiar de procesador para pasar a estado activo si resulta que el último procesador en el que se ejecutó está ocupado y existe un procesador ocioso. Este método de asignación permite la migración de procesos de un procesador a otro.


¿Qué son los sistemas de archivos?

Un sistema de archivos son los métodos y estructuras de datos que un sistema operativo utiliza para seguir la pista de los archivos de un disco o partición.

La diferencia entre un disco o partición y el sistema de archivos que contiene es importante. Unos pocos programas (incluyendo, razonablemente, aquellos que crean sistemas de archivos) trabajan directamente en los sectores crudos del disco o partición; si hay un archivo de sistema existente allí será destruido o corrompido severamente. La mayoría de programas trabajan sobre un sistema de archivos, y por lo tanto no utilizarán una partición que no contenga uno (o que contenga uno del tipo equivocado).

Sistemas de archivos soportados por Linux

Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos. Para nuestros propósitos los más importantes son:

Ext3, Ext2, Ext, Msdos, Umsdos

Ext3

El sistema de archivos ext3 posee todas las propiedades del sistema de archivos ext2. La diferencia es que se ha añadido una bitácora (journaling). Esto mejora el rendimiento y el tiempo de recuperación en el caso de una caída del sistema. Se ha vuelto más popular que el ext2.

Ext2

El más sistema de archivos nativo Linux que posee la mayor cantidad de características. Está diseñado para ser compatible con diseños futuros, así que las nuevas versiones del código del sistema de archivos no necesitará rehacer los sistemas de archivos existentes.

Ext

Una versión antigua de ext2 que no es compatible en el futuro. Casi nunca se utiliza en instalaciones nuevas, y la mayoría de la gente que lo utilizaba han migrado sus sistemas de archivos al tipo ext2.

Adicionalmente, existe soporte para sistemas de archivos adicionales ajenos, para facilitar el intercambio de archivos con otros sistemas operativos. Estos sistemas de archivos ajenos funcionan exactamente como los propios, excepto que pueden carecer de características usuales UNIX , o tienen curiosas limitaciones, u otros inconvenientes.

msdos

Compatibilidad con el sistema de archivos FAT de MS-DOS (y OS/2 y Windows NT).

umsdos

Extiende el dispositivo de sistema de archivos msdos en Linux para obtener nombres de archivo largos, propietarios, permisos, enlaces, y archivos de dispositivo. Esto permite que un sistema de archivos msdos normal pueda utilizarse como si fuera de Linux, eliminando por tanto la necesidad de una partición independiente para Linux.

Sistemas de archivos FAT y NTFS (WINDOWS)

Más usados en Windows son :

-FAT   -NTFS

FAT

El sistema de archivos FAT se caracteriza por la tabla de asignación de archivos (FAT), que es realmente una tabla que reside en la parte «superior» del volumen. Para proteger el volumen, se guardan dos copias de la FAT por si una resultara dañada. Además, las tablas FAT y el directorio raíz deben almacenarse en una ubicación fija para que los archivos de arranque del sistema se puedan ubicar correctamente.

NTFS

Desde el punto de vista de un usuario, NTFS sigue organizando los archivos en directorios que, al igual que ocurre en HPFS, se ordenan. Sin embargo, a diferencia de FAT o de HPFS, no hay ningún objeto «especial» en el disco y no hay ninguna dependencia del hardware subyacente, como los sectores de 512 bytes. Además, no hay ninguna ubicación especial en el disco, como las tablas de FAT o los superbloques de HPFS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.