viernes, 6 de mayo de 2016

Ecuación cuadrática con dos procesadores

Frecuentemente pensamos que cuando nos hablan de dos procesadores en un equipo éste va a ser el doble de veloz; sin embargo, esto no siempre es así. Para demostrarlo se realizará la solución de la ecuación cuadrática con dos procesadores, cada uno de los cuales intentará resolver la mitad de las suboperaciones de la ecuación:


Listado total de suboperaciones a realizar:

  1. b^2 = e
  2. 4a= h
  3. hc = j
  4. e-j = q
  5. q^(1/2) = w
  6. 2a= r
  7. w/r = t
  8. -b + t  ó -b - t
Si lo distribuímos entre los dos procesadores y teniendo en cuenta las dependencias en las operaciones tenemos que:

      Procesador 1         Procesador 2
  1. b^2 = e                  4a = h
  2. hc = j                     2a = r
  3. e-j= q
  4. q^(1/2) = w
  5. w/r = t
  6. -b+t                       -b-t 
Lo que demuestra que con dos procesadores en simultáneo no se reduce el tiempo de ejecución a la mitad ya que dependerá de las dependencias en la tarea a realizar

Algoritmos apropiativos y no apropiativos

No Apropiativo (Una vez que se le ha otorgado la cpu a un proceso, no le puede ser retirada)También conocido como cooperative multitasking. Una vez que el proceso pasa al estado de ejecución, continúa ejecutando hasta que termina, se bloquean en espera de una E/S o al solicitar algún servicio del sistema. Esta política de ejecución para terminación fue implementada en los primeros sistemas de lote (batch). 

Características 

  • Significa que los trabajos “largos” hacen esperar a los trabajos “cortos”.
  • Logra más equidad en el tratamiento de los procesos.
  • Logra hacer más predecibles los tiempos de respuesta puesto que los trabajos nuevos de prioridad alta no pueden desplazar a los trabajos en espera.

Apropiativo (Una vez que se le ha otorgado la cpu a un proceso, le puede ser retirada) 
Generalmente conocida como política de planificación por torneo. El proceso que se está ejecutando actualmente puede ser interrumpido y pasado al estado de listos por el sistema operativo. La decisión de sustituirlos por otro proceso puede llevarse a cabo cuando llega un nuevo proceso, cuando se produce una interrupción que lleva a un proceso bloqueado al estado listo o periódicamente, en función de una interrupción del reloj. 

Características
 
  • Es útil cuando los procesos de alta prioridad requieren atención rápida.
  • Es importante para garantizar buenos tiempos de respuesta en sistemas interactivos de tiempo compartido.
  • Tiene su costo en recursos, ya que el intercambio de contexto implica sobrecarga y además requiere mantener muchos procesos en el almacenamiento principal, en espera de la cpu, lo que también implica sobrecarga

Semáforos en sistemas operativos

Un semáforo es una variable especial (o tipo abastracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento del sistema o variables del código fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). Fueron inventados por Edsger Dijkstra en 1965 y se usaron por primera vez en el sistema operativo THEOS.












Para comprender mejor cómo funcionan se deja el siguiente video: 

lunes, 28 de marzo de 2016

Modelos OSI




Comando ls en linux



Este comando se usa para listar el contenido de los directorios (por defecto ordena la salida alfabéticamente). Su sintaxis es de la forma: ls [opciones] [fichero...]

Algunas de sus opciones son:

  • -a todos los archivos, incluso los que comienzan con punto (.).
  • -A Lista todos los ficheros en los directorios, excepto los que comienzan con punto . (.) y los que comienzan con doble punto (..).
  • -F indica tipo: / directorio, * ejecutable, @ enlace simbólico.
  • -h indicará el tamaño en KB, MB, etc.
  • -l listado en formato largo (o detallado).
  • -S clasifica los contenidos de los directorios por tamaños, con los ficheros más grandes en primer lugar.
  • -r invierte el orden de la salida.
  • -R Lista recursivamente los subdirectorios encontrados.
  • -t ordenar por fecha de última modificación.
  • -u ordenar por fecha de último acceso.
  • -x presenta los ficheros por columnas.
  • -i precede la salida con el número de i-node (ver el comando ln).

