Понятия ID, Handle и Дескриптор.

Тема в разделе "WASM.BEGINNERS", создана пользователем Antoniosis, 11 авг 2010.

  1. Antoniosis

    Antoniosis New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2010
    Сообщения:
    12
    Здравствуйте люди добрые!
    Подскажите пожалуйста чем эти три понятия отличаются?
     
  2. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Последние два наверное одно и тоже в некоторой литературе, почитай Рихтера
     
  3. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Идентификатор это глобальный описатель в системе, хэндл(описатель) локален для процесса и имеет некоторые атрибуты, например защиты. Дескриптор это системный/железячный обьект, как например вход в дескрипторной таблице.
     
  5. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Клерк, на вскидку, а почему CreateFile() в случае ошибки возвращает INVALID_HANDLE_VALUE, а CreateMutex() и пр. NULL? Какой тайный смысл в этом?..
     
  6. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    7mm
    ага, эти странности меня интересовали уже не раз.)
    успокоил себя тем что мелкомягкие не смотрят за стандартизацией)))
    клерк - разъясни нам, будь добр)
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    7mm
    Для высокоуровневых функций чётко не определена модель вызова, в частности возвращаемые значения. Например в ядре придерживаются такой модели, при которой возвращается статус либо ссылка. Реализация виньапи лично мне не нравится :)
    Более того, не стоит оценивать архитектуру NT по пользовательской среде.
    http://www.wasm.ru/forum/viewtopic.php?pid=380106#p380106
     
  8. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    не пойму почему было все на статусах построить...зачем те ерроры нужны вообще)
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Так юзер функции тянутся ещё с древнейших времён, а NT вообще юниксоиды писали. ^)
     
  10. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    Booster
    неплохая совместимость у них, как обычно))
     
  11. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    sometime
    Так никто в здравом уме и не пользует WinApi напрямую.
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Booster
    Может юзерлевел и писали, но никак не ядро. В сравнении реализации NT и линуса, последняя костыли, вы ведь знаете что это обьективная оценка.
    Для примера LPC, наверно вам изветен этот механизм, реализуемый портами и не имеющего винь32 аналога, но никто кроме архитекторов NT не знает его реальную абривиатуру http://en.wikipedia.org/wiki/Local_Procedure_Call - не верно.
     
  13. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Ога, только кривой драйвер, читающий нулевой указатель, линь не роняет, а винда с визгами
    радостно падает.
     
  14. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    Booster
    значит я не в здравом _уме)
    частенько напрягает еще прототипы всех фунок копипастить + вызовы там по "тяжелей". Мож и правы - пора забывать о kernel32&friends.и создавать native.h
     
  15. 0x6b65

    0x6b65 Забанен

    Публикаций:
    0
    Регистрация:
    8 окт 2009
    Сообщения:
    92
    Clerk
    Википедия жжет))) Но не такая это уж и большая тайна после утекших сорцов и WRK
     
  16. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Clerk
    Я вообще-то про интерфейс, а не про реализацию. И NT делала нанятая Гейтсом сторонняя команда(это билли делать умеет, в смысле поглощать), которая взяла удачные фишки никсов, так что мимо. А что касается отсутствия или присутствия каких-то вещей в линукс, ну блин ты сравнил кучку энтузиастов с майкрософтом. Да и вообще у линукса другая задача, нежели делать то, что не обязательно.
     
  17. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Booster
    Так качество оси в первую очередь определяет её гибкость. МС может просто вынести все приватные функции в экспорт и это заставит всех перейти на эту ось. Главный недостаток NT это отсутствие приватных функций в экспорте.
     
  18. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Clerk
    С чего это вдруг это заставит перейти?
     
  19. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Ну про гибкость NT в сравнении с ядром linux'а я бы поспорил. Задумайтесь хотя бы над тем, на чём только его не запускают.
     
  20. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Booster
    Гибкость повторяю. Зачем линусы нужны, если в NT реализовано то, что там нужно писать месяцами. Пример нужен.. допустим менеджер памяти, более продвинутого чем в NT не существует. Хотя холивар разводить не буду, всёравно у вас уровень не тот чтобы спорить ;))