Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.01.26;
Скачать: [xml.tar.bz2];

Вниз

Знаете ли вы Windows 2000 ? :)   Найти похожие ветки 

 
Игорь Шевченко   (2004-01-04 20:57) [0]

Несколько вопросов Эндрю Танебаума:
1. Назовите одно преимущество и один недостаток использования реестра вместо отдельных файлов ini.

2. У мыши может быть 1,2 или 3 кнопки. Используются все типа мыши. Скрывает ли эти различия уровень HAL от остальной части операционной системы. Почему да или почему нет ?

3. Уровень HAL поддерживает дату, начиная от года 1601. Приведите пример приложения, в котором это свойство полезно.

4. Подсистема POSIX нужна для реализации сигналов в стиле UNIX. Если пользователь нажмет клавишу для сигнала Quit, будет ли он планироваться как DPC или APC ?

5. В интерфейсе Win32 нет сигналов. Если бы сигналы были введены, они могли бы относиться к процессам, потокам, и к тем, и к другим, ни к тем, ни к другим. Выскажите свое предложение, к чему их отнести, и объясните, чем хороша ваша идея.

6. Альтернатива использования DLL заключается в том, чтобы статически компоновать каждую программу точно с теми библиотечными процедурами, к которым она обращается. Если бы нужно было внедрить эту схему, где бы это имело больший смысл, на клиентах или на серверах?

7. Файл ntdll.dll экспортирует 1179 функциональных вызовов (в Win2k), тогда как файл ntoskrnl.exe экспортирует 1209 функциональных вызовов. Является ли это ошибкой? чем вызвано это различие?

8. Объекты, у правляемые менеджеров объектов, имеют переменных размер, у различных объектов могут быть разные размеры. Может ли объект начинаться с произвольного байта в невыгружаемом пуле ?

9. Назовите три причины, по которым процесс может завершиться.

10. Вызов функции Win32 WaitForMultipleObjects позволяет потоку
блокироваться на множестве объектов синхронизации, чьи дескрипторы передаются этой функции в виде параметров. Вызывающий поток отпускается, как только один из этих объектов получает сигнал. Может ли набор объектов включать в себя два семафора, один мьютекс и одну критическую область ?

11. Допустим, что квант времени установлен равным 20 мси что текущий поток с приоритетом 24 только что начал свой квант. Внезапно операция ввода-вывода завершается и поток с приоритетом 28 переходит в состояние готовности. Сколько времени ему придется ждать обслуживания?


 
Sergey_Masloff   (2004-01-04 22:25) [1]

>7. Файл ntdll.dll экспортирует 1179 функциональных вызовов (в >Win2k), тогда как файл ntoskrnl.exe экспортирует 1209 >функциональных вызовов. Является ли это ошибкой? чем вызвано >это различие?
Ну тут я вообще не понял вопроса. А они должны быть равны? С чего бы? ntdll экспортирует функции доступные из пользовательского режима а есть еще функции доступные только драйверам работающим в режиме ядра? Это имелось в виду?


 
Sergey_Masloff   (2004-01-04 22:27) [2]

Вообще так сходу я на 3 вопроса отвечу с уверенностью. Хотя я себя как знатока WinNT и не позиционирую...


 
Игорь Шевченко   (2004-01-04 22:39) [3]

Sergey_Masloff (04.01.04 22:25)

Ответов в книжке нету, поэтому что имелось с виду, я сказать вряд ли смогу :)


 
Vuk   (2004-01-04 22:51) [4]

Жалкая попытка ответить. :o)

1. Преимущество - данные в реестре, перемещаются вместе с перемещаемыми профилями. Недостаток - если уж умрет, то надежно, все сразу. :o)

3. БД с данными по истории после 1601 года. :o)

9. Завершается сам, завершается по ошибке и завершается другим процессом. (?)

10. Функции ожидания не работают с CriticalSection.


 
Ihor Osov'yak   (2004-01-04 22:55) [5]

Да уж.. Как мало я знаю.. Будем читать книжки..


 
Mihey   (2004-01-04 23:07) [6]

> 1. Назовите одно преимущество и один недостаток использования реестра вместо отдельных файлов ini.

Преимущественно - надёжность, недостаток - опасность краха реестра, в т.ч. из-за ошибок в самой ОС.

> 2. У мыши может быть 1,2 или 3 кнопки. Используются все типа мыши. Скрывает ли эти различия уровень HAL от остальной части операционной системы. Почему да или почему нет ?

Нет, эти данные нужны.

