Está en la página 1de 30

Facultad de Ciencias e Ingeniera

TRABAJO-02
Alumno:
FRANZ

MARIO TORRES

Asignatura:
SISTEMA
OPERATIVO
Profesor:

JARA VELA DANILO

Iquitos Per
Setiembre del 2016

DEDICATORIA

A Dios, ya que gracias a l tenemos esos padres


maravillosos, los cules nos apoyan en mis derrotas y
celebran mis triunfos.
A mis profesores quienes son mis guas en el aprendizaje
dndonos los ltimos conocimientos para mi buen
desenvolvimiento en la sociedad.

AGRADECIMIENTO

A mis padres, quienes a lo largo de toda mi vidas nos han


apoyado y motivado en nuestra formacin acadmica,
creyeron en nosotros en todo momento y no dudaron de mis
habilidades.
A mis Profesores a quienes les debemos gran parte de mis
conocimientos, gracias a su paciencia y enseanza,
finalmente un eterno agradecimiento.
A la Universidad Cientfica del Per por abrirnos las puertas
a jvenes como nosotros, preparndonos para un futuro
competitivo y formndonos como profesionales con sentido
de seriedad, responsabilidad y rigor acadmico.

NDICE

DEDICATORIA.......................................................................................5
AGRADECIMIENTO...............................................................................6
NDICE...................................................................................................7
1. QUE ES UN COMANDO?...............................................................8
INTERPRETES DE COMANDO...........................................................9
2. QU ES UNA INSTRUCCIN?....................................................11
TIPOS DE INSTRUCCIONES............................................................11
3. QU ES UNA INTERRUPCIN?..................................................14
4. QUE ES UNA EXCEPCION?.........................................................24
5. DIFERENCIA ENTRE INTERRUPCIN Y EXCEPCIN................26
6. IDENTIFICAR, DESCRIBIR, GRAFICAR Y SUSTENTAR LOS
PROCESOS Y SUBPROCESOS REFERENTES AL USO DE UN CAJERO
ELECTRONICO CUANDO UD VA A RETIRAR DINERO DE L...........27

1.

QUE ES UN COMANDO?

Un comando de informtica es una instruccin u orden


que el usuario proporciona a un sistema informtico desde
la lnea de comandos o desde una llamada de
programacin.
Es el conjunto de instrucciones que hacen que nuestro
equipo realice actividades o funciones especficas. Puede
ser interno (contenido en el propio intrprete) o externo
(contenido en un archivo ejecutable).
Se trata de un pequeo programa que se ejecuta cundo
el usuario introduce con el teclado una palabra especfica
y oprime la tecla Enter, tambin por medio de una palabra
utilizando un micrfono o activando un icono por medio
del puntero del ratn; entonces se dice que el programa
"corre" y realiza una accin especfica (dar la hora, limpiar
la pantalla, etc). Los comandos ya se encuentran
preestablecidos, esto significa que si la instruccin no se
encuentra
guardada
con
anterioridad,
para
la
computadora no existe y mandar un mensaje de alerta al
usuario. Otra caracterstica de los comandos es que
cuentan con modificadores, estos son opciones que se
activan si se utilizan caracteres extra preestablecidos.
El comando puede ser interno por el contenido en el
propio intrprete o externo por el contenido en un archivo
ejecutable. Un comando suele admitir parmetros o
argumentos de entrada, lo que permite modificar su
comportamiento predeterminado, generalmente aparece
indicado tras una barra / (en sistemas operativos DOS) o
un guin simple - o doble (en sistemas operativos
Unix).
Los comandos internos son aquellos programas que se
transfieren del sistema operativo para residir en la
memoria RAM y se encuentran alojados en el
Command.com, pueden ser ejecutados en cualquier
momento desde el indicador de mandatos y se almacenan
en la memoria cuando se lee el Command.com del
programa. Estos comandos no necesitan la presencia del
disco de sistema operativo.

Los comandos externos necesitan mucha ms capacidad


de memoria para mantenerse dentro de ella al mismo
tiempo, son grabados y memorizados en el disco y
podemos acceder a ellos cuando sea necesario. Se llaman
comandos externos porque estn todos grabados fuera de
la memoria RAM.

Cada sistema operativo incorpora un determinado nmero


de comandos bsicos, que permiten ejecutar las tareas
ms simples con rdenes directas. Estos comandos son
propios y normalmente varan segn el sistema operativo,
aunque algunos son comunes a varios sistemas operativos.

Para interpretar estos comandos y permitir que el usuario


los escriba y los enve, cada sistema operativo trae un
intrprete de comandos o consola de comandos, que acta
de intermediario entre el ordenador y el usuario, dotando
a este ltimo de un medio para usar los comandos
disponibles.

Una caracterstica comn en los comandos es que siempre


funcionan con el esquema de un comando = una accin.
As, cada comando utilizado va a dar lugar a una accin
concreta, necesitando usar varios si queremos realizar una
orden compleja. Para dar una orden se debe seguir un
esquema y el comando debe ser modificado mediante
parmetros, que le transmiten indicaciones adicionales
sobre como ejecutarse.

El comando es la palabra que activa la orden, por ejemplo,


