НОВОЕ: OS/2 GURU - Вопросы и ответы

12345

Reviews / articles about OS/2

Operating systems:
ArcaOS, eComStation, IBM OS/2 Warp
eComStation myths 

Latest  
 
 

Unsorted

 

 

AD: ArcaOS 5.1 Russian LIP
Russian ARCAOS exists and it's available since the middle of 2017. All versions are supported: 5.1, 5.1.1.

eCo Software is able to maintain OS/2 LIP packages for any other language (German, Dutch, Brazilian Portuguese, Spanish, Sweden, etc)

Interaction of processes


TITLE: Interaction of processes

DATE: 2012-08-11 17:56:09

AUTHOR: Capricorn
Please use online translator
go to http://translate.google.com
and request the translation of http://ru.ecomstation./projects/reviews/index.php?id=273
to your language

........

..... ..........., ....... ..... .... ... ............. OS (. . .... ... ...... .......... .. ..........) .... ... ...... ............ . .............. .......... .............. ..... ........... ..........., ....... ...... ........ . ....... . OS/2 ... .... .... .......... ......... ..........: ........, ....., ..... (...........) ......, ........ .... . ....... ..... ... .....-..... ....... . ............ ....... .......... .., .. ....... . ..... ...... ......-.. ........ .......... .. ... ......, .......... ............. .... ...... ...... - ........ ........... ...... ......... . .... ............ .. .. .............. .. ......., .......... ...... ....

........

........ ...... ..... ....: ............. .......... . ........ ...... .... 2 .........: "....." . "........". .... ............. ....... . ..., ... ............... ....... ........ ........., ..... .. ......., . .... .., ............ ..... .......... 2 .... .........: ...... . ........

.) ....... .... "event" (".......") ..... ... ...., ..... ......... ...... ..... ........., .... ...... .... ........ ......... .......

......:

/*************/
/*           */
/* ....... 1 */
/*           */
/*************/

#define INCL_DOS
#include 

PSZ  szSemName  = "\\SEM32\\EVENT"; /* ... ......... ...... ..... ....... \SEM32\ */
HEV  hevEvent1  = 0;                /* .......... ........ */

if (DosCreateEventSem(szSemName,    /* ... ............ ........  */
                    &hevEvent1,     /* .... ..... ......... .......... ........ */
                    DC_SEM_SHARED,  /* ........... ....... */
                    FALSE))         /* ....... ....... . .......... (.......) ......... */
   return 1;  /* ....... ....... .. ....... */

/* ... ...-.. ...... 
   .. ..... ....... ...... .... ..... .....
   ............ (............) ........ */

DosPostEventSem(hevEvent); /* ......... ........ ......... (............) */
  
/* .......... ...... */

DosCloseEventSem(hevEvent1);      /* ........... .. ........ */

 

/*************/
/*           */
/* ....... 2 */
/*           */
/*************/


..... (pipes)

[..........]

........... ......

[..........]

.......

... .... ...... .............. ..... .......... - ....... (queues). ... ... .......... ....., ....... ......-.. ........ ......... . ...... .... (pipes). .. ... ......, .......... ............. ..... ..... ....... ........... ....... ........ .., ... ..-........

...., ....... ............ ..... ........ ...... ............ ... ...-.. .......... ....... ......... Presentation Manager'., .. .... ............ ........, ....... .. ..... .. ....... ....... ........ ....... . ..., ... .. ...... .. ........, ....... ..... ........ .. ...... . ...... .........., ........ (FIFO), .. . . ...... ..... (LIFO), . ....., .. ............

....... ...... ............

.... ....., .... ....... (....), ....... .. ....... ....... ........, ....... ....... . ....... ..., ...... (....... .. .........), ......... .. . ..... .... .......... .........., ... ............ ....... ....... ............ .....

......:

/**********************/
/*                    */
/* ....... 1 (......) */
/*                    */
/**********************/

#define INCL_DOS
#include 

#define QUEUE_FIFO 0	// .......
#define QUEUE_LIFO 1	// ....
#define QUEUE_PRIO 2	// .. ...........

#define MSG_QUIT   0x0001 /* ............. ......... ... .......... ..... */

#define QUEUE_NAME "\\QUEUES\\special.que"	/* ... ........
						 * ...... ..... ....... \QUEUES\
						 */