> 3. Уровень HAL поддерживает дату, начиная от года 1601. Приведите пример приложения, в котором это свойство полезно.

Странный вопрос. Например, настройщик часов.

> 4. Подсистема POSIX нужна для реализации сигналов в стиле UNIX. Если пользователь нажмет клавишу для сигнала Quit, будет ли он планироваться как DPC или APC ?

APC, это точно. Правда, я и сам не совсем понимаю, почему.

> 5. В интерфейсе Win32 нет сигналов. Если бы сигналы были введены, они могли бы относиться к процессам, потокам, и к тем, и к другим, ни к тем, ни к другим. Выскажите свое предложение, к чему их отнести, и объясните, чем хороша ваша идея.

К процессам. Регистрация в системе даёт возможность других процессам и потокам видеть сигнал.

> 6. Альтернатива использования DLL заключается в том, чтобы статически компоновать каждую программу точно с теми библиотечными процедурами, к которым она обращается. Если бы нужно было внедрить эту схему, где бы это имело больший смысл, на клиентах или на серверах?

На клиентах. Сервер должен работать без перебоев.

> 7. Файл ntdll.dll экспортирует 1179 функциональных вызовов (в Win2k), тогда как файл ntoskrnl.exe экспортирует 1209 функциональных вызовов. Является ли это ошибкой? чем вызвано это различие?

Нет, не ошибка, кончено же. Это связано с изменениями ядра.

> 8. Объекты, у правляемые менеджеров объектов, имеют переменных размер, у различных объектов могут быть разные размеры. Может ли объект начинаться с произвольного байта в невыгружаемом пуле ?

Тут я без понятий.

> 9. Назовите три причины, по которым процесс может завершиться.

Сам, по ошибке и другим процессом. Пример - менеждер процессов.

10. Вызов функции Win32 WaitForMultipleObjects позволяет потоку
блокироваться на множестве объектов синхронизации, чьи дескрипторы передаются этой функции в виде параметров. Вызывающий поток отпускается, как только один из этих объектов получает сигнал. Может ли набор объектов включать в себя два семафора, один мьютекс и одну критическую область ?


Дело в том, что функции ожидания с CriticalSection не работают.

> 11. Допустим, что квант времени установлен равным 20 мси что текущий поток с приоритетом 24 только что начал свой квант. Внезапно операция ввода-вывода завершается и поток с приоритетом 28 переходит в состояние готовности. Сколько времени ему придется ждать обслуживания?

8 квантов.


 
Sergey_Masloff   (2004-01-04 23:19) [7]

Ну ладно, что-то никто не отвечает. Попробую чтоли... Если что сильно не смеяться!
1) Ну это понятно. Удобно когда все настройки в 1 месте, неудобно то что при повреждениии реестра потенциально повредится все. Для многих пользователей неочевидно что для приложения нужны двнные реестра что порождает массу известных всем проблем которые были бы исключены при использовании ini файла в каталоге приложения
2) Скрывает потому что обеспечивает работу с любым типом мыши. Не скрывает потому что система может обратиться к функциям HAL чтобы узнать есть ли у мыши кнопки и сколько их и соотв. образом построить свою работу.
3) no comment
4) APC
5) К потокам. Процесс в Win это просто блок данных с информацией.
6) Серверы
7) Я предполагаю что речь идет о функциях которые недоступны в пользовательском режиме и не экспортируются через ntdll.dll
8) Ну доступ к объектам построен через таблицы описателей которые содержат указатели на области памяти в системном адресном пространстве. А уж как они там конкретно расположены это я думаю не регламентируется. Ну конечно выравнивание явно есть так что прямо-таки с произвольного байта - нет
9) 1 - Завершился первичный поток 2 ExitProcess 3 TerminateProcess
10) быстро ответить не могу а пальцем в небо тыкать не буду...
11) поток с приоритетом 28 сразу получит управление


 
Ihor Osov'yak   (2004-01-04 23:28) [8]

ответ на вопрос 7 в версии Sergey_Masloff мне больше нравится. Во всяком случае, я думал так же.
Также относительно 6. Также согласен с Sergey_Masloff. Почему? При таком решении – убыстрение загрузки и старта процесса и меньше накладных расходов по вызовову функций, проще говоря - быстрее. С отрицательных – увеличение размера исполнительных файлов. Так как серверные станции более критичны к быстродействию и на них как правило намного больше дисковое пространство, то такая схема все же более приемлимая для серверных станций..


 
Игорь Шевченко   (2004-01-04 23:40) [9]

Попробую и я ответить :) Сильно тоже не смеяться.

