Академический Документы
Профессиональный Документы
Культура Документы
Integrantes:.
FACULDAD DE INGENIERIA
SEDE CAETE
INDUSTRIAL Y DE SISTEMAS
SISTEMA OPERATIVO
INDICE
INTRODUCCION
SISTEMA OPERATIVO OS/2
VERSIONES OS/2
COMPATIBILIDAD DEL SISTEMA OPERATIVO OS/2
KERNEL OS/2
MULTITAREA.
o
CONCEPTO DE THREAD.
CONCEPTO DE PROCESO.
CONCEPTO DE SESIN.
GESTION DE MEMORIA.
CONCEPTO DE SEMFORO.
SERVICIOS DE TEMPORIZACIN.
CAUCES.
COLAS.
APENDICE A
INTRODUCCION
Un sistema operativo explota los recursos de hardware de uno
o ms
del
OS/2
grficos
independientes
de
los
dispositivos,
que
las
adaptado para
memoria,
VERSIONES OS/2
OS/2 1.0 (1987):
Diseado originalmente por Microsoft con la ayuda de IBM.
procesador 286 era el ltimo y ms grande chip.
introduce
OS/2
1.0
1987;
este
corre
en
Tras esto,
modo
texto
Cuando el
Microsoft
programas
extremadamente poderosos.
Utilitarios OS/2.
Es
OS/2 sola
KERNEL OS/2
ya
sea
implcita
explcita,
de
los
programas
de
3.
4.
5.
DosOpen
DosClose
DosRead
DosWrite
COMPARTICIN DE FICHEROS
Dado que OS/2 es un Sistema Operativo multitarea, puede ocurrir que dos
(o ms) programas intenten acceder a la vez a un mismo fichero de disco.
Para
evitar
interferencias,
OS/2
ofrece
una
serie
de
opciones
de
DosCopy
DosMove
DosDelete
DosForceDelete
DosCreateDir
DosDeleteDir
DosQueryCurrentDir
DosQueryCurrentDisk
DosSetCurrentDir
DosSetDefaultDisk
BUSQUEDA DE FICHEROS
En muchas ocasiones un programa necesita conocer todos los ficheros que
coinciden con un patrn determinado. Es el caso, por ejemplo, de querer
mostrar una lista de ficheros que acaben en AL, o que tengan la letra Fen el
tercer lugar, etc. Para ello, OS/2 facilita una serie de funciones que permiten
o programz.exe;
pero
no
DosFindFirst
DosFindNext
DosFindClose
que
haya
convertido.
Lo
que
har
ser
leer
caracteres
del
VARIABLES DE ENTORNO
Para permitir la colocacin de programas en mltiples directorios y
simplificar algunas opciones de configuracin, OS/2 facilita las variables de
entorno. Se trata de una serie de variables que se definen bien en la lnea
de comandos, bien en el CONFIG.SYS, por medio de la sentencia SET. Por
ejemplo, la lnea
SET mi_variable=C:\OS2UTIL\MIPROGRAMA
asigna
la
variable
de
entorno mi_variable el
DosScanEnv
DosResetBuffer
DosShutdown
DosBeep
Subsistema de Video
Subsistema de Teclado
EL SUBSISTEMA DE VIDEO
El subsistema de vdeo (VIO) es el encargado de gestionar la comunicacin
entre los programas y la pantalla. Es, sin duda, el subsistema ms complejo
de los tres, y el que ofrece, por tanto, mayores posibilidades.
VioWrtTTY
VioGetAnsi
VioSetAnsi
VioGetMode
VioSetMode
VioGetState
VioSetState
as
como
otras
caractersticas
como
el
parpadeo.
Estn
Parpadeo activado
Intensidad activada
Bi Significado
Bi Significado
3 Intensidad de la tinta
3 Intensidad de la tinta
2 Rojo de la tinta
2 Rojo de la tinta
1 Verde de la tinta
1 Verde de la tinta
0 Azul de la tinta
0 Azul de la tinta
Los bits de color activan directamente cada una de las componentes del
monitor, de modo que stas se suman directamente, dando lugar a los
siguientes colores:
0
Negro
Azul
Verde
Celeste
Rojo
Magenta
Amarillo
Blanco
grficos
(por
ejemplo,
en
las
tarjetas
CGA
sincroniza
VioWrtCellStr
VioWrtCharStr
VioWrtCharStrAtt
VioWrtNAttr
VioWrtNCell
VioWrtNChar
VioReadCellStr
VioReadCharStr
FUNCIONES DE SCROLL
El subsistema VIO ofrece, adems, la posibilidad de realizar scroll de
ventanas en modo texto. Con este conjunto de funciones, podemos
desplazar parte o toda la pantalla en cualquiera de las cuatro direcciones
posibles. La razn de incluirlas es que resulta mucho ms rpido que hacer
una rutina que lea cada posicin del buffer de video y la reescriba en el
lugar adecuado, aparte de que se trata de una funcin muy comn en casi
cualquier programa.
VioScrollDn
VioScrollLf
VioScrollRt
VioScrollUp
VioGetCurPos
VioSetCurPos
VioGetCurType
VioSetCurType
ACCESO AL LVB
Cuando se necesite alta velocidad, se puede pedir acceso directo al buffer
virtual de video asociado con la aplicacin. Al hacerlo, OS/2 devuelve un
puntero a la zona de memoria en donde est situado, con lo que podremos
escribir en l como si se tratase de la pantalla fsica. Una vez que hemos
terminado, debemos enviar una orden de retrasado, que har que OS/2
copie el LVB a la pantalla fsica (siempre que la aplicacin se encuentre en
primer plano). Esto significa que los cambios que hagamos en el LVB no son
visibles hasta que nosotros queramos.
Usar esta opcin implica que perdemos el aislamiento entre el hardware y
nosotros: dado que el LVB no es ms que una copia del buffer real de
pantalla, es necesario que nuestro programa conozca la geometra y la
forma de almacenamiento de los datos en sta.
VioGetBuf
VioShowBuf
congelado
se
realiza
la
conmutacin.
Por
eso
es
recomendable
VioGetPhysBuf
VioScrLock
VioScrUnLock
VioSavRedrawWait
EL SUBSISTEMA DE TECLADO
El subsistema de teclado es el encargado de gestionar el acceso de los
programas a este perifrico. Al igual que el subsistema de vdeo, no es
necesario usarlo para escribir programas sencillos de cara al interface de
usuario, pues se puede acceder fcilmente a l a travs del sistema de
archivos. Es ms, el uso del subsistema de teclado no ofrece casi ninguna
ventaja en lo que a velocidad se refiere. Por tanto para qu usarlo?
Simplemente porque el acceso a travs del sistema de archivos solo nos
permite detectar cdigos ASCII, pero no la pulsacin de teclas de funcion, o,
por ejemplo, si tenemos pulsada la tecla ALT, o CTRL, etc. Para este tipo de
funciones necesitamos usar los servicios del subsistema de teclado.
FUNCIONES KBD
Acceso a nivel de cadenas de caracteres
La primera posibilidad que ofrece el subsistema de teclado es leer
caracteres, lo cual se puede hacer de dos formas: por cadenas, o caracter a
caracter.
La lectura por cadenas es exactamente igual que el uso de los servicios del
sistema de archivos. De hecho, es el servicio que emplea la funcin
DosRead cuando tiene que leer del teclado. Sin embargo, no necesita un
indicativo de dispositivo abierto, ni participa en el redireccionamiento de
E/S. Adems, funciona de modo diferente segn el modo de teclado en que
se encuentre: ASCII, BINARIO o ECO.
Con este sistema, se leen caracteres hasta que el buffer definido est lleno
o hasta que se pulse el caracter de retorno, que por defecto es
el retorno de carro (tecla enter).
KbdStringIn
KbdGetStatus
KbdSetStatus
KbdCharIn
KbdPeek
Por ltimo, tenemos una funcin que nos permite vaciar el buffer de teclado,
de modo que todas las pulsaciones hechas hasta el momento que no han
sido atendidas sern borradas.
KbdFlushBuffer
EL SUBSISTEMA DE RATON
El subsistema de ratn controla todo lo referente a este dispositivo.
Lo primero que hay que hacer para trabajar con el ratn es abrir el
dispositivo. Esta accin crea una cola de eventos para el ratn e inicializa
todos los parmetros de la sesin a un valor conocido.
MouOpen
MouClose
La cola de eventos del ratn almacena todos los sucesos ocurridos con ste
dispositivo, de modo que puedan ser ledos por el programa en el momento
adecuado. Un evento es, por ejemplo, mover el ratn, pulsar un botn,
soltarlo... Existe la posibilidad de filtrar determinados eventos, de modo que
al leer la cola, el resultado ser exactamente igual que si no se hubiesen
producido.
Cuando se lee la cola, se puede especificar adems si la funcin retornar
an en el caso de que sta est vaca, o bien si debe esperar a que haya
algn evento en ella. Adems de esto, podemos conocer en cualquier
momento la posicin actual del ratn, as como cambiarla por otra. Estas
opciones deben usarse slo con fines de actualizar alguna variable del
programa; si se pretende que sea el propio programa el que pinte el cursor,
es mejor leer las coordenadas por medio de la cola de eventos.
MouReadEventQue
MouGetEventMask
MouSetEventMask
MouFlushQue
MouGetNumQueEl
MouGetPtrPos
MouSetPtrPos
MouDrawPtr
MouRemovePtr
MouGetDevStatus
MouSetDevStatus
MouGetNumButtons
MouGetNumMickeys
MULTITAREA
ESTRUCTURA DEL OS/2
(Selector de Programas, Sesiones, Procesos y Threads)
La estructura de OS/2 a nivel de multitarea se centra en los tres conceptos
dados anteriormente: Threads y Procesos, gestionados por el ncleo,
y Sesiones,
gestionadas
por
los
subsistemas
por
el Selector
de
programas.
El selector de programas es la parte de OS/2 que se encarga de conmutar la
pantalla, teclado y ratn fsicos hacia los buffers lgicos de cada sesin.
Para ello, incluye un API propio, que permite a una sesin hacer pasar a
primer plano a cualquier sesin hija.
Surge la cuestin de como se arranca la primera sesin, la que nos permitir
arrancar nuevos programas, etc. Para ello, OS/2 incluye una lnea en
el CONFIG.SYS que le indica un proceso que debe arrancar al principio de
todo. Este proceso ser el Shell del sistema.
El Shell del sistema, en principio, puede ser cualquier programa, de modo
que al arrancar OS/2, se arrancar ste tambin. Sin embargo, para que sea
til, tiene que permitir arrancar nuevas sesiones desde l y pasar el control
a stas.
En OS/2 1.0, el Shell del sistema era un simple men, que contena los
programas bsicos (como una lnea de comandos). Pulsando sobre estos, se
arrancaba una nueva sesin con ste, y se le ceda el control. En las
versiones posteriores, como Shell se pone el Presentation Manager. Este
es el gestor de ventanas. Sin embargo, el PM no incluye ningn Shell, por lo
que surge una nueva lnea en el CONFIG.SYS, que especifica qu Shell
debe arrancar el PM. Este Shell, por defecto, es el Work Place Shell,
o WPS, que es el que nos da la orientacin a objetos del escritorio de OS/2;
sin embargo, puede ser cambiado por otro cualquiera. Por ejemplo,
poniendo como Shell el CMD.EXE de OS/2, tendremos una situacin parecida
a UNIX, en la que arrancamos siempre desde una lnea de comandos.
El
selector
de
programas
incorpora
dos Hot
Keys o Teclas
GESTION DE LA MEMORIA
OS/2, como cualquier Sistema Operativo multitarea, mantiene un estricto
control sobre la memoria usada por cada programa. Esto es as porque un
programa que sobreescribiese la memoria de otro lo hara fallar con casi
total
seguridad.
OS/2
hace
uso
del
modo
protegido
de
los
DosAllocMem
DosFreeMem
DosAllocSharedMem
Por
ejemplo,
sera\SHAREMEM\BLOQUE.DAT.
DosGetNamedSharedMem
un
nombre
vlido
asignndolo.
Para
comunicarlo,
es
necesario
usar
la
DosGetSharedMem
DosGiveSharedMem
SUBASIGNACIN DE MEMORIA
La asignacin de memoria es una parte muy importante en cualquier
sistema operativo. Da a los programas la capacidad de adaptarse
dinmicamente a las necesidades de cada momento. Sin embargo, hay un
coste relativamente elevado en la asignacin de memoria dinmica. En cada
peticin es preciso buscar una zona libre, cambiar los descriptores de
segmento, y cargar los registros de nuevo. Todo esto lleva un tiempo muy
elevado, debido a la propia arquitectura del microprocesador. Lo mismo
ocurre al liberar una zona. De aqu se saca una conclusin clara: utiliza toda
la memoria que necesites, pero evita asignar y desasignar constantemente
bloques. La solucin consiste en asignar un bloque de tamao moderado y
dentro de l sub asignar bloques de tamao ms pequeo, aumentando el
tamao del bloque fsico slo cuando se necesita ms espacio.
Para ayudar en esto, OS/2 ofrece un grupo completo de sub asignacin de
memoria.
La
DosSubAllocMem
DosSubFreeMem
DosSubSetMem
DosSubUnsetMem
primera
accin
consiste
en
reservar
un
bloque
de
memoria
desasignar
pequeos
bloques
APENDICE
GRUPO DE LLAMADAS
(Sistema de ficheros) DosBeep
DosBeep activa el altavoz interno.
#define INCL_BASE
#include <os2.h>
ULONG ulFrequency;
ULONG ulDuration;
APIRET rc; /* Codigo de error */
rc = DosBeep(ulFrequency, ulDuration);
DosClose
DosClose cierra un handle a un fichero, cauce o dispositivo.
#define INCL_BASE
#include <os2.h>
HFILE fileHandle;
APIRET rc; /* Codigo de error */
rc = DosClose(FileHandle);
DosCopy
DosCopy copia el contenido de un fichero o subdirectorio al fichero o
subdirectorio de destino.
#define INCL_BASE
#include <os2.h>
PSZ pszFicheroOrigen;
PSZ pszFicheroDestino;
ULONG ulModoOp;
APIRET rc; /* Codigo de error */
rc = DosCopy(pszFicheroOrigen, pszFicheroDestino,ulModoOp);
DosCreateDir
DosCreateDir crea un nuevo directorio.
#define INCL_BASE
#include <os2.h>
PSZ pszDirName;
EAOP2 pEABuf;
APIRET rc; /* Codigo de error */
rc = DosCreateDir(pszDirName, pEABuf);
DosDelete
DosDelete borra un fichero. Este puede ser recuperado.
#define INCL_BASE
#include <os2.h>
PSZ pszFileName;
APIRET rc; /* Codigo de error */
rc = DosDelete(pszFileName);
DosDeleteDir
DosDeleteDir borra un directorio. Es necesario que est vaco.
#define INCL_BASE
#include <os2.h>
PSZ pszDirName;
APIRET rc; /* Codigo de error */
rc = DosDeleteDir(pszFileName);
DosFindClose
DosFindClose cierra un cauce de busqueda de ficheros abierto con
DosFindFirst; esto es, termina una bsqueda.
#define INCL_BASE
#include <os2.h>
HDIR hdirDirHandle;
APIRET rc; /* Codigo de error */
rc = DosFindClose(hdirDirHandle);
DosFindFirst
DosFindFirst busca el primer archivo de un directorio que coincide con el
patrn de bsqueda.
#define INCL_BASE
#include <os2.h>
PSZ pszFileName;
PHDIR phdirDirHandle;
ULONG ulAttribute;
PVOID pResultBuf;
ULONG ulResultBufLen;
PULONG pSearchCount;
ULONG ulFileInfoLevel;
APIRET rc; /* Codigo de error */
rc = DosFindFirst(pszFileName, phdirDirHandle, ulAttribute, pResultBuf,
ulResultBufLen, pSearchCount, ulFileInfoLevel);
Bit
31-14
Descripcin
Reservados. Deben ser cero.
1: los ficheros que no tienen activo el bit de ARCHIVO son
ignorados.
13
12
11
10
Dos
FindN
ignorados.
9
ext
de OCULTO
1:
los
ficheros
que
no
tienen
activo
el
bit
DosFindNext
encuentra
el siguiente
archivo
de
un
directorio
7-6
que
coincide con
cadena
de
busqueda
dada
la
en
un DosFindF
irst.
usarse
Al
un
handle
para
identificar
la
bsqueda,
se
pueden
hacer
simultneamente.
#define INCL_BASE
#include <os2.h>
HDIR hdirDirHandle;
PVOID pResultBuf;
ULONG ulResultBufLen;
PULONG pSearchCount;
APIRET rc; /* Codigo de error */
rc = DosFindNext (hdirDirHandle, pResultBuf, ulResultBufLen,
pSearchCount);
DosForceDelete
DosForceDelete borra un fichero, de forma que es irrecuperable.
varias
#define INCL_BASE
#include <os2.h>
PSZ pszFileName;
APIRET rc; /* Codigo de error */
rc = DosForceDelete(pszFileName);
DosMove
DosMove mueve un fichero de un directorio a otro distinto.
#define INCL_BASE
#include <os2.h>
PSZ pszOldPathName;
PSZ pszNewPathName;
APIRET rc; /* Codigo de error */
rc = DosMove(pszOldPathName, pszNewPathName);
DosOpen
DosOpen abre un fichero nuevo o uno ya existente para trabajar con l.
#define INCL_BASE
#include <os2.h>
PSZ pszFileName;
PHFILE pshfFileHandle;
PULONG pActionTaken;
ULONG ulFileSize;
ULONG ulFileAttribute;
ULONG ulOpenFlag;
ULONG ulOpenMode;
PEAOP2 pEABuf;
APIRET rc; /* Codigo de error */
Bit
Descripcin
1
directorio.
pshfFileHandl
Puntero a una variable donde OS/2 almacenar el handle
e
asignado al fichero.
El
fichero
puede
ser
ledo,
pero
no
0
pActionTaken
a una variable donde OS/2 almacenar un valor que
escrito. Puntero
SOLO_LECTURA.
0
Definicin
El fichero exista
ulFileAttribute
ulOpenFlag
3-0
0001:
Crea
el
Abre
fichero.
el
Falla
fichero
si
si
ya
ya
existe.
existe.
ulOpenMode
Bit
Descripcin
directa:
normalmente.
1: FileName es 'unidad' (como C: o A:), y representa
una unidad de disco o disquete para ser abierta para
un acceso directo.
0: Las escrituras en el fichero son a travs de la cache
de disco. El sistema de ficheros escribe los sectores
cuando sta se llena o el fichero es cerrado.
14
de
notificacin
de
errores
fsicos.
sistema.
1: Los errores son notificados al thread que hizo la
llamada a travs de un cdigo de retorno.
0: El driver de disco puede poner datos de las
12
operaciones
de
I/O
en
su
cache.
11
10-8
000:
Sin
un
modo
concreto.
001:
Principalmente
acceso
secuencial.
010:
Principalmente
acceso
aleatorio.
procesos
creados
con DosExecPgm.
de
comparticin
del
fichero:
lectura,
pero
no
para
escritura.
pero
no
para
lectura.
ha
abierto
el
fichero:
lectura.
001; WRITE_ONLY; solo va a realizar operaciones de
escritura.
010; READ_WRITE; va a realizar operaciones de
lectura y escritura.
DosQueryCurrentDir
DosQueryCurrentDir devuelve el path completo del directorio actual para el
proceso que realiza la llamada. Es necesario indicar una unidad, pues para
cada una de ellas hay un path distinto.
#define INCL_BASE
#include <os2.h>
ULONG ulDriveNumber;
PBYTE pbDirPath;
PULONG pDirPathLen;
APIRET rc; /* Codigo de error */
rc = DosQueryCurrentDir(ulDriveNumber, pbDirPath, pDirPathLen);
DosQueryCurrentDisk
DosQueryCurrentDisk devuelve la unidad por defecto para el proceso que
hace la llamada.
#define INCL_BASE
#include <os2.h>
PULONG pDriveNumber;
PULONG pLogicalDriveMap;
APIRET rc; /* Codigo de error */
rc = DosQueryCurrentDisk(pDriveNumber, pLogicalDriveMap);
PARMETROS
Puntero a una variable donde OS/2 devolver el nmero
pDriveNumber
pLogicalDriveMap
Definicin
DosRead
DosRead lee el nmero especificado de bytes a un buffer, desde un fichero,
cauce o dispositivo.
#define INCL_BASE
#include <os2.h>
HFILE FileHandle;
PVOID pBufferArea;
ULONG ulBufferLength;
PULONG pBytesRead;
APIRET rc; /* Codigo de error */
DosResetBuffer
DosResetBuffer escribe los buffers de escritura del fichero indicado. Cuando
se escriben caracteres en un fichero, estos son almacenados en un buffer
de, al menos, un sector, el cual se escribe cuando se llena o cuando se
cierra el fichero. Esta llamada fuerza una escritura de dicho buffer aun
cuando no est lleno.
#define INCL_BASE
#include <os2.h>
HFILE FileHandle;
APIRET rc; /* Codigo de error */
rc = DosResetBuffer(FileHandle);
DosScanEnv
DosScanEnv busca una variable de entorno (asignada con SET en el
CONFIG.SYS o desde la lnea de comandos) y devuelve su contenido.
#define INCL_BASE
#include <os2.h>
PSZ pszEnvVarName;
PSZ pszResultPointer;
APIRET rc; /* Codigo de error */
rc = DosScanEnv(pszEnvVarName, &pszResultPointer);
DosSetCurrentDir
DosSetCurrentDir permite cambiar el directorio por defecto. Solo afecta al
proceso que realiza la llamada.
#define INCL_BASE
#include <os2.h>
PSZ pszDirName;
APIRET rc; /* Codigo de error */
rc = DosSetCurrentDir(pszDirName);
DosSetDefaultDisk
DosSetDefaultDisk cambia la unidad por defecto. Solo afecta al proceso que
hace la llamada.
#define INCL_BASE
#include <os2.h>
ulDriveNumber;
APIRET rc; /* Codigo de error */
rc = DosSetDefaultDisk(ulDriveNumber);
DosShutdown
DosShutdown graba todos los buffers del sistema, cierra los ficheros
abiertos y graba la cache, preparando el sistema para apagarlo. Puede
tardar varios segundos en ejecutarse.
#define INCL_BASE
#include <os2.h>
ULONG ulReserved;
APIRET rc; /* Codigo de error */
rc = DosShutdown(ulReserved);
DosWrite
DosWrite escribe un determinado grupo de bytes desde un buffer al fichero
especificado.
#define INCL_BASE
#include <os2.h>
HFILE FileHandle;
PVOID pBufferArea;
ULONG ulBufferLength;
PULONG pBytesWritten;
APIRET rc; /* Codigo de error */
rc = DosWrite(FileHandle, pBufferArea, ulBufferLength, pBytesWritten);
Sin error
Funcin no vlida
Fichero no encontrado
Path no encontrado
Acceso denegado
HANDLE no vlido
10
Entorno no vlido
11
Formato no vlido
12
13
Datos no vlidos
15
Unidad no vlida
16
17
18
No hay ms ficheros
19
26
29
Ha fallado la escritura
32
Violacin de comparticin
33
36
82
84
87
Parmetro no vlido
89
90
95
Interrupcin
99
Dispositivo en uso
103
Demasiados SEM_REQUEST
105
108
Unidad bloqueada
109
110
Fallo en la apertura
111
112
Disco lleno
113
114
115
Violacin de proteccin
123
Nombre no vlido
127
Proc no encontrado
164
170
Ocupado
182
Ordinal no vlido
183
Ya existe
187
Semforo no encontrado
190
191
192
195
MINALLOCSIZE no vlido
196
203
206
208
212
Bloqueado
217
Procesos Zombie
224
230
Cauce incorrecto
231
233
Cauce no abierto
234
Demasiados datos
250
251
254
Nombre de EA no vlido
255
Lista
de
EAs
Valor de EA no soportado
267
Directorio incorrecto
274
275
EAs no coinciden
282
283
285
Nombre duplicado
288
No se ha hecho DosRequestMutexSem
290
291
Demasiadas aperturas
294
Thread no terminado
298
299
Ya se encuentra posted
300
301
Semforo ocupado
303
PID no vlido
inconsistente
304
PDELTA no vlido
305
No hay descendientes
307
PCLASS no vlido
308
SCOPE no vlido
309
310
311
312
322
Incapaz de despertar
323
324
326
327
330
332
Cola duplicada
333
El elemento no existe
334
335
Nombre no vlido
337
340
341
Acceso no permitido
342
Cola vaca
343
350
Puntero no vlido
355
Modo no vlido
356
Ancho no vlido
358
Fila no vlida
359
Columna no vlida
366
367
No est bloqueado
369
375
376
Longitud no vlida
377
378
385
No hay ratn.
387
Parmetro no vlido.
390
393
395
Frecuencia no vlida
418
Llamada no vlida
421
Parmetros no vlidos
422
423
429
430
433
434
Ya est bloqueado
436
438
Longitud no vlida
439
445
447
458
459
Reserva no vlida
460
463
464
465
466
467
468
484
Desbordamiento de CritSec
485
Underflow de
CritSec
(se
ha
intentado
ejecutar
487
Direccin no vlida
494
VIO Extended SG
501
Mouse no console
504
KBD Extended SG
505
MOU extended SG
532
DosSub corrupto
640
RECOMENDACIONES
Los usuarios de OS/2 deberan considerar igualmente que el tiempo es dinero y que no
siempre han de buscar por una solucin freeware, excepto en el caso que esta sea la mejor
disponible. Cada compra de productos OS/2 cuenta y algunos de los productos de OS/2 son
de los de mayor calidad del mercado, aunque ahora lo ha reemplazado por eComStation.
Para IBM, el destino de OS/2 es ser utilizado nicamente por las grandes empresas. IBM
pretende convertir a OS/2 en un sistema operativo especializado capaz de ejecutar "un
CONCLUSIONES
Luego de analizar e investigar el tema tratado, podemos decir
concretamente que la tecnologa va de acuerdo a las necesidades del diario
vivir; que, cada da van naciendo ideas nuevas, nuevas frmulas, nuevas
tcnicas, y por supuesto, segn nuestro tema en cuestin, nuevas versiones
de los llamados Sistemas Operativos, en nuestro caso, el denominado
OS/2.
En un OS/2
multitarea
diseos
de
sistemas
operativos.
Probablemente,
as
como
BIBLIOGRAFIA
INTERNET
www.altavista.com
http://www.rastersoft.com/OS2
www.os2spain.org
www.internet.com.uy
www.monografas.com
www.yupi.com
www.os2ss.com