En una salida del tipo ls -l

# ls -l
total 12
-rw-r--r-- 1 root root  100 abr  6 21:19 archivo.txt
drwxr-xr-x 3 root root 4096 abr  7 01:44 carpeta2
drwxr-xr-x 2 root root 4096 abr  6 22:19 carpeta3
 
El primer carácter de cada línea indica el tipo de fichero pudiendo ser:


  • - indica fichero regular.
  • d indica directorio.
  • l enlace simbólico (ver el comando ln).
  • c dispositivos de caracteres.
  • b dispositivos de bloques.
  • s conexiones con el dominio local.
  • p conexiones.


Los siguientes de a 3 caracteres, indican los permisos del: dueño u, grupo g y de los otros o.

Si la x del propietario es sustituida por una ese s indican que el bit de setuid (4000) está activado.

Si la x del grupo es sustituida por una s indican que el bit de setgid (2000) está activado.

Si la x del propietario es sustituida por una T indican que el bit de stick (1000) está activado.

Si no se han activado los bit de ejecución aparecerán en mayúsculas la letras S o la T

El segundo campo indica el contador de enlaces físicos de archivo.

El tercer y cuarto campo indican el propietario y el grupo propietario del fichero respectivamente.

El quinto campo indica el tamaño del fichero en kbs.

El sexto campo indica la fecha y hora de última modificación del fichero.


Ejemplos de salidas:

ls sin parámetros.
# ls
archivo.txt  carpeta2  carpeta3
 
 
ls con el parámetros –l

# ls -l
total 12
-rw-r--r-- 1 root root  100 abr  6 21:19 archivo.txt
drwxr-xr-x 3 root root 4096 abr  7 01:44 carpeta2
drwxr-xr-x 2 root root 4096 abr  6 22:19 carpeta3
 
 
ls con los parámetros –lh

# ls -lh
total 12K
-rw-r--r-- 1 root root  100 abr  6 21:19 archivo.txt
drwxr-xr-x 3 root root 4,0K abr  7 01:44 carpeta2
drwxr-xr-x 2 root root 4,0K abr  6 22:19 carpeta3
 
 
ls -d */ lista solamente directorios que estén en el directorio actual.

# ls -d */
carpeta2/  carpeta3/

Memoria ROM

Las memorias de solo lectura son conocidas como memorias ROM de la sigla en inglés Read Only Memory.  Se caracterizan por ser memorias de lectura y contienenceldas de memoria no volátiles, es decir que la información almacenada se conserva sin necesidad de energía. Este tipo de memoria se emplea para almacenar información de forma permanente o información que no cambie con mucha frecuencia.

Actualmente se dispone de varios tipos de memorias ROM, a continuación se explicará cada una de ellas con sus características básicas:

Memoria ROM de Máscara

Esta memoria se conoce simplemente como ROM y se caracteriza porque la información contenida en su interior se almacena durante su construcción y no se puede alterar. Son memorias ideales para almacenar microprogramas, sistemas operativos, tablas de conversión y caracteres.

Generalmente estas memorias utilizan transistores MOS para representar los dos estados lógicos (1 ó 0 ). La programación se desarrolla mediante el diseño de un negativo fotográfico llamado máscara donde se especifican las conexiones internas de la memoria. Las celdas de memoria se organizan en grupos para formar registros del mismo tamaño y estos se ubican físicamente formando un arreglo como el que se muestra en la imagen:






EPROM 

Son las siglas de Erasable Programmable Read-Only Memory (ROM programable borrable). Está formada por celdas de FAMOS (Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) o "transistores de puerta flotante", cada uno de los cuales viene de fábrica sin carga, por lo que son leídos como 1 (por eso, una EPROM sin grabar se lee como FF en todas sus celdas).

Las memorias EPROM se programan mediante un dispositivo electrónico, que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrónicos. Las celdas que reciben carga se leen entonces como un 0.
Una vez programada, una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta. Esto es debido a que los fotones de la luz excitan a los electrones de las celdas provocando que se descarguen. Las EPROM se reconocen fácilmente por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado.

