Desarrollo
y optimización de componentes software para tareas administrativas de sistemas.-
Enrique A. Avila Reyes #17
Resumen
Este libro habla y desarrolla bastante sobre
lo que es un sistema operativo y los servicios que este otorga.
Su evolución a través del tiempo nos ha hecho
verlos como algo más que un programa que controla hardware. Un sistema
operativo proporciona una calidad elevada de servicios, a todos los niveles, y
tareas como escuchar música, mirar fotos o navegar por internet.
El sistema operativo es un programa que actúa
como una capa entre el usuario y el hardware. La capa tiene el encargo de
gestionar y administrar todas las partes del sistema.
Su principal objetivo debe ser proporcionar
un entorno para la ejecución de programas, de forma que estos programas sean
capaces de usar los dispositivos de los que se compone el sistema.
Para que este llegue a esta meta, el sistema
operativo debe ofrecer servicios a tres niveles: al usuario, a los programas y
a los dispositivos.
Existe una infinidad de tareas que el sistema operativo necesita realizar para que pueda desarrollar y proporcionar estos servicios básicos.
El primer sistema operativo de la historia
fue creado durante 1956 para un ordenador IBM 704, lo único que hacía era
comenzar la ejecución de un programa cuando el anterior se terminaba.
Todo los sistemas operativos necesitan
proporcionar a los programas un entorno de ejecución sin interferencias sobre
otros programas que están ejecutándose a la misma vez. Por lo tanto, debe
repartir la memoria almacenada de forma que ningún programa vaya alterar el
espacio de otro programa.
Hoy en día, existen varios tipos de memorias
que el sistema operativo puede utilizar y que, en función de su velocidad y
tamaño, siguen la siguiente jerarquía:
·
Registros de CPU del
procesador.
·
Cache.
·
Memoria principal.
·
Memoria secundaria.
¿Qué es un proceso?
Bueno, un proceso no es más que un programa en ejecución. Son elementos que
maneja un sistema operativo a nivel de aplicación y son identificados por un
conjunto de instrucciones.
La segmentación.
La segmentación se basa
en la división lógica del programa en partes denominadas segmentos, donde cada
una de estas partes agrupa elementos relacionados lógicamente, ejemplos: pila,
código, datos, etc.
Un sistema operativo guarda información de
todos los procesos, de forma que es posible identificar sus características y
todos los recursos que tiene asignados.
En el sistema operativo existen dos tipos de
procesos que se pueden generar: procesos de usuario y procesos de sistema
Segmentación paginada.
Este se trata de un esquema que usa la
combinación de la segmentación y la paginación. En este caso, la memoria es
segmentada y los segmentos se componen páginas.
Le ventaja de lo que es este esquema es que
se elimina la fragmentación externa, pero se introduce fragmentación interna.
Memoria virtual.
El sistema de memoria virtual consiste en que
cada proceso crea que tiene todo el espacio de memoria disponible, de manera
que existe un desacoplamiento entre el espacio de direcciones que usa el
programa y las direcciones físicas donde realmente se almacenan los datos. Los
sistemas de memoria virtual utilizan la división de los programas en páginas o
fragmentos.
La memoria virtual además permite
proporcionar a un proceso un mapa de memoria mucho mayor que la memoria física
existente en el sistema.
Volviendo con los sistemas operativos. El
sistema operativo guarda información de cada proceso, de forma que es posible
identificar sus características y todos los recursos que tiene asignados.
De toda la información que es mantenida por
el sistema operativo, existe una parte muy importante, conocida como Bloque de
Control del Proceso que contiene, entre mucha otra información, el valor de
cada registro del proceso.