jueves, 8 de septiembre de 2011

TIPOS DE MEMORIA

INSTITUTO TECNOLÓGICO SUPERIOR DE NOCHISTLÁN



TIPOS DE MEMORIA



ALUMNA:
MARÍA TERESA RUÍZ SANDOVAL



DOCENTE:

I.S.C. LAURA ELENA CHIHUAHUA GARCÍA



CARRERA:

ING.EN SISTEMAS COMPUTACIONALES



NOCHISTLÁN ZACATECAS A 08 DE SEPTIEMBRE DE 2011


MEMORIA: La memoria es un bloque fundamental del computador, cuya misión consiste en almacenar los datos y las instrucciones. La memoria principal, es el órgano que almacena los datos e instrucciones de los programas en ejecución. A veces la memoria principal no tiene la suficiente capacidad para contener todos los datos e instrucciones, en cuyo caso se precisan otras memorias auxiliares o secundarias, que funcionan como periféricos del sistema y cuya información se traspasa a la memoria principal cuando se necesita. La memoria solo puede realizar dos operaciones básicas: lectura y escritura. En la lectura, el dispositivo de memoria debe recibir una dirección de la posición de la que se quiere extraer la información depositada previamente. En la escritura, además de la dirección, se debe suministrar la información que se desea grabar.

TIPOS DE MEMORIA

MEMORIA RAM: Siglas de Random Access Memory, un tipo de memoria a la que se puede acceder de forma aleatoria; esto es, se puede acceder a cualquier byte de la memoria sin pasar por los bytes precedentes. RAM es el tipo más común de memoria en las computadoras y en otros dispositivos, tales como las impresoras.

Hay dos tipos básicos de RAM:

·         DRAM (Dynamic RAM), RAM dinámica

·         SRAM (Static RAM), RAM estática

Los dos tipos difieren en la tecnología que usan para almacenar los datos. La RAM dinámica necesita ser refrescada cientos de veces por segundo, mientras que la RAM estática no necesita ser refrescada tan frecuentemente, lo que la hace más rápida, pero también más cara que la RAM dinámica. Ambos tipos son volátiles, lo que significa que pueden perder su contenido cuando se desconecta la alimentación.

En el lenguaje común, el término RAM es sinónimo de memoria principal, la memoria disponible para programas. En contraste, ROM (Read Only Memory) se refiere a la memoria especial generalmente usada para almacenar programas que realizan tareas de arranque de la máquina y de diagnósticos. La mayoría de los computadores personales tienen una pequeña cantidad de ROM (algunos Kbytes). De hecho, ambos tipos de memoria ( ROM y RAM )permiten acceso aleatorio. Sin embargo, para ser precisos, hay que referirse a la memoria RAM como memoria de lectura y escritura, y a la memoria ROM como memoria de solo lectura.

Se habla de RAM como memoria volátil, mientras que ROM es memoria no-volátil.

La mayoría de los computadores personales contienen una pequeña cantidad de ROM que almacena programas críticos tales como aquellos que permiten arrancar la máquina (BIOS CMOS). Además, las ROMs son usadas de forma generalizada en calculadoras y dispositivos periféricos tales como impresoras laser, cuyas 'fonts' estan almacenadas en ROMs.

MEMORIA ROM

Estas letras son las siglas de Read Only Memory (memoria de solo lectura) y eso es exactamente lo que es, una memoria que se graba en el proceso de fabricación con una información que está ahí para siempre, para lo bueno y lo malo. No podemos escribir en ella pero podemos leer cada posición la veces que queramos. Se trata de la memoria interna de la máquina, que el procesador lee para averiguar el qué, el cuándo y el cómo de una multitud de tareas diferentes; por ejemplo: lee las diversas instrucciones binarias que se necesitan cada vez que se teclea un carácter por el teclado, o cada vez que se tiene que presentar algo en pantalla.

En la ROM está almacenado también el programa interno que nos ofrece la posibilidad de hablar con el ordenador en un lenguaje muy similar al inglés sin tener que rompernos la cabeza con el lenguaje de máquina (binario). Todas estas cosas suman tanta información que es muy probable que la memoria ROM de un ordenador tenga una capacidad de 8K a 16K, un número suficientemente grande para que este justificado asombrarse ante la cantidad de información necesaria para llenar tal cantidad de posiciones, especialmente cuando sabemos que los programas ROM están escritos por expertos en ahorrar memoria. Ello sirve para poner de manifiesto la gran cantidad de cosas que pasan en el interior de un ordenador cuando éste está activo.  La memoria ROM presenta algunas variaciones: las memorias PROM, EPROM y EEPROM.



