![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| Nice |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.1.2011 Репутация: нет Всего: нет |
Является ли необходимым системный вызов open в системе Unix? Какими будут последствия его отсутствия?
Вопрос из "Современные операционные системы" Таненбаум 2-е издание, стр. 497. Мне необходимо ответить на этот вопрос для сдачи экзамена. |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 13 Всего: 109 |
Nice, дык... это...
По опыту знаю, что на все вопросы из книжки можно найти ответы в самой книжке... Читать пытался? |
|||
|
||||
| Nice |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.1.2011 Репутация: нет Всего: нет |
mihanik, над некоторыми вопросами надо хорошо подумать. Главу читал, правда не всю.
У меня есть ответы на англ., но преподу не нравится: To start with, if there were no open, on every read it would be necessary to specify the name of the file to be opened. The system would then have to fetch the i-node for it, although that could be cached. One issue that quickly arises is when to flush the i-node back to disk. It could time out, however. It would be a bit clumsy, but it might work. |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 13 Всего: 109 |
ну... Может, он в английском не силён. |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 2 Всего: 32 |
Системный вызов open, наряду с read и write являются ключевыми функциями любой POSIX системы. -------------------- ![]() |
|||
|
||||
| Nice |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.1.2011 Репутация: нет Всего: нет |
Cheloveck, мне нужен подробный ответ. Здесь предполагается, что в read и write можно указать название файла. Согласно ответу на англ. это возможно, хоть и криво. Кто-то говорил посмотреть в man'е про то, что делает open, но ничего особенного не нашел.
mihanik, я ему говорил на русском. А так он крутой айтишник и любитель *nix и mac. |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
Nice, read/write по стандарту POSIX - это абстрактные функции, которые пишут в т.н. "file descriptor", по принципу "всё есмь файл".
дескриптор - integer. дескриптор могет указывать кака на файл диск, так и на сокет, или там кусок памяти, или устройство ввода/вывода. в зависимости от реального устройства, указываемого дескриптором при read/write вызывается соответствующая функция записи/чтения более низкого логического уровня. Если мне склероз не изменяет, там вообще всё переводится в ioctl, и номер функции устройства. напр. когда ты пишешь на файловый дескриптор карты аудио, у тебя из колонок выходит звук. А вот дескриптор получают либо от папы (от процесса-родителя), либо через open(). либо через стандартную конвенцию: 0 = stdin, 1 = stdout, 2 = stderr. и насколько я понимаю (интуитивно), именно вызов open() находит все нужные контрольные функции устройства. это всё на пальцах. код открой и читай. Это сообщение отредактировал(а) bilbobagginz - 17.1.2011, 03:11 -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |