> man operating_systems
Создавая новое поколение - часть 3
Безопасность и файлы
на Понедельник, 01 Ноябрь 2004, 00:27
добавил: Николас Блэхфорд (Nicholas Blachford) список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи
комментарии: 0
просмотров: 2126


Управление файлами
Безусловно, всеми этими файлами по прежнему необходимо управлять. В те дни, когда я использовал Amiga, одним из самых полезных приложений был двухпанельный файловый менеджер. Их существовало множество, самые известные - SID или Directory Opus v4 [DOpus4] (примечание: не более поздние версии, в который вид изменился). Я еще не видел эквивалентов на любой другой платформе, несмотря на то, что кое-что есть для Unix/Linux [LinOpus]. Вы также можете симулировать двухпанельный менеджер, расположив 2 окна Finder рядом друг с другом в OS X 10.3, тогда можно будет использовать перетаскивание мышкой вместо кнопки копирования (похожим образом у меня постоянно настроены два окна Finder'а).

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

Конечно, теперь мы можем улучшить его, добавив поддержку перетаскивания мышкой и метаданных. Можно будет сделать кнопку "", по нажатию которой будут отображены все музыкальные файлы, в независимости от того, где они находятся. То же самое можно сделать и с картинками или другими форматами данных. Действия можно будет расширить, двойной щелчок на файле будет открывать его просмотрщиком / проигрывателем, двойной щелчок на каталоге будет перенесет вас к местоположению файлов, перетаскивание каталога на другую панель откроет ее там.

Исторические и иерархические списки позволят вам ходить вперед-назад по предыдущим и другим местам. Добавление возможности навигации через меню позволит быстрее перепрыгивать в другие части системы.

Сложно описать, насколько мощна, но и проста, будет такая программа. DOpus и его последователи очень хороши для своих задач, замечу, что я никогда не использовал браузеры или командную строку. В комбинации с поиском по метаданным эти инструменты станут еще лучше.

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

Другие случайные идеи
При создании новой ОС можно также опробовать некоторые новые концепции, вот несколько из них:

Большие размеры страниц
Существующие операционные системы до сих пор страдают пережитками той аппаратуры, для которой они изначально создавались, например, управление памятью, как правило, осуществляется страницами по 4 Кб. На сегодняшний день с нынешней аппаратурой, с ее сотнями мегабайт памяти для пользовательски настольных машин и гигабайтами для рабочих станций, это выглядит слишком маленьким размером. Я бы предложил использование гибкого размера страницы, начиная с 32 Кб, этот подход имеет минусы использования больших блоков памяти, но их можно уменьшить располагая небольшие запросы на выделение памяти в уже размещенных блоках. Это можно реализовать встраиванием маленького менеджера памяти в приложения прямо во время их выполнения. Когда приложению понадобится память, менеджер памяти активируется и проверит есть ли достаточное количество памяти в его выделенных блоках, а если нет - попросит ОС выделить еще.

Это не только сделает использование памяти более эффективным, но также уменьшит количество вызовов ОС и переключений контекстов. Использование больших страниц также уменьшит размеры каталога страниц, так что большая его часть сможет разместиться в ЦП, а поиски по каталогу страниц смогут производиться без таких частых обращений к основной памяти. В реальности, если отключить пейджинг на диск (вполне возможно при сегодняшних объемах памяти), то станет возможным вместить весь каталог страниц в ЦП, что даст прирост производительноти, так как он никогда не будет сбрасываться.

Grid
Media kit из BeOS позволяет вам свободно перенаправлять вывод из медийных программ, это, например, дает возможность добавить аудио фильтр или эффект к MP3 плееру, даже если MP3 плеер не поддерживает аудио эффектов.

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

Grid также сможет расширить существующий media kit, позволяя переместить часть обработки на другую систему. В принципе, можно будет даже распределять программы по нескольким системам. Сделайте приложение или сервис ОС, который будет знать, как общаться через Grid, а система возьмет на себя заботу о передаче сообщений. Grid позволит обходиться без передачи данных по всему сетевому стеку, так как Grid сам по себе работает как простая сеть.

Это опять же возвращает нас к идее простоты, вместо наличия множества приложений, дающих функциональност, она располагается в ОС, так чтобы все могли ее использовать. Похожий принцип используется в последователе Unix, "Plan 9" [Plan9], Grid является хорошим воплощением концепции Plumbing [Plumbing] из Plan9.

Заключение
Обдумывая новую систему всегда приходится находить различные компромиссы, все мы хотим иметь хорошую производительноть, но можем ли мы ею пожертвовать для лучшей безопасности и стабильности? Для сегодняшних систем этот вопрос задавался годами или даже десятилетиями назад и ответ был "". Сегодняшние процессоры обеспечивают 99.9% людей большей мощностью, чем они могут использовать, а с приходом многоядерных процессоров на настольные машины у нас будет еще гораздо больше мощи. Сегодня, с учетом все возрастающего числа вирусов и атак, я бы пожертвовал производительнотью, вряд ли кто-либо, кроме фанатов тестов, заметит разницу. Я готов в одиночестве использовать систему, которую практически невозможно взломать и практически невозможно обрушить.

Описываемая мною система не так отличается новыми идеями, сколько тем, что берет лучшие идеи, как старые, так и новые и сочетает их вместе, чтобы сделать что-то лучше всего, что было до нее. Создание новой системы позволяет нам это, но так как она дает возможность одновременно запускать другие ОС, мы получаем комбинацию, которая дает нам все лучшее из обоих миров. Однако, мы можем поэкспериментирвать и за границами архитектуры ОС, мы можем исследовать новые области, улучшать и их. Достаточно сказать хотя бы, что даже сегодня очень немногие, если вообще кто-либо, по-настоящему поняли что такое удобство использования. Это непростой вопрос, больше вопрос мнений, а не абсолютных критериев. Mac'и известны тем, что они легки в использовании, и как раз по этому поводу...

Исправление:
В первой части, в моем описании Macintosh'а, я не упомянул удобство его использования как заслугу Джефа Раскина (Jef Raskin), что было главным в его первой версии этой машины. Позже это было исправлено, прошу прощения за ошибку.

37 лет назад Джеф Раскин был первым, кто представил миру концепцию удобства использования (usability), а миру потребовалось много времени, чтобы ее понять. В четвертой части я опишу, как мы можем сделать нашу новую ОС более удобной.

Ссылки / Подробная информация

[Security] Безопасность

[Jail] FreeBSD Jail

[Microkernel] Микроядра имеют преимущества в безопасности и стабильности.

[Audit] Разработчики OpenBSD используют метод аудита кода для того, чтобы сделать свою систему более защищенной.

[BadCode] Встраивание защищенности в языки программировани.

[Taint] В Perl есть режим Taint.

[code] [link=http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=160&page=3]Предложения[/link] по улучшению безопасности встраиванием модулей во время исполнения.

[OpenBSD] [link=http://www.openbsd.org/]OpenBSD[/link] имеет репутацию безопасной системы.

[Indexing] Описания [link=http://www.gnome.org/%7Eseth/blog/document-indexing]различных систем[/link] индексирования документов.

[Storage] Новое в [link=http://www.gnome.org/%7Eseth/storage/features.html]Gnome Storage[/link]

[DOpus4] [link=http://www.uae.rzeszow.net/ekrany/dopus.png]Скриншот[/link] Directory Opus 4.

[LinOpus] [link=http://www.boomerangsworld.de/worker/]Worker[/link] - двухпанельный файловый менеджер для *nix. [link=http://www.boomerangsworld.de/worker/pics/worker-shot11.png]Скриншот[/link].
Еще один называется [link=http://www.obsession.se/gentoo/]Gentoo (не дистрибутив Linux)[/link], также для *nix. [link=http://www.obsession.se/gentoo/screenshots/main.png]Скриншот[/link].

[Plan9] [link=http://www.cs.bell-labs.com/wiki/plan9/overview/index.html]Обзор[/link] [link=http://www.cs.bell-labs.com/wiki/plan9/1/index.html]Plan9[/link], развития идей Unix.

[Plumbing] Концепция [link=http://plan9.bell-labs.com/sys/doc/plumb.html]Plumbing[/link] из Plan9.

© Nicholas Blachford July 2004

[b]Об авторе:[/b]
[link=http://www.blachford.info/]Николас Блэхфорд[/link] (Nicholas Blachford) - 33-х летний эмигрант из Британии, ныне живущий в Париже, но не говорящий по-французски (еще). Интересуется различными причудливыми темами (Аппаратное обеспечение, программное обеспечение, фотография) и всякими другими вещами, особенно теми, в которых используются новые технологии. На сегодняшний день безработный.

индекс статьи
страница 1 : страница без заголовка
страница 2 : страница без заголовка
страница 3 - текущая : страница без заголовка


Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.