Está en la página 1de 35

Gestión del Núcleo y los Procesos de los Sistemas Operativos

Un proceso es simplemente, un programa o una aplicación en ejecución que


necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y
dispositivos de E/S. El SO es el responsable de:

 Crear y destruir los procesos.


 Parar y reanudar los procesos.
 Ofrecer mecanismos para que se comuniquen y sincronicen.

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.

aportar sobre cada uno de los siguientes terminos:


 Definición de Proceso
 Estados de los Procesos
 Operaciones con Procesos
 Planificación de Procesos
 Bloque de Control del Sistema
 Bloque de Control de Proceso
 Planificación del Procesador
Opinión en el Blog, sustentada en autores, 3 opiniones mínimas relacionadas con
el Proyecto Socio Tecnológico.

EL NÚCLEO Y LOS PROCESOS

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:

 Localización de la información sobre el proceso por parte del sistema operativo.


 Mantener registrados los datos del proceso en caso de tener que suspender
temporalmente su ejecución o reanudarla.

La información contenida en el bloque de control es la siguiente:


Estado del proceso. Información relativa al contenido del controlador del programa (Program Counter, PC), estado de procesador en
cuanto a prioridad del proceso, modo de ejecución, etc., y por ultimo el estado de los registros internos de la computadora.
Estadísticas de tiempo y ocupación de recursos para la gestión de la planificación del procesador.
Ocupación de memoria interna y externa para el intercambio (swapping).
Recursos en uso (normalmente unidades de entrada/salida).
Archivos en uso.

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.

Estado de los Procesos.


Los bloques de control de los procesos se almacenan en colas, cada una de las cuales representa un estado particular de los
procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los procesos son internos del sistema operativo y
transparentes al usuario.
Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.

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.

Operaciones sobre procesos.

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.

La creación de un proceso puede ser de dos tipos:

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.

o Asignadas por el propietario.


o Estáticas.
o Dinámicas.

El Núcleo del Sistema Operativo.

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.

Creación y destrucción de procesos.


Cambio de estado de los procesos.
Despacho.
Suspensión y reanudación de procesos.
Sincronización de procesos.
Comunicación entre procesos.
Manipulación de los bloques de control de procesos.
Apoyo para las actividades de entrada/salida.
Apoyo para asignación y liberación de memoria.
Apoyo para el sistema de archivos.
Apoyo para el mecanismo de llamada y retorno de un procedimiento
Apoyo para ciertas funciones de contabilidad del sistema.
Núcleo o Kernel y niveles de un Sistema Operativo.
El Kernel consiste en la parte principal del código del sistema operativo, el cual se encargan de controlar y administrar los servicios
y peticiones de recursos y de hardware con respecto a uno o varios procesos, este se divide en 5 capas:

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.

Estructura de los sistemas operativos

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.

Arquitectura más comunes

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

En los sistemas monolíticos, todos los componentes de gestión y programas del


sistema están escritos en un solo código o espacio lógico. Pueden decirse que el
núcleo es el Sistema Operativo. La división más evidente que puede hacerse es
entre procesos de aplicación o usuario y procesos del sistema.
Los sistemas monolíticos son los más comunes puesto que su implementación
y diseño son los menos complejos. La desventaja es que como todo el sistema se
ejecuta en el mismo nivel de privilegio que el núcleo (el Sistema Operativo es el
núcleo) es muy probable que haya problemas (el sistema se apague, se bloquee o
se cuelguen procesos, por ejemplo) si ocurre algún fallo del hardware o existe
algún error sin depurara en el código del sistema. GNU/Linux es monolítico,
aunque con éste se introdujo una variante interesante. A pesar de ser monolítico,
es modular, lo que significa que es posible quitar o añadir componentes al núcleo
incluso en caliente (o sea, en pleno funcionamiento). Así, si un módulo tiene
problemas se puede reemplazar, arreglar o eliminar sin afectar al resto de
funcionalidades. Otra ventaja interesante de los sistemas monolíticos es su
velocidad. Ya que todos los componentes del Sistema Operativo comparten los
privilegios y direcciones y la separación funcional solo se hace entre procesos del
sistema y los de aplicación, la demora para ejecutar las llamadas al sistema es
mínima.

Sistemas por capas o niveles de privilegio

En la medida que el hardware se desarrolló para incorporar mecanismos de


protección para la gestión de procesos, memoria y entrada/salida, los Sistemas
Operativos se adaptaron a este diseño. El objetivo de la arquitectura por capas o
niveles de privilegio, es separar la acción del código de los procesos del sistema,
del núcleo y de los procesos de usuario. Idealmente se separa en el nivel de
máximo privilegios o protección, al código base del núcleo.

En el siguiente nivel de privilegios se ubica a los procesos del sistema para la


gestión de procesos y memoria; en otro nivel a los procesos de gestión de entrada
salida incluyendo los drivers y en el nivel de menos privilegio, se ejecutan el resto
de los procesos de aplicación. Esto por supuesto, no siempre es así y pueden
existir muchísimas variantes en la implementación. Una práctica común es ubicar
los procesos y componentes de entrada/salida en los dos primeros niveles, para
acelerar su ejecución. Lo relevante en esta arquitectura es que se necesitan
realizar restricciones en cuanto a las llamadas al sistema que puedan ejecutar los
procesos de determinados niveles. Por ejemplo, se ha de evitar que un proceso
pueda efectuar una llamada al sistema que requiera la atención de un componente
de menor privilegio o tal vez evitar que los programas de aplicación hagan
llamadas directamente sobre el núcleo. Así puede obligarse a utilizar como
mediadores a otros niveles.

Sistemas de Micro-núcleo

La posibilidad de separar funcionalmente los programas del sistema de los


programas de aplicación y asegurar protección adicional con el hardware, origina
otra arquitectura, la de micro-núcleo. En esta, se trata de combinar
el rendimiento y sencillez de la arquitectura monolítica con la protección y
organización de la arquitectura por capas. La idea fundamental es obtener un
núcleo lo más pequeño y rápido posible y tratar el resto de las funciones y
componentes como procesos de aplicación. En esta nueva concepción, es usual
que el núcleo solo contenga lo necesario para la gestión de memoria y procesos.
El resto se ejecutan como aplicaciones de usuario; es decir, con el nivel mínimo de
privilegios. En la práctica es un poco difícil conseguir esto sin una pérdida
apreciable de rendimiento. En alguna medida deben incluirse en el núcleo otras
funciones como el manejo de hardware y algunos drivers.

Sistemas cliente-servidor

Separar funcionalmente el núcleo, los procesos del sistema y los procesos de


aplicación, induce una idea interesante: ¿Se podrán separar físicamente los
procesos del sistema y/o los de aplicación? La arquitectura dónde cada proceso
se ejecuta de manera independiente, es una de las más difíciles de lograr. Esta
independencia implica que los procesos podrían ser ejecutados en sistemas (no
solo CPU, sino todo el hardware) diferentes y distantes geográficamente. En cada
sistema independiente solo estarían presentes el núcleo y los componentes
mínimos para la ejecución de uno o algunos procesos. En esta arquitectura, se
manifiesta con mayor peso la necesidad de establecer llamadas al sistema
robustas, para la comunicación entre procesos. Se escoge el modelo cliente - -
servidor para esta comunicación, porque se establece que cada proceso
(independiente o no) actúa como servidor del resto. En esta arquitectura, el
objetivo fundamental del núcleo es garantizar la comunicación entre procesos.
Esta filosofía propició la creación de los Sistemas Operativos distribuidos que son,
básicamente, implementaciones basadas en el modelo cliente-servidor.

Aunque los Sistemas Operativos distribuidos no serán estudiados en este curso,


explotan un mecanismo interesante de la comunicación entre procesos, que es el
paso de mensajes. La tendencia actual es desarrollar aplicaciones distribuidas en
vez de Sistemas Operativos distribuidos, aprovechando las redes
de computadoras.

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.

La Sincronización de Procesos es la coordinación y cooperación de un conjunto de procesos para asegurar


la comparacion de recursos de computo. La sincronizacion entre procesos es necesaria para prevenir y/o
corregir errores de sincronizacion debidos al acceso concurrente a recursos compartidos, tales como
estructuras de datos o dispositivos de E/S, de procesos contendientes. La sincronizacion entre procesos
tambien permite intercambiar senales de tiempo (ARRANQUE/PARADA) entre procesos cooperantes para
garantizar las relaciones específicas de precedencia impuestas por el problema que se resuelve.

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.

 Mutex y variables condicionales.

 Paso de mensajes.

Capítulo 4: Estructura del sistema


operativo (Parte 1)
Publicado por P. Ruiz en 9 julio, 2018

Sistema operativo. Elementos y estructura


del sistema operativo
Podríamos definir el concepto de Sistema Operativo como un programa,
o un conjunto de programas que colaboran entre ellos para administrar
los elementos físicos de un sistema informático, optimizando su uso y
ofreciendo determinados servicios a los programas de aplicación.
Para referirse al sistema operativo suelen utilizarse las siglas SO (o
bien, OS, del inglés Operating System).
Un sistema operativo se encargará de aspectos como:

 El uso, compartido y ordenado, de los recursos entre diferentes


usuarios.
 La protección de recursos, para evitar que un usuario acceda a
recursos para los que no está autorizado.

Para que esta protección sea posible, el sistema informático debe ser
capaz de ejecutar instrucciones en dos niveles diferentes:

 En modo usuario: es el modo menos privilegiado de


funcionamiento del sistema. En este modo no se permite el acceso
directo al hardware. Las instrucciones que se ejecutan en este
modo sólo pueden acceder a su propio espacio de direcciones de
memoria y utilizan el API del sistema para requerir los servicios
del sistema operativo. Este es el modo de ejecución que utilizan
todos los programas de aplicación que tengamos instalados

 En modo núcleo (también llamado modo kernel) o modo


supervisor: En él, las instrucciones se ejecutan en un modo
privilegiado, teniendo acceso directo a toda la memoria (incluidos
los espacios de direcciones de todos los procesos que estén
ejecutándose). También podrán acceder a todo
el hardware disponible. En este modo sólo se ejecutan algunas
partes del sistema operativo.
Desde un punto de vista comercial, los sistemas operativos se ofrecen
como un software que incluye diferentes herramientas para proporcionar
funcionalidades básicas al usuario. Esto hace que el usuario piense en
el navegador web o en el editor de textos como partes del sistema
operativo. Sin embargo, esta creencia es errónea, ya que el navegador
web, el procesador de textos e incluso la propia interfaz gráfica que
estamos utilizando forman parte del concepto de software de aplicación.
El verdadero sistema operativo se encuentra oculto bajo estas y otras
herramientas, haciendo de intermediario entre ellas y el hardware del
ordenador.
Elementos de un sistema operativo
Como podemos imaginar, un sistema operativo es un programa muy
complejo que debe estar muy bien organizado y estructurado
internamente para llevar a cabo su trabajo de una forma muy eficiente.
En este sentido, los sistemas operativos se subdividen en diferentes
componentes que se encuentran especializados en aspectos muy
concretos del mismo.
Los elementos que constituyen la mayoría de los sistemas operativos son
lo siguientes:

 Gestor de procesos.

 Gestor de memoria virtual.

 Gestor de almacenamiento secundario.

 Gestor de entrada y salida.

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

Estructura de un sistema operativo


Ahora que ya sabemos que el sistema operativo se divide en distintos
elementos, podemos plantearnos el modo en el que dichos elementos se
organizan dentro del sistema operativo para llevar a cabo su cometido.
También será importante para el diseño del sistema establecer qué
componentes del mismo se ejecutan en modo núcleo y cuáles en modo
usuario.
El núcleo de un sistema operativo también suele recibir el nombre
de kernel.
En este sentido, los planteamientos que se aplican en los sistemas
operativos más conocidos son los siguientes:

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

Sistemas operativos con estructura monolítica


En este tipo de sistemas, el núcleo concentra la mayor parte de la
funcionalidad del sistema operativo (sistema de archivos, gestión de
memoria, etc), de modo que todos sus componentes principales se
ejecutarán en modo núcleo. Aunque estos componentes se programen
de forma separada se unen durante el proceso de compilación mediante
un enlazador (linker).
Para añadir flexibilidad a esta estructura, los sistemas operativos
modernos que la utilizan (como es el caso de GNU/Linux) pueden cargar
módulos ejecutables de forma dinámica, permitiéndole actuar, en cierto
modo, como un micronúcleo.
En una estructura monolítica pura tendríamos un núcleo complejo y de
gran tamaño que debería ser recompilado por completo ante cualquier
modificación. Sin embargo, cuando se utiliza la carga dinámica de
módulos, éstos pueden compilarse por separado y cargarse durante la
ejecución del sistema. En cualquier caso, seguirán ejecutándose
en modo privilegiado, lo que, comparado con un sistema con estructura
de micronúcleo, lo hace más rápido, pero más vulnerable a errores de
programación.
Como ejemplos de sistemas con estructura monolítica podemos
nombrar Solaris, FreeBSD, OSX (versiones anteriores a la
9), GNU/Linux y las versiones de escritorio de Windows anteriores a XP.
Sistemas operativos con estructura de micronúcleo
En este tipo de sistemas, el núcleo sólo contiene la implementación de
servicios básicos como el soporte de acceso a memoria de bajo nivel, la
administración de tareas y la comunicación entre procesos (también
conocida como IPC, del inglés, Inter-Process Communication).
En este tipo de arquitectura, el micronúcleo es el único componente que
se ejecuta en modo privilegiado. El resto de las funciones del sistema,
como los controladores de dispositivos (drivers), el sistema de archivos,
la gestión de E/S, etc, se ejecutan en modo usuario. De esta forma, es
más difícil que un error de programación en uno de los módulos afecten
al funcionamiento del resto (haciendo que el sistema sea más fiable).
Además, los módulos se pueden programar, compilar y cargar por
separado.
En inglés, también recibe el nombre de microkernel o μkernel.
Sin embargo, pueden presentar dificultades en la sincronización de sus
componentes, pueden ocasionar una mayor complejidad del código
resultante y puede ofrecer un bajo rendimiento por las continuas
llamadas entre módulos y los constantes cambios en el modo de
ejecución.
Como ejemplos de sistemas con estructura de micronúcleo podemos
nombrar AIX, AmigaOS, Minix, Symbian (aunque en algunos textos
aparece como monolítico con carga dinámica de módulos) y
NeXTStep (aunque a veces lo encontramos entre los sistemas con
núcleo híbrido).
De cualquier modo, el que probablemente despierte más interés, a pesar
de que aún no se ha presentado en el momento de escribir este
documento, sea HarmonyOS, el nuevo sistema operativo
de Huawei diseñado para dispositivos móviles.
Sistemas operativos con estructura de núcleo híbrido
Este tipo de arquitectura consiste básicamente en un esquema de micro-
núcleo que incluye algo de código complementario para hacerlo más
rápido, aunque buena parte de las funciones del sistema operativo
siguen ejecutándose en modo usuario.
Se trata de una solución de compromiso que han adoptado muchos de
los sistemas operativos modernos, como las versiones de escritorio
de Microsoft Windows, a partir de XP, y todas las versiones de Servidor.
También se encuentra en esta categoría macOS.

GESTION DE MEMORIA PRINCIPAL


Publicadas por Unknown |

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.

La organización del almacenamiento es la forma de considerar el almacenamiento


principal, bajo los siguientes esquemas de organización:

-    sistemas de usuario único


-    multiprogramación con particiones fijas, con traducción y carga con reubicación

-    multiprogramación con particiones fijas, con traducción y carga absoluta

-    multiprogramación con particiones variables

-    sistemas de intercambio de almacenamiento

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. 

 En un sistema multiprogramado resulta vital una gestión efectiva de la


memoria. Si sólo hay unos pocos procesos en memoria, entonces la mayor parte
del tiempo estarán esperando a la E/S y el procesador estará desocupado. Por
ello, hace falta repartir eficientemente la memoria para meter tantos procesos
como sea posible.

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.

El sistema de archivos se ocupa primordialmente de administrar el espacio de almacenamiento secundario,


sobre todo el espacio en disco. El manejo del espacio libre en disco se lleva a cabo de la siguiente manera:
Vector de bits. El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada
block es representado por un bit y si el bloc es libre el bit es cero de lo contrario está asignado.11000111
Lista ligada. Una lista ligada de todos los blocks libres. Otra implantación se consigue guardando la
dirección del primer block libre y el número de los blocks libres contiguos que le siguen. Cada entrada de la
lista de espacio libre consiste de una dirección de disco y un contador (por conteo).
Por agrupación. Se almacena la dirección en n blocks libres en el primer block libre y el último contiene la
dirección de otro block que contiene la dirección de otros blocks libres.
Para manejar los espacios en disco existen los siguientes métodos:

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.

Características de los Archivos

 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.

Nombre: Nombre asignado por el usuario.

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.

Podemos también citar como características las siguientes:

 Volatilidad, que es la frecuencia con la que se agregan y borran ítems en un archivo;


 Actividad, que es el porcentaje de ítems accedidos durante un determinado período detiempo;
 Medida, que es la cantidad de información almacenada en el archivo
 

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.

ü Es una estructura muy dependiente del sistema.

ü Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al


almacenamiento primario al abrir el 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.

Mecanismo De Control De Acceso.

    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.

Mecanismo que en función de la identificación ya autenticada permite acceder a datos o recursos.

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.

Operaciones Sobre El Bloque De Control De Archivo

El sistema operativo brinda servicios para la manipulación de archivos:


 Crear y abrir: provee la creación de un archivo en el sistema de archivos. Se debe proveer un
nombre del nuevo archivo. Además, se provee la apertura de un archivo ya existente para acceder o
modificar la información.
 Escribir: poder escribir información en un archivo previamente abierto.
  Leer: poder leer información en un archivo previamente abierto.
 Reposicionar dentro de un archivo: lograr acceder a cualquier parte del archivo.
 Eliminar: destruir el archivo a nivel del sistema de archivo.
 Truncar: eliminar la información que está dentro del archivo, pero sin eliminar  el archivo.
Por lo general, los sistemas tienen una tabla de archivos abierto por proceso. Estos archivos se abren a través
de un llamado al sistema y, de esa forma, se puede operar con ellos (leer, escribir, etc.). Finalmente, el archivo
es cerrado antes que finalice la ejecución del proceso.

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.

Gestión de Entradas y Salidas.


Gestión de Entrada y Salida: esto representa los
intercambios de información desde el procesador o incluso
al acceso directo de la memoria. Esta actividad de entrada y
salida se realiza gracias a la relación que hay entre el
sistema operativo con los diversos periféricos, así
administrar y controlar  los estados y recursos que tienen
cada uno de estos mediante los controladores de
dispositivos.

Dispositivos o periféricos: son aparatos solidos e


independientes que van conectados a la unidad central de
la computadora. Existen diversos tipos de dispositivos con
funciones  diferentes.
     Existen tres tipos de dispositivos según su función:

        

Dispositivos de entrada: tienen la tarea de


introducir información, órdenes, comandos e instrucciones
para que la computadora lo procese con el sistema
operativo.

Entre los más conocidos se encuentran:

El Teclado.

Es el principal dispositivo para introducir órdenes e información al sistema.

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.

Dispositivos de salida: son los que se encargan de procesar


los resultados de salida  de los procesos de datos. Y
mostrarlos al usuario.

Entre ellos tenemos:


El Monitor.
Es el principal dispositivos en procesar los datos y mostrárselos al usuario.

La Impresora.

Es el periférico encargado de hacer copias en papel de la información que nos muestra el


computador.

Dispositivos de Bloques: Estos periféricos almacenan


información en bloques de tamaño fijo, estos van desde
128 bytes hasta 1024 bytes.

Entren los  dispositivos de bloques se encuentran:

Unidad de lectora  de CD –ROM.

     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.

Problemas entre el Sistema Operativo y los Dispositivos.


-Cada dispositivo tiene diferentes funciones.
-Los dispositivos dependen de núcleo de sistema
operativo.
-Existe diferentes velocidades entre los dispositivo tanto
como de entrada, salida y bloque.
-El sistema operativo trata de buscar la mejor manera de
realizar la función de entrada y salida.

Control de entrada y salida: mediante esta actividad el


sistema operativo decide que proceso hará uso del
recurso, durante cuánto tiempo y en que momento.

Entrada y salida Controladas por Programas e


Interrupciones.
Por programas: es la forma más sencilla en realizar
operaciones de entradas y salidas. Esto ocurre cuando el
procesador y el dispositivo coinciden en el mismo tiempo
definido; el procesador interactúa directamente con el
dispositivo comprobando el estado o si tiene algún dato
listo para así poder recibirlo.

Por interrupciones: en este caso el procesador espera un


tiempo indefinido hasta que el modulo que es el
encargado de proyectar la operación de entrada y salida
este preparado para ejecutar la operación.

Control/estado y datos de entrada y salida controladas por


programas: 

el procesador es el que tiene la mayor importancia y


determina la actividad y el control sobre los procesos de
entrada y salida y el programa indica en que momento se
ejecuta.

El microprocesador: Se encarga de decidir el estado de los


dispositivos indicando información del dispositivo como:
datos listos para transmitir, dispositivo ocupado,
dispositivo no conectado o error, etc.

Procesamiento de la Interrupción: a)   El dispositivo le


envía una señal de interrupción al procesador. b) El
procesador termina la instrucción que estaba ejecutando
antes que comience a responder a  la interrupción. c) El
procesador investiga si hay una interrupción, si encuentra
dicha interrupción le informa al dispositivo que la causo. d)
El procesador se prepara para transferir control a la
interrupción y guarda información necesaria para terminar
con el proceso que se interrumpió. e) El procesador carga
en la computadora la dirección de inicio del programa de
servicio que se interrumpió. f) Una vez completado con la
interrupción, el procesador continúa con el ciclo de
instrucción siguiente. h) Cuando se termina con el servicio
de la interrupción los registros vuelven a restaurarse.

Entrada y salida sincrónica: cuando la operación de


entrada y salida finaliza, el control es retornado al proceso
que la generó.

Entrada y salida Sincrónica: retorna al programa usuario


sin esperar que la operación de entrada y salida finalice. Se
necesita una llamada al sistema que le permita al usuario
esperar por la finalización de entrada y salida, si es
requerido.

Acceso Directo de la Memoria (DMA).


Tiene la habilidad de transferir directamente la
información entre la memoria y los dispositivos de entrada
o estos a la memoria sin la necesidad de un canal que
intercambie datos.

Características del acceso directo a memoria: -Las


computadoras modernas que tienen DMA, transfieren
datos a los dispositivos de menos utilización que las que no
tienen DMA.
-El procesador transfiere cuando otras operaciones se
terminan y dicha transferencia se encuentra en proceso,
luego termina cuando recibe la interrupción del DMA.
 -Es útil en actividades de aplicaciones en tiempo real.
El DMA necesita:
-Registro contador: guarda la longitud de bloque a
transferir.
-Bits: indica si la operación es de lectura o escritura.
-Bloque de control: controla el funcionamiento del
sistema.

Existen 3 tipos de transferencia para el máximo


aprovechamiento del bus:

-Por ráfagas: el DMA toma el control del bus y no lo suelta


hasta terminar la transferencia.
-Por robo de ciclo: el DMA toma el bus durante un ciclo
enviando una palabra cada vez.
-Transparente: se aprovechan los ciclos en que el
procesador no usa el bus.

Procesadores de entrada y salida.

-Revisión de métodos de entrada y salida: el procesador


efectúa una sentencia de espera hasta que el dispositivo
este preparado. La CPU se encarga solo dispositivo durante
la
-Entrada y salida por interrupciones: el procesador puede
realizar otros procesos y solo atiende el dispositivo que
produce la interrupción.
-Acceso directo a memoria: el procesador solo se encarga
de realizar el acceso a la memoria indicándole la cantidad
de transferencias. Esta actividad solo se encarga de
controlar las transferencias. Durante el proceso de entrada
y salida el procesador puede realizar otras tareas.

Procesadores de entrada y salida o canales: El canal es un


procesador auxiliar dedicado a la operación de entrada y
salida. Esto tiene una lista de instrucciones con límites y
operaciones de entrada y salida, ya que son capaces de
controlar las operaciones mediante las instrucciones.

Las instrucciones se almacenan en la memoria principal de


la computadora. El procesador de entrada y salida ejecuta
estas instrucciones y controla la transferencia de datos.
Buffer de entrada y salida.
Estos son espacios de memoria principal que se mantienen
solo para almacenar datos que envían de los dispositivos o
destino a ellos.
Los buffers se clasifican en: buffer simple, que su
transferencia de entrada e hace desde el dispositivo hacia
el buffer que el sistema operativo guarda en la memoria
principal a dicho proceso.
Buffer doble, es cuando un proceso transfiere sus datos a
un buffer mientras que el sistema operativo vacía o llena el
buffer secundario.
Seguridad y Protección de los Sistemas Operativos
 La función principal de un Sistema Operativo (SO) es la de tomar todos los recursos físicos de
un sistema de computo y brindarlos de manera virtual, esto es logrado por medio de una
abstracción del hardware (HW). En la actualidad no es suficiente con permitir el manejo y uso
del HW si no se maneja seguridad y protección . 
 Es importante en definir claramente las diferencias entre estos dos conceptos

 La seguridad : es la ausencia de un riesgo. Aplicando esta definición a al tema


correspondiente, se hace referencia al riesgo de accesos no autorizados, de manipulación
de información, manipulación de las configuraciones, entre otros
 La protección : son los diferentes mecanismo utilizados por el SO para cuidar la
información, los procesos, los usuarios, etc
Después de tener claro que quiere decir cada tema surgen numerosas ideas en nuestras mentes,
ya que la seguridad es algo que manejamos en todos los aspectos de nuestras vidas, y por
experiencia se sabe que no depende de un solo actor ( persona, computador , … ) si no que esta
fuertemente ligada con todo lo que lo rodea, por esto la seguridad no solo es manejada por el
sistema operativo si no que es necesario un refuerzo como otro software que
comúnmente denominamos “antivirus”. Un SO como administrador de los recursos cumple
funciones muy importantes en la instrumentación de la seguridad pero no engloba todos los
aspectos de esta, la cual se fortalece según las necesidades y los usos ( es decir que según la
necesidades y enfoques que dan los usuarios a los equipos estos cuentan con diferentes tipos de
seguridad ). En la actualidad los conceptos e ideas tenidos sobre la seguridad han ido
cambiando mucho, esto por que se entro a un era donde es posible los accesos remotos a los
equipos, donde se busca que todo proceso sea mas fácil de realizar ( y sabemos que la
seguridad es inversamente proporcional a la facilidad de uso ).
Un sistema de seguridad debe cumplir con unos requisitos:

 Confidencialidad: Acceso solo a usuarios autorizados


 Integridad: Modificación solo por usuarios autorizados
 Disponibilidad:  Recursos solamente disponibles para usuario autorizado
 La seguridad se clasifica en:

 Externa:  protección contra desastres y contra intrusos


 Operacional: básicamente nos determina que acceso se permite a quien
 Una de las obligaciones de un sistema seguro es permanecer en constante vigilancia,
verificando y validando las posibles amenazas, esto lo hacen con uso de contraseñas, controles
de acceso

 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

 Como objetivos de la protección esta:

 Controlar el acceso a los recursos


 Utilizabiliad por diferentes usuarios
 Generalmente surgen dudas sobre que es lo que debemos proteger o que debo cuidar mas y la
respuesta es siempre variable según el tipo de necesidades de cada usuario, pero generalmente
los mas afectados son la CPU, la memoria, terminales, procesos, ficheros y las bases de datos

Un sistema de protección deberá tener la flexibilidad suficiente para poder imponer una


diversidad de políticas y mecanismos.
 La protección se refiere a los mecanismos para controlar el acceso de programas, procesos, o
usuarios a los recursos definidos por un sistema de computación. Seguridad es la serie de
problemas relativos a asegurar la integridad del sistema y sus datos.

 Pero contra que nos debemos proteger:

 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

La violación más famosa de todos los tiempos ocurrió en 1988 cuando un  estudiante lanzó un


gusano por la Internet que botó miles de máquinas en cosa de horas. El gusano tomaba el
control de una máquina intentando diversos mecanismos. Uno de ellos era un bugo en el
programa finge. Una vez obtenido el control, trataba de descubrir las claves de los usuarios de
esa máquina intentando palabras comunes. Si descubría una, entonces tenía acceso a todas las
máquinas en que ese usuario tuviera cuenta. El gusano no hacía ninguna acción  dañina en sí,
pero usaba tantos recursos de las máquinas infectadas que las botaba.

“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

También podría gustarte