1) Преимущество - все в одном месте и возможностей больше, чем у ini-файлов (иерархия, хранение различных типов данных). Недостаток - неудобно переносить настройки, если возникнет нужда.
2) Не скрывает, приложения могут иметь разную реакцию на разные кнопки мыши.
3) Без понятия
4) Скорее DPC
5) К потокам, скорее всего - сигналы относятся к исполняемому коду, а не к ресурсам.
6) На клиентах. Серверу обычно требуется больше библиотечных функций, чем клиенту.
7) Остальные функции ntoskrnl должны вызываться только из режима ядра и не имеют смысла в пользовательском режиме.
8) Может.
9) 1) нормальное завершение процесса 2) аварийное завершение процесса 3) кончилось время, если процесс входит в Job
10) Критические области не могут передаваться в функцию WaitForMultipleObjects
11) Скорее всего, поток с приоритетом 28 сразу получит управление.


 
zzet   (2004-01-04 23:42) [10]

Я знаю что ничего незнаю.. Что ж есть к чему стремиться. :-)


 
Dok_3D   (2004-01-05 00:11) [11]

Сдается мне, что на первый вопрос никто правильно так и не ответил...


 
Dok_3D   (2004-01-05 00:13) [12]

А, нет. Вру. Как раз на такой поставленный вопрос все ответили верно.


 
Ihor Osov'yak   (2004-01-05 00:29) [13]

2 Dok_3D ©

Если убрать условие "одно" - то вопрос очень философский.. И чреватый. Имхо, нужно рассматривать для конкретного приложения и для конкретных условий эксплуатации. Зы. Лично я последним временем вместо ини довольно часто xml использую. Это к вопросу иерархичности. Но даже если и ини использовал, то всегда держал их в каталоге приложения, а не в windows-каталогах..


 
Ihor Osov'yak   (2004-01-05 00:34) [14]

Ps
2 Игорь Шевченко

Спасибо за подборку. Информацию о книжечке можно? Название, издательство... Гугля ничего не подказывает...


 
Игорь Шевченко   (2004-01-05 00:49) [15]

Ihor Osov"yak © (05.01.04 00:34)

Эндрю Таненбаум, "Современные операционные системы, 2-е издание".
Издательство "Питер", 2002 год, оригинал издан Prentice Hall, в 2001 году. 1040 страниц, цена в Москве 576 рублей, но книжка этих денег стоит. Подробно рассказано как про общие принципы операционных систем (3/4 книги), так и про конкретные системы Windows и Linux.


 
Ihor Osov'yak   (2004-01-05 01:10) [16]

2 Игорь Шевченко
Еще раз tnks.


 
Sergey_Masloff   (2004-01-05 11:54) [17]

Все же про год 1601 интересно. Почему именно 1601? ;-)


 
Игорь Шевченко   (2004-01-05 11:57) [18]

Sergey_Masloff (05.01.04 11:54)

Стандарт UTC - это еще до Win2k придумали :))


 
Sergey_Masloff   (2004-01-05 12:24) [19]

Игорь Шевченко © (05.01.04 11:57) [18]
тогда понятно ;-)


 
Lola   (2004-01-05 12:49) [20]

Снимаю шляпу перед теми, кто хотя бы пытался ответить на эти вопросы :)))
1601 год – год основания Ост-Индской компании, начало экономической экспансии. И не только специи и драгоценные металлы и камни, но и та же преславутая иранская и афганистанская нефть. Например, расчеты, на сколько хватит их запасов, стоит ли воевать за них (чисто мое личное предположение)


 
Дремучий   (2004-01-05 15:48) [21]


> Dok_3D © (05.01.04 00:11) [11]
> Сдается мне, что на первый вопрос никто правильно так и
> не ответил...

ладушки, мой вариант для первого вопроса ---

> Назовите одно преимущество и один недостаток использования
> реестра вместо отдельных файлов ini.

преимущество: легкость в организации настроек для разных пользователей. При использовании ини-файлов в многопользовательских системах приходилось бы заводить отдельный файл для каждого пользователя, а в реестрее есть HKEY_CURRENT_USER :)))

недостаток: некоторые вполне безобидные проги пишут в раздел
HKEY_LOCAL_MACHINE(и ему подобные), а не у всех пользователей(не администраторов) есть права на пользование этих разделов.... Т.е. не всегда оправдано требуется вмешательство админа на настроек прог.

вот так вот с нашей маленькой дремучей колокольни видно :))


 
nikkie   (2004-01-05 16:31) [22]