Una EPROM programada retiene sus datos durante diez o veinte años, y se puede leer un número ilimitado de veces. Para evitar el borrado accidental por la luz del sol, la ventana de borrado debe permanecer cubierta






Flash EEPROM
 
La memoria flash —derivada de la memoria EEPROM— permite la lectura y escritura de múltiples posiciones de memoria en la misma operación. Gracias a ello, la tecnología flash, siempre mediante impulsos eléctricos, permite velocidades de funcionamiento muy superiores frente a la tecnología EEPROM primigenia, que sólo permitía actuar sobre una única celda de memoria en cada operación de programación. Se trata de la tecnología empleada en los dispositivos denominados memoria USB.

Algunas de sus ventajas son una gran resistencia a los golpes, gran velocidad, bajo consumo de energía y un funcionamiento silencioso, ya que no contiene actuadores mecánicos ni partes móviles. Su pequeño tamaño también es un factor determinante a la hora de escoger para un dispositivo portátil, así como su ligereza y versatilidad para todos los usos hacia los que está orientado.


 


lunes, 15 de febrero de 2016

Algunos comandos en MS-DOS

Aunque hoy en día no es visible para un usuario común del sistema Windows, el MS-DOS sigue siendo el pilar sobre el que se soporta toda la interfaz gráfica de éste sistema operativo y a traves de la cual se puede acceder a directorios, tareas administrativas e incluso a la gestión de procesos del computador.

¿Qué es MS-DOS?
MS-DOS son las siglas de Microsoft Disk Operating System, Sistema operativo de disco de Microsoft. Es un sistema operativo comercializado por Microsoft perteneciente a la familia DOS. Funciona en "pantalla negra" (sin ventanas) y por medio de líneas de comando que el sistema reconoce para realizar las diferentes tareas.


Principales líneas de comando

Algunas de las líneas de comando más usadas son las siguientes: 

  • CD o CHDIR - Cambia el directorio actual.
  • CD \ Cambia directamente al directorio raíz.
  • CLS - Borra la pantalla y regresa el cursor a la esquina superior izquierda.
  • DATE - Cambia o visualiza la fecha del sistema.
    DEL o ERASE - Borra un archivo. Siempre y cuando el archivo no se oculte en un fichero. DEL borra el contenido del archivo y ERASE el archivo en si.
  • DIR - Muestra una lista con los archivos y directorios (carpetas) que se encuentran en un directorio del disco. 
  • EXIT - Sale de una sesión de MS-DOS.
  • TREE - Presenta en forma grafica la estructura de un directorio.
  • TREE /F  Presenta en forma grafica la estructura de un directorio, incluyendo archivos

Particiones localizables

Dentro de los mecanismos para administración de la memoria se encuentra el uso de particiones dinámicas localizables. Con este esquema de asignación de memoria,  se busca relocalizar los programas para reunir los bloques vacios y compactarlos, contruyendo un bloque de memoria contiguo lo bastante grande para aceptar algunas o todas los procesos en espera de entrar.
El sistema operativo controla el espacio disponible en memoria, mediante una estructura de datos, denominada lista de fragmentos disponibles, que consiste en una tabla en la que en cada entrada se almacenan la dirección física de comienzo y él número de posiciones libres.  Cuando un proceso finaliza, es descargado de la memoria y si el espacio que queda libre, es adyacente a otros espacios libres, se fusionan formando un espacio mayor, lo que se denomina combinación.
En un modelo de particiones dinámicas localizables, el sistema es capaz de "unir" los espacios disponibles no solo por combinación sino usando un proceso de compactación, que tiene por objeto desplazar el contenido de la memoria hacia uno de los extremos para que toda la memoria libre se sitúe en un solo espacio de gran tamaño: 

Sin embargo, la compactación es un proceso pesado que requiere ajustar cada dirección de proceso y cada referencia para tomar en consideración la nueva localización de cada programa en memoria, lo que consume recursos en el momento de ejecución y puede disminuir un poco el rendimiento del equipo.