Vous êtes sur la page 1sur 55

Sesin 6

Codificacin Binaria y Software de


Computador

CODIFICACION BINARIA
Otras operaciones:
Modulo y signo (MS)
Complemento a 1 (C-1)
Complemento a 2 (C-2)

Mdulo y Signo (MS)


En este sistema de representacin, el bit que est situado ms a la izquierda
Representa el signo pudiendo ser:
0=+
y
1= El resto de bits representan el mdulo del nmero. Ejm:
Nmero 12: 0 0 0 0 1 1 0 0

Nmero 12: 1 0 0 0 1 1 0 0

Mdulo del
nmero
Signo
+

Mdulo del
nmero
Signo
-

Rango de Representacin
Se denomina rango de Representacin en un sistema, al conjunto de nmeros
Representables en el mismo. Para el sistema MS el rango de representacin es:
Para 8 bits:
Para 16 bits:
Para 32 bits:

-127 <= X <= 127


-32767 <= X <= 32767
-2147483647 <= X <= 2147483647

Este sistema posee rango simtrico y el inconveniente de tener 2 representaciones


Para el 0:
0 0 0 0 0 0 0 0 (+0)
1 0 0 0 0 0 0 0 (-0)

Complemento A1
Este sistema de representacin utiliza tambin el bit de la izquierda para
representar el signo, segn lo tratado en MS.
El negativo de un nmero se obtiene complementando todos sus dgitos
Incluyendo el del signo.
Veamos:
Nmero 24:

00011000
Signo +

Nmero 24 :

Mdulo

1 1 1 0 0 1 1 1 (se complementa su positivo):

Signo -

Mdulo

Rango de Representacin del C1


Al igual que en el sistema de representacin MS, este sistema posee similares
Caractersticas al indicado, veamos:

Para 8 bits:
Para 16 bits:
Para 32 bits:

-127 <= X <= 127


-32767 <= X <= 32767
-2147483647 <= X <= 2147483647

Este sistema posee rango simtrico y el inconveniente de tener 2 representaciones


Para el 0:
00000000

(+0)

11111111

(-0)

Suma de Nmeros en C1
Se procede de manera similar a la suma de binarios, con la nica salvedad
De que si aparece acarreo en la suma parcial de los bits de ms a la
Izquierda, este acarreo se suma al resultado. Ejm:
Sumar los nmeros: 68 y 26. Esto es = a 94 en decimal, veamos:

(68): 0 1 0 0 0 1 0 0+
(26): 0 0 0 1 1 0 1 0
(94): 0 1 0 1 1 1 1 0

Resta de Nmeros en C1
Para restar dos nmeros, se suma al minuendo, el C1 del sustraendo,
Se aplica las reglas dadas para la suma de nmeros en C1, veamos:
Sumar los nmeros 12 y 5 en C1 para 8 bits:

Nmero 12: 0 0 0 0 1 1 0 0
Nmero 5: 0 0 0 0 0 1 0 1 entonces el C1 del sustraendo: 1 1 1 1 1 0 1 0
Lo cual es: 12 +(-5) = +7 desarrollando tenemos:
Nmero 12: 0 0 0 0 1 1 0 0+
Nmero -5: 1 1 1 1 1 0 1 0
10 0 0 0 0 1 1 0+
1
Total:
00000111

Complemento A2
Este sistema de representacin utiliza tambin el bit de la izquierda para
representar el signo, segn lo tratado en MS.
Es un mtodo muy utilizado con el cual se pueden realizar restas sumando
con los mismos circuitos sumadores.
El negativo de un nmero se obtiene complementando todos sus dgitos
Incluyendo el del signo, luego al resultado se le suma uno (1en binario),
Despreciando el ltimo acarreo si existe .
Veamos:
Nmero 24: 0 0 0 1 1 0 0 0 (+24)
Acarreo
111
El C1de 24: 1 1 1 0 0 1 1 1+
1
11101000
Signo

Mdulo

Rango de Representacin del C2


A diferencia que los anteriores, el rango de representacin es asimtrico, lo cual
es un inconveniente y viene dado por:

Para 8 bits:
Para 16 bits:
Para 32 bits:

-128 <= X <= 127


-32768 <= X <= 32767
-2147483648 <= X <= 2147483647

La principal ventaja es tener una nica representacin del cero (0)


Veamos:
Nmero 0:
0 0 0 0 0 0 0 0 pasndolo a 0 tenemos:
Paso 1: C1 =
11111111
Paso 2: Sumamos 1: +
1
100000000
ltimo acarreo
se desprecia

Por tanto el 0 y el 0 tienen la misma representacin.