·         Memoria Caché ó RAM Caché :

Un caché es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un área reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad independiente. Hay dos tipos de caché frecuentemente usados en las computadoras personales: memoria caché y caché de disco. Una memoria caché, llamada tambien a veces almacenamiento caché ó RAM caché, es una parte de memoria RAM estática de alta velocidad (SRAM) más que la lenta y barata RAM dinámica (DRAM) usada como memoria principal. La memoria caché es efectiva dado que los programas acceden una y otra vez a los mismos datos o instrucciones. Guardando esta información en SRAM, la computadora evita acceder a la lenta DRAM.

Cuando un dato es encontrado en el caché, se dice que se ha producido un impacto (hit), siendo un caché juzgado por su tasa de impactos (hit rate). Los sistemas de memoria caché usan una tecnología conocida por caché inteligente en el cual el sistema puede reconocer cierto tipo de datos usados frecuentemente. Las estrategias para determinar qué información debe de ser puesta en el caché constituyen uno de los problemas más interesantes en la ciencia de las computadoras. Algunas memorias caché están construidas en la arquitectura de los microprocesadores. Por ejemplo, el procesador Pentium II tiene una caché L2 de 512 Kbytes.

El caché de disco trabaja sobre los mismos principios que la memoria caché, pero en lugar de usar SRAM de alta velocidad, usa la convencional memoria principal. Los datos más recientes del disco duro a los que se ha accedido (así como los sectores adyacentes) se almacenan en un buffer de memoria. Cuando el programa necesita acceder a datos del disco, lo primero que comprueba es la caché del disco para ver si los datos ya estan ahí. La caché de disco puede mejorar drásticamente el rendimiento de las aplicaciones, dado que acceder a un byte de datos en RAM puede ser miles de veces más rápido que acceder a un byte del disco duro.

MEMORIA VIRTUAL

Es una manera de reducir el acceso constante a memoria por parte del procesador.

Cuando se está ejecutando un programa, y especialmente si se tienen varias aplicaciones abiertas, el ordenador tiene que cargar en memoria RAM los valores e instrucciones de dicho/s programa/s. Pero, ¿qué ocurre cuando el programa o programas que se están ejecutando requieren más memoria de la que tiene el equipo?

En este caso, el procesador toma una parte del disco duro y la convierte en memoria RAM. Es decir, se utiliza el disco duro para almacenar direcciones de memoria, y aunque el disco duro es mucho más lento que la memoria RAM (10-15 milisegundos para un disco duro moderno frente a 70-10 nanosegundos para la memoria actual), es mucho más rápido tomar los datos en formato de memoria virtual desde el disco duro que desde las pistas y sectores donde se almacenan los archivos de cada programa.

Los distintos modelos de memoria virtual se diferencian por sus políticas de solapamiento y por los métodos que emplean en la organización de la memoria. Los más importantes son:

·         Memoria Paginada

·         Memoria Segmentada

·         Memoria de segmentos paginados

Todos estos sistemas encuentran como problema critico que los requerimientos de la memoria de algunos programas específicos son difíciles de predecir, y por ello, la fracción de memoria que debe asignarse a un programa es variable en cada caso.

Además, la política de solapamiento y compartición debe tener en cuenta ciertas características internas de los programas que, invariablemente, determinan la construcción modular y estructurada de los mismos.













jueves, 1 de septiembre de 2011

TECNICAS DE ADMINISTRACION DEL PLANIFICADOR

INSTITUTO TECNOLÓGICO SUPERIOR DE NOCHISTLÁN
TECNICAS DE ADMINISTRACION DEL PLANIFICADOR

ALUMNA:MARÍA TERESA RUÍZ SANDOVAL

DOCENTE:
I.S.C. LAURA ELENA CHIHUAHUA GARCÍA

CARRERA:
ING.EN SISTEMAS COMPUTACIONALES

NOCHISTLÁN ZACATECAS A 01 DE SEPTIEMBRE DE 2011
PLANIFICACION DE PROCESOS DE SISTEMAS OPERATIVOS
FCFS, FIFO: Por orden de arribo (first-come, first-served)
FCFS es un acrónimo de Fibre Channel Framing And Signaling y pertenece a la categoría Drivers.
FCFS es un acrónimo de First Come, First Serve y pertenece a la categoría Redes.
FCFS es un acrónimo de First-Come, First-Served y pertenece a la categoría Telecomunicaciones.
FIFO: (First In, First Out - primero en entrar, primero en salir). Método de estructuración de datos que es utilizado en colas (queue). Se suele implementar en programación con el uso de vectores o punteros
·         SPN, SRT: Primero el trabajo más corto o con menor tiempo restante (shortest process next, shortest remaining time)

·         RR: Por turno rotatorio usando quantums, i.e. interrupciones periódicas de reloj (Round-robin scheduling)

·         FB: Realimentación Multinivel, maneja prioridades dinámicas con múltiples colas penalizando a los procesos más viejos (Feedback)

Los algoritmos de planificación son los que definen que política se va a seguir para que un proceso pase al estado de ejecución.
En este tipo de planificación cada proceso tiene asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecución en su quantum el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro quantum luego de recorrer la cola para asegurarse que todos los procesos reciban ese quantum de procesamiento.
En la planificación round-robin todos los procesos son tratados con la misma prioridad. Para el caso de este tipo de planificación a cada proceso se le asigna una prioridad y los mismos son ejecutados
Colas múltiples
Las colas múltiples están basadas en una pila que sirve como índice de una lista de procesos que se tienen que ejecutar.
Primero el trabajo más corto
Este tipo de algoritmo de planificación se usa para trabajos en batch o de procesamiento or lotes en los cuales se puede saber cual es el tiempo de duración de la ejecución de cada proceso y entonces se puede seleccionar primero el trabajo más corto. El problema que se presenta con éste algoritmo es que los grandes procesos podrían sufrir de inanición dado que cualquier proceso pequeño se "cuela" sobre uno de mayor tamaño y como resultado final se podría dar el caso que el proceso grande nunca obtenga procesamiento.
En este modelo de planificación se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecución de 1/n (siendo n la cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del tiempo de ejecución de los procesos y balancear el tiempo que están utilizando el procesador para cumplir con la ecuación previa.
Procesos ligeros
Los procesos ligeros son programas en ejecución son básicamente procesos pero a diferencia de éstos últimos que solo tienen un hilo de ejecución los primeros tienen el hilo principal más hilos secundarios o hijos, en éste caso todos los procesos hijos comparten la información del hilo principal pero además puede cada hilo tener su información privada.

jueves, 25 de agosto de 2011

SECUENCIABILIDAD

INSTITUTO TECNOLÓGICO SUPERIOR DE NOCHISTLÁN
SECUENCIABILIDAD

ALUMNA:MARÍA TERESA RUÍZ SANDOVAL

DOCENTE:
I.S.C. LAURA ELENA CHIHUAHUA GARCÍA

CARRERA:
ING.EN SISTEMAS COMPUTACIONALES

NOCHISTLÁN ZACATECAS A 25 DE AGOSTO DE 2011

SECUENCIABILIDAD:
Los archivos secuenciales son un tipo de archivo en los que la información puede leerse y escribirse empezando desde el principio del archivo.
Debemos tomar en consideración algunas características que deben tener los archivos secuenciales:

1. La escritura de nuevos datos siempre se hace al final del archivo.

2. Para leer una zona concreta del archivo hay que avanzar siempre, si la zona está antes de la zona actual de lectura, será necesario "rebobinar" el archivo.

3. Los ficheros sólo se pueden abrir para lectura o para escritura, nunca de los dos modos a la vez.

ARCHIVOS SECUENCIALES.
 
Se refiere al procesamiento de los registros, no importa el orden en que se haga, para eso los registros están organizados en forma de una lista y recuperarlos y procesarlos uno por uno de principio a fin.

Rendimientos de los archivos Secuenciales; dependiendo del dispositivo de almacenamiento utilizado el archivo se puede mostrar el usuario como si fuera un sistema secuencial.

Al finalizar un archivo secuencial se denota con una marca de fin de archivo. (End end-of-file)


Seriabilidad: Cuando hablamos de seriabilidad nos referimos a la capacidad de reproducir un producto x en número limitado de veces.
TEORÍA DE SERIABILIDAD

Una forma de evitar los problemas de interferencia es no permitir que las transacciones se intercalen. Una ejecución en la cual ninguna de dos transacciones se intercala se conoce como serial. Para ser más precisos, una ejecución se dice que es serial si, para todo par de transacciones, todas las operaciones de una transacción se ejecutan antes de cualquier operación de la otra transacción. Desde el punto de vista del usuario, en una ejecución serial se ve como si las transacciones fueran operaciones que el DBS procesa atómicamente. Las transacciones seriales son correctas dado que cada transacción es correcta individualmente, y las transacciones que se ejecutan serialmente no pueden interferir con otra.

Si el DBS procesara transacciones serialmente, significaría que no podría ejecutar transacciones concurrentemente, si entendemos concurrencia como ejecuciones intercaladas. Sin dicha concurrencia, el sistema usaría sus recursos en un nivel relativamente pobre y podría ser sumamente ineficiente.

Una solución puede ser ampliar el rango de ejecuciones permisibles para incluir aquellas que tienen los mismos efectos que las seriales. Dichas ejecuciones se conocen como serializables. Entonces, una ejecución es serializable si produce el mismo resultado y tiene el mismo efecto sobre la base de datos que alguna ejecución serial de las mismas transacciones. Puesto que las transacciones seriales son correctas, y dado que cada ejecución serializable tiene el mismo efecto que una ejecución serial, las ejecuciones serializables también son correctas.

Las ejecuciones que ilustran la actualización perdida y el análisis inconsistente no son serializables. Por ejemplo, ejecutando las dos transacciones de Depositar serialmente, en cualquier orden, da un resultado diferente al de la ejecución intercalada que pierde una actualización, por lo tanto, la ejecución intercalada no es serializable. Similarmente, la ejecución intercalada de Transferir e Imprimir Suma tiene un efecto diferente a los de cada ejecución serial de las dos transacciones, y por ello no es serializable.

Aunque éstas dos ejecuciones intercaladas no son serializables, muchas otras sí lo son. Por ejemplo, consideremos la siguiente ejecución intercalada de Transferir e Imprimir Suma. Esta ejecución tiene el mismo efecto que la ejecución serial de Transferir seguida de Imprimir Suma por lo tanto es serializable.
Leer4 (Cuentas [8])    devuelve el valor de US$200
Escribir4 (Cuentas [8], US$100)
Leer3 (Cuentas [8])    devuelve el valor de US$100
Leer4 (Cuentas [9])    devuelve el valor de US$200$
Escribir4 (Cuentas [9], US$300)
Commit4
Leer3 (Cuentas [9])    devuelve el valor de US$300
Commit3

La teoría de seriabilidad es una herramienta matemática que permite probar si un sincronizador trabaja o no correctamente. Desde el punto de vista de la teoría de seriabilidad, una transacción es una representación de una ejecución de operaciones de lectura y escritura y que indica el orden en el que se deben ejecutar estas operaciones. Además, la transacción contiene un Commit o un Abort como la última operación para indicar si la ejecución que representa terminó con éxito o no. Por ejemplo, la ejecución del siguiente programa.
Procedure P
begin
Start;
temp := Leer(x);
temp := temp + 1;
Escribir(x, temp);
Commit;
end

Puede ser presentado como r1[x] -› w1[x] -› c1. Los subíndices identifican esta transacción particular y la distinguen de cualquier otra transacción que acceda al mismo dato. En general, usaremos r1[x] (o w1[x] para denotar la ejecución de Leer (o Escribir) ejecutado por la transacción T1 sobre el dato x.

Cuando se ejecuta concurrentemente un conjunto de transacciones, sus operaciones deben estar intercaladas. La manera de modelar esto es usando una estructura llamada historia. Una historia indica el orden en el que se deben ejecutar las operaciones de las transacciones en relación a otras. Si una transacción Ti especifica el orden de dos de sus operaciones, estas dos operaciones deben aparecer en ese mismo orden en cualquier historia que incluya a Ti. Además, es necesario que una historia especifique el orden de todas las operaciones conflictivas que aparezcan en ella.
 
Se dice que dos operaciones están en conflicto si ambas operan sobre el mismo dato y al menos una de ellas es una operación de escritura (Escribir). Por lo tanto, Leer(x) está en conflicto con Escribir(x), mientras que Escribir(x) está en conflicto tanto con Leer(x) como con Escribir(x). Si dos operaciones están en conflicto, es muy importante su orden de ejecución. Consideremos las siguientes transacciones
T1 = r1[x] -› w1[x] -› c1
T3 = r3[x] -› w3[y] -› w3[x] -› c3
T4 = r4[y] -› w4[x] -› w4[y] -› w4[z] -› c4

Una historia completa sobre T1, T3, T4 es
H1 = r4[y] r1[x] w1[x] c1 w4[x] r3[x] w4[y] w3[y] w4[z] w3[x] c4 c3

martes, 16 de agosto de 2011

CLASIFICACION DE SISTEMAS OPERATIVOS


INSTITUTO TECNOLÓGICO SUPERIOR DE NOCHISTLÁN






INVESTIGACIÓN SOBRE CLASIFICACION DE LOS S.O.



ALUMNA:
MARÍA TERESA RUÍZ SANDOVAL



DOCENTE:

I.S.C. LAURA ELENA CHIHUAHUA GARCÍA



CARRERA:

ING.EN SISTEMAS COMPUTACIONALES



NOCHISTLÁN ZACATECAS A 15 DE AGOSTO DE 2011



CLASIFICACIÓN DE S.O.

SISTEMAS OPERATIVOS POR SUS ESTRUCTURA



  1. Estructura Monolítica: La construcción del programa final es a base de módulos compilados separadamente y que se unen a través de un ligador. Carecen de protecciones  y privilegios al manejar recursos como memoria y disco duro.



  1. Estructura Jerárquica: El sistema operativo contiene subpartes y esto organizado en forma de niveles ó capaz.



  1. Maquina Virtual: Presenta una interface a cada proceso, mostrando una maquina que parece idéntica a la maquina real subyacente. Se reparan los conceptos que suele estar unidos en el resto del sistema: La multiprogramación y la maquina extendida.



  1. Cliente-Servidor (MicroKernel): Es el más reciente y predominante, sirve para toda clase de aplicaciones y el propósito de este es de tipo general cumpliendo así con las mismas actividades de los otros sistemas operativos.



          Su núcleo (core) esta designado a establecer comunicación entre los clientes y servidores. Los procesos pueden ser tanto servidores como cliente a su vez el cliente actual como servidor para otro proceso.

      5.-  Sistemas Operativos por lotes: Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.

          Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidad de la ejecución de los trabajos.

          Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual está orientado a procesamiento científico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento académico.



SISTEMAS OPERATIVOS POR SERVICIOS



  1. Monousuarios: Soportan un usuario a la vez sin importar los procesadores que tengan la computadora o los procesos y tareas que el usuario puede realizar al mismo tiempo. Ejemplo: las PC



  1. Multiusuario: Ofrece servicio a más de un usuario a la vez ya sea por medio de terminales o secciones remotas en un red. No importa la cantidad de procesadores que tenga la maquina ni la cantidad de procesos que se realicen  a la misma vez.



  1. Monotareas: Permite una tarea a la vez por usuario. Aunque hallar más de un usuario a la misma vez solo permitirá una tarea por usuario.



  1. Multitareas: Permite al usuario realizar varias tareas a la misma vez.



  1. Uniproceso: Maneja solamente un procesador de la computadora. Si tuviera más de uno sería inútil. Ejemplo: Dos y MacOS



  1. Multiproceso: Puede manejar más de un procesador distribuyendo la carga asimétrica y simétrica.



SISTEMAS OPERATIVOS POR LA FORMA QUE OFRECEN SUS SERVICIOS



  1. Sistema Operativo De Red: Interactúan con otras computadoras a través de un medio transmisión que intercambia información, transfiere archivo, ejecutar comandos remotos y otras tareas.



  1. Sistemas Operativos Distribuidos: Incluyen los servicios que ofrece los sistemas operativos de red incluyen ó añade recursos (impresoras, unidades de respaldo, memoria, procesos y unidad central de proceso) adicionales en una sola maquina virtual que el usuario accesa de forma transparente.



3.    Sistemas Operativos de tiempo real.  Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los procesos en el momento que lo requieran. Se utilizan en entornos donde son procesados un gran número de sucesos o eventos.

          Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy específicas como control de tráfico aéreo, bolsas de valores, control de refinerías, control de laminadores. También en el ramo automovilístico y de la electrónica de consumo, las aplicaciones de tiempo real están creciendo muy rápidamente. Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra.



4.    Sistemas Operativos de tiempo compartido: Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario.

           Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria. Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.

5.    Sistemas Operativos paralelos: En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.

           En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). Así, en lugar de esperar a que el proceso termine de ejecutarse (como lo haría normalmente), regresa a atender al usuario inmediatamente después de haber creado el proceso. Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.