Мьютексы, Для того, чтобы вспомнить и улучшить знания |
Здравствуйте, гость ( Вход | Регистрация )
Мьютексы, Для того, чтобы вспомнить и улучшить знания |
AD |
18.11.2011, 8:30
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Хотел бы задать вопрос для того, чтобы вспомнить позабытые со времен университета вещи. Чем плохи мьютексы? Какие есть альтернативы мьютексам? Хотелось бы вкратце вспомнить! За ссылки на какие-то краткие описания буду благодарен, а вот на толстые учебники, спасибо, но не надо. Просто хочется освежить знания.
Сообщение отредактировал AD - 18.11.2011, 8:30 |
|
|
Iron Bug |
18.11.2011, 10:45
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Я бы их назвал аппаратным средством, а не системным. просто юзер не может напрямую юзать аппаратные средства. доступ к некоторым реализован через системные интерфейсы и юзерские API. поэтому для программиста верхнего (по сравнению с системным) уровня аппаратных средств, как таковых, не существует. есть только системные. скажем так, даже драйвер не может напрямую управлять железом. для этого у него есть интерфейсы ядра и они далеко не всегда означают непосредственные манипуляции с железом. а сейчас и вовсе идёт тенденция к созданию некоего общего фреймворка, чтобы драйвер вообще не имел дела непосредственно с железом, только с обобщёнными функциями этого фреймворка. сюда относится и интелловская идея "продвинутого" биоса, который запускает ось наподобие виртуальной машиены, и вендозный KMDF. Сообщение отредактировал Iron Bug - 18.11.2011, 10:50 |
|
|
BRE |
18.11.2011, 10:56
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
просто юзер не может напрямую юзать аппаратные средства. доступ к некоторым реализован через системные интерфейсы и юзерские API. поэтому для программиста верхнего (по сравнению с системным) уровня аппаратных средств, как таковых, не существует. есть только системные. Если выбросить ОС, то системных средств у программиста не останется, а аппаратные будут все еще доступны. С помощью ассемблера программист верхнего уровня может получить доступ к определенным аппаратным средствам. Сделать все те же атомарные операции. Сообщение отредактировал BRE - 18.11.2011, 11:02 |
|
|
Iron Bug |
18.11.2011, 11:23
Сообщение
#4
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
просто юзер не может напрямую юзать аппаратные средства. доступ к некоторым реализован через системные интерфейсы и юзерские API. поэтому для программиста верхнего (по сравнению с системным) уровня аппаратных средств, как таковых, не существует. есть только системные. Если выбросить ОС, то системных средств у программиста не останется, а аппаратные будут все еще доступны. С помощью ассемблера программист верхнего уровня может получить доступ к определенным аппаратным средствам. Сделать все те же атомарные операции. последняя такая система на моей памяти была Windows 98: она позволяла получить доступ к портам. более современные системы НЕ ПОЗВОЛЯЮТ юзеру работать напрямую с железом никоим образом. потому что это просто нарушит работу системы и безопасность. железо постоянно меняется. причём очень быстро. даже системные программисты не имеют дел непосредственно с железом. на то есть специальные системные вызовы. иначе был бы полный капец разработке: учитывать особенности каждой конфигурации железа и все изменения протоколов по всем устройствам просто нереально. система для того и существует, чтобы избавлять юзера от всего этого геморроя. конечно, можно снести систему. и работать с железом. писать код прямо в память при старте (а комп без софта умеет только грузить бутрекорд на старте и больше нихрена, ну, есть ещё базовые функции биос, но они актуальны только для получения общей информации о присутствующем железе). но будет очень грустно. особенно потому, что даже система НЕ РАБОТАЕТ напрямую с регистрами процессора. в процессор зашивается микрокод, который сам выполняет множество операций, упрощая и значительно ускоряя работу системы. вообще говоря, при разном микрокоде это будут совершенно разные устройства. просто я каждый день с такими вещами дело имею. тут всё не так просто, как кажется юзеру верхнего уровня. Сообщение отредактировал Iron Bug - 18.11.2011, 11:50 |
|
|
Текстовая версия | Сейчас: 25.11.2024, 16:54 |