Aritmtica en C2
En la aritmtica del C2, el proceso es igual que en C1, pero despreciando
el ltimo acarreo en caso de existir. Veamos el siguiente ejemplo:
Restar 10 de 21 en C2 para 8 bits:
Minuendo = 21 = 0 0 0 1 0 1 0 1
Sustraendo = 10 = 0 0 0 0 1 0 1 0
Sumamos a continuacin:
111 1 1
0 0 0 1 0 1 0 1+
11110101
10 0 0 0 1 0 1 0 +
1
00001011

Signo +

C1 = 1 1 1 1 0 1 0 1

Cdigo Decimal Codificado en Binario (BCD )


Utiliza un cuarteto o nibble (4 bits) para la representacin de cada cifra
Decimal, existen varias versiones de este cdigo, slo se estudiar el BCD.
Las otras deben ser estudiadas por uds.
Veamos la siguiente tabla de equivalencias:

Decimal

0
1
2
3
4
5
6
7
8
9

BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

El nmero decimal 27 por ejm, tendr la


Siguiente codificacin:
2 = 0010 y
7 = 0111
entonces ser: 0010 0111

Suma en BCD
Sumar: 2134 + 5730 = 7864, para ello se tiene que:
1) Representar cada dgito decimal x su equivalente en BCD (nibble), veamos:
2134 = 0010 0001 0011 0100
ahora hacemos lo mismo con 5730
5730 = 0101 0111 0011 0000
2) Procedemos a sumar cada nible empezando de derecha hacia izquierda, si
se produce algn acarreo lo trasladamos al siguiente nibble y sumamos.
111
11
0010+ 0001+ 0011+ 0100+
0101 0111
0011
0000
0111 1000
0110
0100
7
8
6
4

Suma en BCD
Sumar: 7864 + 3547 = 11411.
Solucin:
1. Representarlos en BCD:
a) 7864 = 0111
b) 3547 = 0011

1000
0101

0110
0100

0100
0111

2. Procedemos a sumar cada nibble empezando de derecha hacia izquierda:


1
1
1
0111+ 1000+ 0110+ 0100+
0011
0101
0100
0111
1011
1110
1011
1011
3. Como estos resultados desbordan el valor
0110
0110
0110
0110
de 9, entonces debemos sumarle 6 en binario
10001 10100 10001 10001
3. El resultado final es:

11,411

SOFTWARE-DEFINICION
Est constituido por el conjunto de programas
ejecutables que posee el sistema informtico.

El esquema de una clasificacin preliminar sin llegar


a excesivo detalle, se presenta a continuacin.

Clasificacin
Software
Componente Lgico
Clasificacin

Software
Aplicativo

Softw. Base

Sistema
Operativo

Compilad
Traductor

Diagns
tico y Soport

Herramientas
de Software

Aplicaciones
Especficas

SOFTWARE DEL SISTEMA


Programas que se encargan de controlar el funcionamiento
de los otros programas que se ejecutan y de la gestin de
los recursos fsicos que se requieran.

Los principales son el sistema operativo,


traductores y compiladores,
programas de diagnstico y mantenimiento.

SISTEMA OPERATIVO: DEFINICION

Es un conjunto de programas interactuantes entre s, que permiten controlar


y administrar los diversos recursos del Sistema de Computo con la finalidad
de que puedan ser usados durante la ejecucin de un determinado programa.

Relaciones entre el S.O. y el HW de la


Computadora
People
Application
Utility
Program
Programs
Debuggin
Macro
Text
Aids
Processor
Editor
Compilers
Assembler
Loaders

Operating System
Memory
Mana
gement

Proces
or
Manag
ement

Devic
e
Manag
ement

Computadora

Inform
ation
Manag
ement

Relaciones entre el S.O. y el HW de la


Computadora

Ubicacin o Morada del S.O.

Memoria RAM
Instrucciones
Externas
Del S.O.

Al requerir
Instruccn.

Instruc. Internas
Del S.O.

Se ejecuta y luego
Regresa a su direccin
de memoria en el HD

El S.O. consta de 2 tipos de comandos:

Comandos Internos (estn siempre en memoria RAM) y


Comandos Externos que residen en el disco duro y son llevadas a memoria en el
momento que se requieren ejecutar (dinmica).

Comandos Internos de Uso Frecuente en


MS - D.O.S.
ERASE
RENAME
COPY
TYPE
PRINT

DIR
DATE
TIME
MKDIR
CHDIR

RMDIR
CLS

Comandos Externos de Uso Frecuente en


MS - D.O.S.
ASSING
BACKUP
CHKDISK
DISKCOPY
FORMAT

RECOVER
MODE
RESTORE
SORT
DEBUG

La Interface del Usuario


- El Usuario grfico Une (GUIs)

La mayora de los sistemas operativos modernos,


como Windows y el Macintosh OS, proporciona una
interface grfica de usuario (GUI).

Un GUI le permite controlar el sistema usando un


ratn para pulsar objetos grficos en la pantalla.

Un GUI es basado en la metfora del desktop. Los


objetos grficos aparecen en un fondo (el desktop),
representando recursos que usted va a usar.

Iconos
Se corren los
programas en
escritorio
ventanas
botones de control de la ventana
Men desplegado
botn inicio
Caja de dialogo
Barra de la tarea

La Interface del Usuario - Herramientas de GUI


Los iconos son cuadros que representan recursos de
la computadora, como impresoras, documentos, y
programas.
Usted pulsa el botn doble vez de un icono para
escoger (activar) a este, por ejemplo, para arrancar
un programa.
El sistema operativo de Windows ofrece dos nicas
herramientas, llamadas barra de tareas y botn de
inicio. stos le ayudan a correr y manejan
programas.

inicio de Windows
el botn puede usarse
para abrir programas.
Los iconos pueden ser
Activados pulsado-doble
Sobre ellos.

La Interface del Usuario - Mens

Los programas GUI le permiten emitir rdenes


escogindolos de los mens.

Los mens le permiten evitar el memorizar y teclear


nombres de la orden.

En programas diseados para el mismo GUI, los


mens y rdenes son similares de un programa a
otro.

La Interface del Usuario


- Interfaces del orden-lnea

Algunos sistemas operativos ms viejos, como DOS y


UNIX, usan interfaces de orden en lnea.

En una interface del orden en lnea, usted teclea


rdenes en una secuencia.

Interfaces del orden-lnea

El Prompt de DOS no se ve mucho estos das!

Trabajo del S.O.


RAM
Sistema
Operativo

Sistema
Operativo

Memoria Libre

Programa Aplicativo

S.O.

Memoria
Libre

Programa Aplicativo

Leer un caracter
Del teclado

Escribir un
Caracter en pantalla

Examinar el estado
Del disco

Examinar el
Estado del teclado

Memoria
Libre

Subprogramas
Del S.O.

FUNCIONES DEL SISTEMA OPERATIVO


Mquina ampliada (servicios)

Ejecucin de programas (procesos)


rdenes de E/S.
Operaciones sobre ficheros o archivos.
Deteccin y tratamiento de error.
Gestor de recursos de la Computadora
Asignacin y recuperacin de recursos.
Proteccin de los usuarios.
Contabilidad/monitorizacin.
Soporte de usuario
Shell

Interaccin S.O. Sistema Computacional


Se genera una interrupcin en la ejecucin del Programa A
Program A:
Se Genera una orden para la activacin de la unidad lectora
Read, file xx205
para que ejecute esta tarea.
Controla la ejecucin de la tarea hasta su culminacin y activa el
5 j=1
Trnsito y almacenamiento de datos en la RAM. Concluido esto
I= 0+j
Activa la ejecucin de la sgte instruccin.
IF I=100
THEN, END
ELSE
Se genera una interrupcin en la ejecucin del Programa A
A(i)* B= C
Se Genera una orden para la activacin de la unidad impresoora
WRITE C
para que ejecute esta tarea.
GOTO 5
Controla la ejecucin de la tarea hasta su culminacin y activa el
Trnsito y de datos desde la RAM. Concluido esto
Activa la ejecucin de la sgte instruccin.

De lo anterior se desprende que:


Existen funciones importantes que son realizadas por el S.O.
Al ejecutar un determinado proceso por ejm:

Gestin de Procesos
Gestin de las Interrupciones
Gestin de los dispositivos de E/S
Gestin de los Archivos
Gestin de la transmisin de datos
Gestin de la Memoria.

Gestin de Procesos
Un proceso es un programa en ejecucin. Es una unidad de trabajo dentro del
sistema computacional.
El proceso necesita recursos para realizar su tarea:
CPU, memoria, E/S, archivos
Inicializacin de datos
La terminacin de procesos requiere reclamar los recursos reusables.

El proceso ejecuta instrucciones secuencialmente, una por vez hasta terminar.


El sistema operativo es responsable por las siguientes actividades en conexin con
la administracin de procesos.
Creacin y eliminacin de procesos.
Suspensin y reactivacin de procesos.
Provisin de mecanismos para:

Sincronizacin de procesos

Comunicacin de procesos

Manejo de interbloqueos

Organizacin del Sistema de Cmputo

- Tpicamente son registros


de 1 a 8 bytes de tamao.
- Algunos controladores tienen
chips FIFO que permiten
almacenar pequeas rfagas de
datos (buffers) ,
mientras el host (CPU) no los
puede recibir.

Los controladores se comunican con la CPU a travs de unos registros o puertos.


Generalmente incluyen:
Registros de control Para enviar ordenes al dispositivo
Registros de estado Para obtener informacin del estado dispositivo o controlador,
disponibilidad de datos . . . (comando anterior ya completado)
Registros de datos Pueden ser de entrada, salida o bidireccionales

Tabla de estado de dispositivos


disp: lect tarjetas 1
status: ociosa
disp: impresora 3
status: ocupada

Req para impre


direc: 38769
long: 1245

disp: unidad disco 1


status: ociosa
disp: unidad disco 2
status: ociosa
disp: unidad disco 3
status: ocupada

Req para unidad


de disco 3arch:
xxx oper: lect
dir:43098
Long: 20000

Req para unidad


de disco 3
arch: yyy
oper: esc
dir: 05678
Long: 500

Estructura del software de E/S


Manejador de dispositivo

Recibe la orden de escribir un bloque en determinado dispositivo


Determina a que dispositivo fsico debe acceder.
Determina a que sector (o sectores) del disco (as como sus
coordenadas de cilindro y cara) corresponde dicho bloque
Enva los comandos adecuados a los registros correspondientes del
controlador (para que se realice la transferencia de datos).

Estructura del software de E/S

Manejador de interrupciones
Cuando el dispositivo completa la solicitud, genera un interrupcin que
es gestionada por el manejador de interrupciones
El manejador mira qu e/s ha terminado (y gener esa interrupcin)
Despierta al proceso que haba solicitado la e/s
Libera los recursos ocupados por la operacin e/s

Operacin del Sistema de Cmputo


Los dispositivos de E/S y la CPU pueden ejecutar concurrentemente.
Cada controlador de dispositivos est encargado de un tipo particular de
dispositivo.
Cada controlador de dispositivos tiene un buffer local.
La CPU mueve datos desde/hacia la memoria principal a/desde los
buffers locales.
La E/S es desde el dispositivo al buffer local del controlador.
El controlador de dispositivo informa a la CPU que ha finalizado su
operacin por medio de una interrupcin.

Gestin de las Interrupciones


Una interrupcin transfiere el control a la rutina de servicio de la misma,
generalmente por medio del vector de interrupcin, que contiene las direcciones
de todas las rutinas de servicio.

La arquitectura de la interrupcin debe salvar la direccin de la instruccin


interrumpida.

Las interrupciones entrantes son deshabilitadas mientras otra interrupcin


est siendo procesada para prevenir una prdida de interrupcin.

Un trap es una interrupcin generada por el software causada por un error o


por un requerimiento de usuario.

El sistema operativo es manejado por las interrupciones.

El sistema operativo preserva el estado de la CPU almacenando los registros


y el contador de programa.

Los Sistemas Operativos en la Administracin


Bsica de la Memoria.
Es una de las funciones ms importantes de los Ss.Os. Y uno de los ms serios
Cuellos de botella de las Computadoras.
Existen diversos esquemas para la administracin de la memoria entre los
cuales tenemos:

ADMINISTRACION DE MEMORIA

Es una de las funciones ms importantes de los S.O. Y uno de los ms


serios Cuellos de botella de las Computadoras.

La buena administracin de la Memoria facilita la labor de los


canales en las Operaciones de I/O y aumenta el rendimiento de la
CPU.

Existen diversos esquemas para la administracin de la memoria


entre los cuales tenemos:

1. Asignacin Contigua Simple


Memoria

El S.O. Se aloja generalmente en la parte


Inferior de la Memoria.

Desperdicio

A cada tarea se le asigna la totalidad de


la memoria, aunque ella requiera slo una
Mnima parte de ese total.

Programa
Del Usuario

SISTEMA
OPERATIVO
0000

EL Programa Aplicativo (tarea) tiene control


Absoluto sobre la CPU hasta su finalizacin
o hasta que ocurra un error. Este proceso se
denomina SECUENCIAL.

Direccin

Esto representa un desaprovechamiento, especialmente en los sistemas en los


Que se deben realizar tareas manuales (cargas de cintas o packs de discos, etc)

2. Asignacin Particional.
5K
20 K

Permite resolver los problemas de


Desaprovechamiento de Tiempo y
de memoria.
Desperdicio

Desperdicio

Libre

Tarea 4

5K
20 K

Tarea 5

50 K

Tarea 3

