sábado, 21 de julio de 2012

Resolución a preguntas de la materia de Sistemas Operativos.

Aportando un poco de mis conocimientos a la resolución de las siguientes preguntas, estas resoluciones son basadas en mi opinión y no consideren que sean las respuestas correctas, son una guía, pues siempre es mejor investigar e ir más allá de lo escrito.




1. Si varios usuarios usan un mismo sistema que riesgos se corren con respecto a la administración de procesos. Liste y explique al menos dos de estos riesgos. Es posible aminorarlos?, explique su respuesta.

En referencia al uso concurrente por varios usuarios a un sistema.
Los riesgos que se pueden presentar al no tener un correcto control son:
* Desconocimiento del estado de un proceso: si el sistema no conoce el estado de un proceso, este puede quedar residente en memoria lo que podria al final colapsar el sistema si no controlamos el estado de varios procesos para que luego de realizado su tarea sean liberados de la memoria.


2. La administración de recursos es un problema recurrente en el diseño de SO. Una de las consideraciones más importantes es el entorno de trabajo. Liste que recursos deben ser manejados con más cuidado en los siguientes casos:

a. -Mainframe conectado a terminales tontos
     Tiempo de CPU
     Memoria
     Dispositivos E/S


b. -Una estaciones de trabajo conectada a un servidores
      Red
     Servidores
     Impresoras en Red o en general Hardware Compartido

c. -Un teléfono celular 3G.
     CPU     
     Duración de Batería
     Red
    

3. Los primeros kernels de SO ni el hardware donde corrían proveían un bit de modo . Hubiera sido posible a pesar de esto crear un SO más seguro? De argumentos a favor y en contra.
Pienso que si los fabricantes de hardware y SO hubieran trabajado en conjunto se podria haber proporcionado un mecanismo de proteccion similar al bit de modo, ya que de otra manera no hubiera sido posible pues sin eso se tenia acceso total del hardware por parte de cualquier aplicacion o usuario.
No se podria haber dado un SO con bit de modo si el hardware no lo soportaba.

4.Los kernels modulares tiene la ventaja de que los módulos se cargan/descargan dinámicamente en el espacio de memoria del kernel. Piense en algún problema que pueda derivarse de este procedimiento.
Un kernel modular debe ser cargado garantizando su correcto funcionamiento.
Al ser cargado/descargado dinamicamente el problema que podria darse es que el modulo no se cargue correctamente lo que ocasionaria un fallo en el sistema haciendolo inconsistente o inutilizable de igual manera al descargarse.
Otro problema que debe ser contemplado es que un modulo no sea tolerante a fallos, a diferencia de una aplicacion que generaria un aborto en su ejecucion, si un modulo falla el sistema puede quedar inutilizado.
Al crear un kernel modular se debe verificar que no tengas fallos de seguridad, ya que un atacante podria aprovechar cualquier vulnerabilidad para adentrarse en el sistema y alterar la memoria del nucleo y sus modulos.

5.Los kernels suelen modificarse en función de las limitaciones del hardware del sistema, cual es el dispositivo electrónico más sencillo (en términos de funcionalidad) que Ud. conoce donde ejecuta el kernel de un SO.
El dispositivo más sencillo que conozco donde se ejecuta un kernel es en el telefono celular refiriendome a aquellos en donde funciona por ejemplo SymbianOS, todavía podemos encontrar celulares de gama baja con las funciones más básicas,a diferencia de los dispositivos mobiles actuales donde se ejecutan SO como Android, Windows Mobile.
También en donde se ejecutan kernel de un SO es en los routers los que nos permiten conectar los dispositivos de nuestra red domestica o corporativa.
En el playstation 2 y 3 también podemos encontrar versiones de kernel ejecutandose.
El PSP es otro dispositivo electrónico donde encontramos un kernel en funcionamiento.

No hay comentarios:

Publicar un comentario

Obtener el residuo de la division de dos numeros en C++

Un pequeño ejemplo de programacion en C++. #include<conio.h> #include<stdio.h> #include<math.h> int num1,num2,residuo...