si queremos copiar un archivo de un sitio A a un sitio B, el
comando sera la palabra COPY y la orden toda la
instruccin en su conjunto quedando as:

COPY + inicio A + Nombre archivo + Destino B +


Parmetros adicionales

Los comandos escritos han cado en desuso tras la


generalizacin de los sistemas operativos pero han ido
surgiendo otro tipo de comandos usados por los lenguajes
de programacin que permiten al programador indicarle
al ordenador lo que debe hacer el programa que est
creando. Del mismo modo que los sistemas operativos,

cada lenguaje de programacin usa comandos propios y


en general diferentes.

INTERPRETES DE COMANDO

En informtica es el programa principal del Sistema


Operativo y a este programa se le denomina Intrprete de
comandos o tambin conocido como: Ncleo del Sistema.
En el caso del Sistema Operativo DOS o mejor conocido
como: Disk Operative System dicho intrprete de
comandos se conoce como l: Command.com. En sistemas
operativos multiusuario como UNIX, Linux y Windows, se
llama Kernel.
Un intrprete de comandos, es un programa informtico
que tiene la capacidad de traducir las rdenes que
introducen los usuarios, mediante un conjunto de
instrucciones facilitadas por l mismo directamente al
ncleo y al conjunto de herramientas que forman el
sistema operativo. Las rdenes se introducen siguiendo la
sintaxis incorporada por dicho intrprete, dentro del
entorno proporcionado por el emulador de terminal,
mediante un inductor que espera a que le sean
introducidos los comandos o instrucciones.
Al ingresar la orden con la tecla 'Intro', el intrprete
analiza la secuencia de caracteres ingresada y, si la
sintaxis de la orden es correcta, la ejecuta, recurriendo
para ello a las funciones que ofrece el sistema operativo o
el programa que representa, bien sea un gestor de datos
de banco, una sesin de FTP, de ssh, etc. La respuesta al
usuario se representa en el monitor o en forma de
segundo plano. Se trabaja de manera interactiva, es decir,
usuario y mquina se comunican de forma sucesiva.

Incorporan caractersticas tales como control de procesos,


redireccin de entrada/salida, listado y lectura de ficheros,
proteccin, comunicaciones y un lenguaje de rdenes para
escribir programas por lotes o (scripts o guiones).

Algunos de los principales intrpretes de


comandos:

command.com: perteneciente a los sistemas


MS-DOS y derivados como Windows 95 y 98.
ksh: El korn shell de UNIX.
C Shell (csh): similar en sintxis al lenguaje C
Bourne Shell GNU Bourne Again Shell (bash):
variante del Bourne Shell clsico para Linux
con caractersticas avanzadas comocontrol de procesos,
historial de rdenes y edicin similar a Emacs
Tcsh: versin de C Shell para Linux con funcionalidades
similares a bash.
Zsh: pequeo intrprete similar al Bourne Shell.

INTERPRETE
COMANDO
INTERPRETE
COMANDO EN
ESPERA
INSTRUCCIN DEL
COMANDO

COMANDO VALIDO
MENSAJE
ERROR

SI
EJECUCION DEL
COMANDO

2.

QU ES UNA INSTRUCCIN?

Una instruccin es una forma de informacin comunicada


que a la vez es un comando y una explicacin que
describe la accin, el comportamiento, el mtodo, o la
tarea, que deber o comenzar, o terminar, o ser
completamente ejecutada.

Se denomina instruccin en informtica al conjunto de


datos insertados en una secuencia estructurada o
especfica que el procesador interpreta y ejecuta.

Los tipos de instruccin permitidos estn definidos y


determinados dentro de cada plataforma en el conjunto
de instrucciones (en ingls ISA, instruction set
architecture), que tambin determina los registros de
origen y destino de la CPU, y en ocasiones un dato
inmediato (aquellos que son especificados explcitamente
en la instruccin).

Estas instrucciones del computador son las que


determinan el funcionamiento de la CPU que las ejecuta.
La CPU puede realizar una diversidad de funciones, que
son el reflejo de la variedad de las instrucciones definidas
para dicha CPU.

TIPOS DE INSTRUCCIONES

Instrucciones de transferencia de datos: en


este tipo de instrucciones, se transfieren datos
desde una localizacin a otra. Los pasos que se
siguen para realizarlo son: Determinacin de las
direcciones de origen y destino de memoria.
Realizacin de la transformacin de memoria
virtual a memoria real. Comprobacin de la cach.
Inicio del proceso de lectura/escritura en la
memoria.
Estas permiten cargan, almacenan, mueven y
transfieren datos entre la memoria y el registro.
Memoria---> Registro
Registro---->Memoria
Estos datos recopilados pueden representar
direcciones, palabras o simplemente valores
constantes. Normalmente, las instrucciones de
transferencia de datos se usan para crear
estructuras de datos en la memoria, tales como
arreglos lineales, matrices y listas que no pueden
ser representados usando solo registros. Cabe

destacar que las instrucciones de transferencia son


las nicas que pueden acceder a la memoria del
sistema.
Todas las instrucciones de transferencia de datos
usan el formato de instruccin Inmediato:

