domingo, 9 de marzo de 2014

TALLER 7

Tabla tipo de políticas:
POLÍTICAS
EXPROPIATIVAS
NO EXPROPIATIVAS
VENTAJAS
DESVENTAJAS
Primero en llegar  primeo en servirse

X
Funciona bien para sistemas por lotes, cada trabajo se ejecuta hasta su ejecución
Deficiente  para sistemas interactivos  por su tiempo de respuesta
Siguiente trabajo más corto primero

X
Fácil  implementación en entorno por lotes
Deficiente  su implementación  en sistemas interactivos
Planificación de prioridad

X
Establece prioridad alta,  hasta completar los ciclos
aplazamiento  indefinido de los trabajos
Tiempo más corto restante
X

Procesador se asigna el trabajo más corto a terminar
Incurre en estado de envejecimiento por la cola de espera de los programas, por la asignación de tarea
Round Robín
X

se comparta la CPU de manera equitativa, sin monopolizar
Son políticas para tipo de sistema compartido, cerradas
Colas de multinivel
Depende del movimiento de la cola

Depende del movimiento de la cola

Es flexible al movimiento o envejecimiento de las colas
Problemas en la aplicación ya que puede darse procesamiento 
extra

















.


PRIMERO EN LLEGAR PRIMERO EN SERVIRSE
B

D
A
C
PROMEDIO
5

11
15
24
13,75
4596

SIGUIENTE TRABAJO MÁS CORTO PRIMERO
A
B
D
C
PROMEDIO
4
9
15
24
13


PLANIFICACION DE PRIORIDAD
A
B
D
C
PROMEDIO
4
9
15
24
13
4152

TIEMPO MAS CORTO RESTANTE

B
D
B
A
D
C
0
1
2
4
8
14
24
B
D
A
C
PROMEDIO
3
10
4
24
10,25


Tiempo de procesamiento: es la cantidad de tiempo en que la unidad central de procesos, fue usada para procesar las instrucciones  de un programa.

Políticas FIFO: primero en entrar, primero en salir, guarda  analogía con las personas que esperan una cola  y van siendo a tendidas  en el orden en que llegaron.

Políticas  LIFO: último en entrar, primero en salir, último que llega es atendido primero.

Pila: permite  almacenar y recuperar datos, utiliza la  Técnica último en entrar primero en salir.




martes, 4 de marzo de 2014

TALLER 6

DEFINICIÓN DE PROCESOS :
  1. Puede informalmente entenderse como un programa en ejecución. formalmente un proceso es "una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".
  2. Es un término con múltiples usos, que aparecen en contextos muy diversos. en el ámbito de la informática, el concepto se refiere a la ejecución de diversas instrucciones por parte del microprocesador, de acuerdo a lo que indica un programa.
  3. Para mi se refiere las instrucciones que ejecutará el microprocesador mientras lee un programa determinado. 

                              DEFINICIÓN DE HILOS :
  1. Un hilo de ejecución o thread , en sistemas operativos, es una característica que permite a una aplicación realizar varias tareas concurrentemente. los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc.
  2. Un hilo de ejecución, hebra o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo.
    la creación de un nuevo hilo es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente).
  3. Para mi un hilo se puede considerar como la agrupación de un trozo de programa junto con el conjunto de registros del procesador que utiliza para desarrollar un proceso.

PLANIFICADORES DE NIVEL

SEMEJANZAS Y DIFERENCIAS DE PCB Y TCB

Semejanzas:
Tienen identificación de cada proceso , estado  y contabilidad.

Diferencias:
Se diferencian en la prioridad de hilo ,apuntador que utiliza el hilo. 


   Programa en java
    
//************************************************
//CICLO DE ENTRADA Y SALIDA DE DATOS
import java.util.Scanner;

public class SistemasOperativos {

               public static void main(String[] args) {
                               double a, b;// MEMORIA
                               Scanner ap = new Scanner(System.in);

                               System.out.println("Area y Perimetro de un Rectagulo");
                               System.out.println("Ingrese la altura");
                               a = ap.nextInt();
                               System.out.println("Ingrese la base");
                               b = ap.nextInt();


                               // *****************************************************
                               // UNIDAD ARIMETICA LOGICA (ALU)
                               double area = a * b;// MEMORIA
                               double hipotenusa = Math.hypot(a, b);// MEMORIA
                               double perimetro = (b + a + hipotenusa);// MEMORIA

                               // **************************************************
                               // CICLO DE ENTRADA Y SALIDA DE DATOS
                               System.out.println("El area de un tringulo rectangulo es =" + area);
                               System.out.println("El perimetro de un trangulo rectangulo es ="
                                                              + perimetro);

               }


}


