Архив за месяц: Октябрь 2009

История возникновения и развития *nix систем

 Черновой не законченный вариант выступления

UNIX — группа переносимых, многозадачных и многопользовательских операционных систем.
Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем.
До этого ОС создавались индивидуально под компьютеры, ведь их были единицы, не было единых стандартов в работе «железа». IBM была монополистом на рынке больших компьютеров, а персональных и не было. Необходимость в «универсальной» ОС появилась с появлением миникомпьютеров PDP от компании DEC. Они были относительно дешевыми (университеты и предприятия могли себе их позволить), были меньше чем обычная комната, что было редкостью для компьютеров IBM, и их было несколько моделей. Были сформированы основопологающие принципы:

  • использование простых текстовых файлов для настройки и управления системой;
  • широкое применение утилит, запускаемых в командной строке;
  • взаимодействие с пользователем посредством виртуального устройства — терминала;
  • представление физических и виртуальных устройств и некоторых средств межпроцессового взаимодействия как файлов;

Но первые системы писались на Assembler и не могли быть переносимыми и программы написанные для этих ОС так же. В начале 70х годах был разработан язык программирования для Unix систем «Си». C 74 года система бесплатно распространялась среди университетов и академических учреждений. Bell Labs выпустила 7 «редакций» unix. К 78 году unix была установлена более чем на 600 машинах. Компания AT&T в 80х годах осознала ценность системы и начала выпускать коммерческие Unix. Однако уже в 78 году появилась не коммерческая, открытая система Unix  BSD созданная в институте Беркли. Дальше было создано огромное количество unix систем как открытых так и коммерческих.
В 1983 году был создан проект Ричардом Столлменом GNU (GNU is not unix) в котором разработаны множество свободных инструментов  — компиляторы, библиотека языка и т.д. но не было создано самое главное — ядро.
Ядро написал в 1991 году финский студент Линус Торвальдс. Изначально это была программа-терминал для соединения с университетским компьютером, которая переросла в ОС. Ядру требовалось окружения и инструменты, а проекту GNU ядро. По просьбе Столлмана ядро с окружением — операционная система стала называться GNULinux.
17 сентября 1991 года появилась 0.01 версия linux. 14 марта 1994 linux 2.0. 4 января 2001 — Linux версии 2.4.0. 8 декабря 2003 — Linux версии 2.6.0

сборка ядра 2.6.31

Вышло очередное ядро linux 2.6.31 и было сказано что:
Проведена работа по улучшению отзывчивости системы при выполнении типовых десктоп операций в условиях нехватки оперативной памяти. Удалось добиться уменьшения на 50% числа запросов, попадающих на вытесненные в раздел подкачки страницы памяти, и на 1/3 уменьшить число обращений к свопу (pswpin), что продемонстрировало в тестах увеличение интерактивности при работе с десктопом примерно в два раза;
Звучит очень привлекательно с моими то 512 мб ОЗУ. Ринулся качать, а потом и смотреть как собирать ядро. Нашел вот это — подробно описано что требуется и как собирать ядро на Debian Lenny. Чуть полазив по конфигу начал компилировать но …. облом
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE lguest.c -o lguest
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c: In function ‘create_thread’:
lguest.c:1021: warning: implicit declaration of function ‘eventfd’
make: *** [lguest] Error 1

Пару часов часов гуглинья привели к на эту страницу .  Проделав нехитрое действие, а именно в катологе исходных текстов ядра отредактировать файл Documentation/lguest/Makefile  заменив строчку all: lguest  на all:
Дальше все отлично собралось и установилось. Система действительно отзывчивее да и в swap лезет меньше. Кстати сократилось и время загрузки системы, возможно из-за того что много лишнего выбросил, а может и не из-за этого.
p.s. А через 2 дня я купил 2 Gb оперативной памяти и пришлось пересобирать ядро из-за своих оптимизаций, при которых система видела меньше 1 Gb

учёба или поиск альтернатив

Долго не писал в блог т.к. был выбит ремонтом и juick из строя 🙁
Чем дальше в лес, тем …. больше понимаю что мне нравится степь. В общем, все больше разочаровываюсь в специальности «Прикладная информатика в экономике». Информатики почти не видно среди этой …. (слов матерных не хватает) экономики. Декан насается со своими идиотскими коллективами — кому нах нужен патриотический кружок? Дал бы хоть возможность АСУчить деканат, пусть даже работа в стол, но хотя б потренировались. Уже ничего с лета не писал 🙁 Надо будет что-нибудь попробовать написать.
С преподавателем решили возобновить семинары по linux. Вот собственно приблизительные темы. Сами видите что это ужас. Надо будет расписать поконкретнее. Как будет известно дата и время сообщу. Уж извините, всех подряд приглашать не буду — отвечаю за всех я.
А и кстати что-то не вижу вакансий эникеев… 🙁 Уже совсем что ли не требуются? А то я хочу попробовать себя в данной области. Нужна работа чисто для опыта.