Sistema operativo I
- ingenierias2401
- 25 oct 2015
- 4 Min. de lectura

Es difícil definir qué es un sistema operativo aparte de decir que es el software que se ejecuta en modo kernel (además de que esto no siempre es cierto). Parte del problema es que los sistemas operativos realizan dos funciones básicas que no están relacionadas: proporcionar a los programadores de aplicaciones un conjunto abstracto de recursos simples, en vez de los complejos conjuntos de hardware; y administrar estos recursos de hardware. Dependiendo de quién se esté hablando, el lector podría escuchar más acerca de una función o de la otra.
Todos los sistemas operativos utilizan una interfaz gráfica de usuario. Es decir, aquello que les permite a las personas utilizar el ratón para hacer clic sobre los iconos, botones o interactuar con cualquier otro elemento que te permita ejecutar acciones o tareas. Así es como le ordenamos al computador lo que debe hacer.
MEMORIA: La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.
-Memoria RAM: Es un tipo de memoria de ordenador a la que se puede acceder aleatoria mente; es decir, se puede acceder a cualquier byte de memoria sin acceder a los bytes precedentes. La memoria RAM es el tipo de memoria más común en ordenadores y otros dispositivos como impresoras.

Hay dos tipos básicos de memoria RAM. Los dos tipos de memoria RAM se diferencian en la tecnología que utilizan para guardar los datos, la memoria RAM dinámica necesita actualizarse miles de veces por segundo, mientras que la memoria RAM estática no necesita actualizarse, por lo que es más rápida, aunque también más cara. Ambos tipos de memoria RAM son volátiles, es decir, que pierden su contenido cuando se apaga el equipo.
PARTICIONES:
Es el nombre que recibe cada una de las divisiones en una sola unidad física de almacenamiento de datos dándole a cada partición uZn propio sistema de archivo llamado formato, la gran mayoría de los sistemas operativos reconocen, utilizan y manipulan a una partición como un disco físico independiente sabiendo que están en un solo disco físico.
PARTICIONES FIJAS:
Consiste en dividir la memoria libre en varias partes de igual tamaño o de diferentes tamaños. En el caso de la partición fija de partes iguales, se plantean dos dificultades:
Un programa puede ser demasiado grande para caber en la partición. En este caso, el programador debe diseñar el programa mediante superposiciones, para que sólo una parte del programa esté en memoria principal. Cuando se necesita un módulo que no está presente, el programa de usuario debe cargar dicho módulo en la partición del programa, superponiéndose a los programas y datos que se encuentren en ella.
El uso de memoria principal es extremadamente ineficiente. Cualquier programa, sin importar lo pequeño que sea, ocupará una partición completa. Supongamos un programa que ocupa 120 Kb y se carga en una partición de 512 Kb, se malgasta el espacio interno de la partición y esto se denomina fragmentación interna.
En el caso de particiones de igual tamaño, si todas las particiones estuvieran ocupadas con procesos que no están listos para ejecutar y necesita cargarse un nuevo proceso, debe determinarse qué partición expulsarse de memoria.
Pero en el caso de particiones de distintos tamaños, debe determinarse en que partición (por cuestiones de tamaño) se cargará el nuevo proceso. La forma más simple es asignar cada proceso a la partición más pequeña en que quepa (sin importar si la partición está cargada o no), lo que necesitará de una cola de expulsados para cada partición. Otra forma es asignar el proceso a la partición más pequeña entre aquellas que están libres (usando una única cola para todos los procesos); y si todas las particiones están ocupadas, se debe tomar una decisión de intercambio.

NOTA: LAS SALIDAS DEPENDEN DEL TIEMPO DE EJECUCION.
FRAGMENTACIÓN: Es la memoria ocupada pero no usada.
PARTICIONES DINÁMICAS:
Este método consiste en particiones de memoria de tamaños variable, o sea, a cada proceso se le asigna la cantidad de memoria que necesita (la cantidad exacta y ni un poco más). Tras el ingreso de nuevos procesos y la expulsión de otras, se generarán huecos de memoria inutilizados. Conforme pasa el tiempo, la memoria comienza a estar más fragmentada y su rendimiento decae; este fenómeno se denomina fragmentación externa.
Una técnica para superar la fragmentación externa es la compactación. De vez en cuando, el sistema operativo desplaza los procesos para que estén contiguos de forma que toda la memoria libre quede junta en un bloque. Las dificultades que presenta la compactación son:
-Es un procedimiento que consume tiempo de trabajo del procesador
-Debe realizarse los movimientos de una región a otra, sin invalidar las referencias a memoria del programa.

NOTA: LAS TAREAS SE ASIGNAN EN HORA DE LLEGADA, AMENOS QUE TENGA PRIORIDADES
TECNICAS DE ASIGNACION:
A pesar de la compactación, deben utilizarse algunos algoritmos para la ubicación de procesos en las particiones. Estos algoritmos son:
PARTICIONES FIJAS:
-Primer ajuste (First-fit): comienza recorriendo la memoria desde el comienzo y escoge el primer bloque disponible en el que entre el proceso entrante.

-Mejor ajuste (Best-fit): se elige el bloque con el tamaño más parecido al del proceso entrante.

-Siguiente ajuste (Next-fit): recorre la memoria desde el lugar de la última ubicación y elige el siguiente bloque disponible que sea suficientemente grande.

-Peor ajuste (Worst-fit): elige el bloque más grande posible.
En un sistema multiprogramado con particiones dinámicas, habrá algún momento en el que todos los procesos de memoria principal estén en estado bloqueado y la memoria sea insuficiente, aun aplicando la compactación, para un proceso adicional. En este caso, el sistema operativo debe elegir qué proceso reemplazar. Este tema se ve en los temas que tienen que ver con memoria virtual, por lo que lo veremos más adelante.
PAGINACIÓN:
División lógica de las tareas.

SEGMETACIÓN:
División lógica de las tareas.
¿Como funciona la tabla segmentación?
1.Ubicar dentro de la tabla de segmentos el indice que indica la ubicación del segmento en memoria.
2.Verifica que el desplazamiento sea menor que el limite si no se cumple arroja la interrupción.
3. Si se cumple la condición se le suma la base y así ubica en la memoria el segmento.

Comments