trabajo colaborativo 2

15
TRABAJO COLABORATIVO 2 SISTEMAS OPERATIVOS VANESA VERGARA VERGARA CODIGO: 1066173626 GRUPO: 301402_46 TUTOR: JAIME JOSE VALDES

Upload: vanesa-vergara

Post on 02-Dec-2015

90 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Trabajo Colaborativo 2

T R A B A J O C O L A B O R A T I V O 2SISTEMAS OPERATIVOS

VANESA VERGARA VERGARACODIGO: 1066173626GRUPO: 301402_46

TUTOR:JAIME JOSE VALDES

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNADESCUELA DE CIENCIAS BASICAS TECNMOLOGIA E INGENIERIA ECBTI

INGENIERIA DE SISTEMASOCTUBRE 2012

INTRODUCCION

Page 2: Trabajo Colaborativo 2

OBJETIVOS

- Conocer la forma como el sistema operativo administra cada uno de los recursos con los que cuenta.

- Expresar de forma didáctica e ilustrativa la administración de cada recurso.

Page 3: Trabajo Colaborativo 2

DESARROLLO DE ACTIVIDADES

1. Realizar un mapa conceptual o mapa mental de la unidad 2, donde contemple cada uno de los recursos administrados por el sistema operativo.

Page 4: Trabajo Colaborativo 2

2. Elabore un breve resumen acerca de la forma como se administran los procesos por parte del sistema operativo y de los estados en los que puede estar un proceso.

Los sistemas operativos de la antigüedad sólo permitían ejecutar un programa a la vez.  Este programa obtenía el control completo del sistema. Los sistemas operativos actuales permiten la ejecución concurrente de múltiples   programas cargados en memoria. Entonces nace el concepto de proceso. Un proceso es un programa en ejecución. Es la unidad de trabajo de un S.O moderno.

Todos los procesos se ejecutan en forma pseudo-concurrente, con la CPU conmutando  entre ellos. De esta manera se logra que el sistema computacional sea más productivo.

En términos simples, un proceso es un programa en ejecución junto con el entorno asociado (registros, variables, etc.). La ejecución de  un proceso se realiza de una forma  secuencial.

Los conceptos de job (tareas) y procesos son equivalentes y se pueden intercambiar. Un proceso tiene recursos como:

- Código ejecutable- Datos- Registros temporales- Stack- Program Counter

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.

También es importante considerar que si dos o más procesos forman parte de un mismo programa, se consideran secuencias separadas de ejecución y que pueden cooperar entre ellos.

ESTADOS DE UN PROCESO

Los estados de los procesos son internos del sistema operativo y son transparentes para el usuario. Para éste, su proceso estará siempre en ejecución independientemente del estado en que se encuentre internamente en el sistema.

Un proceso puede estar en alguno de los siguientes estados:

- Nuevo: se está creando.

Page 5: Trabajo Colaborativo 2

- Corriendo (Run): se están ejecutando instrucciones. El proceso tiene el control del procesador. En un sistema monoprocesador este estado sólo lo puede tener un proceso. (Ejecución).

- Espera (Wait): el proceso espera que ocurra algún evento. Por ejemplo el término de una operación de E/S o la recepción de una señal. Son los procesos que no pueden ejecutarse de momento por necesitar algún recurso no disponible (generalmente recursos de E/S). (Bloqueado)

- Listo (Ready): El proceso está listo para ocupar la CPU. 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). (Preparado).

- Fin: el proceso terminó su ejecución.

3. Explique brevemente como administra el sistema operativo la memoria y como realiza el proceso de asignación de la misma.

La parte del sistema operativo que administra la memoria se llama administrador de la memoria. Para ello existen diferentes esquemas de administración de memoria desde los más simples hasta los más elaborados entre los cuales se ubican:

Administración de la memoria sin intercambio o paginación: Los sistemas de administración de memoria se pueden clasificar en dos tipos. Los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución (intercambio y paginación) y aquellos que no.

Monopogramación sin intercambio o paginación: Es en forma secuencial pues solo se tiene un objeto en memoria en cada instante, el usuario carga toda la memoria con un programa, esto implica que cada proceso debe contener controladores de dispositivo para cada uno de los dispositivos E/S que utilice.

Multiprogramación y uso de la memoria: La multiprogramación facilita la programación de una aplicación al dividirla en dos o más procesos. La mayoría de los procesos tardan cierto tiempo en la espera de datos de dispositivos E/S.

Un modelo para el uso y aprovechamiento de la CPU es el modelo probabilístico dado por la fórmula:

Uso de la CPU = 1 - pn

Multiprogramación con particiones fijas: El objetivo en todo esto es tener más de un proceso en memoria a la vez, solución posible sería dividir la memoria en n partes al inicio de una sesión de uso de la máquina, pero aun así