COD_OP

FORMATO
rs
rt
INMEDIATO

Este formato es idneo para las instrucciones de


transferencia de datos y cada bloque tiene un
significado:
COD-OP: Cdigo de la operacin que se realizar.
rs: Registro que contiene la posicin de memoria a
utilizar.
rd: Registro al que se le almacenar la informacin
o que contiene la informacin por guardar.
Inmediato: Una constante usada como offset con
respecto a la memoria base en rs. Cabe destacar
que la constante tiene signo.

Instrucciones aritmticas: pueden implicar


transferencia de datos antes y/o despus. Realizan
operaciones aritmticas de las que se encarga la
ALU. Se pueden clasificar en de 1 operando (valor
absoluto, negacin) y 2 operandos (suma, resta).
Son todas esas operaciones que pueden realizar,
suma, resta, multiplicaciones, divisin,
incrementar, decremento. Por ejemplo:
ADD---> Suma
ADC---> Suma con acarreo
SUB---> Resta
SBB---> Resta con acarreo
CBW---> Convierte byte a word
CWD---> Convierte word a doble word
INC---> Incrementa
DEC---> Decrementa
CMP---> Compara

Instrucciones
lgicas:
al
igual
que
las
aritmticas, la ALU se encarga de realizar estas
operaciones, que en este caso son de tipo lgico.
Instrucciones de conversin: similares a las
aritmticas y lgicas. Pueden implicar lgica
especial para realizar la conversin.
Son todas esas operaciones que permiten realizar
operaciones de bits a bits. Entre ellas tenemos las
AND, NOT, OR,XOR, TEST.
NOT (negacin) Esta instruccin ejecuta la
operacin lgica
NOT sobre el operando, es decir invierte los bits.
Cambia los unos por ceros y los ceros por unos.
Instruccin

Efecto

Descripcin

notbOperando

OperandoOperando

niegaoperandode1byte

notwOperando

OperandoOperando

niegaoperandode2bytes

notlOperando

OperandoOperando

niegaoperandode4bytes

AND
Esta instruccin ejecuta un AND bit a bit entre los
operandos.
Operando1

Operando2

Instruccin

Efecto

Descripcin

andbFuente,Destino DestinoDestinoANDFuente andentreoperandosde1byte


andwFuente,Destino DestinoDestinoANDFuente andentreoperandosde4bytes
andlFuente,Destino

DestinoDestinoANDFuente andentreoperandosde4bytes

AN

OR
Esta instruccin ejecuta un OR bit a bit entre los
operandos.
Operando1

Operando2

Instruccin

Efecto

Descripcin

orbFuente,Destino DestinoDestinoORFuente orentreoperandosde1byte


orwFuente,
Destino

DestinoDestinoORFuente orentreoperandosde4bytes

orlFuente,Destino

DestinoDestinoORFuente orentreoperandosde4bytes

XOR (or exclusivo)


Esta instruccin ejecuta un OR exclusivo bit a bit
entre los operandos.
Operando1

Operando2

Instruccin

Efecto

Descripcin

xorbFuente,Destino DestinoDestinoXORFuente xorentreoperandosde1byte

xorwFuente,
Destino

DestinoDestinoXORFuente xorentreoperandosde4bytes

xorlFuente,Destino

DestinoDestinoXORFuente xorentreoperandosde4bytes

XO

3.

Instrucciones de transferencia de control:


actualizan el contador de programa (PC).
Administran las llamadas/retornos a las subrutinas,
el paso de parmetros y el enlazado. Instrucciones
de E/S (entrada/salida): administran los comandos
de entrada/salida. Si hay un mapa de memoria de
entrada/salida, determina la direccin de este
mapa.

QU ES UNA INTERRUPCIN?

DEFINICIN:
Una interrupcin es un mecanismo que permite ejecutar un
bloque de instrucciones interrumpiendo la ejecucin de un
programa, y luego restablecer la ejecucin del mismo sin
afectarlo directamente. De este modo un programa puede ser
interrumpido temporalmente para atender alguna necesidad
urgente del computador y luego continuar su ejecucin como si
nada hubiera pasado.
Una interrupcin es una suspensin temporal de la ejecucin de
un proceso, para pasar a ejecutar una subrutina de servicio de
interrupcin, la cual, por lo general, no forma parte del
programa, sino que pertenece al sistema operativo o al BIOS.
Una vez finalizada dicha subrutina, se reanuda la ejecucin del
programa.
INICO

FIN

LEER LA
SIGUIENTE
INSTRUCCI
ON

CICLO DE

INTERRUPCION
INHABILITADAS

EJECUTAR
LA
CICLO DE
INSTRUCCI
ON
INTERRUPCION
HABILITADAS
COMPROBACI
ON DE
INTERRUPCIO
N

CICLO DE
INTERRUPCION