разделение пользовательских настроек можно было бы реализовать и с ini-файлами - точно так же, как например сделано My Documents. короче, не вижу никаких преимуществ реестра перед ini-файлами :)

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

по поводу скорости. объясните мне - где возникает выигрыш в скорости по сравнению с dll? имхо основное - загрузка dll. то есть выигрыш получается только в том случае, если часто запускаются короткоживущие процессы. ну и причем тут клиент/сервер? если на сервере запускаются cgi - для них имеет смысл делать статическую линковку, а для самого постоянно работающего веб-сервера смысла нет. потери же при отказе от dll существенно выше не только в плане дискового пространства, но и ram. представьте себе, что все gui-приложения статически слинкованы с user32, gdi32, comctl32 и т.п. потом невозможность обновления библиотек на лету - при статической линковке требуется перелинковка всех приложений, использующих эту библиотеку. короче, dll - это сила.

другое дело, если бы операционная система предоставляла некоторую иную схему линковки - код библиотек не дублируется, а находится точно также в отдельных dll, но процесс загрузки dll упрощен тем, что информация о rebase и адресах используемых функций хранится рядом с exe. тогда использование dll будет приближено к статической линковке. при обновлении dll - пусть система автоматически перестраивает эту служебную информацию при первом запуске программы.


 
MVova   (2004-01-05 16:44) [23]


> Mihey © (04.01.04 23:07) [6]
> >1. Назовите одно преимущество и один недостаток использования
> реестра вместо отдельных файлов ini.
>
> Преимущественно - надёжность, недостаток - опасность краха
> реестра, в т.ч. из-за ошибок в самой ОС.

Как может быть в одном:
- надёжность
- опасность краха

?


 
REA   (2004-01-05 16:52) [24]

А по-моему реестр это все-равно помойка...
А dll (в классическом понимании) по мере совершенствования COM отмирает.


 
Ihor Osov'yak   (2004-01-05 17:18) [25]

2 [22] nikkie © (05.01.04 16:31)
> где возникает выигрыш в скорости по сравнению с dll?

Во первых, вызов функции с dll идет через лишний jmp (даже для случая статической загрузки). О относительно времени на загрузку - имхо - образ exe не сразу грузится в RAM (я имею ввиду физическую загрузка) - при старте процесса делается только мапирование на адресное пространство процесса. А физическая загрузка соотв. страницы - только при реальном обращении к коду по соотв. адресам. То есть, скорость "загрузки" не зависит от размера exe. А вот при использовании dll некоторое время будет терятся на настройку соотв. адресов переходов для импортируемых функций..
То есть некий выиграш все же будет наблюдатся. Я посчитал, что это более существенно для сервера..
Понятно, что отказ от dll сопровождается на порядок более значимыми "потерями", поэтому dll никто не "упраздняет"..

Зы - я использовал связку "имхо" - так как в этом случае не вполне уверен в корректности своих высказываний.. Это та область, где я пока не очень ориентируюсь..


 
Mihey   (2004-01-05 21:16) [26]

> Как может быть в одном:
- надёжность
- опасность краха


Представьте INI:
- Ненадёжность (сохранности информации)
- Безопасность от краха (ну что с файлом станет-то? удалили и всё, а реестр как глюканёт, в т.ч. от самой ОС - и капут)


 
Vuk   (2004-01-05 21:30) [27]

В плюсы реестра можно записать еще и возможность управления безопасностью данных в нем.


 
pasha_golub   (2004-01-05 21:45) [28]

Ы-ы-ы, если у кого-то случайно появится электронная версия...
Ну, я надеюсь все понятно :-) Мой почтовик в анкете.


 
reticon   (2004-01-05 23:59) [29]

to pasha_golub

ЗЫ и мне скинешь, если появицца?

:)


 
OlDemon   (2004-01-06 07:28) [30]

А я, как оказалось, Win2000 совсем не знаю. :-))))
Спасибо всем за ответы. Хотя бы почитал и то польза.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.01.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.006 c
11-83129
Gandalf
2003-05-07 17:26
2004.01.26
Как вам KOL.MASTAK.RU?


14-83276
Думкин
2004-01-05 06:30
2004.01.26
С днем рождения! 5 января.


14-83262
passlight
2004-01-05 11:30
2004.01.26
Трудолюбие — это опасный миф


1-83192
korvin
2004-01-06 11:23
2004.01.26
Действия с открытой Интернет-страничкой


1-83144
goga
2004-01-15 10:47
2004.01.26
XPManifest





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский