domingo, 31 de mayo de 2015

Disco Duro

Es el dispositivo de almacenamiento de datos que emplea un sistema de grabación magnética para almacenar datos digitales. Se compone de uno o más platos o discos rígidos, unidos por un mismo eje que gira a gran velocidad dentro de una caja metálica sellada. Sobre cada plato, y en cada una de sus caras, se sitúa un cabezal de lectura/escritura que flota sobre una delgada lámina de aire generada por la rotación de los discos. Es memoria no volátil.



TIEMPOS DE ACCESO:

Tiempo de transferencia:  tiempo durante el cual los datos son realmente leídos o escritos en el disco.

Tiempo de Latencia : al llegar la cabeza a la pista que contiene el sector que buscamos esta tiene que encontrarlo. Este valor representa el tiempo medio que tarda en alcanzarse el sector requerido.


Tiempo de Busqueda:  es el tiempo que tarda un dispositivo en encontrar el primer dato que tiene que empezar a leer.

Dispositivos

Administracion de Dispositivos

La administración de dispositivos, es la administración de todos los recursos del hardware disponible, tanto los estándar que viene de fabricas, como las que se van agregando para hacer más poderosa o actualizar la PC. Todo dispositivo necesita presentarse al sistema operativo, agregando un pequeño programa que permite su uso. Este hp programa es llamado controlador. De aquí el controlador es un software que utiliza el sistema operativo para especificar de hardware, como puede ser cualquier dispositivo.

Los dispositivos dedicados: se asignan sólo a un trabajo a la vez y le sirven todo el tiempo que está activo. La desventaja de los dispositivos dedicados es que se asignan a un usuario durante todo el tiempo que dure el trabajo que realiza, esto podría resultar ineficiente y es aun más ineficiente si el dispositivo no se utiliza el 100% del tiempo.

Los dispositivos compartidos: estos se puede asignar a más de un proceso. Se puede compartir cualquier dispositivo de almacenamiento de acceso directo al entrelazar sus solicitudes, en estos casos el administrador de dispositivos tiene que controlar esta acción con bastante cuidado.

Los dispositivos virtuales: son una combinación de los dispositivos dedicados y los compartidos; son dispositivos dedicados transformados en dispositivos compartidos.

domingo, 3 de mayo de 2015

Algoritmos

NO APROPIATIVOS

Fifo

Los procesos se despachan de acuerdo con su tiempo de llegada a la cola de procesos listos. Cuando un proceso tiene la CPU, se ejecuta hasta terminar. Es junto en el sentido formal, pero algo injusta en cuanto a que los trabajos largos hacen esperar a los cortos y los trabajos sin importancia hacen esperar a los importantes. FIFO ofrece variaciones relativamente pequeñas en los tiempos de respuesta y por lo tanto es mas predecible que los otros esquemas. No es util en la planificación para los usuarios interactivos porque no puede garantizar buenos tiempos de respuesta.

características
-Es justa, aunque los procesos largos hacen esperar mucho a los cortos.
-Es una política predecible.
-El tiempo promedio de servicio es muy variable ya que esta en funcion del numero de procesos y la duración promedio que tenga.

SJR
Otro método de planificación de la CPU es el algoritmo de planificación con selección del trabajo mas corto (SJF, shortest job-first). Este algoritmo asocia con cada proceso la duración de la siguiente ráfaga de CPU del proceso. Cuando la CPU esta disponible, se asigna al proceso que tiene la siguiente ráfaga de CPU mas corta. Si las siguientes ráfagas de CPU de dos procesos son iguales, se usa la planificación FCFS para romper el empate. Observe que un termino mas apropiado para este método de planificación seria el de algoritmo de la siguiente ráfaga de CPU mas corta, ya que la planificación depende de la duración de la siguiente ráfaga de CPU de un proceso, en lugar de depender de su duración total. Usamos el termino SJF porque casi todo el mundo y gran parte de los libros de texto emplean este termino para referirse a este tipo de planificación.
Como ejemplo de planificación SJF, considere el siguiente conjunto de procesos, estando especificada la duración de la ráfaga de CPU en mili segundos:

Proceso         Tiempo de ráfaga
P1                             6
P2                             8
P3                             7
P4                             3

Usando la planificación SJR, planificaríamos estos procesos de acuerdo con el siguiente diagrama de Gantt:

P4
P1
P3
P2
03916                                         24


APROPIATIVOS

El Sistema Operativo puede expulsar del procesador un proceso en ejecución.
S.R.T : El SRT es la versión no apropiativa del algoritmo SJN. El procesador se asigna al trabajo que este por terminar, pero incluso este trabajo se puede hacer a un lado si un trabajo más reciente en la cola de LISTOS tiene un tiempo de terminación más breve.


Round Robin: es un algoritmo de planificación de procesos apropiante muy difundido en sistemas interactivos, ua que es fácil de implementar y no se basa en las caraterísticas del trabajo sino en una fracción predeterminada de tiempo que se da a cada trabajo, para asegurar que los trabajos activos compartan por igual el CPU y que ningún trabajo lo monopolice. Esta fraccion de tiempo se conoce como QUANTUM de tiempo y su tamaño es vital para el desempeño del sistema.

BANQUERO



Discos opticos

Los discos ópticos aparecieron a fines de la década de los 80’, siendo utilizado como un medio de almacenamiento de información para la televisión. Su alta capacidad y su fácil manejo, hicieron que este dispositivo se popularice y comience a comercializarse en 1988 y a utilizarse en las computadoras.

Existen 3 tipos de discos ópticos:

-Lectura solamente.
El tipo más común de disco óptico es el CD-ROM, que significa  Compact Disk-Read Only Memory (Disco Compacto - Memoria para Lectura solamente). Es exactamente igual que un CD de audio pero el formato de grabado es bastante distinto de los discos CD-ROM usados para cargar el software de las computadoras.

-Escritura única.
Los discos ópticos que puede grabar en su propia computadora son discos CD-R, DVD-R y DVD+R, llamados discos escribirles o grabables.

-Re-escritura.
Un disco re-escribible es útil, como un medio para poder hacer backups cuando necesite un almacenamiento de sus datos durante largo tiempo. Es menos eficiente para los datos que cambian con frecuencia, ya que deberá hacer un una nueva grabación cada vez que guarde sus
datos. El costo  será importante para tomar una decisión sobre el uso de dichos discos escribibles.

Funciona de esta manera

Para leer los datos en el disco, la luz del láser brilla a través del policarbonato e impacta sobre la capa de los datos. De que manera la luz del láser es reflejada o absorbida, es interpretado por la computadora como un 1 o un 0.
En un DVD la capa de los datos se encuentra en el medio del disco. En realidad un DVD tiene datos en dos capas. Puede acceder a los datos desde un lado o desde ambos lados. Es así como un DVD de doble lado y  doble capa, puede almacenar 4 veces los datos que podría guardar un
DVD con un solo lado y una sola capa.

Arreglos de discos

Un arreglo redundante de discos independientes (RAID por sus siglas en inglés) es típicamente implementado para la protección de la información o incremento del desempeño al acceso de los discos duros. Existen varios tipos de arreglos y los más usados en la industria son: 0, 1, 5 y el 0+1 ó 10, siendo este último el de mayor desempeño, protección y costo.



Multiprocesos

Es la facultad del S.O. para utilizar varios procesadores físicos en el equipo, repartiendo el tratamiento de los procesos del S.O. y las aplicaciones.

Multiproceso asimétrico:

Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como apoyo para distribuir la carga a los demás
procesadores, que reciben el nombre de esclavos.


Multiproceso simétrico

Cuando se trabaja de manera simétrica, el sistema operativo y las aplicaciones tiene sus peticiones de ejecución distribuidas en los distintos procesadores.

-Configuración Maestro/Esclavo: se define también como un proceso asimétrico

-Configuración débilmente acoplada: cada procesador mantiene sus tablas de comando y administración de entrada y salida.

-Configuración fuertemente acoplada: las aplicaciones y el S.O. Que las soportan trabajan en paralelo distribuyendo los procesos.

Para entender el mejor un video de multiprocesos.



INANICIÓN Y PARARLELISMO

Inanición
Es un problema relacionado con los sistemas multitarea, donde a un proceso o un hilo de ejecución se le deniega siempre el acceso a un recurso compartido. Sin este recurso, la tarea a ejecutar no puede ser nunca finalizada.

Comparación con interbloqueo
La inanición es una situación similar al interbloqueo, pero las causas son diferentes. En el interbloqueo, dos procesos o dos hilos de ejecución llegan a un punto muerto cuando cada uno de
ellos necesita un recurso que es ocupado por el otro. En cambio, en este caso, uno o más procesos están esperando recursos ocupados por otros procesos que no se encuentran necesariamente en ningún punto muerto.




Paralelismo

El paralelismo se basa en la informática, es una función que realiza el procesador para ejecutar varias tareas al mismo tiempo. Es decir, puede realizar varios cálculos simultáneamente, basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que son posteriormente solucionados en el paralelo.

Existen varios tipos de paralelismo, como son:

- Paralelismo independiente : no existe sincronización explícita entre los procesos. Cada uno representa una aplicación o trabajo separado e independiente. Un uso clásico de este tipo de paralelismo de dan en sistemas de tiempo compartido.

- Paralelismo de grano grueso y muy grueso : existe una sincronización entre los procesos pero a un nivel muy burdo. Este tipo de situación se maneja fácilmente con un conjunto de procesos concurrentes ejecutando en un monoprocesador multiprogramado y puede verse respaldado por un multiprocesador con escasos cambios o incluso ninguno en el software del usuario.