30 K

Tarea 2

10 K

Tarea 1

30 KB

Tarea 3

50 K

Tarea 2

30 K

Libre

10 K

S.O.

S.O.
0000

0000
Direccin

Direccin

Se basa en dividir la memoria en porciones para alojar varios programas y ejecutarlos simultneamente.
Usa la tcnica de la Multiprogramacin (mantenimiento concurrente de 2 o ms tareas en estado de
ejecucin en Memoria.
En contraste con el procesamiento Secuencial, en el cual las tareas se ejecutan una tras otras sin
superposicin alguna.

Multiprogramacin y Tiempo Compartido.


MULTIPROGRAMACION. En la Multiprogramacin, se ejecuta un programa hasta que se
produzca una operacin de I/O, en ese momento se transfiere el control al siguiente
programa segn prioridad establecida y as sucesivamente.

TIEMPO COMPARTIDO. Es una modalidad de la Multiprogramacin, en la cual a cada


programa se le asigna una porcin de tiempo de CPU, ejm: 100 milisegundos
(denominado TIME SLICE), cumplido el cual se transfiere el control al siguiente trabajo
en memoria (en otra particin) segn prioridad establecida o si se dan las siguientes
condiciones:

1. Fin de Trabajo

3. Requerimiento de operacin de I/O

2.

4. Fin del TIME SLICE.

Deteccin de un error

Multiprogramacin y Tiempo Compartido.


En cualquiera de los 4 casos sealados, la CPU pasa a ocuparse de la tarea
de mayor prioridad entre las restantes.
En los 2 primeros casos puede que la tarea sea eliminada de la memoria, mientras que en los otros
dos casos la suspensin es slo Temporal y puede ser reanudada en el momento que lo determine
el S.O.

Desperdicio

Libre

5K
20 K

Tarea 3

50 K

Tarea 2
Libre

30 K

Tarea 5

30 KB

10 K

S.O.

Problema de Fragmentacin

Multiprogramacin.
Veamos lo que ocurre con un programa en tiempo de ejecucin:

Program A:
Read, file xx205
5 j=1
I= 0+j
IF I=100
THEN, END
ELSE
A(i)* B= C
WRITE C
GOTO 5

.
.
.

Program B:
Read file wwx2760
Se transfiere el control al siguiente
Programa para su ejecucin
Wait
interrupcin

Tiempo Compartido.
Veamos lo que ocurre con un programa en tiempo de ejecucin:
Program A:
Read, file xx205
5 j=1
I= 0+j
IF I=100
THEN, END
ELSE
A(i)* B= C
WRITE C
GOTO 5

Time
Slice
de 100
Miliseg
wait

Program C
Program B:
.
Read file wwx2760
.
.
.
.
.
Time
.
.
Slice
.
de 100 .
miliseg
wait

.
.
.
Al cumplirse el time slice, se pasa el control automticamente
al siguiente programa segn prioridad asignada.

Ventaja de la Multiprogramacin.
Eliminacin o reduccin del tiempo ocioso de CPU ya que podra ocuparse
de otra tarea mientras se ejecutan funciones de I/O o manuales para la tarea
anterior y viceversa.

Desventaja.

Es ms costoso por lo siguiente:


Requiere mecanismos de proteccin especiales para evitar que cualquier
tarea interfiera accidentalmente con otra.
Requiere mayor espacio de memoria ya que el S.O. es ms complejo y se
necesita el espacio adecuado para alojar a un N suficiente de tareas en la
memoria si se quiere explotar a fondo el sistema de multiprogramacin.

Problema del esquema de Asignacin Particional

El problema que se plantea es la FRAGMENTACION, que consiste en la


Aparicin de Lagunas o Fragmentos no aprovechables de memoria.

Ello se supera con la ASIGNACION PARTICIONAL REASIGNABLE.

Veamos:

3. Asignacin Particional
Reasignable.
5K

Desperdicio

10 K

Tarea 1

5K
10 K

Tarea 5

30 K

Desperdicio
Tarea 5

Libre
30 K

30 K

50 K

20 K

Tarea 2

30 K

Tarea 3

50 K

Tarea 2

Tarea 2
30 K

Tarea 3
50 K

Tarea 4
S.O.

20 K

Tarea 3

Libre
S.O.
S.O.

3. Asignacin Particional Reasignable.

Este tipo de asignacin de memoria, elimina el problema de la


FRAGMENTACION y consiste en reubicar las tareas en memoria
en aquellas reas que van quedando libres a fin de comprimir los
espacios de memoria para que se disponga de un mayor espacio
para cargar en ella otras tareas.

Final de la Clase