TIPOS:
1. Interrupciones internas de hardware
Las interrupciones internas son generadas por ciertos
eventos que surgen durante la ejecucin de un
programa.
Este tipo de interrupciones son manejadas en su
totalidad por el hardware y no es posible modificarlas.
Un ejemplo claro de este tipo de interrupciones es la
que actualiza el contador del reloj interno de la
computadora, el hardware hace el llamado a esta
interrupcin varias veces durante un segundo para
mantener la hora actualizada.
Aunque no podemos manejar directamente esta
interrupcin (no podemos controlar por software las
actualizaciones del reloj), es posible utilizar sus efectos
en la computadora para nuestro beneficio, por ejemplo
para crear un "reloj virtual" actualizado continuamente
gracias al contador del reloj interno. Unicamente
debemos escribir un programa que lea el valor actual
del contador y lo traduzca a un formato entendible
para el usuario.

2. Interrupciones externas de hardware


Las interrupciones externas las generan los
dispositivos perifericos, como pueden ser: teclado,
impresoras, tarjetas de comunicaciones, etc. Tambin
son generadas por los coprocesadores.
No es posible desactivar a las interrupciones externas.
Estas interrupciones no son enviadas directamente a la
UCP, sino que se mandan a un circuito integrado cuya
funcin es exclusivamente manejar este tipo de
interrupciones. El circuito, llamado PIC 8259A, si es
controlado por la UCP utilizando para tal control una
serie de vias de comunicacin llamadas puertos.

Una lista de las interrupciones generadas por


hardware es la siguiente
IR
Q
0
1
2
3
4
5

Priorid
ad
1
2
11
12
13

Funcin
Timer
Teclado Hardware
Reservada
COM 2
COM 1
Tarjeta de Sonido

6
7
8
9

14
15
3
4

10
11
12
13
14
15

5
6
7
8
9
10

Controlador Floppy
Puerta Paralela
Reloj (tics)
Libre para tarjeta de red,
sonido, puerta SCSI
idem
idem
PS-mouse
Co-procesador matemtico
Canal IDE primario
Canal IDE secundario

3. Interrupciones de software(Exepciones)
Las interrupciones de software pueden ser activadas
directamente por el ensamblador invocando al nmero
de interrupcin deseada con la instruccin INT.
El uso de las interrupciones nos ayuda en la creacin
de programas, utilizandolas nuestros programas son
ms cortos, es ms fcil entenderlos y usualmente
tienen un mejor desempeo debido en gran parte a su
menor tamao.
Este tipo de interrupciones podemos separarlas en dos
categorias: las interrupciones del sistema operativo y
las interrupciones del BIOS.
La diferencia entre ambas es que las interrupciones del
sistema operativo son ms fciles de usar pero tambin
son ms lentas ya que estas interrupciones hacen uso
del BIOS para lograr su cometido, en cambio las
interrupciones del BIOS son mucho ms rpidas pero
tienen la desventaja que, como son parte del hardware
son muy especficas y pueden variar dependiendo
incluso de la marca del fabricante del circuito.

La eleccin del tipo de interrupcin a utilizar


depender unicamente de las caracteristicas que le
quiera dar a su programa: velocidad (utilizando las del
BIOS) o portabilidad (utilizando las del DOS).

TABLA DESCRIPTORA DE INTERRUPCIONES


PARA PROCESADORES VIGENTES
El bus de control de la placa base dispone de lneas
especficas para el sistema de interrupciones. Un PC
tpico dispone en su placa base de un controlador de
interrupciones 8259 de Intel o de un circuito integrado
anlogo. Este dispositivo electrnico dispone de hasta
16 lneas IRQ, numeradas desde el 00 hasta el 15. En
las nuevas placas base este circuito est integrado
junto con el resto del chipset y permite hasta 24
interrupciones.
En el IBM PC y XT existan 8 lneas de peticin de
interrupcin manejadas por el controlador de
interrupciones Intel 8259. Estas lneas estn
numeradas del 0 al 7, las dos primeras estn asignadas
al timer tick del temporizador Intel 8253, y al teclado.
Solo quedaban 6 lneas para otros dispositivos, que
aparecen como tales en el bus de control (IRQ2 IRQ7). A partir del modelo AT se aadieron otras 8
lneas, numeradas del 8 al 15, mediante un segundo
controlador de interrupciones (PIC), aunque la
tecnologa empleada exigi colgarlo de la lnea IRQ2
del primero, de forma que esta lnea se dedica a
atender las interrupciones del segundo controlador a
travs de la lnea 9 de este ltimo, y la lnea 8 se
dedic al reloj de tiempo real, un dispositivo que no
exista en los modelos XT.
Aunque internamente se manejan 16 lneas, no todas
tienen contacto en los zcalos del bus externo (son las

marcadas con asterisco en la tabla que sigue). La razn


de esta ausencia en los zcalos de conexin es que son
de asignacin fija, y solo son usadas por ciertos
dispositivos instalados en la propia placa base. En
concreto la lnea NMI est asignada al mecanismo de
control de paridad de la memoria, la lnea 0 est
asignada al cronmetro del sistema y la lnea 1 al chip
que controla el teclado (dispositivos que pueden
requerir atencin urgente por parte del procesador).
Es costumbre denominar IRQx a las que tienen
prolongacin en el bus.
Tericamente las restantes lneas podran ser
asignadas a cualquier nuevo dispositivo, pero en la
prctica algunas estn reservadas a dispositivos
estndar. Por ejemplo, IRQ3 est casi siempre asignado
al puerto serie COM2 y el IRQ4 al COM1; IRQ6 al
controlador estndar de disquetes y IRQ7 al puerto de
impresora LPT1. La tabla 1 muestra las asignaciones
clsicas para el XT y el AT.
En sistemas ms modernos utilizan la arquitectura
APIC de Intel con 24 lneas y 8 extra para enrutar las
interrupciones PCI.
Nombr
e
NMI
IRQ0
IRQ1
IRQ2

