martes, 15 de marzo de 2016

PRACTICA DE PROCESOS DE WINDOWS

TEMARIO

OBJETIVO(S) GENERAL(ES) DEL CURSO (competencias específicas a desarrollar
en el curso)
Aplicar los paradigmas de diseño de los sistemas operativos actuales y emergentes, para el
manejo de los recursos del sistema.
 COMPETENCIAS PREVIAS
• Diseñar e implementar objetos de programación que permitan resolver situaciones
reales y de ingeniería.
• Seleccionar, diseñar, implementar y manipular estructuras de datos que optimicen el
rendimiento de aplicaciones de software, con un enfoque orientado a objetos y
considerando la complejidad de los algoritmos utilizados.
• Identificar la tecnología de la computación a través de las arquitecturas de diferentes
modelos y desarrollar habilidades que le permitan sugerir soluciones óptimas
utilizando los sistemas de cómputo.

UNIDAD 1:Introducción a los sistemas operativos
1.1 Definición y concepto.
1.2 Funciones y características.
1.3 Evolución histórica.
1.4 Clasificación.
1.5 Estructura: niveles o estratos de diseño.
1.6 Núcleo.

UNIDAD 2: Administración de Procesos y del procesador
2.1 Concepto de proceso.
2.2 Estados y transiciones de los procesos
2.3 Procesos ligeros: Hilos o hebras.
2.4 Concurrencia y secuenciabilidad.
2.5 Niveles, objetivos y criterios de planificación.
2.6 Técnicas de administración del planificador.

UNIDAD 3: Administración de memoria
3.1 Política y filosofía.
3.2 Memoria real.
3.3 Organización de memoria virtual
3.4 Administración de memoria virtual

UNIDAD 4: Administración de entrada/salida.
4.1 Dispositivos y manejadores de dispositivos:
device drivers.
4.2 Mecanismos y funciones de los manejadores de
dispositivos: device drivers.
4.3 Estructuras de datos para manejo de
dispositivos.
4.4 Operaciones de Entrada /salida

UNIDAD 5: Sistemas de archivos
5.1 Concepto.
5.2 Noción de archivo real y virtual.
5.3 Componentes de un sistema de archivos.
5.4 Organización lógica y física.
5.5 Mecanismos de acceso a los archivos.
5.6 Manejo de espacio en memoria secundaria.
5.7 Modelo jerárquico.
5.8 Mecanismos de recuperación en caso de falla.

UNIDAD 6: Protección y seguridad
6.1 Concepto y objetivos de protección.
6.2 Funciones del sistema de protección.
6.3 Implantación de matrices de acceso.
6.4 Protección basada en el lenguaje.
6.5 Concepto de seguridad.
6.6 Clasificaciones de la seguridad.
6.7 Validación y amenazas al sistema.
6.8 Cifrado.


CUESTIONARIO

CUESTIONARIO

SISTEMAS OPERATIVOS

¿Qué es la multiprogramación?
Particionar la memoria en varias piezas, con un trabajo distinto en cada partición. Mientras que un trabajo esperaba a que se completara una operación de E/S, otro podía estar usando la CPU.

    ¿Qué es spooling? ¿Cree usted que las computadoras avanzadas tendrán spooling como característica estándar en el futuro?
Spooling: Cada vez que terminaba un trabajo en ejecución, el sistema operativo podía cargar un nuevo trabajo del disco en la partición que entonces estaba vacía y lo ejecutaba.
No, ya que las maquinas 1401 no eran ya necesarias y desapareció la mayor parte del trabajo que transportaban las cintas.

En las primeras computadores, cada byte de datos leído o escrito se manejaba mediante la CPU (es decir, no había DMA). ¿Qué implicaciones tiene esto para la multiprogramación?La solución a la que se llegó fue dividir la memoria en varias secciones, con un trabajo distinto en cada partición. Mientras un trabajo estaba esperando que terminara su E/S, otro podía estar usando la CPU. Si se podían tener en la memoria principal suficientes trabajos a la vez, la CPU podía mantenerse ocupada casi todo el tiempo. Tener múltiples trabajos en la memoria a la vez requiere hardware especial para proteger cada trabajo contra espionaje o p por parte de los demás, pero la 360 y otros sistemas de tercera generación estaban equipados con este hardware.

   La idea de una familia de computadoras fue introducida en la década de 1960 con las mainframes IBM System/360. ¿Está muerta ahora esta idea o siguen en pie?No, aun esta la fecha los descendientes de este modelo sigue en pie aunque diverge de la original es decir estan en constantes cambios estos modelos van innovandoce.

Una razón por la cual las GUI no se adoptaron a la rapidez en un principio fue el costo del hardware necesario para darles soporte. ¿Cuánta RAM de video se necesita para dar soporte a una pantalla de texto monocromático de 25 líneas x 80 caracteres? 4KB de memoria RAM¿Cuánta se necesita para un mapa de bits de1024 x 768 pixeles o colores de 24 bits? 25165824¿Cuál fue el costo de esta RAM con precios de 1980 (5 dólares/KB)? 122880 dólares. ¿Cuánto vale ahora? 467001 dólares.

2.4 CONCURRENCIA Y SECUENCIALIDAD

2.4 CONCURRENCIA Y SECUENCIALIDAD

La concurrencia comprende un gran número de cuestiones de diseño, incluyendo la comunicación entre procesos, comparación y competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador a los procesos y es fundamental para que existan diseños como Multiprogramación, Multiproceso y Proceso distribuido
Los procesos son concurrentes si existen simultáneamente. Los procesos concurrentes pueden funcionar en forma totalmente independiente unos de otros, o pueden ser asíncronos, lo cual significa que en ocasiones requieren cierta sincronización o cooperación.
Cuando dos o más procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. Es importante mencionar que para que dos o más procesos sean concurrentes, es necesario que tengan alguna relación entre ellos como puede ser la cooperación para un determinado trabajo o el uso de información o recursos compartidos, por ejemplo: en un sistema de un procesador, la multiprogramación es una condición necesaria pero no suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.
Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las actividades necesiten actuar entre si ya sea para utilizar información en común o para cualquier otra cosa.
Existen tres formas modelos de computadora en los que se puede pueden ejecutar procesos concurrentes:
Multiprogramación con un único procesador.
En este modelo todos los procesos concurrentes ejecutan sobre un único procesador. El sistema operativo se encarga de ir repartiendo el tiempo del procesador entre los distintos procesos, intercalando la ejecución de los mismos para dar así una apariencia de ejecución simultánea.
Multiprocesador.
Un multiprocesador es una maquina formada por un conjunto de procesadores que comparten memoria principal. En este tipo de arquitecturas, los procesos concurrentes no solo pueden intercalar su ejecución sino también superponerla. En este caso si existe una verdadera ejecución simultanea de procesos, al coincidir las fases de procesamiento de distintos procesos. En un instante dado se pueden ejecutar de forma simultanea tantos procesos como procesadores haya.
Multicomputadora.
Una multicomputadora es una máquina de memoria distribuida, en contraposición con el multiprocesador que es de memoria compartida. Está formada por una serie de computadoras completas con su UCP, memoria principal y, en su caso, periferia. Cada uno de estos procesadores completo se denomina nodo. Los nodos se encuentran conectados y se comunican entre sí a través de una red de interconexión, empleando el método de paso de mensajes. En este tipo de arquitecturas también es posible la ejecución simultánea de los procesos sobre los distintos procesadores.

En general la concurrencia será aparente siempre que el número de procesos sea mayor que el de procesadores disponibles, es decir, cuando haya más de un proceso por procesador. La concurrencia será real cuando haya un proceso por procesador.

Tipos de procesos concurrentes.
Los procesos que ejecutan de forma concurrente en un sistema se pueden clasificar como:
Proceso independiente: Es aquel que ejecuta sin requerir la ayuda o cooperación de otros procesos. Un claro ejemplo de procesos independientes son los diferentes shells que se ejecutan de forma simultánea en un sistema.

Procesos son cooperantes: Son aquellos que están diseñados para trabajar conjuntamente en alguna actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos. En ambos tipos de procesos (independientes y cooperantes), puede producirse una serie de interacciones entre ellos y pueden ser de dos tipos:
• Interacciones motivadas porque los procesos comparten o compiten por el acceso a recursos físicos o lógicos. Por ejemplo, dos procesos independientes compiten por el acceso a disco o para modificar una base de datos.
• Interacción motivada porque los procesos se comunican y sincronizan entre sí para alcanzar un objetivo común, Por ejemplo, un compilador que tiene varios procesos que trabajan conjuntamente para obtener un solo archivo de salida.
Elementos a gestionar y diseñar a causa de la concurrencia. Se pueden enumerar los siguientes:
1. El sistema operativo debe ser capaz de seguir la pista de los distintos procesos activos. Esto lo hace por medio de PBC’s (Bloque de Control de Procesos)
2. El sistema operativo debe asignar y quitar los distintos recursos a cada proceso activo. Entre estos recursos se incluyen:
• Tiempo de procesador: Es función de la planificación.
• Memoria: La mayoría de los sistemas operativos emplean esquemas de memoria virtual.