Page 6: Trabajo Colaborativo 2

se obtiene el desperdicio de particiones grandes con una tarea pequeña, la respuesta puede ser tener particiones pequeñas también. Las tareas que van llegando se forman hasta que una partición adecuada está disponible, en cuyo momento la tarea se carga en esa partición y se ejecuta hasta terminar.

Intercambio: En un sistema por lotes la organización de la memoria en particiones fijas es adecuado pero en un ambiente multiusuario la situación es distinta con el tiempo compartido, ya que existen más usuarios de los que puede albergar la memoria, por lo que es conveniente albergar el exceso de los procesos en disco., por supuesto para ser ejecutados estos procesos deben ser trasladados a la memoria principal. Al traslado de procesos de disco a memoria y viceversa se le llama intercambio.

Multiprogramación con particiones variables: Mediante un algoritmo de administración de memoria las particiones variables varían de forma dinámica durante el uso de la máquina, evitando desperdicio de memoria.

Otros métodos de administración de memoria que tenemos son:

La administración de memoria con mapa de bits: La memoria se divide en unidades de asignación, a cada asignación le corresponden un bit en el mapa de bits, un mapa de bits es una forma sencilla para llevar un registro de las palabras de la memoria en una cantidad fija de memoria.

La administración de memoria con listas ligadas: Otra forma de mantener un registro en memoria es mediante una lista ligada donde cada entrada de la lista específica un hueco o un proceso.

La administración de memoria con el sistema de los asociados: Basado en el sistema binario o utiliza para las direcciones.

Memoria Virtual: El método diseñado por Fotheringham en 1961 se conoce como Memoria Virtual, la idea es que el tamaño combinado de la pila, programa y datos puede exceder la memoria física disponible para ello. El S.O. mantiene en memoria aquellas partes del programa que se deben permanecer en memoria y el resto lo deja en disco, las partes entre el disco y la memoria se intercambian de modo que se vayan necesitando.

Paginación: El espacio de direcciones de cada proceso se divide en bloques de tamaño uniforme llamados páginas, los cuales se pueden colocar dentro de cualquier para página marco disponible en memoria. Cuando las tablas de páginas son muy grandes se puede utilizar un esquema de paginación de varios niveles para que las páginas se paginen a sí mismas. Existen distintos niveles de paginación y a su vez distintos modelos de computadoras han trabajado con ellas.

Paginación de nivel 1: PDP-11 Paginación de 2 niveles: la VAX

Page 7: Trabajo Colaborativo 2

Paginación de 3 niveles: la SPARC Paginación de 4 niveles: la 68030

Memoria asociativa: En los algoritmos de paginación las tablas de páginas se mantienen en la memoria debido a su gran tamaño, en potencia este diseño tiene un efecto enorme en el rendimiento.

Algoritmos de reemplazo de páginas: Cuando ocurre un fallo de página el sistema operativo debe elegir una página para retirarla de la memoria y hacer un espacio para la página por recuperar. Si la página por eliminar fue modificada mientras estaba en memoria, debe escribirla en el disco para mantener actualizada la copia del disco, si por el contrario la página no ha sido modificada la copia del disco ya está actualizada por lo que no es necesario volver a escribir, la página por leer sólo escribe encima de la página por retirar. Aunque es posible elegir una página al azar para el reemplazo relacionado con un fallo de página, el rendimiento del sistema es mucho mejor si se elige una página de poco uso.

Algoritmo de reemplazo de páginas óptimo: Mejor algoritmo posible para reemplazo de páginas pero irrealizable en la práctica. Al momento de ocurrir un fallo de página cierto conjunto de páginas se encuentran en la memoria, en la siguiente instrucción se hará referencia a una de estas páginas, otras páginas no se utilizaran sino hasta mucho después, cada página puede ejecutarse con el número de instrucciones ejecutadas antes de la primera referencia a esa página, el algoritmo dice que se elimine la página con la mayor etiqueta; si una página no va a utilizase sino hasta mucho después que otra la eliminación de la primera retrasa el fallo de página lo más posible, el único problema de este algoritmo es que es irrealizable. Al momento del fallo de página el S.O. no tiene forma de saber a qué página se hace referencia.

Algoritmo de página de uso no muy reciente: En un fallo de página, el sistema operativo inspecciona todas las páginas y las divide en cuatro categorías según los valores actuales de los bits R y M

Clase 0: No se ha hecho referencia ni ha sido modificada Clase 1: No se ha hecho referencia pero ha sido modificada Clase 2: Se ha hecho referencia pero no ha sido modificada Clase 3: Se ha hecho referencia y ha sido modificada

