Начало 80-х. AT&T, в чьей Bell Labs был разработан Unix, внезапно осознала очевидный факт: их программный продукт популярен, но при этом не приносит никакого дохода. Руководство решает начать продажу коммерческих лицензий.
Рубрика «UNIX»
Coherent OS: забытый клон Unix v7
2025-02-07 в 12:00, admin, рубрики: coherent, nix, UNIX, операционные системыОперационная система в 1 000 строках кода (часть 5)
2025-02-02 в 9:01, admin, рубрики: linux, ruvds_перевод, UNIX, virtio, ввод-вывод, операционные системы, Программирование, разработка ядра, файловая системаОперационная система в 1 000 строках кода (Часть 1)
2025-01-19 в 9:01, admin, рубрики: risc-v, ruvds_перевод, UNIX, ассемблер, операционные системы, Программирование, разработка ос, Си, ядро
Всем привет! В этой небольшой книге (серии статей, — прим. пер.) мы с нуля, шаг за шагом, напишем скромную ОС.
Вы можете насторожиться, услышав, что разработка ОС или ядра, в частности, их базовых функций на удивление проста. Даже система Linux, которая воспринимается как масштабный опенсорсный проект, на стадии версии 0.01 включала всего 8 413 строк кода. Сегодня ядро Linux действительно огромно, но начиналось оно, как и типичный хобби-проект, с крохотной базы кода.
В рамках предстоящей серии статей мы на языке С реализуем базовое переключение контекста, страничное распределение памяти, режим пользователя, командную оболочку, драйвер дискового устройства и операции чтения/записи. И хотя такой объём работы может показаться масштабным, всё это уместится всего в 1 000 строк кода.
Но сразу предупрежу — процесс окажется не так прост, как выглядит на первый взгляд. Самой сложной частью создания собственной ОС является отладка. И мы не сможем использовать для этого printf
, пока её не реализуем. Здесь вам потребуется освоить различные техники и приёмы отладки, которые в разработке ПО вы никогда не использовали. В частности, начиная «с нуля», вы будете встречать сложные этапы вроде процесса загрузки и страничной организации памяти. Но не пугайтесь, «отлаживать ОС» мы тоже научимся!
Чем сложнее отладка, тем больше радости от получения рабочего продукта. Так что приглашаю вас погрузиться в захватывающий мир разработки операционных систем!Читать полностью »
Я решил, что обнаружил баг…
2025-01-13 в 13:01, admin, рубрики: BSD, fopen, ruvds_перевод, UNIX, ввод-вывод, работа с файлами, стандарты
Я работал над совершенствованием эмулятора DOS и внезапно обнаружил, что достаточно тривиальная операция работает неправильно. Когда просишь COMMAND.COM сделать следующее:
echo AB> foo.txt
echo CD>> foo.txt
то вместо ABCD в файл foo.txt записывается ABBC.
Я проверил и убедился, что fwrite()
действительно передаются правильные данные, но хитрость в том, что действия COMMAND.COM не так просты, как можно подумать:
- Открываем foo.txt
- Записываем «AB»
- Закрываем foo.txt
- Открываем foo.txt
- Выполняем поиск на один байт назад от конца файла
- Считываем один байт
- Записываем «CD»
- Закрываем foo.txt
Такая сложность нужна, потому что COMMAND.COM хочет учесть случай, когда файл заканчивается символом Ctrl-Z (в нашем случае его нет): в этом случае Ctrl-Z необходимо удалить. Почему-то последовательность «поиск-чтение-запись» работала странно. Но почему?Читать полностью »
1 января 1970 года. День создания индустрии программного обеспечения
2025-01-01 в 11:00, admin, рубрики: 1 января, 1970, IBM, UNIX, индустрия ПО, Программное обеспечениеЭра Unix — это дата, которая жёстко закодирована в компьютерах повсеместно. Возможно, это самая известная дата в вычислительной технике, и она будет существовать до тех пор, пока у нас есть системы, основанные на Unix.
20-летие Linux для десктопных систем (часть 2)
2024-12-27 в 13:01, admin, рубрики: Debian, gnome, linux, louvain-li-nux, ruvds_перевод, Ubuntu, UNIX
Коротко о прошлой части: в стремлении создать идеальную десктопную систему, аналогичную GNOME и Debian, молодой Ploum присоединяется к тайному проекту «no-name-yet», который в итоге становится Ubuntu.Читать полностью »
TWM — старый, лёгкий и классный оконный менеджер в *никсах
2024-10-28 в 5:07, admin, рубрики: bsd-системы, GUI, linux, UNIX, window manager, X11, пользовательские интерфейсыОдной из привлекательных особенностей в Linux-ах и прочих unix-like системах является то что оконные менеджеры можно менять как перчатки! Все они, конечно, отображают пользовательские программы в графических окнах - но у каждого свои фишки, настройки и особенности, что вызывает непрестанные дискуссии "KDE против Gnome" и подобные.
Для демонстрации вот мини-обзор (и мини-тьюториал) для TWM - это дефолтный оконный менеджер в разных *nix
Читать полностью »
Linux — лучшая ОС
2024-10-14 в 18:12, admin, рубрики: cybersecurity, distribution system, free software, GNU/Linux, linux, Linux для всех, open source, UNIX, windowsДисклеймер
Я являюсь новичком в сфере информационных технологий, а тем более в написании структурированных текстов, поэтому это не гайд. Вся информация представленная здесь является сборником изученного материала, подкреплённого моими мыслями.
Текст нацелен в первую очередь на таких же начинающих в этой области, как и я, поэтому если где-то допустил фактологические ошибки, то добро пожаловать в комментарии, буду только рад конструктивной критике.
Этот текст также есть в видеоформате. Ссылки на все остальные площадки есть в Читать полностью »
Как Linux создаёт и подсчитывает сокеты
2024-09-07 в 8:05, admin, рубрики: linux, tcp, timeweb_статьи_перевод, udp, UNIX, веб-сервер, Сетевые технологии, сокеты, ядроПривет!
Если у вас уже есть некоторый опыт работы с веб-серверами, то вам наверняка доводилось попадать в классическую ситуацию «адрес уже используется» (EADDRINUSE).
В этой статье будут подробно разобраны не только предпосылки, позволяющие судить, случится ли в ближайшей перспективе такая ситуация (для этого достаточно просмотреть список открытых сокетов), но и будет рассказано, как можно прослеживать конкретные пути кода в ядре (где происходит такая проверка).
Если вам просто интересно, как именно работает системный вызов socket(2)Читать полностью »
Из истории технологий: откуда взялся Unix
2024-08-31 в 8:05, admin, рубрики: BASIC, Bell Labs, linux, multics, timeweb_статьи_перевод, UNIX, Кен Томпсон, код, ОС, ПрограммированиеСегодня многие полагают, что «Unix» и «Linux» — это одно и то же. Но по состоянию на 2024 год с большинством дистрибутивов, которые мы причисляем к «Unix» и «Linux» ситуация почти так и обстоит.
Но у Unix долгая история. Если у вас в распоряжении только известные сейчас системы Linux, то сложно размышлять о том «какова была ситуация на заре Unix», поскольку так много с тех пор изменилось.
❯ От прототипа до Unix
Сделаем шаг назад и рассмотрим, с чего начинался Unix. В 1969 году Кен Томпсон, сотрудник-исследователь из лаборатории «Bell Labs» экспериментировал в области проектирования операционных систем.