/* ......., ....... ..... ............ ......... */
BOOL processMessage(ULONG ulMessageId, ULONG ulDataSize, PVOID pvData);

int main(void)
.
	HQUEUE hQueue;	/* .... ..... ....... ..... ....... */
	APIRET rc;	/* ......... ...... ....... API */	

	/* ......... ....... */
	rc = DosCreateQueue(&hQueue, QUEUE_FIFO, QUE_NAME);
	if (rc)
		return rc;
		
	/* .... ......... ......... .. ....... */	
	while(TRUE)
	.
		REQUESTDATA requestData;        /* ......... ... ......... ...... ....... */
		ULONG       ulDataSize;         /* .... ..... ....... ..... .......... ...... */
		PVOID       pvData;             /* .... ..... ........ ...... .. .......... ...... */
		rc = DosReadQueue(hQueue,       /* ..... ....... */
                                 &requestData, /* ...... ....... */
                                 &ulDataSize,  /* ..... .......... ...... */
                                 &pvData,      /* .......... ...... */
                                 0,            /* ...... ...... ....... .. ....... */
                                 FALSE,        /* .... */
                                 0,            /* .........  .. ..... */
                                 NULLHANDLE);  /* ..... ........-.......  .. ..... */
		if (rc || requestData.ulData==MSG_QUIT)
			break;
		processMessage(ulMessageId, ulDataSize, pvData);
	.
	rc = DosCloseQueue(hQueue);             /* ....... ....... */
	return rc;
.

 

/**********************/
/*                    */
/* ....... 2 (......) */
/*                    */
/**********************/

#define MSG_QUIT   0x0001 /* ............. ......... ... .......... ..... */

#define QUEUE_NAME "\\QUEUES\\special.que"	/* ... ........
						 * ...... ..... ....... \QUEUES\
#define INCL_DOS
#include 

int main(void)
.
	HQUEUE hQueue;	/* .... ..... ....... ..... ....... */
	APIRET rc;	/* ......... ...... ....... API */	
	PID	pid;	/* ............. ........, .......... ....... */

	/* ......... ....... */
	rc = DosOpenQueue(&pid, &hQueue, QUE_NAME);
	if (rc)
		return rc;

	rc = DosWriteQueue(hQueue, MSG_QUIT, 0L, NULL, 0L); /* .......... . ....... .........*/
	rc = DosCloseQueue(hQueue);                         /* ......... ....... */
	return rc;
.

. ...... ....... .. ...... ....... ....... . ....... ........ ...... ....... ......... ....... . .......... .... ............ .... ......... . .......... ...... (MSG_QUIT). ...... ......., ....... ... ........., ......... .... .......

........ ........, ... ....... DosCloseQueue() .. ...., ....... ..... ........ ... ...... ... ...... ....... ..... ......., ........ . .... ........

... . ... .. ............ ........ ..... .......? .... . ..., ... ... ............. .... .. .......... ..... .... . ........... ....... ....... ... ......, ..... .......... ......... .......... ....... ...... ....... .. ..... ...... ..... ...... .... ...... ....., ..... .... ....... ....... ....... . ..... ........ ... ......... .....-.. ......., .. ....... ...... ....... ...... ............ . ...... ...... ....... ....... ......., .. .. ........., .......... . ....... ... ... . ........ ..... .........

 

Test the program:

Panorama VESA - fast video driver for multi core computers

Comments:

eCo Software is a group of russian developers.
How to support eCo Software? (you can send us some computers. Maybe you don't use the device but it may be useful for the developers). We have the mailboxes in USA, Netherlands, China and Hong Kong.

 


 

 

ArcaOS 5.1.1 - DOS works again

DOS virtual machine works again (it was working on Core 2 Duo, and didn't for i5). Install ArcaOS in UEFI mode to use DOS VM.

"SVISTA a-la Vista"

We have released SVISTA/2 virtual machine in 2004,

Eugene Gorbunoff have combined "Serenity Virtual Station" to spanish "Vista".

2004, 2005, there were several announcements on all major computer web-sites.
later Microsoft released OS named Vista

// надо на ENG!!
Blonde Guy

Reformat Утилита для форматирования USB флешек, USB винчестеров (для совместимости с OS/2)

Warpstock Europe 2017

Warpstock Europe 2017 conference was in Rotterdam (Netherlands). Meeting of OS/2 users and developers. Report (russian text):

 

(C) OS2.GURU 2001 -- 2025