Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по системному вызову open 
:(
    Опции темы
Nice
Дата 15.1.2011, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.1.2011

Репутация: нет
Всего: нет



Является ли необходимым системный вызов open в системе Unix? Какими будут последствия его отсутствия?

Вопрос из "Современные операционные системы" Таненбаум 2-е издание, стр. 497.
Мне необходимо ответить на этот вопрос для сдачи экзамена.
PM MAIL   Вверх
mihanik
Дата 15.1.2011, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 13
Всего: 109



Nice, дык... это...
По опыту знаю, что на все вопросы из книжки можно найти ответы в самой книжке...
Читать пытался? smile



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Nice
Дата 16.1.2011, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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.
PM MAIL   Вверх
mihanik
Дата 16.1.2011, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 13
Всего: 109



Цитата(Nice @  16.1.2011,  02:10 Найти цитируемый пост)
У меня есть ответы на англ., но преподу не нравится:

ну... Может, он в английском не силён.  smile 



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Cheloveck
Дата 16.1.2011, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 2
Всего: 32



Цитата(Nice @  15.1.2011,  21:16 Найти цитируемый пост)
Является ли необходимым системный вызов open в системе Unix? Какими будут последствия его отсутствия?

Системный вызов open, наряду с read и write являются ключевыми функциями любой POSIX системы.


--------------------
user posted image
PM Jabber   Вверх
Nice
Дата 17.1.2011, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.1.2011

Репутация: нет
Всего: нет



Cheloveck, мне нужен подробный ответ. Здесь предполагается, что в read и write можно указать название файла. Согласно ответу на англ. это возможно, хоть и криво. Кто-то говорил посмотреть в man'е про то, что делает open, но ничего особенного не нашел.
mihanik, я ему говорил на русском. А так он крутой айтишник и любитель *nix и mac.

PM MAIL   Вверх
bilbobagginz
Дата 17.1.2011, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.