El algoritmo NRU implica una hipótesis que indica que es mejor eliminar una página modificada sin referencias al menos por lo general un intervalo de reloj, este algoritmo es fácil de comprender, de implantación eficiente y con un rendimiento que, aún sin ser el óptimo si es adecuado en muchos casos.

Algoritmo de reemplazo " primero en entrar, primero en salir FIFO": El sistema operativo tiene una lista de todas las páginas que se encuentran en memoria, siendo la primera página la más antigua y la última la más reciente, en un fallo de página, se elimina la primera página y se añade la nueva al final de la lista.

Page 8: Trabajo Colaborativo 2

Algoritmo de reemplazo de páginas de la segunda oportunidad: Una modificación simple del FIFO que evita deshacerse de una página de uso frecuente inspecciona el bit R de la página más antigua, busca una página antigua sin referencias durante el anterior intervalo de tiempo.

Algoritmo de reemplazo de páginas del reloj: Aunque el anterior algoritmo es razonable un mejor enfoque es mantener las páginas en una lista circular con la forma de un reloj, una manecilla apunta hacia la más antigua. Al ocurrir un fallo de página se inspecciona la página a la que apunta la manecilla si su bit R=0 se retira de la memoria, se inserta la nueva página en su lugar en el reloj y la manecilla avanza una posición, si R=1 la manecilla avanza una posición y el bit se limpia, esto continua hasta encontrar una página con R=0.

Segmentación La memoria virtual que hemos analizado hasta ahora es unidimensional, puesto que cada segmento constituye un espacio independiente de direcciones, los distintos segmentos pueden crecer o reducirse en forma independiente sin afectar a los demás.

Una memoria segmentada tiene otras ventajas como hacer más sencilla la administración de las estructuras de datos que crecen o se reducen, si cada procedimiento ocupa un segmento independiente con la posición inicial cero el ligado independiente de los procesos compilados es mucho más sencillo.

- Bit que se activa si se hace referencia a la página en cuestión

- Bit que se activa si se modifica la página

4. Realice una lista de todos los dispositivos que considere que hacen parte de un sistema computacional, y para cada uno de ellos diga si es dispositivo de entrada o de salida al sistema.

DISPOSITIVOS DE ENTRADA: Son todos los elementos que permiten la unión del usuario con la unidad de procesamiento central y la memoria. Entre estos tenemos:

Teclado: Dispositivo de entrada que traducen los datos a una forma que la computadora pueda interpretar, para luego procesarlos y almacenarlos, los hay de forma: Teclado alfanumérico y para perfoverificación.

Mouse o Ratón y Joysticks: Dispositivos que convierten el movimiento físico en señales eléctricas binarias y que la misma sea repetida en el monitor.

Escáner o digitalizador de imágenes: Están concebidos para interpretar caracteres, combinación de caracteres, dibujos gráficos escritos a mano o en máquinas o impresoras y traducirlos al lenguaje que la computadora entiende.

Page 9: Trabajo Colaborativo 2

Dispositivos ópticos: entre estos tenemos, Lector de marcas o rastreador de marca óptica, Digitalizador de imágenes (scanner), Cámara digital, Digitalizador de audio, tales como Micrófonos.

DISPOSITIVOS DE SALIDA: Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las manipulaciones de datos de la computadora. Los más comunes son:

Monitor: Sirve como dispositivo de salida para recibir mensajes del computador.

Impresora: Una impresora permite obtener una copia dura o física de cualquier información que pueda aparecer en pantalla. Hay dos grupos básicos que son: impresora de Impacto y no impacto o de página.

Módem: dispositivo que sirve para enlaza dos ordenadores transformando las señales digitales.

Otros dispositivos que hacen parte de un sistema computacional son:

UNIDAD CENTRAL DE PROCESAMIENTO: Una unidad central de procesamiento (UCP) es una colección compleja de circuitos electrónicos, que interpreta y lleva a cabo las instrucciones de los programas.

MEMORIA Y DISPOSITIVOS DE ALMACENAMIENTO: Disco Duro, Disquetes 3 ½, Maletón-ópticos de 5,25, Cintas magnéticas.

Disco Duro: es un disco rígido, con sensibilidad magnética, que gira continuamente a gran velocidad dentro del chasis del computador.

Disco óptico: Una unidad de disco óptico usa rayos láser en lugar de imanes para leer y escribir la información en la superficie del disco.

Cintas Magnéticas: Utilizados por los grandes sistemas informáticos.

5. Teniendo en cuenta el estudio de la organización interna del sistema operativo para manejar la estructura de archivos y directorios, realizar un cuadro sinóptico en donde resuma los tipos de estructuras de archivos y qué sistemas operativos los manejan.

Page 10: Trabajo Colaborativo 2

