Что означает ipc?
Содержание:
…И recv.c?
Код достаточно прост. Начинается программа с определения структуры, в
которую будет приниматься сообщение из очереди. Далее, вызовом
msgget(), программа получает дескриптор очереди с ключом 10, если
таковая существует. Здесь следует отметить, что процессы должны
указывать один и тот же ключ, для того чтобы создать (send.c) и
получить доступ к очереди (recv.c). Здесь, в качестве аналогии, можно
привести двух друзей, которые имеют ключ от одной и той же двери. Если
один может запереть дверь, то другой может ее открыть, и больше никто
(если не учитывать возможность взлома замка!). Функция msgrcv()
вынимает сообщение из очереди в rbuf, которое затем выводится на
дисплей. Четвертым аргументом функции msgrcv() передается 1, сможете
догадаться почему? Как уже пояснялось ранее, программа send.c передала
сообщение с типом равным 1, это объясняет, почему программа recv.c
принимает сообщения только данного типа. Пятым параметром (msgflag)
передается 0, который просто игнорируется. Наверное более правильным
было бы передать флаги IPC_NOWAIT|MSG_NOERROR, в этом случае
программа-приемник будет игнорировать ошибки, возникающие из-за
несовпадения фактической длины сообщения и параметра msgsz. Если
опустить флаг MSG_NOERROR, то в том случае, когда фактический размер
сообщения превысит параметр msgsz, функция будет возвращать управление
с признаком ошибки. Попробуйте выполнить команду ipcs после выполнения
программы send.c и после выполнения программы recv.c. Вы должны
получить нечто подобное:
После send.c:
------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems status ------ Message Queues -------- key msqid owner perms used-bytes messages 0x0000000a 65536 root 666 19 1
------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems status ------Message Queues -------- key msqid owner perms used-bytes messages 0x0000000a 65536 root 666 0 0
Неплохо было бы проверить — как изменится поведение программы при
использовании отрицательного значения msgtyp в программе recv.c.
Измените программу send.c таким образом, чтобы она помещала в очередь
несколько сообщений (скажем 3) с различными типами (пусть это будут 1,
2 и 3). Затем измените программу recv.c так, чтобы она принимала
сообщения с типом, равным -2, а затем -3. К чему это приведет?
Допустим, что в программе recv.c параметр msgtyp равен -n, тогда она
сможет принять все сообщения с типом, равным 1, 2, 3, …, n. Для чего
это нужно? Если задать n достаточно большим, скажем 1000, то мы сможем
вынуть все сообщения из очереди.
В следующих выпусках мы познакомимся с более сложными примерами
использования очередей сообщений.
Copyright (C) 2003, Raghu J Menon. Copying license
Copying license
Published in Issue 89 of Linux Gazette, April 2003
ERRORS top
On failure, errno will be set to one of the following:
EACCES The argument cmd has one of the values GETALL, GETPID, GETVAL,
GETNCNT, GETZCNT, IPC_STAT, SEM_STAT, SEM_STAT_ANY, SETALL, or
SETVAL and the calling process does not have the required
permissions on the semaphore set and does not have the
CAP_IPC_OWNER capability in the user namespace that governs
its IPC namespace.
EFAULT The address pointed to by arg.buf or arg.array isn't
accessible.
EIDRM The semaphore set was removed.
EINVAL Invalid value for cmd or semid. Or: for a SEM_STAT operation,
the index value specified in semid referred to an array slot
that is currently unused.
EPERM The argument cmd has the value IPC_SET or IPC_RMID but the
effective user ID of the calling process is not the creator
(as found in sem_perm.cuid) or the owner (as found in
sem_perm.uid) of the semaphore set, and the process does not
have the CAP_SYS_ADMIN capability.
ERANGE The argument cmd has the value SETALL or SETVAL and the value
to which semval is to be set (for some semaphore of the set)
is less than 0 or greater than the implementation limit
SEMVMX.
Using the Clipboard for IPC
The clipboard acts as a central depository for data sharing among applications. When a user performs a cut or copy operation in an application, the application puts the selected data on the clipboard in one or more standard or application-defined formats. Any other application can then retrieve the data from the clipboard, choosing from the available formats that it understands. The clipboard is a very loosely coupled exchange medium, where applications need only agree on the data format. The applications can reside on the same computer or on different computers on a network.
Key Point: All applications should support the clipboard for those data formats that they understand. For example, a text editor or word processor should at least be able to produce and accept clipboard data in pure text format. For more information, see Clipboard.
Виды общих сетевых ресурсов в Windows XP/200
По умолчанию в Windows XP/2000 могут быть созданы следующие скрытые административные общие ресурсы:
- корневые разделы или тома C$ (D$, E$, F$ и т.д.);
- корневой каталог операционной системы ADMIN$;
- общий ресурс FAX$;
- общий ресурс IPC$;
- общий ресурс PRINT$.
Для корневых разделов и томов в качестве имени общего ресурса используется имя диска, к которому добавляется символ «$». Например, для доступа к дискам C и D будут созданы общие ресурсы C$ и D$.
Корневой каталог операционной системы (%SYSTEMROOT%) – это каталог, в котом установлена операционная система Windows. Общий ресурс ADMIN$ предоставляет администраторам доступ к этой папке по сети.
Общий ресурс FAX$ используется пользователями для отправки факсов. В этой папке кэшируются файлы и титульные страницы, находящиеся на файловом сервере.
Общий ресурс IPC$ используется при организации временных подключений, создаваемых приложениями для обмена данными с помощью именованных каналов. Как правило, он применяется для удаленного администрирования серверов в сети.
Общий ресурс PRINT$ используется для удаленного администрирования принтеров.
Если удалить скрытые административные ресурсы, созданные операционной системой (например, ADMIN$ или C$), то после перезагрузки компьютера или перезапуска службы «Сервер» они будут созданы повторно. Если удалить скрытые административные ресурсы, созданные пользователями, то после перезагрузки компьютера они повторно созданы не будут. Microsoft Windows XP Home Edition не создает скрытые административные общие ресурсы.
Информация о файле AdobeIPCBroker.exe
Процесс Adobe IPC Broker принадлежит программе Adobe IPC Broker от Adobe Systems (www.adobe.com).
Описание: AdobeIPCBroker.exe не является необходимым для Windows. AdobeIPCBroker.exe находится в подпапках “C:Program FilesCommon Files”. Известны следующие размеры файла для Windows 10/8/7/XP 769,904 байт (27% всех случаев), 769,696 байт и еще 4 варианта . Приложение не видно пользователям. Сертифицировано надежной компанией. Это не файл Windows. Это файл, подписанный Verisign. Поэтому технический рейтинг надежности 29% опасности.
Важно: Некоторые вредоносные программы маскируют себя как AdobeIPCBroker.exe, особенно, если они расположены в каталоге c:windows или c:windowssystem32. Таким образом, вы должны проверить файл AdobeIPCBroker.exe на вашем ПК, чтобы убедиться, что это угроза
Мы рекомендуем Security Task Manager для проверки безопасности вашего компьютера.
Using RPC for IPC
RPC enables applications to call functions remotely. Therefore, RPC makes IPC as easy as calling a function. RPC operates between processes on a single computer or on different computers on a network.
The RPC provided by Windows is compliant with the Open Software Foundation (OSF) Distributed Computing Environment (DCE). This means that applications that use RPC are able to communicate with applications running with other operating systems that support DCE. RPC automatically supports data conversion to account for different hardware architectures and for byte-ordering between dissimilar environments.
RPC clients and servers are tightly coupled but still maintain high performance. The system makes extensive use of RPC to facilitate a client/server relationship between different parts of the operating system.
Key Point: RPC is a function-level interface, with support for automatic data conversion and for communications with other operating systems. Using RPC, you can create high-performance, tightly coupled distributed applications. For more information, see Microsoft RPC Components.
Targeting Excellence in Electronics Assembly
Support for Lead Free and Modular Training at the Application Level!
IPC-A-610, Acceptability of Electronic Assemblies is the most widely used standard published by the IPC. With multiple language versions, it has an international reputation as the source for end product acceptance criteria for consumer and high reliability printed wiring assemblies.
An industry developed and approved program that includes training, certification and instructional materials based on the IPC-A-610 is available to your company. This certification will demonstrate your commitment to customer requirements and greatly assists any company dedicated to ISO-9000 or other quality assurance initiatives.
This training and certification has immediate recognition, legitimacy and value throughout the electronics industry. Thousands of individuals have been trained to be IPC-A-610 Certified IPC Trainers. A comprehensive and technically accurate program, IPC-A-610 Training and Certification provides Certified IPC Trainers with high quality materials and detailed instructional plans for training Application Specialists at all levels, including buyers, sales teams and management.
Семафоры
Семафоры являются одним из классических примитивов синхронизации. Семафор (semaphore) — это целая переменная, значение которой можно опрашивать и менять только при помощи неделимых (атомарных) операций.
Двоичный семафор может принимать только значения 0 или 1. Считающий семафор может принимать целые неотрицательные значения.
В приложениях как правило требуется использование более одного семафора, ОС должна представлять возможность создавать множества семафоров.
Над каждым семафором, принадлежащим некоторому множеству, можно выполнить любую из трех операций:
- увеличить значение;
- уменьшить значение;
- дождаться обнуления.
Для выполнения первых двух операций у процесса должно быть право на изменение, для выполнения третьей достаточно права на чтение. Чтобы увеличить значение семафора, системному вызову semop следует передать требуемое число. Чтобы уменьшить значение семафора, нужно передать требуемое число, взятое с обратным знаком; если результат получается отрицательным, операция не может быть успешно выполнена. Для третьей операции нужно передать 0; если текущее значение семафора отлично от нуля, операция не может быть успешно выполнена.
Using a File Mapping for IPC
File mapping enables a process to treat the contents of a file as if they were a block of memory in the process’s address space. The process can use simple pointer operations to examine and modify the contents of the file. When two or more processes access the same file mapping, each process receives a pointer to memory in its own address space that it can use to read or modify the contents of the file. The processes must use a synchronization object, such as a semaphore, to prevent data corruption in a multitasking environment.
You can use a special case of file mapping to provide named shared memory between processes. If you specify the system swapping file when creating a file-mapping object, the file-mapping object is treated as a shared memory block. Other processes can access the same block of memory by opening the same file-mapping object.
File mapping is quite efficient and also provides operating-system–supported security attributes that can help prevent unauthorized data corruption. File mapping can be used only between processes on a local computer; it cannot be used over a network.
Key Point: File mapping is an efficient way for two or more processes on the same computer to share data, but you must provide synchronization between the processes. For more information, see File Mapping and Synchronization.
AdobeIPCBroker сканер
Security Task Manager показывает все запущенные сервисы Windows, включая внедренные скрытые приложения (например, мониторинг клавиатуры или браузера, авто вход). Уникальный рейтинг надежности указывает на вероятность того, что процесс потенциально может быть вредоносной программой-шпионом, кейлоггером или трояном.
Бесплатный aнтивирус находит и удаляет неактивные программы-шпионы, рекламу, трояны, кейлоггеры, вредоносные и следящие программы с вашего жесткого диска. Идеальное дополнение к Security Task Manager.
Reimage бесплатное сканирование, очистка, восстановление и оптимизация вашей системы.
Файл adobeipcbroker.exe из Adobe Systems Incorporated является частью Adobe IPC Broker. adobeipcbroker.exe, расположенный в C:Program FilesCommon FilesAdobeOOBEPDAppIPCAdobeIPCBroker.exe с размером файла 769904 байт, версия файла 5.0.0.66, подпись 71738e5d624f00efe56f7c35db36267c.
В вашей системе запущено много процессов, которые потребляют ресурсы процессора и памяти. Некоторые из этих процессов, кажется, являются вредоносными файлами, атакующими ваш компьютер. Чтобы исправить критические ошибки adobeipcbroker.exe,скачайте программу Asmwsoft PC Optimizer и установите ее на своем компьютере
3- Настройка Windows для исправления критических ошибок adobeipcbroker.exe:
- Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
- В меню слева выберите ” Advanced system settings”.
- В разделе «Быстродействие» нажмите на кнопку «Параметры».
- Нажмите на вкладку “data Execution prevention”.
- Выберите опцию ” Turn on DEP for all programs and services . ” .
- Нажмите на кнопку “add” и выберите файл adobeipcbroker.exe, а затем нажмите на кнопку “open”.
- Нажмите на кнопку “ok” и перезагрузите свой компьютер.
Всего голосов ( 349 ), 88 говорят, что не будут удалять, а 261 говорят, что удалят его с компьютера.
Понимание модели SysV
Три IPC-метода SysV имеют сходный синтаксис, несмотря на то, что цели их различны. Обычно следует выполнить следующие действия:
- Определите подходящий ключ IPC для использования с .
- Поставьте IPC-специфичный идентификатор, связанный с ключом IPC, используя для этого , или для очередей сообщений, семафоров или разделяемой памяти соответственно.
- Измените свойства экземпляра IPC при помощи , или .
- Используйте конкретный экземпляр IPC.
- В конце уничтожьте IPC-экземпляр при помощи , или и флажка .
Каждый экземпляр IPC представлен как идентификатор, который помогает отличить его от других экземпляров IPC, существующих в данной системе. Например, каждое из двух разных приложений должно использовать блоки разделяемой памяти, чтобы общесистемный IPC ID смог отличить эти два экземпляра. Возможно, это неочевидно, но основная задача — это понять, каким образом распределять информацию, учитывая то, как привязывать процесс к обычному IPC-экземпляру, и не ставя IPC-механизм на первое место.
Библиотечный вызов использует информацию inode из данного файла и уникальный идентификатор для создания ключа, который не изменяется все время, пока существует файл и идентификатор остается постоянным. Таким образом, два процесса могут использовать свои файлы конфигурации и обрабатываемые в процессе компиляции константы для создания одинакового IPC-ключа. Присутствие констант позволяет одному и тому же приложению с помощью их изменения создавать многочисленные экземпляры IPC-механизма.
Как только у нескольких процессов независимо друг от друга готовы IPC-ключи, они должны получить специальный идентификатор, связанный с определенным IPC-экземпляром посредством системного вызова . Вызовы требуют IPC-ключ и набора флажков, равно как и некоторой информации о размере для семафоров и разделяемой памяти. Так как UNIX является многопользовательской системой, среди флажков есть разрешение на доступ к файлу в обычном восьмеричном формате (например, 666 означает, что каждый может читать и записывать файл). Если также поставлен флажок , будет создан IPC-экземпляр, если он не существует. Если флажок не установлен и IPC-экземпляр не создан, вызов выдаст сообщение об ошибке.
Существует более простой способ для создания идентификатора IPC-экземпляра для тех приложений, которые могут сделать это самостоятельно. Если для создания IPC вы используете ключ при вызове , то идентификатор экземпляра будет уникальным. Для других процессов, которые необходимо подключить к IPC, не требуется вызова , поскольку у них уже есть идентификатор.
Приложения могут свободно использовать IPC-экземпляры, когда у них есть идентификатор. Каждый IPC-метод отличается от другого и обращение к нему идет только в его разделе.
Типы файлов IPC
Ассоциация основного файла IPC
.IPC
| Формат файла: | .ipc |
| Тип файла: | IncrediFlash Tools Image File |
IPC является графическим форматом файл, используемый программой IncrediFlash для операционной системы Microsoft Windows.
| Создатель: | IncrediTools |
| Категория файла: | Графические файлы |
| Ключ реестра: | HKEY_CLASSES_ROOT\.ipc |
Программные обеспечения, открывающие IncrediFlash Tools Image File:
IncrediFlash, разработчик — IncrediTools
Совместимый с:
| Windows |
Ассоциации других файлов IPC
.IPC
| Формат файла: | .ipc |
| Тип файла: | ICE PCIN Picture Image |
IPC расширение файла связаны с картинкой ICE PCIN, растровый формат файла, разработанный АТАРИ для его 8-битном семейства компьютеров.
| Создатель: | Piotr Fusik |
| Категория файла: | Файлы растровых изображений |
Программы, открывающие файлы ICE PCIN Picture Image :
Recoil, разработчик — Piotr Fusik
Совместимый с:
| Windows |
| Mac | |
| Apple II |
| Android |
| Linux |
| Atari TOS |
Instructor Training Course Topics
- Establishing and maintaining integrity of the certification program
- Purpose and application of IPC-A-610
- Hardware installation
- Soldering criteria, including lead free connections
- Soldered requirements for connecting to terminals
- Soldered connection requirements for plated-through holes
- Surface mounting criteria for chip components, leadless and leaded chip carriers
- Swaged hardware and heatsink requirements of mechanical assemblies
- Component mounting criteria for DIPS, socket pins and card edge connectors
- Jumper wire assembly requirements
- Solder fillet dimensional criteria for all major SMT component groups
- Soldering, such as tombstoning, dewetting, voiding and others
- Criteria for component damage, laminate conditions, cleaning and coating
- Steps to effectively using the lesson plan and materials, tips on inspection and a review of important Certified IPC Trainer skills
EXAMPLES
Example-1:
List all the IPC facility
# ipcs -a
output:
------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0xc616cc44 1056800768 oracle 660 4096 0 0x0103f577 323158020 root 664 966 1 0x0000270f 325713925 root 666 1 2 ------ Semaphore Arrays -------- key semid owner perms nsems 0x0103eefd 0 root 664 1 0x0103eefe 32769 root 664 1 0x4b0d4514 1094844418 oracle 660 204 ------ Message Queues -------- key msqid owner perms used-bytes messages 0x000005a4 32768 root 644 0 0
Example-2:
List all the Message Queue
$ ipcs -q
output: ------ Message Queues -------- key msqid owner perms used-bytes messages 0x000005a4 32768 root 644 0 0
Example-3:
List all the Semaphores
# ipcs -s
output: ------ Semaphore Arrays -------- key semid owner perms nsems 0x0103eefd 0 root 664 1 0x0103eefe 32769 root 664 1 0x4b0d4514 1094844418 oracle 660 204
Example-4:
List all the Shared Memory
# ipcs -m
output: ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0xc616cc44 1056800768 oracle 660 4096 0 0x0103f577 323158020 root 664 966 1 0x0000270f 325713925 root 666 1 2
Example-5:
Detailed information about an IPC facility
# ipcs -q -i 32768
output: Message Queue msqid=32768 uid=0 gid=0 cuid=0 cgid=0 mode=0644 cbytes=0 qbytes=65536 qnum=0 lspid=0 lrpid=0 send_time=Not set rcv_time=Not set change_time=Thu Aug 5 13:30:22 2010
Передача и прием сообщений
Для передачи и приема сообщений UNIX-подобные системы предоставляют
две функции: msgsnd() — для передачи и msgrcv() — для приема.
Определение обеих функций приведено ниже:
int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg); int msgrcv (int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);
struct message{
long mtype; // Тип сообщения
char mesg ; // Само сообщение, длиной MSGSZ.
};
-
Количество байт в очереди уже равно максимальному числу
(msg_qbytes). - Общее число сообщений во всех очередях превышает системное
ограничение.
-
Если (msgflg & IPC_NOWAIT) != 0, то сообщение не передается и
управление сразу же возвращается в вызывающий процесс (с кодом
ошибки EAGAIN прим. перев.). - Если (msgflg & IPC_NOWAIT) == 0, то вызывающий будет приостановлен
до тех пор, пока не будет выполнено одно из следующих условий:- Условия, вызвавшие приостановку процесса, перестали
существовать, в данном случае это означает, что сообщение
было передано. - Очередь с дескриптором msqid была удалена, в этом случае
переменной errno будет присвоено значение EIDRM и функция
msgsnd() вернет значение -1. - Вызывающему процессу поступил сигнал. В этом случае сообщение
не передается и вызывающий процесс продолжает исполнение
(функция msgsnd() возвращает код ошибки EINTR прим. перев.)
В случае успеха выполняются следующие действия:
- Значение msg_qnum увеличивается на 1 т.е. увеличивается
счетчик счетчик числа сообщений в очереди. - Значение msg_lspid устанавливается равным PID вызвавшего
процесса Поле msg_lspid содержит pid последнего процесса,
выполнявшего передачу сообщения. - В поле msg_stime заносится текущее время. Это поле хранит
время передачи последнего сообщения.
- Условия, вызвавшие приостановку процесса, перестали
Следующие программы содержат код, достаточно четко поясняющий только
что рассмотренные принципы «общения» между процессами. Программа
send.c создает очередь и помещает в нее сообщение, а recv.c вынимает
сообщение из очереди и выводит его на экран.
/*-------------------------------------------*/
/* send.c */
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>
#include <string.h>
#define MSGSZ 128
typedef struct msgbuf {
long mtype;
char mtext;
} message_buf;
main()
{
int msqid;
int msgflg = IPC_CREAT | 0666;
key_t key;
message_buf sbuf;
size_t buf_length;
key = 10;
printf("Calling msgget with key %#lx and flag %#o\n",key,msgflg);
if ((msqid = msgget(key, msgflg )) < 0) {
perror("msgget");
exit(1);
}
else
printf("msgget: msgget succeeded: msqid = %d\n", msqid);
sbuf.mtype = 1;
printf("msgget: msgget succeeded: msqid = %d\n", msqid);
(void) strcpy(sbuf.mtext, "I am in the queue?");
printf("msgget: msgget succeeded: msqid = %d\n", msqid);
buf_length = strlen(sbuf.mtext) + 1 ;
if (msgsnd(msqid, &sbuf, buf_length, IPC_NOWAIT) < 0) {
printf ("%d, %d, %s, %d\n", msqid, sbuf.mtype, sbuf.mtext, buf_length);
perror("msgsnd");
exit(1);
}
else
printf("Message: \"%s\" Sent\n", sbuf.mtext);
exit(0);
}
/*-------------------------------------------*/
/*-------------------------------------------*/
/* recv.c */
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>
#define MSGSZ 128
typedef struct msgbuf {
long mtype;
char mtext;
} message_buf;
main()
{
int msqid;
key_t key;
message_buf rbuf;
key = 10;
if ((msqid = msgget(key, 0666)) < 0) {
perror("msgget");
exit(1);
}
if (msgrcv(msqid, &rbuf, MSGSZ, 1, 0) < 0) {
perror("msgrcv");
exit(1);
}
printf("%s\n", rbuf.mtext);
exit(0);
}
/*-------------------------------------------*/
Подключение к общим сетевым ресурсам в Windows XP/2000
Для подключения к скрытым административным и общим сетевым ресурсам можно использовать стандартную команду Windows XP/2000 net use:
Ниже приводится пример использования команды net use для подключения к стандартному общему ресурсу C$, компьютера под управлением Windows 2000, с полным именемPro2000, расположенного в локальной сети:
×
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Команда net use выполнена успешно под именем пользователя Администратор и пустым паролем! В большинстве случаев после установки Windows, пароль на учетную запись с именем Администратор, создаваемую по умолчанию, забывают или просто не хотят ставить, а бывает так, что во время установки создавалась другая административная учетная запись, а учетная запись с именем Администратор, созданная по умолчанию, осталась без внимания!
Далее мы можем делать с этим ресурсом практически всё что нашей душе будет угодно, C$ ассоциирован с какой либо свободной буквой диска, в нашем случае это q:
Documents and Settings 17.06.2012 08:34
Intel 01.04.2012 04:02
MySoft 17.06.2012 11:35
NC 18.06.2012 10:10
OpenSSL-Win32 18.06.2012 10:08
Program Files 25.06.2012 15:48
PUBLIC 18.05.2012 10:53
rms 29.04.2012 10:48
Temp 11.06.2012 22:28
WINDOWS
1 файлов 0 байт
10 папок 1 919 221 760 байт свободно
Q:\>
После подключения ресурса C$ и его ассоциации с буквой диска, ресурс C$ будет доступен в вашем проводнике и с ним можно будет работать так, как с обычным локальным диском, ну, а дальше всё будет зависеть от ваших способностей и фантазии…
ВНИМАНИЕ!!! Общие ресурсы будут доступны только в том случае когда включена/запущена служба «Сервер», а если вы не собираетесь расшаривать свои ресурсы, то лучше её не просто остановить, а отключить совсем. Служба «Сервер» — Обеспечивает поддержку общий доступ к файлам, принтерам и именованным каналам для данного компьютера через сетевое подключение
Если служба остановлена, такие функции не удастся выполнить. Если данная служба неразрешена, не удастся запустить любые явно зависимые службы.
Приведённый выше пример наглядно демонстрирует уязвимость неприкрытых сетевых ресурсов и учетной записи Администратор, созданную по умолчанию с пустым паролем! Во избежание образования подобных щелей и как результат регулярной переустановки Windows с последующим преданием анафеме Билла Гейтса нужно просто изначально прикрывать, так сказать, все щели и дыры!!!
Using Pipes for IPC
There are two types of pipes for two-way communication: anonymous pipes and named pipes. Anonymous pipes enable related processes to transfer information to each other. Typically, an anonymous pipe is used for redirecting the standard input or output of a child process so that it can exchange data with its parent process. To exchange data in both directions (duplex operation), you must create two anonymous pipes. The parent process writes data to one pipe using its write handle, while the child process reads the data from that pipe using its read handle. Similarly, the child process writes data to the other pipe and the parent process reads from it. Anonymous pipes cannot be used over a network, nor can they be used between unrelated processes.
Named pipes are used to transfer data between processes that are not related processes and between processes on different computers. Typically, a named-pipe server process creates a named pipe with a well-known name or a name that is to be communicated to its clients. A named-pipe client process that knows the name of the pipe can open its other end, subject to access restrictions specified by named-pipe server process. After both the server and client have connected to the pipe, they can exchange data by performing read and write operations on the pipe.
Key Point: Anonymous pipes provide an efficient way to redirect standard input or output to child processes on the same computer. Named pipes provide a simple programming interface for transferring data between two processes, whether they reside on the same computer or over a network. For more information, see Pipes.