Руководство пользователя FreeBSD Handbook
FreeBSD базируется на ОС BSD версии 4.4BSD-Lite, разработанной исследовательской группой компьютерных систем (Computer Systems Research Group, сокращенно CSRG) Калифорнийского университета в Беркли и несет в себе традиции разработки систем BSD. Группа FreeBSD Project добилась максимальной производительности и надежности системы в ситуациях реальной жизни, потратив на это достаточно много времени, в то время как многие коммерческие гиганты еще бьются над решением этих задач на поле операционных систем для PC.
Диапазон приложений для FreeBSD, ограничивается только вашим воображением. От разработки программного обеспечения до автоматизации производства, от систем складского учета до дистанционной коррекции азимута антенны спутника, если это можно сделать с помощью коммерческого UNIX, то с тем же успехом это может быть сделано и с помощью FreeBSD. Важным преимуществом FreeBSD является огромное количество высококачественных приложенией, разработанных исследовательскими центрами и университетами во всем мире, которые по большей части бесплатны, и ежедневно появляющиеся в большом количестве коммерческие приложения.
Продолжение
Восстановление удаленных файлов под BSD
UFS (расшифровывается как UNIX File System) — это основная файловая система для BSD-систем, устанавливаемая по умолчанию. Многие коммерческие UNIX'ы также используют либо саму UFS, либо нечто очень на нее похожее. В противоположность ext2fs, исхоженной вдоль и поперек, UFS крайне поверхностно описана в доступной литературе и единственным источником информации становятся исходные тексты, в которых не так-то просто разобраться! Существует множество утилит, восстанавливающих уничтоженные данные (или во всяком случае пытающихся это делать), но на проверку все они оказываются неработоспособными, что в общем-то и неудивительно, поскольку автоматическое восстановление удаленных файлов под UFS невозможно в принципе. Тем не менее, это достаточно легко сделать вручную, если, конечно, знать как.
Продолжение
Шприц для bsd или функции на игле
Классический алгоритм внедрения shell-кода выглядит так: сохраняем несколько байт перехватываемой функции и ставим jump на свой thunk, который делает что задумано, выполняет сохраненные байты и передает управление оригинальной функции, которая может вызываться как по jump, так и по call (подробнее этот вопрос рассмотрен в статье "crackme, прячущий код на API-функциях", опубликованной в Хакере).
Самое сложное — выбрать место для размещения thunk'а. Это должна быть память доступная всем процессам, а такой памяти в нашем распоряжении нет! Мы знаем, что "подопытная" библиотека отображается на адресное пространство каждого процесса, но это пространство уже занято! Наскрести пару десятков байт, отведенных под выравнивание, вполне реально, только нам этого не хватает! Приходится хитрить.
Продолжить
Интерфейс.Новые направления в проектировании компьютерных систем
В этой главе говорится о распространенном непонимании сущности таких систем, как интерфейсы, а также методов их разработки. Интерфейс- это нечто большее, чем окна, пиктограммы, выпадающие меню и мышь. Необходимость проектирования интерфейса уже на ранних стадиях разработки продукта иногда упускается из виду. Другой фактор, который часто недооценивается, состоит в том, что все мы наделены познавательными аппаратами, имеющими между собой много общего. При разработке интерфейсов следует сперва учесть общие факторы, а потом уже рассматривать индивидуальные различия. Но, к сожалению, существующие на сегодня средства конструирования интерфейсов не позволяют подойти к задаче именно таким образом.
Я не согласен с мнением, что пользоваться компьютерами сложно потому, что с их помощью мы пытаемся делать безнадежно сложные вещи. В действительности независимо от того, насколько сложной является задача, выполняемая тем или иным продуктом, составные части этой задачи все равно должны оставаться простыми. Эта глава заканчивается определением человекоориентированного интерфейса.
Предисловие
Определение интерфейса
Когнетика и локус внимания
Квантификация
Унификация
Навигация и другие аспекты человекоориентированных интерфейсов
Проблемы за пределами пользовательского интерфейса
Приложение
Заключение
Интерфейсы ПК
Толковый словарь по вычислительным системам определяет понятие интерфейс (interface) как границу раздела двух систем, устройств или программ; элементы соединения и вспомогательные схемы управления, используемые для соединения устройств. Эта книга посвящена интерфейсам, позволяющим подключать к персональным (и не только) компьютерам разнообразные периферийные устройства (ПУ) и их контроллеры.
По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллель- но идущим проводам одновременно. В PC традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами. В последовательном интерфейсе биты передаются друг за другом, обычно по одной линии. СОМ-порты PC обеспечивают последовательный интерфейс в соответствии со стандартом RS-232C.
Интерфейс Centronics и LPT-порт
Разъем устройства SCSI с "горячей" заменой
Интерфейс
Представьте себе, что вы поднялись на борт сияющего шикарной отделкой авиалайнера, оснащенного просторными, комфортабельными кожаными креслами с целым набором встроенной аудио- и видеотехники; в буфете вас ожидают отличная еда и напитки. Вы садитесь в свое кресло и смотрите в большой, чисто вымытый иллюминатор. Со вздохом предвкушения особенно приятного полета вы протягиваете руку к шкафчику впереди вас, чтобы поглядеть, что там. Сначала вы достаете весьма объемистую бутылку любимого напитка, а затем буклет с описанием этого замечательного воздушного лайнера.
В то время как двери закрываются и идут приготовления к взлету, вы усаживаетесь поудобнее и начинаете читать. Из буклета вы узнаете, что интерьер самолета создан трудами самых лучших в мире дизайнеров, что повара из пятизвездочных отелей лично составляли меню и готовили блюда и что в группу разработчиков самолета не были включены инженеры-авиаконструкторы, поскольку всемирно признанные дизайнеры сделали внешний вид самолета таким, что и без того создается впечатление авиалайнера, способного летать во много раз быстрее, чем любой другой.
Определение интерфейса
Экранные состояния объектов