6. Describa cómo será un sistema de seguridad y protección ideal para un sistema operativo, teniendo en cuenta que tienen que proteger el sistema operativo contra alguien o algo.

Para comenzar con la protección de un sistema operativo se debe controlar todos los accesos a el mismo tanto lógicos como físicos. El nivel de seguridad a proporcionar depende del valor de los recursos que hay que asegurar.

Un tratamiento total incluye aspectos de la seguridad del computador distintos a los de la seguridad de los S. O. La seguridad externa debe asegurar la instalación computacional contra intrusos y desastres como incendios e inundaciones.

Concedido el acceso físico el S. O. debe identificar al usuario antes de permitirle el acceso a los recursos: seguridad de la interfaz del usuario.

La seguridad interna trata de los controles incorporados al hardware y al S. O. para asegurar la confiabilidad, operabilidad y la integridad de los programas y datos.

La seguridad externa consiste en:

- Seguridad física. - Seguridad operacional.

La seguridad física incluye: Protección contra desastres y Protección contra intrusos. En la seguridad física son importantes los mecanismos de detección, algunos ejemplos son:

- Detectores de humo. - Sensores de calor. - Detectores de movimiento.

La protección contra desastres puede ser costosa y frecuentemente no se analiza en detalle; depende en gran medida de las consecuencias de la pérdida.

La seguridad física trata especialmente de impedir la entrada de intrusos:

Se utilizan sistemas de identificación física: - Tarjetas de identificación. - Sistemas de huellas digitales. - Identificación por medio de la voz.

Seguridad Operacional: Consiste en las diferentes políticas y procedimientos implementados por la administración de la instalación computacional. La autorización determina qué acceso se permite y a quién.

Page 11: Trabajo Colaborativo 2

Para diseñar medidas efectivas de seguridad se debe primero enumerar y comprender las amenazas potenciales, luego definir qué grado de seguridad se desea (y cuánto se está dispuesto a gastar en seguridad). Además se requiere analizar las contramedidas disponibles.

Protección por Contraseña: El esquema más común de autentificación es la protección por contraseña, en este esquema el usuario elige una palabra clave, la memoriza, la teclea para ser admitido en el sistema computarizado.

La protección por contraseñas tiene ciertas desventajas si no se utilizan criterios adecuados para:

- Elegir las contraseñas. - Comunicarlas fehacientemente en caso de que sea necesario. - Destruir las contraseñas luego de que han sido comunicadas. - Modificarlas luego de algún tiempo.

Los usuarios tienden a elegir contraseñas fáciles de recordar.

Auditoría y Controles de Acceso

La auditoría suele realizarse a posteriori en sistemas manuales es decir que se examinan las recientes transacciones de una organización para determinar si hubo ilícitos. La auditoría en un sistema informático puede implicar un procesamiento inmediato, pues se verifican las transacciones que se acaban de producir.

Un registro de auditoría es un registro permanente de acontecimientos importantes acaecidos en el sistema informático.

Controles de Acceso: Lo fundamental para la seguridad interna es controlar el acceso a los datos almacenados. Los derechos de acceso definen qué acceso tienen varios sujetos o varios objetos. Los objetos pueden ser:

- Concretos: - Abstractos:

Los objetos están protegidos contra los sujetos. Los sujetos pueden ser varios tipos de entidades. . Ej.: usuarios, procesos, programas, otras entidades, etc.

Los derechos de acceso más comunes son:

- Acceso de lectura. - Acceso de escritura. - Acceso de ejecución.

Seguridad por Hardware: Existe una tendencia a incorporar al hardware funciones del S. O. Las funciones incorporadas al hardware resultan mucho más seguras que cuando son asequibles como instrucciones de software que

Page 12: Trabajo Colaborativo 2

pueden ser modificadas. Pueden operar mucho más rápido que en el software mejorando la performance y permitiendo controles más frecuentes.

Sistemas Supervivientes: El diseño de sistemas de alta seguridad debe asegurar su operación de manera continua y confiable y su disponibilidad.

Un sistema de computación superviviente es aquel que continúa operando aún después de que uno o más de sus componentes fallan.

Penetración al Sistema Operativo: La penetración definitiva puede consistir en cambiar el bit de estado de la máquina del estado problema al estado supervisor; el intruso podrá así ejecutar instrucciones privilegiadas para obtener acceso a los recursos protegidos por el S. O. Los estudios de penetración están diseñados para determinar si las defensas de un sistema contra ataques de usuarios no privilegiados son adecuadas, y descubrir deficiencias de diseño para corregirlas.

El control de entrada / salida es un área favorita para intentar la penetración a un sistema, ya que los canales de entrada / salida tienen acceso al almacenamiento primario y por consiguiente pueden modificar información importante.