ОС UNIX создавалась в несколько этапов. Все началось в 1965-69 гг. в Bell Labs концерна AT&T в рамках проекта MULTICS (Multi-User Timesharing Interactiv Computing System) для большой машины General Electric GE-645. В то время AT&T могла только разрабатывать, но не продавать компьютерные продукты, в результате действующих тогда в США антимонопольных законов.
В 1969 году Bell Labs решает выйти из проекта MULTICS, чтобы сосредоточить усилия на создании мобильной операционной среды под условным названием UNIX.
Первоначально UNIX написана на ассемблере для DEC PDP-7. Затем к работе по этому проекту был привлечен Денис Ритчи, который в то время уже разработал язык B. Он предложил переписать основную часть UNIX на B. В процессе осуществления этой идеи, язык B настолько усовершенствовался, что преобразился в C. Это было в 1973 г.
Таким образом было достигнуто невиданное тогда качество - мобильность. В отличие от всех тогдашних ОС, на 100 процентов написанных на ассемблере для определенной машины, UNIX имела только 10 процентов (1000 строк) кода на ассемблере. Для того чтобы работать на произвольной машине, новая ОС нуждалась единственно в написании нескольких страничек на ассемблере и компиляторе языка C. Уже в 1976 году в первый раз UNIX была перенесена на другую машину - Interdata 8/32.
В 1971 году торговая марка UNIX была запатентована Bell Labs для серии машин DEC PDP-11/20, наиболее тогда распространенных в университетской среде. За несколько лет UNIX претерпела в Bell несколько изданий, из которых наиболее популярны были шестое (1976 г.) и седьмое (1979 г.).
Файловая система ОС UNIX
Файловая система древовидная, чувствительная к регистру символов в именах, очень слабые ограничения на длину имен и пути. В вершинах дерева находятся каталоги (используют также термины - справочники, директории), содержащие списки файлов. Эти файлы в свою очередь могут быть либо снова каталогами, либо обычными файлами, либо специальными файлами, представляющими различные устройства ввода-вывода.
|
Корень такого дерева имеет название корневой каталог и обозначается каким-либо специальным символом или группой символов (например, «/» в UNIX или «C:» в операционной системе Windows). Каждому файлу соответствует некоторое имя, определяющее его расположение в дереве файловой системы. Полное имя файла состоит из имен всех вершин дерева файловой системы, через которые можно пройти от корня до данного файла (каталога), записывая их слева направо и разделяя специальными символами-разделителями.
Основные особенности:
1) иерархическая структура;
2) согласованная обработка массивов;
3) возможность создания и удаления файлов;
4) динамическое расширение файлов;
5) защита информации в файлах;
6) трактовка устройств как файлов;
Типы файлов:
1) файлы;
2) директории;
3) устройства;
Языки программирования по популярности:
1) Java;
2) С;
3) php;
4) pythom;
Свойства OC UNIX
1) код системы написан на языке высокого уровня С;
2) многозадачность;
3) наличие стандартов;
4) мощный пользовательский интерфейс – CLI, GUI;
5) единая файловая система;
6) большое количество приложений;
7) многопользовательская система;
Создание ОС Linux
История создания Linux проста. Она началась в 1991году. Финский аспирант Линус Торвальдс, приобретя пакет операционной системы MINIX, разочаровался в поставляемой с ней программе эмуляции терминала. Он решил переписать ее, не привязывая ни к какой операционной системе. После некоторых модификаций начало появляться подобие ОС, а затем, когда исходный код был выложен в интернете, проект
|
стал развиваться благодаря усилиям и, главное, энтузиазму программистов, после чего он стал полноценной операционной системой. Проект взял многое от существовавшей уже тогда операционной системы UNIX. Даже название проек та было «собрано» из имени разработчика и бук вы X в конце слова как свидетельства схожести с UNIX. Название Linux проект получил не сразу. Изначально он назывался Freax как гибрид
английских слов free (бесплатный, свободный) и freak (чудной) с окончанием X, однако, когда Линус Торвальдс выкладывал код на сервере, проект получил свое окончательное имя и логотип.
Mac OS
1976 г. – Стив Джобс и Стив Возняк (Apple Computer Company).
Wintel = Windows + Intel
Macintosh базировалась на процессорах Motorola 680x0 (M68K);
1992 г. – проект Apple + IBM + Motorola = процессор PowerPC;
1998 г. – Mac OS x;
Прикладные среды:
1) Carbon;
2)Cocoa – вариант С++;
3) Java;
4) Classic;
5) BSD – командная строка;
Варианты Linux
Большинство пользователей для установки Linux используют дистрибутивы. Дистрибутив — это не просто набор программ, а ряд решений для разных задач пользователей, объединённых едиными системами установки, управления и обновления пакетов, настройки и поддержки.
Самые распространённые в мире дистрибутивы:
· Ubuntu — дистрибутив, основанный на Debian и быстро завоевавший популярность. Поддерживается сообществом, разрабатывается Canonical Ltd. Основная сборка ориентирована на лёгкость в освоении и использовании, при этом существуют серверная и минимальная сборки.
|
· Linux Mint — дистрибутив, основанный на Ubuntu и полностью с ним совместимый, включающий в себя по умолчанию Java, Adobe Flash и многое другое.
· openSUSE — дистрибутив, разрабатываемый сообществом при поддержке компании Novell. Отличается удобством в настройке и обслуживании благодаря использованию утилиты YaST.
· Fedora — поддерживается сообществом и корпорацией RedHat, предшествует выпускам коммерческой версии RHEL.
· Debian — дистрибутив, разрабатываемый обширным сообществом разработчиков. Служит основой для создания множества других дистрибутивов. Отличается строгим подходом к включению несвободного ПО.
· Mandriva Linux — французско-бразильский дистрибутив, объединение бывших Mandrake и Conectiva (англ.).
· Slackware — один из старейших дистрибутивов, отличается консервативным подходом в разработке и использовании.
· Gentoo — дистрибутив, полностью собираемый из исходных кодов. Позволяет очень гибко настраивать конечную систему и оптимизировать производительность, поэтому часто называет себя мета-дистрибутивом. Ориентирован на экспертов и опытных пользователей.
· Arch Linux — ориентированный на применение самых последних версий программ и постоянно обновляемый, поддерживающий одинаково как бинарную, так и установку из исходных кодов и построенный на философии простоты KISS, этот дистрибутив ориентирован на компетентных пользователей, которые хотят иметь всю силу и модифицируемость Linux, но не в ущерб времени обслуживания.
· CentOS — дистрибутив Linux, основанный на свободных исходных текстах коммерческого дистрибутива Red Hat Enterprise Linux компании Red Hat, и совместимый с ним. Срок поддержки каждой версии CentOS составляет 7 лет (с помощью выпуска обновлений безопасности). Новая версия CentOS выходит раз в 2 года и каждая версия регулярно обновляется (каждые 6 месяцев) для поддержки новых аппаратных средств. В результате это приводит к безопасной, легко обслуживаемой, надежной, предсказуемой и масштабируемой Linux среде.
· PCLinuxOS — LiveCD дистрибутив Linux с возможностью установки операционной системы на жесткий диск. Основанный изначально на Mandrake 9.2, PCLinuxOS придерживается собственного пути развития.
Свойства Linux
· многозадачность: много программ выполняются одновременно;
· многопользовательский режим: много пользователей одновременно работают на одной и той же машине;
· защищенный режим процессора (386 protected mode);
· защита памяти процесса; сбой программы не может вызвать зависания системы;
· экономная загрузка: Linux считывает с диска только те части программы, которые действительно используются для выполнения;
· разделение страниц по записи между экземплярами выполняемой программы. Это значит, что процессы-экземпляры программы могут использовать при выполнении одну и ту же память. Когда такой процесс пытается произвести запись в память, то 4-x килобайтная страница, в которую идет запись, копируется на свободное место. Это свойство увеличивает быстродействие и экономит память;
· виртуальная память со страничной организацией (т.е. на диск из памяти вытесняется не весь неактивный процесс, а только требуемая страница); виртуальная память в самостоятельных разделах диска и/или файлах файловой системы; объем виртуальной памяти до 2 Гбайт; изменение размера виртуальной памяти во время выполнения программ;
· общая память программ и дискового кэша: вся свободная память используется для буферизации обмена с диском;
· динамические загружаемые разделяемые библиотеки;
· дамп программы для пост-мортем анализа: позволяет анализировать отладчиком не только выполняющуюся, но и завершившуюся аварийно программу;
· сертификация по стандарту POSIX.1, совместимость со стандартами System V и BSD на уровне исходных текстов;
· через iBCS2-согласованный эмулятор совместимость с SCO, SVR3, SVR4 по загружаемым программам,
· наличие исходного текста всех программ, включая тексты ядра, драйверов, средств разработки и приложений. Эти тексты свободно распространяются. В настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих программ без исходных текстов, но все, что было свободным так и остается свободным;
· управление заданиями в стандарте POSIX;
· эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об эмуляции сопроцессора. Конечно, если сопроцессор в наличии, то он и используется;
· поддержка национальных алфавитов и соглашений, в т.ч. для русского языка; возможность добавлять новые;
· множественные виртуальные консоли: на одном дисплее несколько одновременных независимых сеансов работы, переключаемых с клавиатуры;
· поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые системы System V); наличие собственной передовой файловой системы объемом до 4 Терабайт и с именами файлов до 255 знаков;
· прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как часть файловой системы Linux; поддержка VFAT (WNT, Windows 95);
· специальная файловая система UMSDOS, которая позволяет устанавливать Linux в файловую систему DOS;
· доступ (только чтение) к файловой системе HPFS-2 OS/2 2.1;
· поддержка всех стандартных форматов CD ROM;
· поддержка сети TCP/IP, включая ftp, telnet, NFS и т.д.