GLOSARIO

Compilación: 
Proceso de traducción de un código fuente (escrito en un lenguaje de programación de alto nivel) a lenguaje máquina (código objeto) para que pueda ser ejecutado por la computadora. Las computadoras sólo entienden el lenguaje máquina. 
La aplicación o la herramienta encargada de la traducción se llaman compilador.

Los estados de un proceso: 
Obedecen a su participación y disponibilidad dentro del sistema operativo y surgen de la necesidad de controlar la ejecución de cada proceso. Los procesadores sólo pueden ejecutar un sólo proceso a la vez, turnándolos para el uso de éste.

El código fuente: 
(o software) es un conjunto de líneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Por tanto, en el código fuente de un programa está escrito por completo su funcionamiento.

Código objeto: 
Código que resulta de la compilación del código fuente. Consiste en lenguaje máquina o bytecode y se distribuye en varios archivos que corresponden a cada código fuente compilado. Para obtener un programa ejecutable se han de enlazar todos los archivos de código objeto con un programa llamado enlazador (linker).

Programación Concurrente: 
Dos procesos serán concurrentes cuando la primera instrucción de uno de ellos se ejecuta después de la primera del otro y antes de la última. Conjunto de acciones que pueden ser ejecutadas simultáneamente.


TALLER 5

SISTEMAS OPERATIVOS Y SU TIPO DE ESTRUCTURA


ENSAYO SOBRE LA ESTRUCTURA DE  LOS SISTEMAS OPERATIVOS


Cada Sistema Operativo (SO) está formado por una serie de componentes especializados en determinadas funciones y cada uno de ellos estructura estos componentes de forma distinta.

De acuerdo a su estructura los SO se pueden clasificar en:

Estructura simple: monolíticos y capas.

 Monolíticos: Un SO de este tipo no tiene estructura clara y definida. Todos sus  componentes se encuentran integrados en un único programa (el SO) que ejecuta en un único espacio de direcciones. Todas las funciones se ejecutan en modo núcleo. Como ejemplo de esto sistemas tenemos Ms-DOS y UNIX. 

Capas: En este el SO se organiza por jerarquías o capas, donde cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que le ofrece la capa inferior. 
Su principal ventaja en la modularidad y la ocultación de información.
Este enfoque lo uso el S.O (THE) (1968) y el OS/2 descendiente del Ms-DOS.

Estructura cliente servidor: Una tendencia de los SO modernos es la de explotar la idea de mover el código a capas superiores  y mantener un núcleo mínimo, implementados la mayoría de la funciones del SO en los procesos del usuario, dejando solo una pequeña parte del SO ejecutando en modo núcleo, a esta parte se le conoce como micronucleo o microkernel. Como ejemplo de estos SO tenemos: Minix, Hurd, QNX y Symbian entre otros.

Maquina virtual: Se separan totalmente las funciones de multiprogramación y de maquina extendida. Existe un elemento central llamado monitor de la maquina virtual que se ejecuta en el hardware, realiza la multiprogramación y proporciona varias maquinas virtuales a la capa superior. Pueden ejecutar cualquier SO que se ejecute en forma directa sobre el hardware y soportan periféricos virtuales. Entre las maquinas virtuales de SO tenemos:    OpenVZ, Virtuozzo, FreeVPS, Linux-VServer, FreeBSD Jails, Solaris Containers, AIX Workload Partitions.

Tabla de clasificación de los S.O  según sus servicios






GLOSARIO


PROGRAMACIÓN PARALELA
Es el uso de varios procesadores trabajando en conjunto para dar solución a una tarea en común, lo que hacen es que se dividen el trabajo y cada procesador hace una porción del problema al poder intercambiar datos por una red de interconexión o a través de memoria.

PROCESADOR MULTINÚCLEO 
Es aquel que combina dos o más microprocesadores independientes en un solo paquete, a menudo un solo circuito integrado. Un dispositivo de doble núcleo contiene solamente dos microprocesadores independientes. En general, los microprocesadores multinúcleo permiten que un dispositivo computacional exhiba una cierta forma del paralelismo a nivel de thread (thread-level parallelism) (TLP) sin incluir múltiples microprocesadores en paquetes físicos separados.

PILA DE DATOS
Una pila (stack ) es una lista ordenada o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura.

NIVEL DE PROCESAMIENTO
Es el nivel de gestión de procesos.