(495)

 


Тариф на МГ и МН связь
Введите номер телефона:

Главная » Научные исследования » Наращиваемость операционных систем

Наращиваемость операционных систем

Наращиваемость операционной системы означает, что обеспечена возможность вводить в нее новые модули. Такие модули могут, как расширить возможности системы новыми функциями, так и заменить уже работающие функциональные модули на более новые версии. Очевидно, что этот принцип требует такого построения системы, когда вносимые в нее изменения не нарушат её целостности.
Оpen Source не эквивалентен двум терминам GNU или FSF. Первое из них означает лицензию, в соответствии с которой создаются свободно распространяемые программы. А второй - Free Software Foundation, движение, который возглавил Столмен для развития такого типа программ. Идеи заключаются в том, что программисты должны обязательно представлять исходные тексты. Любой программист может воспользоваться фрагментом чужой программы, но указав части исходного текста, созданные им. Кроме изменений, связанных с возможностью использовать чужие фрагменты, такой метод разработки программ улучшает и процедуру их тестирования.
В случае ошибки функция WaitForSingleObject вернет значение WAITJF AILED.

Следует отметить, что идентификатор ID процесса — это не то же самое, что дескриптор процесса. Уникальный идентификатор ID процесса служит для идентификации процесса в списке других процессов ОС. Но для управления процессом из другого процесса, прежде всего следует, каким-либо образом получить дескриптор управляемого процесса. Преобразовать идентификатор ID процесса в его дескриптор можно при помощи функции OpenProcess, однако для этого необходимо обладать требуемыми привилегиями. Узнать идентификатор текущего процесса можно при помощи функции GetCurrentProcessId. Используя этот вызов, возможно узнать идентификатор собственного процесса и, например, передать этот идентификатор другому процессу. Получив ID процесса, другой процесс сможет открыть его дескриптор для управления.

При обращении к функции OpenProcess необходимо указать требуемый уровень доступа к открываемому процессу. Например, чтобы узнать код завершения процесса, достаточно владеть уровнем доступа PROCESS QUERY_ INFORMATION. Чтобы иметь возможность завершить работу процесса, необходимо обладать уровнем доступа PROCESS TERMINATE. Для предоставления полного набора прав доступа к процессу предназначен уровень доступа PROCESS ALL ACCESS.

 


3.07.2012