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.
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.
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
0
3
9
16 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.
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.
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.
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
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.
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 (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.
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
La paginación es una estrategia de organización de la memoria que consiste en dividir la memoria en porciones de igual tamaño, a dichas porciones se las conoce como marcos de página o simplemente como páginas. Las páginas están definidas por un número de página, que identifica de forma única a cada página (dentro del espacio de memoria de un proceso). Cada página se asigna en exclusividad a una tarea que esta de igual manera se pagina.
Segmentacion
La segmentación es la división lógica de las tareas, la tarea se segmenta y el segmento se pagina, esto funciona o se ve principalmente en programas como un reproductor de música no se ejecuta todo el programa sino el inicio y si se necesita se llama el resto del programa.
Paginacion por demanda
La paginación por demanda es un sistema de paginación con el cual, además de las ventajas de la paginación convencional, se busca disminuir los tiempos de respuesta y aumentar la cantidad de programas en memoria. Para lograr estos objetivos se hace uso de un intercambiador perezoso (llamado paginador) el cual carga a memoria solo las páginas que serán utilizadas por el programa en ejecución, de esta manera se logra un menor tiempo de carga y un ahorro en cuanto a espacio utilizado por dicho programa, ya que, por un lado, no necesitamos que todo el programa este en memoria para comenzar su ejecución mientras que, por otra parte, al no estar el programa completo en memoria, disminuimos considerablemente el espacio que éste ocupa.
Ya que el paginador solo busca las páginas que se necesitan para ejecutar algún programa, debemos agregar un bit que nos diga si las referencias de memoria son válidas o no, de lo contrario, al no encontrar una página no podríamos diferenciar si el paginador aún no la carga o si esta es realmente una referencia inválida.
El proceso que se sigue es el siguiente:
-Se intenta leer la página requerida
-Si la página requerida ya esta en memoria, simplemente se lee.
-Si no está en memoria, revisa si la referencia es válida.
-Si la referencia es inválida, se aborta.
-Si la referencia es válida, se intenta cargar la página.
-Cuando la página sea cargada, se reintenta la instrucción.
Las particiones dinámicas son variables en número y longitud, esto quiere decir que cuando se carga un proceso a memorial principal se le asigna el espacio que necesita en memoria y no más. Esta partición comienza siendo muy buena pero en el trascurso de uso deja un gran número de huecos pequeños en la memoria lo cual se le denomina fragmentación externa y la memoria se comienza a comportar como fija ya que el espacio asignado por la anterior tarea no cambia si no queda igual.
Técnicas de Asignación de memoria
1er Ajuste
Se encarga de particionar la memoria y llenar de manera rápida la memoria, es un ajuste de rapidez
Mejor ajuste
Se encarga de poner las tareas en mejores espacios por lo cual proporcionando que la memoria tenga muy poca fragmentacion, es un ajuste de optimista
peor ajuste
Asigna tareas muy pequeñas en espacios muy grandes, usado para tener precisión, se utilizo en el lenguaje falscran en el viaje a la luna.
Siguiente ajuste
Se asigna una tarea, la siguiente tarea a asignar se evalúa desde la siguiente partición a la tarea anterior no desde el inicio de la memoria
Casos de eliminación
Las tareas al terminar su proceso de memoria y al salir en dinámicas ocurren tres casos
1-- Entre 2 espacios ocupados: 1 libre
2- Entre 1 espacio ocupado y 1 vació: une 2 particiones
3- Entre dos espacios de memoria Vacíos: une 3 particiones
Dinámicas re localizables
El administrador de memoria re localizar los programas para reunir los bloques vacíos y los compacta para hacer un bloque de memoria lo bastante grande, lo que permite que la fragmentacion externa se elimine entre tareas lo que da un mejor funcionamiento a la memoria, menor fragmentacion mas espacios para tareas.
Este proceso se ejecuta por 3 razones
1-Tiempo
2-% de memoria
3- Tareas en cola
La creación de las particiones fijas trago consigo una gran evolución al diseño de la memorias ya que estas particiones permitían ingresar mas tareas en cada fragmento de la memoria lo que evoluciona o trajo el termino multi tarea, una sola partición fija de un tamaño predeterminado realizaba una tarea y estos tamaños se podían asignar cuando se reiniciaba el sistema pero durante su ejecución no se pueden cambiar, si la tarea no cumplía el tamaño establecido se mandaba a la cola o si se quería realizar se necesitaba reiniciar el sistema para asignar un espacio mas grande, y con esto trajo el termino "fragmentacion" que es el espacio de memoria que no utiliza la tarea en el recuadro o espacio de memoria asignado.
La memoria de un solo solo usuario lo que permitía que una sola tarea entrara en el espacio total de la memoria, pero si la tarea supera el tamaño de la memoria esto quedaba en cola, esto se veía principalmente en tiempos antiguos donde la memoria era muy pequeña y las tareas eran unitarias.
La memoria RAM es la memoria principal de la computadora, donde residen programas y datos, sobre la que se pueden efectuar operaciones de lectura y escritura.
La sigla RAM en inglés significa “Random Access Memory” y se traduce como “Memoria de Acceso Aleatorio”, la característica diferencial de este tipo de memoria es que se trata de una memoria volátil, es decir, que pierde sus datos cuando deja de recibir energía. Típicamente, cuando el ordenador es apagado
Memoria ROM
La memoria Rom es aquella que sirve de solo lectura, esto quiere decir solo sirve para guardar información mas no efectuar procesos y demás.
Memoria Cache
Es una memoria auxiliar de la RAM que su función es básicamente mantener de manera temporal y accesible aquellos datos que son requeridos para realizar determinadas funciones o tareas. Esta disponibilidad permite que cada programa o archivo tenga inmediato acceso a la información necesaria y pueda así dedicarse a subir el nivel de eficiencia de las funciones normales.
Memoria Virtual
La memoria virtual combina la RAM del equipo con espacio temporal en el disco duro. Cuando queda poca RAM, la memoria virtual mueve datos de la RAM a un espacio llamado archivo de paginación. Al mover datos al archivo de paginación y desde él, se libera RAM para que el equipo pueda completar la tarea.
El sistema operativo es el
programa (o software) más importante de un ordenador. Para que funcionen los
otros programas, cada ordenador de uso general debe tener un sistema operativo.
Los sistemas operativos realizan tareas básicas, tales como reconocimiento de
la conexión del teclado, enviar la información a la pantalla, no perder de
vista archivos y directorios en el disco, y controlar los dispositivos
periféricos tales como impresoras, escáner, etc.
Procesos
Crea y elimina procesos del
usuario y/o del sistema, suspende sincroniza y reanuda procesos, donde también
le asigna a estos un espacio de ejecución en la memoria RAM.
Memoria principal
Se encarga del seguimiento de
espacio y direcciones asignadas a las aplicaciones o procesos abiertos y decir que procesos se
pueden ejecutar o no.
Archivos
Se encarga de crear y eliminar
archivos, directorios y de igual manera manipularlos para guardarlos en la
memoria o lugar deseado en el sistema.
Almacenamiento secundario
El almacenamiento primario es la
memoria RAM y el secundario son discos locas o externos y el sistema se encarga
de manera para donde se manejan los procesos y archivos y decir donde se
guardan
Sistema de entrada y salida
Se encargar del manejo de
periféricos como mouse, teclado, impresoras y que no halla conflicto entre
ellos.
Redes
Permite reunir sistemas
físicamente separados y heterogéneos en un solo sistema "coherente"
Protección
Mecanismo para controlar el
acceso de programas, procesos o usuarios a los recursos de un sistema de
computador
Interprete
Interfaz entre el usuario y el
sistema operativo, con lo cual el usuario manda órdenes y el sistema lo puede
entender.