Inn
(he
x)
--08
09
0A

IRQ3

0B

IRQ4

0C

IRQ5

0D

XT: Descripcin
Paridad
Temporizador
Teclado
Reservado

AT:
Descripcin

Paridad
Temporizador
Teclado
Interrupciones
8 a 15 (PIC#2)
Puertos serie COM2/COM4 Puerto serie
COM2/COM4
Puertos serie COM1/COM3 Puertos serie
COM1/COM3
Disco duro
Puerto
Paralelo LPT2

IRQ6
IRQ7

0E
0F

Disquete
Puerto Paralelo LPT1

IRQ8

70

No existe

IRQ9

71

No existe

IRQ10
IRQ11
IRQ12
IRQ13

72
73
74
75

No
No
No
No

existe
existe
existe
existe

IRQ14

7 No existe
6

IRQ15

7 No existe
7

IRQ16

7 Existe
8

Disquete
Puerto
Paralelo LPT1
Reloj de
tiempo real
Redirigido a
IRQ2
no asignado
no asignado
Ratn PS2
Coprocesador
80287
Contr.
disco IDE prim
ario
Contr. disco
IDE
secundario
Contr. disco
SATA primario

TABLA DESCRIPTORA DE INTERRUPCIONES


PARA PROCESADORES i386
N de Interrupcin Descripcin
0
1
2
3
4
5
6
7
8
9
10

Divisin por cero


Ejecucin paso a paso
Interrupcin no enmascarable
Punto de ruptura
Desbordamiento
Volcar pantalla por impresora
Cdigo de operacin incorrecto
Dispositivo no disponible
Falta doble
Desbordamiento de Segmento de coprocesador
TTS invlida

11
12
13
14
15
16
17
18
19-31
32-255

Segmento no presente
Excepcin de pila
Proteccin general
Falta de pgina
Reservada
Error de punto flotante
Chequeo de alineacin
Chequeo de mquina
Reservado por el microprocesador
Disponible para interrupciones de software y hardware

0. Interrupcin 0, divisin por cero: Se da cuando el divisor


en una divisin es cero o cuando el cociente en una divisin es
mayor que el valor mximo que permite el destino.
1. Interrupcin 1, ejecucin paso a paso: Ocurre despus de
ejecutar una instruccin si la bandera TF (Trap Flag) vale 1.
Esto permite la ejecucin de un programa paso a paso, lo que es
muy til para la depuracin de programas.
2. Interrupcin 2, no enmascarable: Una interrupcin no
enmascarable causa que la CPU deje lo que est haciendo,
cambie el puntero de instruccin para que apunte a una
direccin particular y contine ejecutando el cdigo de esa
direccin. Se diferencia de los otros tipos de interrupcin en que
los programadores no pueden hacer que la CPU las ignore,
aunque algunos ordenadores pueden por medios externos
bloquear esa seal, dando un efecto similar al resto de las
interrupciones. Al no poderse desactivar son empleadas por
dispositivos para los que el tiempo de respuesta es crtico, como
por ejemplo el coprocesador matemtico Intel 8087 en el IBM
PC, el indicador de batera baja, o un error de paridad que
ocurra en la memoria. En algunos ordenadores Clnicos
(ordenador que se monta a partir de diferentes marcas) las
interrupciones no enmascarables se usaban para manejar las
diferencias entre su hardware y el original de IBM. As, si se
intentaba acceder a uno de estos dispositivos se lanzaba una
interrupcin no enmascarable y la BIOS ejecutaba el cdigo
para el hardware presente en la mquina. Tambin se podan
lanzar interrupciones no enmascarables por el usuario,
permitiendo interrumpir el programa actual para permitir la
depuracin. En este caso al lanzarse una interrupcin no
enmascarable se suspenda la ejecucin del programa actual y el
control se transfera a un depurador para que el programador
pudiera inspeccionar el estado de la memoria, los registros, etc.
Estas instrucciones no enmascarables eran lanzadas de
diferentes maneras, como pulsando un botn, por medio de una

combinacin de teclas o por medio de un programa. En juegos,


se produca una instruccin no enmascarable y se interrumpa el
juego, de esta manera se podan conseguir vidas extras por
ejemplo modificando el rea de memoria donde se guardaban
las vidas restantes.
3. Interrupcin 3, punto de ruptura: es una detencin
intencional o lugar de pausa en un programa, que tiene
propsitos de depuracin paso a paso. De manera ms general,
un punto de ruptura es un medio para adquirir conocimiento
acerca de un programa durante su ejecucin. Durante la
interrupcin, el programador inspecciona el examen de
ambiente (registros, memoria, archivos, etc.) para detectar si el
programa funciona como se esperaba. En la prctica, un punto
de ruptura consiste de una o ms condiciones que determinan
cundo la ejecucin de un programa debera ser interrumpida.
La forma ms comn de punto de ruptura es una donde la
ejecucin del programa es interrumpida antes de que una
instruccin especificada por el programador sea ejecutada. A
esto a menudo se le llama punto de ruptura de la instruccin.
Otro tipo de condiciones pueden tambin ser usadas, tales como
lectura, escritura, o modificacin de una especfica localizacin
en un rea de memoria. A esto a menudo se le llama.punto de
ruptura de datos o punto de reloj. Otros tipos de condiciones
incluyen la ejecucin de interrupciones en un tiempo particular,
o al presionar una tecla, y as sucesivamente. Muchos
procesadores incluyen soporte de hardware para puntos de
rupture (tpicamente instrucciones y datos de puntos de
ruptura). Dicho hardware podra incluir limitaciones, por
ejemplo no permitir puntos de rupture en instrucciones
localizadas en huecos de retardo (contienen instrucciones que
son ejecutadas sin tener en cuenta los efectos de la instruccin
presedente). Este tipo de limitacin es impuesta por la
microarquitectura del procesador, por tanto vara de un
procesador a otro. Sin soporte de hardware, los depuradores
tienen que implementar puntos de ruptura en el software, que,
particularmente para los puntos de ruptura de datos, puede
impactar la actuacin de la aplicacin que se depura.
4. Interrupcin 4, desbordamiento: ocurre cuando una
cantidad excede la capacidad que se tiene. Por ejemplo cuando
un nmero es excesivamente grande (ms de lo que una
determinada computadora puede procesar), ocurre un
desbordamiento.
5. Interrupcin 5, volcar pantalla por impresora: el servicio
de impresin de pantalla est relacionado con la impresora y es
solicitado mediante la interrupcin 5. Este servicio se dise
para ser manejado mediante interrupciones, y puede ser

invocado desde cualquier programa que lo necesite. Esta


interrupcin enva el contenido del buffer de pantalla al puerto
de la impresora.
6. Interrupcin 6, cdigo de operacin incorrecto: la parte
de la instruccin de lenguaje mquina de la computadora que
designa la operacin que se debe realizar, es incorrecta (opcode
o cdigo de operacin incorrecto). 7. Interrupcin 7,
dispositivo no disponible: si ejecutamos una instruccin
cuando un dispositivo no est disponible para el trabajo que se
est pidiendo, como cuando ejecutamos una instruccin de
punto flotante cuando la unidad de punto flotante no est
disponible.
8. Interrupcin 8, doble falta: En la arquitectura x86, una
excepcin doble falta ocurre si el procesador encuentra un
problema mientras trata de servir una interrupcin o excepcin
pendiente. Un ejemplo de una situacin donde una doble falta
ocurrira es cuando una interrupcin es activada pero el
segmento en el que el manejador de interrupciones reside es
invlido. Si el procesador encuentra un problema cuando llama
al manejador de doble falta, un triple falta es generado y el
procesador se apaga. Como el doble falta puede solamente
suceder debido a errores del kernel, rara vez son causados por
aplicaciones externas al kernel en un sistema operativo
moderno en modo protegido (con microprocesador que posea
proteccin de memoria y soporte de hardware para memoria
virtual as como de commutacin de tareas), a menos que el
programa de alguna manera ganara acceso al kernel, como lo
hacen algunos virus.
9. Interrupcin 9, desbordamiento de segmento de
coprocesador: esta excepcin ocurre en modo protegido bajo
las siguientes condiciones: Un operando de una instruccin
de coprocesador envuelve alrededor un lmite de
direccionamiento (0FFFFH para pequeos segmentos,
0FFFFFFFFH para grandes segmentos, cero para segmentos
extendidos hacia abajo). Un operando podra envonver
alrededor un lmite de direccionamiento cuando el lmite
segmento est cerca de un lmite de direccionamiento y el
operando est cerca del segmento de direccionamiento vlido
ms grande. Debido a la envoltura alrededor, el inicio y el fin
direccionado de tal operando estar cerca del final del
segmento. Ambos el primer y el ltimo bite del operando
(considerando envolvimiento alrededor) estn en direcciones
localizadas en el segmento y en pginas presentes y accesibles.
Los operandos se refieren a direcciones inaccesibles. Hay dos
maneras en que tal operando podra expandirse a direcciones
inaccesibles: 1. El lmite de segmento no es igual al lmite del

direccionamiento (por ejemplo, si el lmite de direccionamiento


es FFFFH y el lmite de segmento es FFFDH). Por tanto, el
operando se expandir a direcciones que no estn dentro del
segmento (por ejemplo, un operando de 8 bytes FFFC-FFFF y
0000-0003; sin embargo, direcciones FFFE y FFFF no son
vlidas, pues stas exceden el lmite); 2. El operando comienza y
termina en pginas presentes y accesibles pero bytes
intermedios del operando caen ya sea en una pgina no
presente o en una pgina para la que el procedimiento actual no
tiene derechos de acceso. La direccin de las instrucciones
numricas que fallan y los operandos de datos podran ser
perdidos; un FSTENV no retorna direcciones confiables. Como
con el 80286/80287, la excepcin de desbordamiento de
segmento debera ser manejada ejecutando una instruccin
FNINIT (por ejemplo, un FINIT sin un WAIT que le preceda). La
direccin de retorno en la pila no necesariamente apunta a la
direccin fallida ni tampoco a la siguiente instruccin. La
instruccin numrica fallida no es reiniciable. El caso 2 puede
ser evitado ya sea alineando todos los segmentos en los lmites
de una pgina o no inicindolos dentro de 108 bytes del inicio o
del final de la pgina. (El tamao mximo de un operando de
coprocesador es de 108 bytes). En caso 1 puede ser evitado
asegurndose que el espacio entre el ltimo desplazamiento
bsico y el primer desplazamiento de un segmento es ya sea no
menor que 108 bytes o cero (por ejemplo, el segmento est lleno
en tamao). Si ninguna limitacin de diseo de sistema de
software es aceptable, el manejador de excepciones debera
ejecutar FNINIT y debera probablemente terminar la tarea.
10. Interrupcin 10, TTS invlida: indica que el interruptor
de tareas fue activado y encontr informacin invlida en el
objetivo de tarea. Condiciones invlidas son por ejemplo:
segmento de cdigo no ejecutable, segmento de datos que no se
puede leer, etc.
11. Interrupcin 11, segmento no presente: indica que la
bandera de segmento o descriptor de puerta est limpio. El
sistema operativo usa la excepcin de segmento no presente
para implementar memoria virtual al nivel de segmento. Si el
manejador de excepciones carga el segmento y retorna
exitosamente, el programa interrumpido reactiva la ejecucin.
El sistema operativo podra usar el segmento no presente en la
bandera de descriptor de puerta para su propio uso.
12. Interrupcin 12, excepcin de pila: esta excepcin ser
generada cuando la instruccin ENTER es ejecutada y si no hay
suficiente espacio de pila o mientras se trata de cargar
segmentos de registro de pila y si se detecta que no hay
segmento de pila presenta. Es posible recuperarse de este error

extendiendo la pila, cuando el lmite es menos o cargando el


segmento que hace falta en memoria.
13. Interrupcin 13, proteccin general: indica que el
procesador detect una violacin de proteccin como escritura a
un segmento de cdigo o segmento de datos de slo escritura y
muchas otras razones que existen para esta excepcin.
14. Interrupcin 14, falta de pgina: esta falta ocurre
principalmente durante el mecanismo de traduccin de pgina
para traducir desde una lnea de direccin a una direccin
fsica.
15. Interrupcin 15, reservada: reservada por el
microprocesador.
16. Interrupcin 16, error de punto flotante: esta
interrupcin ocurre cuando ocurren errores aritmticos o
cuando se detectan errores en clculos computacionales
matemticos. Se identifican cinco tipos de excepciones de punto
flotante: Invlido: operacin con operandos matemticos
invlidos por ejemplo, 0.0/0.0, sqrt(-1.0), y log(-37.8)
Divisin por cero: El divisor es cero y el dividendo es un
nmero finito diferente de cero por ejemplo, 9.9/0.0
Desbordamiento: operacin que produce un resultado que
excede el rango del exponente por ejemplo,
MAXDOUBLE+0.0000000000001e308. Se puede dar tambin
que se produzca un resultado que es demasiado pequeo para
ser representado como un nmero normal por ejemplo,
MINDOUBLE * MINDOUBLE. Inexactitud: operacin que
produce un resultado que no puede ser representado con
precisin infinita por ejemplo, 2.0/3.0, log(1.1) y 0.1 en la
entrada.
17.Interrupcin 17, chequeo de alineacin: indica que el
procesador detect un operando de memoria desalineado
cuando el chequeo est habilitado. Este chequeo es llevado
solamente en el segmento de pila de datos, no en el cdigo o
segmento del sistema. Un ejemplo de violacin de chequeo de
alineacin es guardar un tipo double en una direccin que no
admite divisibilidad por 4.
18.Interrupcin 18, chequeo de mquina: es un error de
hardware de la computadora que ocurre cuando el CPU de una
computadora detecta un problema de hardware irreparable. En
versiones de Windows anteriores a Windows XP, este error sola
ser desplegado usando la pantalla azul de la muerte
conteniendo el mensaje de error (los parmetros dentro del
parntesis podran variar): STOP: 0x0000009C (0x00000004,
0x00000000, 0xb2000000, 0x00020151)
"MACHINE_CHECK_EXCEPTION" En Linux, esta excepcin se
escribe en el registro del kernel y/o la pantalla de la consola

(usualmente solamente en la consola cuando el error no es


recuperable y la mquina se traba como resultado): CPU 0:
Machine Check Exception: 0000000000000004 Bank 2:
f200200000000863 Kernel panic: CPU context corrupt Este
error se debe usualmente al fallo o sobrecarga de componentes
de hardware donde el error no puede ser ms especficamente
identificado con un mensaje de error diferente. Diagnosticar el
mensaje de error puede ser difcil, aunque los procesadores
Intel Pentium generan cdigos ms especficos que pueden ser
decodificados contactando al fabricante. Esta excepcin
requiere que se reinicie el sistema para continuar la ejecucin
normal y a menudo indica un problema a largo plazo o de
naturaleza general.

4.

QUE ES UNA EXCEPCION?

DEFINICIN

Las excepciones son un tipo de interrupcin


sincrnica tpicamente causada por una condicin
de error en un programa, como por ejemplo una
divisin entre 0 o un acceso invlido a memoria en
un proceso de usuario.

Normalmente genera un cambio de contexto a


modo supervisor para que el sistema operativo
atienda el error. As pues, las excepciones son un
mecanismo de proteccin que permite garantizar la
integridad de los datos almacenados tanto en el
espacio de usuario como en el espacio kernel.

Cuando el Sistema Operativo detecta una


excepcin intenta solucionarla, pero en caso de no
poder simplemente notificar la condicin de error
a la aplicacin/usuario y abortar la misma.

Este tipo de interrupciones podemos separarlas en


dos categorias: las interrupciones del sistema
operativo y las interrupciones del BIOS.

Las excepciones son generadas por: - Errores en la


programacin (p.ej.: divisin por cero) -

Condiciones anmalas (p.ej.: fallo de pgina) Si


son de errores de programacin se le enva una
seal al proceso que las gener
El proceso debe capturar estas seales, sino se
ejecuta el handler por defecto que finalizar la
ejecucin
Si se da una condicin anmala, el ncleo deber
reestablecer la condicin para continuar la
ejecucin.

LAS EXCEPCIONES CLASIFICAN EN: A. Detectadas por el procesador


Fallos:
Pueden ser corregidos y retoman la ejecucin. Se retoma
la instruccin que gener el fallo
Traps:
Es utilizada, en mayor media, para debugging
Aborts:
Un error grave ocurri como un fallo del hardware
B. Programadas
Son generadas por los programas al ejecutar la instruccin int o
int3

5.
DIFERENCIA ENTRE
INTERRUPCIN Y EXCEPCIN
Cuando la CPU intenta ejecutar una instruccin incorrectamente
construida, la unidad de control lanza una excepcin para permitir
al sistema operativo ejecutar el tratamiento adecuado. Al contrario
que en una interrupcin, la instruccin en curso es abortada. El
sistema operativo ocupa una posicin intermedia entre los
programas de aplicacin y el hardware. No se limita a utilizar el
hardware a peticin de las aplicaciones ya que hay situaciones en
las que es el hardware el que necesita que se ejecute cdigo del
SO. En tales situaciones el hardware debe poder llamar al sistema,
pudiendo deberse estas llamadas a dos condiciones:

A. Algn dispositivo de E/S necesita atencin.


B. Se ha producido una situacin de error al intentar ejecutar una
instruccin del programa (normalmente la aplicacin). En
ambos casos, la accin realizada no est ordenada por el
programa de aplicacin, es decir, no figura en el programa.
Segn los dos casos anteriores, se tienen las interrupciones y
las excepciones:
1. Interrupcin: seal que enva un dispositivo de E/S a la
CPU para indicar que la operacin de la que estaba
ocupado, ya ha terminado.
2. Excepcin: una situacin de error detectada por la CPU
mientras ejecutaba una instruccin, que requiere
tratamiento por parte del sistema operativo.
Se puede afirmar entonces que tanto las interrupciones como las
excepciones alteran el flujo del programa. La diferencia entre
ambas es que las interrupciones son usadas para manejar eventos
externos (puertos seriales, teclado) y las excepciones son usadas
para manejar errores en las instrucciones (divisin por cero,
opcode indefinido). Las interrupciones son manejadas por el
procesador despus de que finaliza la instruccin actual. Si se
encuentra una seal en su pin de interrupcin, buscar la
direccin del manejador de interrupciones en la tabla de
interrupciones y pasar el control de la rutina. Despus de
retornar de el manejador de rutina de interrupciones, retornar la
ejecucin del programa en la instruccin posterior a la instruccin
interrumpida.

6. IDENTIFICAR, DESCRIBIR, GRAFICAR Y SUSTENTAR LOS


PROCESOS Y SUBPROCESOS REFERENTES AL USO DE
UN CAJERO ELECTRONICO CUANDO UD VA A RETIRAR
DINERO DE L.
CLIENTE
OTROS SISTEMAS

ATM

CLIENTE
INGRESA TARJETA

CLIENTE
INGRESA
CONTRASEA

INDICA CUENTA Y
MONTO DE
RETIRO

INGRESE
CONTRASEA?

AUTORIZA
RETIRO

JUNTA DINERO
SEGN
INTRUCCION

RETIRA EL
DINERO
DESEA HACER
OTRAS
OPERACION
CONFIRMA
FINALIZACION O
CONTINUA CON
OTRA
OPERACIN

VALIDA LA
CONTRASEA EN LA
BASE DATOS DE LOS
CLIENTES

PROCESA EL RETIRO
CONTABLE EN LA
CUENTA DE CLIENTE

INSTRUYE AL
CAJERO QUE
ENTREGUE EL
DINERO

También podría gustarte