Sie sind auf Seite 1von 13

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Universitaria

IUP “Santiago Mariño”

Profesora: Deyanira Noguera Alumno: Martínez José

C.I: 25.074.640
Gestión de Procesos

Un proceso es un programa en ejecución. Si en un sistema informático se están


ejecutando 3 programas diferentes: un navegador, un compilador y un editor,
mientras dure su ejecución por cada programa existirá un proceso. Un sistema
operativo multitarea intenta dedicar atención a todos los procesos para que su
ejecución avance en paralelo, aunque sea de un modo aparente.

Normalmente existirán más procesos listos para ejecutar que CPU’s reales. Como
una CPU, en un instante dado, sólo ejecuta un proceso, el sistema operativo ha de
repartir la atención de las CPU’s entre los procesos listos para ejecutar. A la
técnica de alternar la ejecución de diferentes procesos en una misma CPU se la
llama tiempo compartido. A la decisión de qué proceso pasa a ejecutar en una
CPU, y durante cuánto tiempo, se la llama planificación.

Realmente sólo un programa sencillo genera un proceso. Cualquier aplicación de


usuario que quiera realizar varias acciones de manera simultánea (por ejemplo:
atender la interfaz de usuario y manejar las conexiones de red) puede crear varios
procesos que se ejecutan en paralelo. Además un mismo programa puede ser
ejecutado varias veces de manera simultánea, por un mismo usuario o por
diferentes usuarios del sistema. En cada caso el sistema operativo creará los
procesos que correspondan a la múltiple ejecución del programa.

En definitiva, un proceso es una tarea que el sistema operativo puede planificar


para ejecutar en una CPU.

Características de los procesos

Aunque los detalles de implementación son diferentes en cada sistema operativo


podemos encontrar:

 Segmentos o memoria asignada: Memoria asignada para la ejecución de


un proceso. Normalmente segmento de código, segmento de datos y pila.

 Estados: Un proceso va cambiando de estado durante su existencia.


Algunos estados posibles son: nuevo, listo para ejecutar, en ejecución,
bloqueado y terminado.
 Estructuras de control del SO: El sistema operativo debe seguir la pista a
los diferentes procesos: qué recursos tiene asignado cada proceso, a qué
usuario pertenece, características que le permitan tomar una decisión de
planificación óptima.

Segmentos o memoria asignada

Si en un sistema informático tres usuarios cargan, una vez cada uno, un mismo
editor de textos. Suponiendo que el editor sólo necesita de un proceso para
ejecutarse, el sistema operativo contará con tres procesos para la triple ejecución
del editor.

Parece claro que en el sistema se reservará, para cada proceso, memoria para
almacenar las instrucciones del programa editor y para los datos que está
editando el usuario. También será necesario en cada proceso tener un espacio de
memoria llamado pila, en el que se registrará el contexto actual antes de hacer un
salto a una función, para retomarlo cuando esta termine.

Así cada proceso contará con su propio segmento de código, segmento de datos y
pila.

Estados

Mientras existe, es decir, desde que se crea hasta que se destruye, un proceso
pasa por diferentes estados. El planificador del SO en función de las necesidades
del proceso y de la disponibilidad de recursos va actualizando el estado de cada
proceso. Un modelo de estados extremadamente reducido es el de dos estados:

En este caso un proceso sólo puede encontrarse en dos estados diferentes:

 No ejecución: Está esperando la disponibilidad de una CPU o bien no


necesita la atención de ninguna CPU porque está esperando algún suceso
(por ejemplo una operación de entrada/salida).
 Ejecución: El proceso se está ejecutando en alguna CPU.
Mientras que en el estado de no ejecución puede haber varios procesos, en
el estado de ejecución sólo habrá un proceso por cada CPU instalada
(normalmente una).

En este modelo pueden ocurrir las siguientes transiciones de estado:

 Entrar: Un proceso nuevo, recién creado, pasa al estado de no ejecución.


Y muy probablemente esté preparado para ejecutar tan pronto como haya
una CPU disponible.
 Expedir/Planificar: Cuando hay una CPU disponible el SO toma uno de los
procesos que están esperando en no ejecución y lo pasa al estado de
ejecución.
 Interrumpir: Un proceso que está en ejecución pasa a no ejecución. Las
razones para esta transición son múltiples: el proceso ha estado en
ejecución durante un tiempo máximo, algún proceso de mayor prioridad
demanda la CPU, el proceso decide pasar voluntariamente a no ejecución,
el proceso inicia una operación de entrada/salida.
 Salir: El proceso termina y deja de existir.

Modelo con estado Listo y Bloqueado

Un modelo más detallado puede incluir 5 estados. Las novedades frente al modelo
anterior son:

 Cuando se crea un nuevo proceso, este debe ser admitido por el SO. El SO
puede rehusar pasar el nuevo proceso al estado de listo al proceso si no
cuenta con suficientes recursos.
 El anterior estado de no ejecución se divide en listo y bloqueado. De esta
manera se distingue entre aquellos procesos que no se están ejecutando
porque no hay una CPU disponible (estado listo) y los que están esperando
que ocurra algún suceso (estado bloqueado).
 Cuando un proceso completa su ejecución el SO libera sus recursos y
posiblemente realiza algunas operaciones contables como tomar nota de
los recursos que utilizó. En algunos sistemas se paga por el tiempo de CPU
consumido.
Gestión de la Memoria Principal

La gestión de la memoria corre a cargo de un subsistema básico que se


encarga de:

 Presentar a los procesos un espacio de memoria contiguo, aunque se estén


utilizando diferentes espacios (memoria principal y memoria secundaria)
 Optimizar la manera en la que se utiliza la memoria:

 Los datos e instrucciones con los que se trabaja deben estar


en memoria principal.
 Los datos e instrucciones con los que no se trabaja pueden
estar descargados a memoria secundaria.
 Se debe evitar los fallos de página (necesitar algo que está
en memoria secundaria, lo que nos obliga a esperar a que se
traiga hasta memoria principal).
 Se debe utilizar la memoria principal disponible para acelerar
la entrada/salida (buffers y caché).

Entre los problemas que debe solucionar la gestión de memoria se


encuentran:

 Reubicación: Como la memoria disponible estará compartida por varios


procesos, el programador no puede conocer mientras programa qué área
de memoria se asignará al proceso que está programando. Cuando se
ejecute el programa, el SO asignará un bloque de memoria libre, que podrá
ser diferente en cada ejecución.
 Protección: No resulta conveniente que un proceso pueda acceder (para
leer y/o modificar) al espacio de memoria asignado a otro proceso. El SO
debe garantizar la protección de memoria, de manera que se eviten
accesos indebidos accidentales o intencionados.
 Compartición: En ocasiones algunos procesos necesitan intercambiar
datos. Estos procesos pueden querer compartir un área de memoria a la
que ambos tengan acceso. El sistema de gestión de memoria debe permitir
en estos casos que los procesos autorizados accedan al bloque de
memoria que comparten, de manera similar a como el sistema de ficheros
permite a través de los permisos que varios usuarios compartan un fichero.
 Organización lógica: Normalmente en un sistema informático la memoria
principal está organizada de forma lineal como una secuencia de posiciones
de memoria. Del mismo modo la memoria secundaria se puede ver como
una secuencia de bloques. Esta organización física no se corresponde con
la visión del programador que estructura su programa en diferentes
módulos. El sistema gestor de memoria debe permitir organizar lógicamente
partes de la memoria para acercarse a la visión del programador. La técnica
que más fácilmente satisface esta necesidad es la segmentación.
 Organización física: Físicamente la memoria está organizada en dos
espacios claramente diferenciados:

 Memoria principal rápida, volátil y escasa.


 Memoria secundaria lenta, persistente y abundante.

De manera que el SO debe gestionar el trasvase de información entre los


dos espacios descargando al programador de esta tarea.

Gestión del Almacenamiento Secundario

Como su nombre lo indica un sistema de almacenamiento secundario es


necesario, ya que la memoria principal (almacenamiento primario) es volátil
y además muy pequeña para almacenar todos los programas y datos.
También es necesario mantener los datos que no convenga mantener en la
memoria principal. El SO se encarga de:

 Planificar los discos.


 Gestionar el espacio libre.
 Asignar el almacenamiento.
 Verificar que los datos se guarden en orden.

Sistema de Entrada / Salida

Entrada y salida designa cualquier transferencia de información desde o hacia la


memoria o el procesador. Comprende tanto la transferencia entre diversos niveles
de la memoria como la comunicación con los periféricos. El sistema de entrada y
salida es la parte del S.O. encargada de la administración de los dispositivos de
E/S. Este sistema proporciona un medio para tratar los archivos y dispositivos de
manera uniforme, actuando como interfaz (debe ser independiente, sencilla y fácil
de utilizar) entre los usuarios y los dispositivos de E/S que pueden ser
manipulados por órdenes de alto nivel.
Dispositivos De E/S

Estos dispositivos se dividen en dos categorías:

 De Bloque: Asociados a los dispositivos de alta velocidad, que transmiten


datos mediante el DMA.

 Carácter: Controlados por la CPU y transmiten carácter a carácter.

Controladores de Dispositivo

Las unidades de E/S tienen una parte mecánica que es el propio dispositivo y otra
electrónica que se llama controlador del dispositivo y actúa como intermediario
entre la computadora y los dispositivos.

Las funciones que realizan el controlador y el periférico dependen de cada tipo de


dispositivo.

El controlador convierte el flujo de bits en serie transmitidos desde un dispositivo


en un bloque de bytes para la CPU y realizar las correcciones de los errores que
se puedan cometer en la transmisión.

El controlador dispone de tres capas funcionales: La interfaz del bus, el


controlador y la interfaz del dispositivo.

Principios de Software de E/S


Consiste en organizar el software como una serie de estratos que oculten las
características del hardware y presente una interfaz sencilla a los usuarios. Es
importante resaltar la independencia del dispositivo, el control de errores, y los
dispositivos con solo un propósito y dispositivos compartibles por varios usuarios
al mismo tiempo. Para lograr esto el software se estructura en 4 niveles:
 Manejadores de interrupciones.
 Manejadores de dispositivos.
 Software de E/S independiente del dispositivo
 Software del usuario.

Sistema 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; es decir, es la manera en la que se organizan los archivos en el
disco. El término también es utilizado para referirse a una partición o disco
que se está utilizando para almacenamiento, o el tipo del sistema de
archivos que utiliza. Así uno puede decir “tengo dos sistemas de archivo”
refiriéndose a que tiene dos particiones en las que almacenar archivos, o
que uno utiliza el sistema de “archivos extendido”, refiriéndose al tipo del
sistema de archivos.

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).

Antes de que una partición o disco sea utilizada como un sistema de


archivos, necesita ser iniciada, y las estructura de datos necesitan
escribirse al disco. Este proceso se denomina construir un sistema de
archivos.

Sistemas de Protección

Los mecanismos de protección proporcionan un acceso controlado


limitando los tipos de acceso a archivos que los diferentes usuarios pueden
efectuar. También se requiere protección para asegurar que sólo los
procesos que hayan obtenido la autorización debida del sistema operativo
puedan operar no sólo con los archivos sino también con los segmentos de
memoria, UCP y otros recursos.
La protección se proporciona con un mecanismo que controla el acceso de
los programas, proceso o usuarios a los recursos definidos por el sistema
que se impondrán, y hacer cumplir las restricciones.

El sistema de seguridad impide el acceso no autorizado a un sistema, que


podría dar pie a la destrucción o alteración mal intencionada de los datos.
La seguridad se encarga de validar a los usuarios del sistema para proteger
la integridad de la información almacenada en el sistema, así como los
recursos físicos del sistema de computación.

Función

Dado que los sistemas de cómputo se han venido haciendo cada vez más
sofisticados en sus aplicaciones, la necesidad de proteger su integridad,
también ha crecido. Los aspectos principales de protección en un Sistema
Operativo son:

1. Protección de los procesos del sistema contra los procesos de


usuario.
2. Protección de los procesos de usuario contra los de otros procesos
de usuario.
3. Protección de Memoria.
4. Protección de los dispositivos.

Sistemas de Comunicaciones

Para mantener las comunicaciones con otros sistemas es necesario poder


controlar el envío y recepción de información a través de las interfaces de red.
También hay que crear y mantener puntos de comunicación que sirvan a las
aplicaciones para enviar y recibir información, y crear y mantener conexiones
virtuales entre aplicaciones que están ejecutándose localmente y otras que lo
hacen remotamente.
Gestores de Recursos

Los Sistemas Operativos son ante todo administradores de recursos; el principal


recurso que administran es el hardware del computador; además de los
procesadores, los medios de almacenamiento, los dispositivos de entrada/salida,
los dispositivos de comunicación y los datos.

Actúa como intermediario entre el usuario y el hardware del computador y su


propósito es proporcionar el entorno en el cual el usuario pueda ejecutar
programas. Entonces, el objetivo principal de un Sistema Operativo es, lograr que
el sistema de computación se use de manera cómoda, y el objetivo secundario es
que el hardware del computador se emplee de manera eficiente. Un Sistema
Operativo es un conjunto de programas que controla la ejecución de programas de
aplicación y actúa como una interfaz entre el usuario y el hardware de una
computadora, esto es, un Sistema Operativo explota y administra los recursos de
hardware de la computadora con el objeto de proporcionar un conjunto de
servicios a los usuarios del sistema.

Administra los recursos de un computador cuando hay dos o más programas que
ejecutan simultáneamente y requieren usar el mismo recurso (como tiempo de
CPU, memoria o impresora).

Además, en un sistema multiusuario, suele ser necesario o conveniente compartir,


además de dispositivos físicos, información. Al mismo tiempo, debe tenerse en
cuenta consideraciones de seguridad: por ejemplo, la información confidencial sólo
debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser
capaz de sobrescribir áreas críticas del sistema, etc. (En este caso, un usuario
puede ser una persona, un programa, u otro computador). En resumen, el sistema
operativo debe llevar la cuenta acerca de quién está usando qué recursos; otorgar
recursos a quienes los solicitan (siempre que el solicitante tenga derechos
adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas.
Anexos

Modelo de proceso 2 estados


Modelo de proceso 5 estados

Segmentos
Gestión de Memoria

Das könnte Ihnen auch gefallen