ewoke: (Default)
[personal profile] ewoke
Операционная система - это прокладка между пользователем и железом, это не красивый рабочий стол (за рабочий стол отвечает отдельная программа-оболочка, позволяющая запускать другие программы).

Оболочка дос - (например) norton commander, венды - exploler (слышали про aston shell?)

Отличия между досом и вендами.

В дос:
запущенная программа монопольно имеет доступ к железу и памяти.
Неразделяемое выполнение текущей программы. Резидентные программы не в счет.
В дос все крутится в real mode, адресация памяти соответствующая (емм86/xms не в счет).
Конценпции библиотек нема, все свое программа таскает с собой.
Прямой доступ к винту, что на уровне файловой системы, что со стороны портов вв-вывода.
Настройки программы - как автор решит, например в ini файле в директории программы (rules.ini в red alert 1, превед)

Форматы исполнимых файлов - com (просто кусок кода размером до 64кб), exe (здесь уже при загрузке файла в память, загрузчик мог настраивать адреса внутри файла, т.о. в файле могли быть задуманы отдельные "сегменты" для кода, данных, стека, вместо одного сегмента сразу для всего - в com)

Резидентные (фоновые) программы под досом, с помощью которых (условно) можно было делать многозадачность: память программы, которая завершала работу, не помечалась как свободная, таким образом гарантировалась не-перезапись кода программы содержимым других программ при их запуске, и перехватывалось какое-либо прерывание (аппаратный сигнал таймера, например). Т.о., каждый "тик" таймера происходил вызов нашего кода.

Венда:
(применимо, скорее, к ветке nt: 2000,xp, т.к. win9x, как бы Микрософт не закапывал дос, была для нее надстройкой защищенного режима)

(здесь мои знания изобилуют белыми пятнами)

Все крутится в protected mode со своппингом (ткнув в адрес памяти, нельзя сказать, куда его спроецировал своппер, в физическую память, или в своп).
Программе ничего нельзя, кроме как вызывать api. Общение с железом только через драйвер.
Функции api имортируются из библиотек - kernel32.dll, user, shell.. можно и из своей dll-ки.
Про память для каждого процесса - вот тут я подзабыл, найду, отпишу в коммент.
У программ принудительно отнимается выполнение, таким образом обеспечивается многозадачность.
Есть понятие нитей/потоков (threads), мини-подпрограммы, порожденные материнским процессом, живут своей жизнью.
На ntfs есть разграничение прав на доступ к файлам; также ОС защищает (лочит) свои жизненно важные файлы - реестр, своп (про ntdetect такого сказать не могу).
Для настроек программ и ОС Микрософт родила реестр. Одному богу известно зачем. Программы все равно таскают с собой конфигурационные файлы, и это позволяет делать ПО переносимым.

Формат исполнимых файлов - отдельная тема.

Фоновые программы (процессы) под win32 - это фактически любая активная в данный момент задача, которую видно в диспетчере задач. У процесса, может и не быть окон. Можно запустить файл-менеджер, и затем скрыть его окно, теперь он невидим для alt-tab.

http://old.computerra.ru/gid/rtfm/system/272855/

Процессы в вин можно усыплять (suspend, процесс "замораживается").
Также есть широкоиспользуемая техника инжектов, но мне стоит об этом писать, когда я сам начну в этом практически разбираться.



Задумка с админскими правами у венды была хорошей, реализация на практике - плохой на букву Х.

(голосом джина из м/ф "Барон Мюнгхаузен", который "кущает")

"Какой-такой админ-пассвад из минимум 6 символов, да чтобы с одной цифрой, одной маленькой буквой и одной большой, да?"

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

Вот и повелось программы писать из расчета, что у учетки по умолчанию полные привелегии. Фотошоп требует админских прав, миранда требует адм. прав..

Впрочем, сейчас ограниченная учетка, как я понимаю, не панацея - если что, запишутся в локальную автозагрузку (на винлокерах под win7 так и есть), пошифровать пользовательские данные - вот они, пожалуйста.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

ewoke: (Default)
ewoke

October 2025

S M T W T F S
   1234
5 67891011
121314 15161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 21st, 2026 08:19 am
Powered by Dreamwidth Studios