Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La gestión de procesos podría ser similar al trabajo que se realiza en una oficina.
Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta,
media, baja por ejemplo. se debe comenzar haciendo las tareas de prioridad alta
primero y cuando se terminen seguir con las de prioridad media y después las de
baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las
tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan
en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las
tareas más antiguas.
Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de
proceso. Un proceso es un programa en ejecución junto con el entorno asociado (registros,
varialbes,etc.).
El corazón de un sistema operativo es el núcleo, un programa de control que reacciona ante
cualquier interrupción de eventos externos y que da servicio a los procesos, creándolos,
terminándolos y respondiendo a cualquier petición de servicio por parte de los mismos.
Un proceso es una actividad que se apoya en datos, recursos, un estado en cada momento y
un programa.
Un proceso se representa desde el punto de vista del sistema operativo, por un conjunto de
datos donde se incluyen el estado en cada momento, recursos utilizados, registros, etc.,
denominado Bloque de Control de Procesos (PCB).
Los objetivos del bloque de control de procesos son los siguientes:
Privilegios.
Estas informaciones se encuentran en memoria principal en disco y se accede a ellas en los momentos en que se hace necesaria su
actualización o consulta. Los datos relativos al estado del proceso siempre se encuentran en memoria principal.
Existe un Bloque de Control de Sistema (SCB) con objetivos similares al anterior y entre los que se encuentra el enlazado de los
bloques de control de procesos existentes en el sistema.
El cambio de contexto se producirá en caso de ejecución de una instrucción privilegiada, una llamada al sistema operativo o una
interrupción, es decir, siempre que se requiera la atención de algún servicio del sistema operativo.
1.- Estados activos: Son aquellos que compiten con el procesador o están en condiciones de hacerlo. Se dividen en:
Ejecución. Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este
estado sólo lo puede tener un proceso.
Preparado. Aquellos procesos que están dispuestos para ser ejecutados, pero no están en ejecución por alguna causa
(Interrupción, haber entrado en cola estando otro proceso en ejecución, etc.).
Bloqueado. Son los procesos que no pueden ejecutarse de momento por necesitar algún recurso no disponible (generalmente
recursos de entrada/salida).
2.- Estados inactivos: Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de
ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que vuelva a ser activado. Se
trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se
quedaron sin que tengan que volver a ejecutarse desde el principio.
Son de dos tipos:
Suspendido bloqueado. Es el proceso que fue suspendido en espera de un evento, sin que hayan
desaparecido las causas de su bloqueo.
Suspendido programado. Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado.
Los sistemas operativos actuales poseen una serie de funciones cuyo objetivo es el de la manipulación de los procesos. Las
operaciones que se pueden hacer sobre un proceso son las siguientes:
Crear el proceso. Se produce con la orden de ejecución del programa y suele necesitar varios argumentos, como el nombre y la
prioridad del proceso. Aparece en este momento el PCB, que será insertado en la cola de procesos preparados.
Jerárquica. En ella, cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecución de su padre. El primer
proceso que ejecuta un usuario será hijo del intérprete de comandos con el que interactúa.
No jerárquica. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un entorno diferente. Es
un tipo de creación que no suele darse en los sistemas operativos actuales.
Destruir un proceso. Se trata de la orden de eliminación del proceso con la cual el sistema operativo destruye su PCB.
Suspender un proceso. Es un proceso de alta prioridad que paraliza un proceso que puede ser reanudado posteriormente. Suele
utilizarse en ocasiones de mal funcionamiento o sobrecarga del sistema.
Reanudar un proceso. Trata de activar un proceso que a sido previamente suspendido.
Cambiar la prioridad de un proceso.
Temporizar la ejecución de un proceso. Hace que un determinado proceso se ejecute cada cierto tiempo (segundos, minutos,
horas...) por etapas de una sola vez, pero transcurrido un periodo de tiempo fijo.
Despertar un proceso. Es una forma de desbloquear un proceso que habrá sido bloqueado previamente por temporización o
cualquier otra causa.
Prioridades
Todo proceso por sus características e importancia lleva aparejadas unas determinadas necesidades de ejecución en cuanto a
urgencia y asignación de recursos.
Las prioridades según los sistemas operativos se pueden clasificar del siguiente modo:
Asignadas por el sistema operativo. Se trata de prioridades que son asignadas a un proceso en el momento de comenzar su
ejecución y dependen fundamentalmente de los privilegios de su propietario y del modo de ejecución.
Todas las operaciones en las que participan procesos son controladas por la parte del sistema operativo denominada núcleo
(nucleus, core o kernel, en Ingles. El núcleo normalmente representa sólo una pequeña parte de lo que por lo general se piensa
que es todo el sistema operativo, pero es tal vez el código que más se utiliza. Por esta razón, el núcleo reside por lo regular en la
memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal sólo cuando se
necesitan.
Los núcleos se diseñan para realizar "el mínimo" posible de procesamiento en cada interrupción y dejar que el resto lo realice el
proceso apropiado del sistema, que puede operar mientras el núcleo se habilita para atender otras interrupciones.
El núcleo de un sistema operativo normalmente contiene el código necesario para realizar las siguientes funciones:
Manejo de interrupciones.
Nivel 1. Gestión de Memoria: que proporciona las facilidades de bajo nivel para la gestión de memoria secundaria necesaria para
la ejecución de procesos.
Nivel 2. Procesador: Se encarga de activar los cuantums de tiempo para cada uno de los procesos, creando interrupciones de
hardware cuando no son respetadas.
Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por procesos.
Nivel 4. Información o Aplicación o Interprete de Lenguajes: Facilita la comunicación con los lenguajes y el sistema operativo
para aceptar las ordenes en cada una de las aplicaciones. Cuando se solicitan ejecutando un programa el software de este nivel
crea el ambiente de trabajo e invoca a los procesos correspondientes.
Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulación de archivos con
nombre, va asignando espacio y acceso de datos en memoria.
http://sistemas-operativos2011.blogspot.com/2011/06/gestion-del-nucleo-y-los-
procesos-de.html#:~:text=junio%20de%202011-,Gesti%C3%B3n%20del%20N
%C3%BAcleo%20y%20los%20Procesos%20de%20los%20Sistemas
%20Operativos,Crear%20y%20destruir%20los%20procesos.
Introducción
Qué aspecto tienen los sistemas operativos por fuera (es decir, la interfaz con
el programador), ha llegado el momento de dar una mirada al interior. En las
siguientes secciones examinaremos cuatro estructuras distintas que se han
probado, a fin de tener una idea de la variedad de posibilidades. Éstas no son de
ninguna manera las únicas estructuras posibles, pero nos darán una idea de
algunos diseños que se han llevado a la práctica. Los cuatro diseños son
los sistemas monolíticos, los sistemas por capas,los sistemas de Micronúcleo y los
sistemas cliente-servidor.
Definir una arquitectura para el Sistema Operativo; esta estará influida en alguna
medida por el hardware que manejará. Sin embargo es posible identificar algunos
componentes comunes como el núcleo y las llamadas al sistema. El núcleo
contiene, básicamente, todo el código e información necesaria para la gestión de
procesos y memoria y en la mayoría de los sistemas operativos también se incluye
buena parte de la gestión de entrada/salida. Según la arquitectura que tengamos
así es como el usuario se comunica con el sistema operativo y el sistema
operativo o el núcleo con los componentes del hardware, por tanto cada sistema
operativo tiene una arquitectura específica en dependencia de las necesidades de
este.
Sistemas monolíticos
Sistemas de Micro-núcleo
Sistemas cliente-servidor
Coordinación y Sincronización de
los Procesos
15032012
En muchos casos, los procesos se reúnen para realizar tareas en conjunto, a este tipo de relación se le
llama procesos cooperativos. Para lograr la comunicacion, los procesos deben sincronizarse, de no ser así
pueden ocurrir problemas no deseados. La sincronizacion es la transmisión y recepción de señales que
tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos.
La coordinación de procesos, es el hecho de ponerse de acuerdo entre varios procesos para llevar a cabo
alguna acción. Esta acción puede ser el conseguir el derecho a entrar en una regíon crítica en exclusión
mutua, o la elección de un proceso, entre un grupo de procesos, que actúe como coordinador de las
actividades del resto de los procesos del grupo.
Sin una sincronizacion adecuada entre procesos, la actualización de variables compartidas puede inducir a
errores de tiempo relacionados con la concurrencia que son con frecuencia dificiles de depurar. Una de las
causas principales de este problema es que procesos concurrentes puedan observar valores
temporalmente inconsistentes de una variable compartida mientras se actualizan. una aproximacion para
resolver este problema es realizar actualizaciones de variables compartidas de manera mutuamente
exclusiva. Se pueden mejorar permitiendo que a lo mas un proceso entre a la vez en la seccion critica de
codigo en la que se actualiza una variable compartida o estructura de datos en particular.
Para que los procesos puedan sincronizarse es necesario disponer de servicios que permitan bloquear o
suspender bajo determinadas circunstancias la ejecucion de un proceso. Los principales mecanismos de
sincronización que ofrecen los sistemas operativos son:
Señales.
Tuberías.
Semáforos.
Paso de mensajes.
Para que esta protección sea posible, el sistema informático debe ser
capaz de ejecutar instrucciones en dos niveles diferentes:
Gestor de procesos.
Sistema de archivos.
Sistemas de protección.
Sistema de comunicaciones.
Programas de sistema.
Gestor de recursos.
Como puede suponerse, cada uno de los elementos que componen el
sistema operativo se encarga de una función particular. Más abajo
estudiaremos las principales funciones que resuelve un sistema
operativo.
Monolítico.
Micronúcleo.
Núcleo híbrido.
Y para comprender sus diferencias, a continuación vamos a incluir
algunos detalles sobre cada uno de ellos.
undefined undefined
Todo ordenador tiene una memoria principal que utiliza para albergar los
programas en ejecución. En los sistemas operativos más sencillos, sólo hay un
programa a la vez en la memoria. Para ejecutar un segundo programa, es preciso
desalojar el primero y colocar el segundo en la memoria.
Los sistemas operativos algo más sofisticados permiten que haya varios
programas en la memoria al mismo tiempo. Para evitar que se interfieran (y que
interfieran con el sistema operativo), es necesario algún tipo de mecanismo de
protección. Aunque este mecanismo tiene que estar en el hardware, es controlado
por el sistema operativo. El punto de vista anterior tiene que ver con la gestión y la
protección de la memoria principal del ordenador. Un aspecto distinto, pero
igualmente importante, relacionado con la memoria es la gestión del espacio de
direcciones de los procesos. Normalmente, cada proceso tiene algún conjunto de
direcciones que puede usar y que normalmente va desde 0 hasta algún máximo.
En el caso más sencillo, la cantidad máxima de espacio de direcciones que tiene
un proceso es menor que la memoria principal. De esa manera, un proceso puede
llenar su espacio de direcciones habiendo suficiente espacio en la memoria
principal para contenerlo. Sin embargo, en muchos ordenadores las direcciones
son de 32 o 64 bits, lo que significa espacios de direcciones de 232 o 264 bytes,
respectivamente
ORGANIZACION DE ALMACINAMIENTO
El almacenamiento principal, es un recurso relativamente caro, por lo que los
diseñadores de sistemas operativos intentan optimizar su uso. En los últimos
años ha disminuido su costo, pero sigue siendo más caro en relación con el
almacenamiento secundario, y las aplicaciones actuales requieren cantidades
mayores de almacenamiento principal.
Sea cual sea el esquema de organización de la memoria que se adopte, hay que
decidir qué estrategias de deben utilizar para obtener un rendimiento óptimo de la
misma
ADMINISTRACION
Es una tarea realizada por el sistema operativo que consiste en gestionar la
jerarquía de memoria, en cargar y descargar procesos en memoria principal para
que sean ejecutados. Para ello el sistema operativo gestiona lo que se conoce
como MMU o Unidad de Administración de Memoria, el cual es un dispositivo
hardware que transforma las direcciones lógicas en físicas.
Su trabajo es seguir la pista de qué partes de la memoria están en uso y
cuales no lo están, con el fin de poder asignar memoria a los procesos cuando la
necesiten, y recuperar esa memoria cuando dejen de necesitarla, así como
gestionar el intercambio entre memoria principal y el disco cuando la memoria
principal resulte demasiado pequeña para contener a todos los procesos
En un sistema monoprogramado, la memoria principal se divide en dos
partes: una parte para el sistema operativo (monitor residente, núcleo) y otra parte
para el programa que se ejecuta en ese instante. En un sistema multiprogramado,
la parte de "usuario" de la memoria debe subdividirse aún más para hacer sitio a
varios procesos. La tarea de subdivisión la lleva a cabo dinámicamente el sistema
operativo y se conoce como gestión de memoria.
Gestión de Memoria Secundaria
28/09/2013 DE ELIANA - YAIMAR- INMACULADA
Gestión De Memoria Secundaria
A diferencia de la Memoria Principal la Memoria Secundaria, auxiliar, masiva, externa no es tan veloz
pero tiene gran capacidad para almacenar información en dispositivos tales como discos, cintas magnéticas,
discos ópticos. Frecuentemente los datos y programas se graban en la Memoria Secundaria, de esta forma,
cuando se ejecuta varias veces un programa o se utilicen repetidamente unos datos, no es necesario darlos de
nuevo a través del dispositivo de entrada.
En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la cantidad de
información que se transfiere físicamente en cada operación de acceso (lectura o escritura).
El Sistema Operativo o Sistema de Gestión de Archivos es el encargado de la asignación de bloques a
archivos, de lo que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de Memoria Secundaria a
los archivos y, en segundo lugar, es necesario guardar constancia del espacio disponible para asignar.
1 Contiguos. Esta asignación requiere que cada archivo ocupe un conjunto de direcciones contiguas en el
disco, su asignación es definida por la dirección del primer bloc y la longitud del archivo.
Cuando se crea un archivo se le asigna un único conjunto contiguo de bloques, esta es una estrategia de
asignación previa que emplea secciones de tamaño variable. La tabla de asignación de archivos necesita solo
una entrada por cada archivo y que muestre el bloque de comienzo y la longitud del archivo. La asignación
contigua es la mejor para un archivo secuencial.
La asignación contigua presenta algunos problemas, como la fragmentación externa. Lo que hace difícil
encontrar bloques contiguos de espacio de tamaño suficiente., lo que lleva a ejecutar un algoritmo de
compactación para libera el espacio adicional en el disco.
2 Asignación ligada o encadenada. Cada archivo es una lista ligada de blocks y el directorio contiene un
apuntador al primer bloc y al último.
La asignación se hace con bloques individuales, cada bloque contendrá un puntero al siguiente bloque de la
cadena. La tabla de asignación de archivos necesita una sola entrada por cada archivo que muestre el bloque
de comienzo y la longitud del mismo, cualquier bloque puede añadirse a la cadena. No hay que preocuparse
por la fragmentación externa porque solo se necesita un bloque cada vez.
Una consecuencia del encadenamiento es que no hay cabida para el principio de cercanía, si es necesario traer
varios bloques de un archivo al mismo tiempo, se necesita una serie de accesos a partes diferentes del disco
por lo que se debe ejecutar un algoritmo de compactación para liberar el espacio adicional en el disco.
3 Asignación Indexada. Cada archivo tiene su propio bloc de índice el cual es un arreglo de direcciones de
bloc.
En esta asignación la tabla de asignación de archivos contiene un índice separado de un nivel para cada
archivo: el índice posee una entrada para cada sección asignada al archivo. Normalmente, los índices no están
almacenados físicamente como parte de la tabla de asignación de archivos. Mas exactamente el índice de
archivo se guardara en un bloque aparte y la entrada del archivo en la entrada de asignación apuntara a dicho
bloque.
La asignación puede hacerse por bloques de tamaño fijo, O en secciones de tamaño variable. La asignación
por bloques elimina la fragmentación externa, mientras que la asignación por secciones de tamaño variable
mejora la cercanía. En cualquier caso, los archivos pueden concentrarse en zonas cercanas de cuando en
cuando. La concentración reduce el tamaño del índice en el caso de secciones de tamaño variable, pero no en
el caso de asignación por bloques.
La asignación indexada soporta tanto el acceso secuencial como el acceso directo a los archivos y por ello se
ha convertido en la forma más popular de asignación de archivos.
En un sistema de cómputo, los elementos que se declaran para almacenamiento son los Fyle System. Cuándo
existe una solicitud de almacenamiento o manejo de bloc libres en un file system surge una interrogante
¿cómo atenderlas? esto se lleva a cabo mediante una planificación de discos y para esto existen las siguientes
políticas de planificación.
ESTRUCTURA: El sistema de archivos permite al usuario especificar alguna estructura adicional a los
archivos, aparte de su estructura básica (bits, bytes).
Algunos sistemas operativos permiten el uso del ALIAS, lo cual hace que los usuarios hagan referencia a un
mismo archivo físico mediante nombres lógicos diferentes.
Cuando se utiliza un archivo , el descriptor es copiado en memoria principal para las referencias que a éste se
hagan.
Atributos
Atributos de un archivo
Los atributos de un archivo son: el nombre, el tipo, la localización (donde se ubica), derechos de acceso,
tiempo de creación/acceso/modificación, UID del creador, etc.
Bloque de Archivo
Existen varios mecanismos para acceder los archivos: Directorios, descriptores de archivos, mecanismos
de control de acceso y procedimientos para abrir y cerrar archivos.
ü Descriptores de archivos.
ü El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene información
que el sistema necesita para administrar un archivo.
ü El descriptor de archivos es controlado por el sistema de archivos ; el usuario puede no hacer referencia
directa a él.
A cada uno de los archivos se le asigna un descriptor el cual contendrá toda la información que necesitará el
sistema de archivos para ejecutar con él los comandos que se le soliciten. El descriptor se mantendrá en
memoria principal desde que el archivo es abierto hasta que sea cerrado, y debe tener al menos la siguiente
información, identificación del archivo, lugar de almacenamiento, información del modo de acceso.
Identificación del archivo. Consiste de dos partes que es el nombre simbólico que es el que le da el usuario y
un identificador interno que es asignado por el sistema operativo (número). Lugar de almacenamiento así
como el tamaño del archivo. Modo de acceso. Se debe indicar en forma explícita quien puede accesar el
archivo y conque derecho.
Control de un sistema de información especializado en detectar los intectos de acceso, permitiendo el paso
de las entidades autorizadas, y denegando el paso a todas las demás. Involucra medios técnicos y
procedimientos operativos.
Los Directorios son utilizados por el sistema operativo para llevar un registro de los archivos que incluye el
nombre, los atributos y las direcciones en disco donde se almacenan los datos del archivo referenciado.
Open (abrir): antes de utilizar un archivo, un proceso debe abrirlo. La finalidad es permitir que el sistema
traslade los atributos y la lista de direcciones en disco a la memoria principal para un rápido acceso en
llamadas posteriores.
Close (cerrar): cuando concluyen los accesos, los atributos y direcciones del disco ya no son necesarios, por
lo que el archivo debe cerrarse y liberar la tabla de espacio interno.
Tener un archivo abierto para el sistema implica mantener una estructura que tenga por lo menos:
puntero de archivo (file pointer) para operaciones de lectura y escritura, contador de archivos
abiertos
ubicación del archivo en el dispositivo, derechos de acceso.
Algunos sistemas proveen sistema de acceso único a un archivo (lock) por parte de los procesos.
A su vez, varios sistemas implementan el mapeo de archivos al espacio de usuario del proceso. De
esta forma, no es necesario realizar read y write para operar sobre el archivo, sino accederlo directamente.
Esto trae el beneficio de no hacer el llamado a sistema para operar sobre el archivo.
El Teclado.
El Mouse.
Dispositivo fundamental que sirve para señalar y accionar los diversos elementos de la pantalla
del computador.
El Escáner.
Este dispositivo nos permite convertir en formato digital los textos, fotografías e imágenes
impresas.
La Impresora.
Permite leer datos, los cuales se graban en el disco duro o pueden ser leídos para obtener
información.
Disco Duro.
Proporcionan un acceso más rápido a los datos que los discos flexibles y pueden almacenar
mucha más información.
Se plantea que es mas fácil haces un sistema seguro si esto se ha incorporado desde los inicios
del diseño, por que no se puede hablar de un SO seguro si su núcleo no lo es; de igual manera
es posible hacer seguridad por hardware donde se obtiene como ventaja la velocidad de
operación permitiendo controles mas frecuentes y mejora el performance
Con respecto a los SO mas seguros es difícil listarlos ya que todos tienen sus seguidores y
contractares los cuales por instinto suelen defender lo que usan, pero es sin duda alguna lo que
responden las encuestas hay una delas distribuciones de Linux denominada openBSD que es
conocido como el SO mas seguro a parte de que no deja de ser software libre, de igual manera
es situado a a los SO de Windows encima del Mac OSX donde apenas la ultima versión
empieza a aplicar completamente algoritmos de seguridad que desde antes eran utilizados por
la competencia pero sin duda alguna los sistemas libres ganan la batalla con respecto a la
seguridad
Para poder garantizar la seguridad es fundamental proteger nuestro sistema, por eso
básicamente los mecanismo articulados para la protección son los que nos llevan a un sistema
seguro; existen diferentes formas de realizar la protección tal vez la mas común y mas básica
sea definir cuales son los archivos u objetos a proteger para que posteriormente se delimite que
usuarios pueden acceder a que información
Adware
Backdoor
Badware alcalinos
Bomba fork
Bots
Bug
Toryano
Cookies
Crackers
Cryptovirus
Esos entre muchos otros software que desde sus diferentes especialidades atacan nuestro
sistema, pero recordamos que no solo se trata de protección de software si no que también se
incluye la protección contra los usuarios
La protección es algo que inicia desde el SO y que termina con las practicas que nosotros
como usuarios realizamos, por ejemplo los correos que se revisan el antivirus que se instala
“El único sistema seguro es aquél que está apagado en el interior de un bloque de hormigón
protegido en una habitación sellada rodeada por guardias armados”
Gene Spafford