Logo Studenta

Administración Básica del Sistema Operativo

¡Estudia con miles de materiales!

Vista previa del material en texto

Administración Básica del Sistema Operativo: 
Gestión de Procesos. 
 El sistema operativo es responsable de las siguientes actividades con relación a 
la administración de procesos: 
 
 
 
 
 
 
 
 
 Aunque tradicionalmente un proceso contenía un solo hilo de control mientras 
se ejecutaba, la mayoría de los sistemas operativos modernos ahora dan soporte 
a procesos que tienen varios Hilos. 
 Así un sistema de cómputo consiste en una colección de procesos que se 
ejecutan en la misma máquina de manera concurrente dividiéndose el tiempo del 
procesador ya sean procesos del sistema operativo o procesos de usuario. 
Estados de un proceso. 
 A medida que se ejecuta un proceso, cambia su estado. El estado de un 
proceso se define en parte por la actividad actual de dicho proceso. Cada proceso 
puede estar en alguno de los siguientes estados: 
Nuevo: El proceso se está creando. 
Ejecución: Se están ejecutando instrucciones. 
En espera: El proceso está esperando a que ocurra algún evento (Como la 
terminación de una operación de entrada o salida, o la recepción de una señal. 
Listo: El proceso está en espera de ser asignado a un procesador. 
Terminado: El proceso ha terminado su ejecución. 
La creación y la determinación de 
procesos tanto del usuario como 
del sistema operativo. 
Planificación de los procesos. 
La provisión de mecanismos para 
sincronización, comunicación y 
manejo de bloqueos mutuos. 
Bloque de Control del Proceso. 
 Cada proceso se representa en el sistema operativo mediante un bloque de 
control del proceso (Process Control Block PCB) también denominado bloque de 
control de tarea. 
 Un proceso es un objeto con operaciones y atributos: (datos). Este bloque 
representa la parte de los datos del proceso. Estos datos se almacenan dentro de 
la siguiente estructura: 
• Estado (ejecutando, listo, bloqueado). 
• Program counter. 
• Registros de CPU. 
• Información para planificación (p.ej., prioridad). 
• Información para administración de memoria (p.ej., registros base y límite). 
• Información de I/O: dispositivos y recursos asignados al proceso, archivos 
abiertos, etc. 
• Estadísticas y otros: tiempo real y tiempo de CPU usado, identificador del 
proceso, identificador del dueño, etc. 
Terminación de un Proceso. 
 Un proceso concluye cuando termina de ejecutar su sentencia final, y le pide al 
sistema operativo que lo borre usando la llamada exit. En dicho punto el proceso 
puede regresar datos de salida a su padre. Todos los recursos del proceso 
incluyendo memoria y buffers, son liberados por el sistema operativo. 
 Existen circunstancias adicionales en las que ocurre terminación. Un proceso 
puede ocasionar la terminación de otro, mediante la llamada apropiada al sistema 
del evento abort. Esta llamada solo se permite de procesos padre a hijos. 
Un padre puede terminar la ejecución de uno de sus hijos por varias razones: 
• El hijo ha excedido el uso de alguno de los recursos que tiene asignados. 
• Ya no se requiere la tarea asignada al hijo. 
• El padre está saliendo y el sistema no permite que un hijo continúe si su padre 
termina. 
 
Concepto de Hilo. 
 Las aplicaciones están formadas de uno o más programas. Los programas 
constan de código para la computadora donde se ejecutarán. Normalmente, un 
"programa hilado" (threaded program, programa construido mediante hilos) tiene el 
potencial de incrementar el rendimiento total de la aplicación en cuanto a 
productividad y tiempo de respuesta mediante ejecución de código asíncrono y 
paralelo. 
 La ejecución de código paralelo se realiza mediante la ejecución de dos o más 
partes de un programa en dos o más procesadores en un instante dado. La 
ejecución asíncrona se puede realizar conmutando la ejecución del segmento de 
código actual que se bloquea por alguna razón, a otro segmento. Los hilos 
permiten al programador emplear estas características y muchas otras. 
 Otros beneficios de los hilos están relacionados con los recursos compartidos 
y el escaso tiempo empleado en su creación, terminación y cambio de contexto. 
Todo esto contribuye a incrementar el rendimiento de la aplicación así como 
conservar los recursos del sistema. 
Elementos de un Hilo y un Proceso. 
 Todos los hilos comparten el mismo espacio de direcciones, y así comparten 
también las mismas variables globales. Mientras que los procesos pueden ser de 
distintos usuarios y competir por recursos entre sí, los hilos de un mismo proceso 
de usuario cooperan entre si, sin luchar entre sí. 
 Al igual que los procesos tradicionales, los hilos pueden estar en alguno de los 
siguientes estados: 
En ejecución (Running): cuando el hilo posee la CPU y se encuentra activo. 
Bloqueado (Suspend): cuando el hilo se encuentra esperando algún evento o a 
la espera de que otro libere el bloqueo por el que se encuentra detenido. 
Listo o preparado (Ready): cuando el hilo está preparado para su ejecución, y se 
encuentra a la espera de ser elegido por el planificador. 
Terminado (Finished): cuando el hilo ha finalizado, pero todavía no ha sido 
recogido por el hilo padre, aunque no puede ser planificado nunca más. 
 Un proceso puede tener uno o más hilos. Los hilos son un mecanismo que 
permite mejorar el rendimiento de los sistemas operativos tratando de reducir la 
sobrecarga producida por el cambio de contexto entre procesos. Los hilos de un 
mismo proceso comparten los recursos (memoria, archivos, etc.), y son la unidad 
de planificación. Así, un proceso será un objeto estático que posee un conjunto de 
recursos para una serie de hilos, que son los objetos dinámicos panificables. 
Los hilos en un entorno multihilo tienen las siguientes características que pueden 
hacerles deseables en muchas aplicaciones que requieren multitarea: 
• Necesitan poca memoria. 
• Tienen un bajo coste de creación. 
• Tienen un bajo coste de sincronización. 
• Comparten el mismo espacio de direcciones. 
• Pueden progresar independientemente unos de otros. 
Gestión de Usuarios y Equipos. 
 En un SO multiusuario se utiliza el concepto de usuario para controlar el 
acceso al sistema. Se pueden declarar diferentes usuarios y asignar un nivel de 
acceso diferente, o unos privilegios, para cada uno de ellos. Normalmente antes 
de trabajar en el sistema es necesario iniciar una sesión, momento en el que la 
persona que quiere acceder al sistema se identifica como uno de los usuarios del 
sistema. 
 Aunque de forma intuitiva se puede pensar que cada usuario del sistema es una 
persona diferente, esto no tiene porqué ser siempre así. Un usuario del sistema 
(usuario u1 identificado por la contraseña c1) puede ser utilizado por diferentes 
personas físicas. Independientemente de quien declare ser 'u1', si se identifica con 
la contraseña adecuada, recibirá el mismo trato por parte del sistema informático. 
 Además, es común definir usuarios en el SO que no corresponden a ninguna 
persona. Son usuarios que se utilizan para ejecutar determinados procesos, 
normalmente servicios, y restringir el acceso a los recursos por parte de dichos 
procesos. 
 
 
 
 
 
Un usuario del S.O se puede 
corresponder con: 
Una persona. 
Un conjunto de 
personas. 
Ninguna 
Persona. 
 Los SO que trabajan con usuarios, normalmente también permiten declarar 
grupos. Un grupo es una colección de usuarios y normalmente se utiliza para 
aplicar un mismo trato (por ejemplo imponer una limitación en la cantidad de disco 
utilizada) a cada uno de los usuarios que pertenecen al grupo. 
Seguridad. 
 Si se van a definir diferentes usuarios/grupos para controlar el acceso al 
sistema, es necesario aplicar algunas medidas elementales: 
• Se debe explicar a los usuarios que las cuentas son personales. Cualquiera que 
acceda a su cuenta, porque la dejan abierta, o porque le dicen el 
usuario/contraseña a otra persona, puederealizar las mismas acciones que ellos. 
• No se deben escribir las contraseñas en papel, ni en el teclado, ni en la mesa 
debajo del teclado, ni en una nota junto al monitor, etc... 
• Las contraseñas no deben ser fáciles de adivinar. Una persona que conozca al 
usuario puede adivinar una contraseña con datos personales. Una máquina puede 
probar de manera automática muchas contraseñas hasta dar con la correcta 
(ataques basados en diccionarios). Una buena contraseña debe incluir 
mayúsculas, minúsculas, números y signos, además de contar con una longitud 
suficiente. El administrador puede establecer criterios como: longitud mínima, 
tiempo máximo de uso de la contraseña, etc... 
• Se debe configurar el sistema para que permita al usuario realizar su labor, pero 
no entorpecer la de los otros usuarios, ni robarles información. 
• Se debe configurar el sistema para que un usuario no pueda acaparar tantos 
recursos que provoque una denegación de servicio. 
 La seguridad no es algo que se pueda alcanzar de manera automática con un 
producto o una acción. Es un objetivo que se debe tener en mente cuando se 
realiza cualquier acción. 
Gestión de Almacenamiento. 
 Para que un sistema informático sea cómodo para los usuarios, el sistema 
operativo proporciona una lista lógica y uniforme del sistema de almacenamiento 
de la información. El sistema operativo abstrae las propiedades físicas de los 
dispositivos de almacenamiento y define una unidad de almacenamiento lógico, el 
archivo. El sistema operativo asigna los archivos a los soportes físicos y accede a 
dichos archivos a través de los dispositivos de almacenamiento. 
 Por otra parte, La gestión de archivos es uno de los componentes más 
visibles de un sistema operativo. Las computadores pueden almacenar la 
información en diferentes tipos de medios físicos. Los discos magnéticos, discos 
ópticos y cintas magnéticas son habituales. . 
 Cada uno de estos medios tiene sus propias características y organización 
física. Cada medio se controla mediante un dispositivo, tal como una unidad de 
disco o una cinta, que también tiene sus propias características distintivas 
 Estas propiedades incluyen la velocidad de acceso, la capacidad, la velocidad 
de transferencia de datos y el método de acceso (secuencial o aleatorio). 
 Un archivo es una colección de información relacionada definida por su 
creador. Comúnmente, los archivos representan programas (tanto en formato 
fuente como en objeto) y datos. Los archivos de datos pueden ser numéricos, 
alfabéticos, alfanuméricos o binarios. Los archivos pueden tener un formato libre 
(como, por ejemplo, los archivos de texto) o un formato rígido, como por ejemplo 
una serie de campos fijos. 
 
 
 
 
 
 
 
 
Autor: 
Nombre: Katherin Carrillo 
C.I: 31.040.100 
Profesor: Edgar Valero 
Institución: Universidad Politécnica del Estado Trujillo.

Continuar navegando