-Paralelismo de grano fino : significa un uso del paralelismo mucho más complejo que el que se consigue con el uso de hilos. Si bien gran parte del trabajo se realiza en aplicaciones muy paralelas, este es un campo, hasta el momento, muy especializado y fragmentado, con varias soluciones diferentes.




Un video para entender mejor la inanición y marea de resolverlo



Semaforos

Un semáforo es una variable especial o tipo de dato que se le puede asignar un valor o un conjunto de operaciones elementales para poder restringir o dar paso "garantizar" el acceso a los recursos de un sistema operativo a una tarea  o proceso con un entorno de multiprocesamiento implementado inicialmente por dijkstra en 1968.



Caracteristicas
•Dependiendo del número de recursos a gestionar, un semáforo puede ser
  1- Semáforo contador (Más de 1 recurso)
  2- Semáforo binario (1 solo recurso)
•Un semáforo se constituye por dos métodos elementales
  - wait()
  Si el valor del semáforo es mayor a cero, indica que un proceso más puede acceder al recurso, el   contador del semáforo se disminuye en uno, y el proceso continúa con éxito. Si el semáforo es   cero, el proceso queda esperando hasta que es despertado por otro proceso.
  - signal()
  Cuando el proceso ha terminado de utilizar el recurso, éste lo indica al semáforo mediante signal(), el   que aumenta el valor del semáforo en 1. Si existe algún proceso esperando su turno para utilizar el   recurso, el proceso que finaliza puede despertarlo, o, de lo contrario, se incrementa el contador.

Observaciones
•Cuando se crea un semáforo, se pueden inicializar su valor con cualquier entero, pero después de eso las únicas que pueden hacerlo son los incrementos y decrementos en una unidad.
•Si los procesos no indican al semáforo el término del uso del recurso protegido, puede provocarse un bloqueo.
•No hace falta que un proceso libere su propio recurso, sino que la operación signal() puede ser ejecutada por otro proceso.
•Un semáforo simple no es suficiente para imponer un orden de acceso a los recursos.



Bloqueo Mutuo

Es el bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por recursos del sistema o bien se comunican entre ellos. A diferencia de otros problemas de concurrencia de procesos, no existe una solución general para los interbloqueos.


CONDICIONES NECESARIAS PARA QUE EXISTA UN BLOQUEO

CONDICIÓN DE EXCLUSIÓN MUTUA:
Existencia de al menos de un recurso compartido por los procesos, al cual sólo puede acceder uno simultáneamente.
         
 CONDICIÓN DE RETENCIÓN Y ESPERA:
 Los procesos mantienen los recursos que ya les habían sido asignados mientras esperan recursos adicionales.
         
 CONDICIÓN DE NO EXPROPIACIÓN:
 Los recursos no pueden ser expropiados por los procesos, es decir, los recursos sólo podrán ser liberados voluntariamente por sus propietarios.
         
 CONDICIÓN DE ESPERA CIRCULAR:
 Existe una cadena circular de procesos en que cada uno mantiene a uno o más recursos que son requeridos por el siguiente en la cadena.

CASOS DE BLOQUEO MUTUO
Un bloqueo mutuo suele ocurrir cuando recursos no compartibles como archivos, impresoras o escáneres, se asignan trabajos que requieren de otros recursos compatibles: recursos que han sido bloqueados por otros trabajos.
También puede ocurrir en recursos compartibles como discos y bases de datos.


Cisc y Risc


-CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo.
Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operando situados en la memoria o en los registros internos, en contraposición a la arquitectura RISC.
Este tipo de arquitectura dificulta el paralelismo entre instrucciones

-RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.
En la arquitectura computacional, RISC (del inglés reduced instruction set computer) es un tipo de
microprocesador con las siguientes características
fundamentales:
-Instrucciones de tamaño fijo y presentadas en un
reducido número de formatos.
-Sólo las instrucciones de carga y
almacenamiento acceden a la memoria de datos.



Historia
Una de las primeras decisiones a la hora de diseñar un microprocesador es decidir cuál
será su juego de instrucciones.

-Primero: el juego de instrucciones decide el diseño físico del conjunto

-Segundo: cualquier operación que deba ejecutarse en el microprocesador deberá poder ser descrita en términos de un lenguaje de estas instrucciones.

Frente a esta cuestión caben dos filosofías de diseño; máquinas denominadas CISC y máquinas denominadas RISC. Hasta hace solo algunos años, la división era en que RISC se utilizaba para entornos de red, mientras que CISC se aplicaba en ordenadores domésticos.




Procesos



Un proceso es una tarea en ejecución, no todo lo que esta en la memoria se procesa
- Al terminar la tarea se puede por dos opciones, puede llegar bien o se aborta.
- El Bloqueo se produce el 90% por la intervención de un humano, y el 10% por la memoria virtual
- Hasta que no se haga algo no se sale del bloqueo