Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Как запускать UNIX приложения под Windows

Rusa


UNIX Windows



UNIX Windows

UNIX Windows

UNIX

UNIX Windows

fork exec

UNIX Windows

Windows

UWIN CYGWIN

"...ты выбрал самый трудный путь для того, чтобы взобраться сюда. Иди за мной, я покажу тебе самый легкий путь"

Френк Херберт "Дюна"

UNIX Windows NT

UNIX UNIX

UNIX

UNIX Windows UNIX UNIX Windows

Windows UWIN

Norton Commander символ-разделитель каталогов. Да "Midnight Commander", - Norton UNIX.

041.bmp Midnight Commander, UNIX Windows 98

UNIX UNIX

UWIN CYGWIN NUTCRACKER UWIN CYGWIN UNIX

Windows UNIX .

UNIX , а Windows используют HANDLE Windows, но в UNIX[4] дескрипторы упорядочены и предсказуемы. Напротив, HANDLE UNIX Windows txt

txt

HANDLE Windows . Каждый процесс имеет собственную локальную таблицу, поэтому бессмысленно пытаться использовать HANDLE UNIX HANDLE UNIX-процессов (смотри рисунок 002.txt).

Рисунок 002.txt (показаны локальные таблицы HANDLE Windows UNIX

UNIX Windows UNIX exec exec fork и . Процесс-сын наследует все открытые файлы отца, сегмент данных и продолжает выполнение с той же самой точки, в которой завершился вызов fork fork UNIX if (fork()==0) exec("/bin/vi","/etc/passwd",0);

Windows CreateProcess действительно порождает новый процесс, не затирая текущий. При этом сохраняется возможность наследования всех обработчиков установкой флага bInheritHandles. Поэтому, функция CreateProcess fork exec fork Windows UNIX

UNIX fork Windows (suspend main EIP

exec CreateProcess exec UNIX exec exec CreateProcess exit



UNIX. Родительский процесс в качестве идентификатора получает индекс ячейки такой таблицы, содержащей настоящий идентификатор дочернего процесса. В результате появляется возможность «подменить» идентификатор «Процесса 1» на «Процесс 2» незаметно для родительского процесса. (Смотри рисунок 003.txt)

Рисунок 003.txt Имитация эмулятором системного вызова fork

Windows UNIX - удобное средство межпроцессорного взаимодействия, своеобразный аналог программно-аппаратных прерываний. Механизм же сообщений, реализуемый Windows WM CLOSE Windows

while (GetMessage (&msg, NULL, 0, 0))

UNIX

Windows x Winwos NT (Event txt

kill

txt

(heap блока памяти, и его размеров. Первые две никаких проблем не вызывают, но вот динамическое изменение размера - штука интересная. Легко уменьшить размер блока, но намного чаще программистам требуется его увеличить (для того кучи и задуманы, чтобы сначала запросить немножечко памяти, а по мере потребности требовать ее все больше и больше). А как поступить, если к концу одного блока вплотную примыкает следующий? UNIX адресов, то есть определенным образом отображает физические адреса на логические, создавая видимость непрерывности всего блока памяти, хотя на самом деле он состоит из множества беспорядочно разбросанных фрагментов. А вот Windows указатель начала блока. Программы Windows UNIX UNIX Windows на низком уровне функциями VirtualAlloc и VirtualFree.

Windows UNIX MS DOS UNIX MS DOS Windows UNIX

MS DOS Windows), задаваемый символами "\r\n", тогда как UNIX ожидает лишь одиночного символа "\n UNIX MS DOS Windows edit UNIX Perl

UNIX

MS DOS UNIX MS DOS используется конструкция ">nul" ("echo Это сообщение никогда не появится на экране >nul"), а в UNIX - ">/dev/null" ("echo Это сообщение никогда не появится на экране > /dev/null"). Другие примеры различий показаны в таблице 1

UNIX

MS DOS

/dev/tty

Con

/dev/stdin

Con

/dev/stdout

Con

/dev/null

Nul

/dev/fd

B

/dev/lp

Com

/dev/mod

lpt

UNIX MS DOS

MS DOS con console

UNIX чувствительна к регистру в именах файлов и допускает мирное сосуществование "myfile" и "MyFile" в одном каталоге. Кажется, единственный способ приучить к этому Windows UNIX txt

txt

SOCK RAW IP

WINSOCK x Windows TCP IP



AF INET UNIX WINSOCK

UNIX Windows UWIN AT&T UNIX AT&T CYGWIN GNU[6]

UWIN GIF UWIN

UWIN можно получить бесплатно, посетив сайт автора - https://www.research.att.com/sw/tools/uwin/. Установленный UWIN : "UWIN has a set of popular shells like ksh (Kornshell) & tcsh (C shell) and more than 300 utilities like vi, ls, ps, grep, tail, uudecode/uuendecode, mailx, find, perl, awk, etc along with a vt100 terminal emulation. It also provides a Telnet server along with other inet daemons and utilities like telnet, ftp, rsh, rlogin, and their corresponding servers for Windows NT, enabling a user to remotely access the system over the network. Optional tools include the Apache Web-server and bind DNS server.

UWIN

Software requirements Software requirements

UWIN Base toolkit + UWIN SDK

Microsoft Visual C/C++ 4.0 or higher or GNU C/C++ compiler

Microsoft Windows NT 4.0 or higher (Workstation or Server) or

Microsoft Windows 95/98

Hardware requirements Hardware requirements

Intel x86, Pentium, Pentium Pro and compatible systems

30-100MB of available hard-disk space

UWIN Apache WEB DNS Windows NT telnetd Windows NT .

telnet UWIN

GNU C C++ и отладчик gdb, или любой другой инструментарий - по выбору. Например, perl, awk, tcl.. да всего не перечислишь! Кстати, в UWIN wrapper Microsoft Visual C UNIX Soft Ice UNIX

UNIX UWIN UNIX Windows

в каталог "/reg" На рисунке 049 показано, как вывести на экран содержимое ветви реестра "HKEY_CURRENT_USER\Network\Persistent\H". Но этим возможности UWIN

Рисунок 049.bmp UWIN Windows

UWIN UWIN C A B D E Windows C Windows Win Windows \\SERVER\C SERVER C mount

C:\Program Files\UWIN on / type FAT32 (ic,text,grpid,suid,rw)

C:\Program Files\Microsoft Visual Studio\vc98\ on /msdev type FAT32 (ic,text,grpid,suid,rw)

A: on /A type FAT (ic,text,grpid,suid,rw)

C: on /C type FAT32 (ic,text,grpid,suid,rw)

D: on /D type FAT32 (ic,text,grpid,suid,rw)

E: on /E type FAT32 (ic,text,grpid,suid,rw)

F: on /F type FAT32 (ic,text,grpid,suid,rw)

//SERVER/C on /H type FAT ()

/usr/bin on /bin type LOFS (ic,text,grpid,suid,rw)

/usr/lib on /lib type LOFS (ic,text,grpid,suid,rw)

/usr/etc on /etc type LOFS (ic,text,grpid,suid,rw)

/usr/dev on /dev type LOFS (ic,text,grpid,suid,rw)

/C/WINDOWS on /win type FAT32 (ic,text,grpid,suid,rw)

/C/WINDOWS/SYSTEM on /sys type FAT32 (ic,text,grpid,suid,rw)

/usr/proc on /proc type PROC (ic,text,grpid,suid,rw)

/usr/reg on /reg type REG (ic,text,grpid,suid,noexec,rw)

UWIN Windows notepad win readme txt win notepad C windows readme txt Windows сообщит: "Не удается найти файл C:windowsreadme.txt" (такая ситуация показана на рисунке 050):

Windows UNIX

UNIX UWIN t n

dev

$ ls /dev

clipboard ptyp0 ptyq7 tty06 tty29 ttypb

fd ptyp1 ptyq8 tty07 tty30 ttypc

fd0 ptyp2 ptyq9 tty08 tty31 ttypd

fd1 ptyp3 ptyqa tty09 tty32 ttype

lp ptyp4 ptyqb tty10 tty33 ttypf

lp0 ptyp5 ptyqc tty11 tty34 ttyq0

lp1 ptyp6 ptyqd tty12 tty35 ttyq1

lp2 ptyp7 ptyqe tty13 tty36 ttyq2

mod0 ptyp8 ptyqf tty14 tty37 ttyq3

mod1 ptyp9 rmt0 tty15 tty38 ttyq4

mod2 ptypa rmt0n tty16 tty39 ttyq5

mod3 ptypb rmt1 tty17 tty40 ttyq6

mod4 ptypc rmt1n tty18 ttyp0 ttyq7

mod5 ptypd stderr tty19 ttyp1 ttyq8

mod6 ptype stdin tty20 ttyp2 ttyq9

mod7 ptypf stdout tty21 ttyp3 ttyqa

mt0 ptyq0 tty tty22 ttyp4 ttyqb

mt0n ptyq1 tty00 tty23 ttyp5 ttyqc

mt1 ptyq2 tty01 tty24 ttyp6 ttyqd

mt1n ptyq3 tty02 tty25 ttyp7 ttyqe

null ptyq4 tty03 tty26 ttyp8 ttyqf



ptmx ptyq5 tty04 tty27 ttyp9 windows

ptymx ptyq6 tty05 tty28 ttypa

clipboard Windows UWIN fd mount lp lp LPT lp LPT 2) в зависимости от схемы подключения ("cp myfile lp1"). Последовательный (т.е. COM mod" и может использоваться для управления модемом (например "echo atz\natdp 02 > mod1"); "mt SCSI Type Driver[9] SCSI UWIN

UWIN POSIX DLL AST x DLL POSIX UNIX fork exec malloc UNIX AST x гораздо скромнее - это всего лишь аналог стандартной библиотеки Си "stdio", написанной с учетом особенностей эмуляции UNIX

UWIN

UWIN («UWIN maintains an open file table in a memory-mapped region, which is shared by all the currently active UWIN processes; this region is writable by all UWIN processes so that the appropriate information can be shared between them»). (Смотри рисунок 006.txt) Отсюда следует, одно UWIN UWIN

txt UWIN

UWIN Windows Explorer UIWN

Рисунок cygwin.bmp Логотип CYGWIN

UINX CYGWIN UWIN

CYGWIN UNIX cygwin dll UNIX Windows UNIX cat etc passwd[10] UWIN CYGWIN

UWIN

$ cat /etc/passwd

root:x:0:13:Built-in account/domain:/tmp:/usr/bin/ksh

telnetd:x:1:1:telnetd:/:/dev/null

CYGWIN

$ cat /etc/passwd

/etc/passwd: No such file or directory

CYGWIN "/etc/passwd" и он не эмулирует подсистему безопасности UNIX UWIN UWIN CYGWIN

CYGWIN telnet CYGWIN UWIN ("...creates shared memory areas... used to keep track of open file descriptors and assist fork and exec, among other purposes" fork ("...creates a suspended child process using the Win32 CreateProcess call; next... fills in the child's .data and .bss sections by copying from its own address space into the suspended child's address space"). exec приводит к образованию нового процесса и подмене идентификаторов в локальной таблице эмулятора -"...exec present their own set of difficulties Because there is no way to do an actual exec under Win32, Cygwin has to invent its own Process IDs"

UNIX CYGWIN UWIN UWIN Mortal Commander . Между тем, он идеально подходит для демонстрации многих примеров, приведенных в этой книге.

CYGWIN - "The current release includes all POSIX calls except for setuid and mkfifo all ANSI C standard calls and many common BSD and SVR services including Berkeley sockets IP CYGWIN

осветить его новым светом, может устрашить. Мы не хотим, чтобы наши представления изменялись; нам кажется, что требовать этого, значит, угрожать нам. "Все важное мне уже известно!" - кричим мы. И тут приходит Изменяющий и выбрасывает все наши представления прочь - словно ненужный мусор.



MS-DOS

GNU GNU Not Unix

Смотри Wipro UWIN Version 2.0 User Guide

Windows 2000 telnet-

UNIX

/etc/passwd

CYGWIN




Document Info


Accesari: 5226
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )