Эта глава уводит разговор далеко от железа. Теперь в центре внимания стоит доверие. До этого момента весь рассказ опирался на негласное предположение: система работала так, будто каждый пользователь заслуживал полного доверия. Любая программа без особых препятствий читала файлы, записывала данные куда угодно и получала доступ к памяти в пределах ограничений, которые задавало ядро. Для личного проекта такого подхода хватало. Однако появление второго человека за той же машиной мгновенно меняет правила игры...
Триалогия
Пишем операционную систему Триалогия - Звук, как система обретает голос
Первые версии звуковой подсистемы давно остались позади. За прошедшее время система обзавелась несколькими крупными компонентами, и один из них как раз заслуживает отдельного рассказа. Логичнее всего начать со звука, потому что его архитектура тесно переплетается с устройством остальных драйверов, о которых речь уже шла раньше. На первый взгляд задача выглядит почти банально. Программа хочет воспроизвести звук. На другом конце цепочки работает реальный контроллер, способный лишь передавать поток чисел в динамики через DMA...
Пишем операционную систему Триалогия - USB, самая капризная из шин
Про звук я закончил прошлое дополнение обещанием рассказать о USB. Настало время выполнить его. Ни одна другая шина в системе не отняла у меня столько сил. Пользователь видит лишь привычный разъём и ожидает, что любое устройство заработает сразу после подключения. Под этой внешней простотой скрывается огромный набор правил, состояний и переходов. Пока я не взялся за этот стек всерьёз, работа постоянно упиралась в старый код, накопивший слишком много компромиссов. В какой-то момент дальнейшие исправления потеряли смысл...
Пишем операционную систему Триалогия - Текстовые форматы - один байт для каждого языка мир
Мы подошли к последней главе этой книги. Именно здесь ей самое место, хотя в начале работы я не мог предугадать такую удачную последовательность. Предыдущая глава рассказывала о форматах изображений, где компьютер хранит данные, которые человек никогда не набирает вручную. Ещё раньше речь шла о текстовых файлах с настройками. Их человек пишет сам, однако почти всегда только на одном языке. Теперь настал черёд формата, который занимает особое положение между этими двумя мирами. Он хранит обычный текст, созданный людьми, независимо от того, на каком языке они говорят и какие буквы используют...
Пишем операционную систему Триалогия - Форматы изображений - как система распаковывает картинки
В предыдущей части речь шла о форматах, предназначенных для текста и настроек - данных, которые человек способен открыть, прочитать и при необходимости изменить самостоятельно. Изображения относятся к совершенно другой категории. Никто не набирает вручную значки рабочего стола, фоновые рисунки, указатели мыши или небольшие иллюстрации для интерфейса. Для таких данных существуют специальные графические форматы. Их главная задача выходит далеко за пределы простого хранения цветов, необходимо сократить объём файла настолько, насколько это возможно...
