Многопользовательская система

Linux изначально был спроектирован как многопользовательская система. При этом речь шла не о том: что вычислительной машиной под Linux могут пользоваться несколько человек по очереди, а о реальной многопользовательской системе, когда несколько человек одновременно запускают свои приложения на одном и том же компьютере. Нужно ли это, если речь идет о настольной, персональной машине? Сейчас уже можно твердо сказать «да». Во-первых, настройки и данные, связанные с приложениями, поддерживаются независимо и тщательно для каждого пользователя, а это оказывается существенно при широко применяемом сейчас совместном доступе к приложениям и данным. Во-вторых, для каждого пользователя сохраняются независимо настройки его рабочего стола, каждый раз, выполнив процедуру регистрации, он получает привычное рабочее окружение.

Основную часть ОС Linux принято называть ядром. В ядро входит самый нижний уровень функций операционной системы, как то: контроль аппаратных средств, запуск драйверов устройств, управление файловыми системами, создание процессов, управление памятью и другие базовые функции. Ядро Linux во многом походит на ядро UNIX. Ядро Linux имеет некоторые особенности, которые являются совершенно уникальными:

ядро построено по модульному принципу

на одном компьютере может быть установлено сразу несколько ядер

разработка ядра Linux управляется централизовано

Ядро Linux не представляет собой монолитное образование, некоторые его части могут загружаться в процессе работы, такие части называются модулями. Если некоторые функции не требуются в текущий момент, то отвечающие за них модули не загружены и не занимают память. На одном компьютере может быть установлено сразу несколько ядер, но только одно из них работает в каждый момент времени. Эта особенность позволяет тестировать новые версии ядра, собирать более подходящую его конфигурацию и в то же время иметь возможность очень легко вернуться назад, к старой версии, которая гарантированно работала. Разработку ядра Linux до сих пор контролирует легендарный Линус Торвальдс. А это означает, что каждая версия ядра представляет собой один единственный объект.

Взаимодействие приложений

Операционная система Linux далеко не так сильно интегрирована, как операционная система Windows. Фактически каждый дистрибутив состоит из ядра и сотен, если не тысяч отдельных программных пакетов, ассоциированных с этим ядром. Все программы изначально проектировались и проектируются так, чтобы допускать тесное взаимодействие, иначе системы не смогла бы работать. Но это не означает, что они должны взаимодействовать, интеграции между ними может и не быть. В некоторых случаях такое отсутствие обязательной интеграции на низком уровне может выглядеть как недостаток, но это качество дает разработчикам ПО более высокого свободу в выбора низкоуровневых приложений и возможность их замены впоследствии. Поскольку ядро Linux и почти все доступные приложения базируются на открытых стандартах, интеграция между ними выполняется легко, и работают они вместе надежно.

Пользовательский интерфейс

Как правило, пользователь общается с вычислительно машиной посредством графического монитора, мыши и клавиатуры. Так устроены почти все клиентские компьютеры, хотя внешний вид рабочего стола и функциональность могут различаться. Под Linux менеджер графической сессии является просто одним из приложений, он не является частью операционной системы. Это означает что, во-первых, вы можете выбирать менеджера рабочего стола (наиболее частый выбор -- это KDE или GNOME) и, во-вторых, можно работать вообще без графического окружения, в алфавитно-цифровом режиме.

Взаимодействие с внешней инфраструктурой

Настольный компьютер редко работает сам по себе, он должен взаимодействовать с объемлющей инфраструктурой. Он нуждается в подключении к локальной сети, в доступе к серверам и другим общим ресурсам. Linux поддерживает все возможные сетевые протоколы, необходимые для такого взаимодействия. Важнейшим моментом при подключении компьютера к внешнему миру является проблема обеспечения безопасности. Ядро Linux имеет встроенный брандмауэр, который защищает компьютер от несанкционированного доступа извне и обеспечивает безопасную работу конечных пользователей и сохранность данных.

Способ хранения данных

Способ хранения данных в Linux кардинально отличается от способа, принятого в Windows. Файловая структура в Linux представлена одним деревом, при этом различные типы разделов, в том числе разделы на удаленных устройствах, выглядят однотипно. Здесь нет букв, приписанных к дискам. Такой подход позволяет, например, придерживаться одной и той же логической структуры каталогов на всех клиентских машинах. Существенным отличием в обращении с файлами является существование ссылок в большинстве файловых систем, с которыми работает Linux. По сути ссылки являются указателями на файлы или на целые каталоги. Существуют два вида ссылок: жесткие ссылки и символьные ссылки. Жесткая ссылка является просто еще одним именем, связанным с файлом, а символьная ссылка -- это отдельно стоящий указатель. В том случае, если удален файл, символьная ссылка на него не удаляется, но начинает указывать в пустоту. Если число жестких ссылок на файл больше одной, то удаление одного имени не повлечет удаление файла. Реально он будет удален только после удаления последней жесткой ссылки.

Другие отличия

Есть и другие особенности, отличающие Linux от других ОС для настольных компьютеров. Рассмотрим разницу в работе с виртуальной памятью и уникальное для Linux понятие уровней выполнения (run levels). Работы с виртуальной памятью в каждой операционной системе происходит по своему, иногда это зависит даже от версии операционной системы. Особенностью Linux является то, что виртуальная память не будет использоваться до тех пор, пока есть возможность работать в реальной оперативной памяти. Windows, например, начинает перемещать информацию из оперативной памяти на диск и в других случаях, там существует практика превентивного свопинга. Во многих случаях такой подход приводит в снижению скорости выполнения операций. В Linux принята также система кэширования, то есть, хранение недавно использованной файловой информации в оперативной памяти. В результате такой практики постоянно используется значительная часть оперативной памяти. В том случае, если дополнительная оперативная память требуется приложениям, система просто сокращает область кэширования. Концепция уровней выполнения является общей для UNIX/Linux-подобных операционных систем. Уровень выполнения определяет, какие системные сервисы будут запущены при начальной загрузке системы. Уровни выполнения нумеруются от 0 до 9. Например, уровень выполнения 3 соответствует загрузке всех системных сервисов, кроме графических. На уровне 5 стартует также и графическое окружение. Уровень 1 соответствует однопользовательскому режиму загрузки системы, в котором доступна только одна консоль и отключены практически все службы.

На сегодняшний день наиболее известными операционными системами для компьютеров являются семейства операционных систем Microsoft Windows и UNIX. Первые ведут свою родословную от операционной системы MS-DOS, которой оснащались первые персональные компьютеры фирмы IBM. Операционная система UNIX была разработана группой сотрудников Bell Labs под руководством Денниса Ричи, Кена Томпсона и Брайана Кернигана (Dennis Ritchie, Ken Thompson, Brian Kernighan) в 1969 году. Но в наши дни, когда говорят об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем. Само же слово UNIX (заглавными буквами) стало зарегистрированной торговой маркой корпорации AT&T.

В конце 70-х годов (теперь уже прошлого столетия) сотрудники Калифорнийского университете в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами семейства TCP/IP. Их разработка стала известна под именем BSD («Berkeley Systems Distribution»). Она распространялась под лицензией, которая позволяла дорабатывать и усовершенствовать продукт, и передавать результат третьим лицам (с исходными кодами или без них) при условии, что будет указано, какая часть кода разработана в Беркли.

Операционные системы типа UNIX, в том числе и BSD, изначально разрабатывались для работы на больших многопользовательских компьютерах - мейнфреймах. Но персональные компьютеры постепенно наращивали мощь своего аппаратного обеспечения, и в наши дни они уже превосходят по возможностям те мейнфреймы, для которых в 70-х годах разрабатывалась ОС UNIX. И вот, в начале 90-х годов студент хельсинкского университета Линус Торвальдс (Linus Torvalds) приступил к разработке UNIX-подобной ОС для IBM-совместимых персональных компьютеров.

25 августа 1991 года Линус написал, что он работает над (свободной) операционной системой для 386-х (486-х) компьютеров, и просит всех заинтересованных лиц сообщить, какие компоненты системы пользователи хотят видеть в первую очередь. Но, как видно из текста послания, оболочка bash и компилятор gcc у него уже работали. Работали они под управлением операционной системы M inix, которая была разработана профессором Э.Таненбаумом (Andy Tanenbaum) как учебное пособие для студентов-программистов. Minix работала на компьютерах с 286-ым процессором и послужила для Торвальдса прообразом новой ОС.

Файлы первого варианта Linux (версия 0.01) были опубликованы в Интернете 17 сентября 1991 года.В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний момент Linux - самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX. Приведем краткий список этих возможностей.

Затем, 5 октября 1991 г. была выпущена версия 0.02, которая уже работала. Л. Торвальдс не стал патентовать или иным образом ограничивать распространение новой ОС. С самого начала Linux распространяется на условиях, определяемых лицензией General Public License (GPL), принятой для программного обеспечения, разрабатываемого в рамках движения Open Source и проекта GNU. Надо сказать, что разработка Линуса Торвальдса представляла собой только ядро операционной системы . Это ядро «упало на подготовленную почву», в том смысле, что в рамках проекта GNU уже было разработано большое количество утилит разного рода. Но для превращения GNU в полноценную ОС не хватало ядра. Разработка ядра велась (оно называлось Hurd), но по каким-то причинам задерживалась. Поэтому появление разработки Л. Торвальдса было очень своевременным. Оно ознаменовало рождение операционной системы, распространяемой с открытыми исходными кодами.

Основные характеристики ОС Linux

В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний момент Linux - самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX. Приведем краткий список этих возможностей.

Реальная многозадачность

Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора (ОС с разделением времени — time-sharing system), поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима «вытесняющей многозадачности», реализованной в Windows 95, когда процесс должен сам «уступить» процессор другим процессам (и может сильно задержать их выполнение).

Если говорить о процессах, то рождение новых процессов в системе организовано таким образом, что любой процесс запущенный пользователем, наследует права от процесса-родителя . А процесс-родитель, как раз обеспечивает вход пользователя под определенным логином (анонимного входа, как в Windows нет!). Таким образом, запустить процесс с привелегиями другого пользователя оказывается невозможно! Напомню, что в Windows процеы могут появляться не от родителей, а самостоятельно, что говорит явно не в пользу её безопасности.

Многопользовательский доступ

Linux - не только многозадачная ОС, она поддерживает возможность одновременной работы многих пользователей. При этом Linux может предоставлять все системные ресурсы пользователям, работающим с хостом через различные удаленные терминалы. Поддерживается система викруальных консолей, под каждой из которых можно запустить свой терминал.

Свопирование оперативной памяти на диск

Свопирование оперативной памяти на диск позволяет работать при ограниченном объеме физической оперативной памяти; для этого содержимое некоторых частей (страниц) оперативной памяти записываются в выделенную область на жестком диске, которая трактуется как дополнительная оперативная память. Это несколько снижает скорость работы, но позволяет организовать работу программ, требующих большего объема ОЗУ, чем фактически имеется в компьютере. В принципе, эта технология аналогична идее виртуальной памяти за тем лишь исключением, что своппинг включается только тогда, когда в ОЗУ начинает не хватать свободного места. ДЛя этого на диске, куда установлена Linux создается отдельный swap-раздел (/swap).

Страничная организация памяти

Системная память Linux организована в виде страниц объемом 4K . Если оперативная память полностью исчерпана, ОС будет искать давно не использованные страницы памяти для их перемещения из памяти на жесткий диск. Если какие-либо из этих страниц становятся нужны, Linux восстанавливает их с диска. Некоторые старые Unix-системы и некоторые современные платформы (включая Microsoft Windows) переносят на диск все содержимое ОП, относящееся к неработающему в данный момент приложению, (т. е. ВСЕ страницы памяти, относящиеся к приложению, сохраняются на диске при нехватке памяти) что менее эффективно.

Загрузка выполняемых модулей «по требованию»

Ядро Linux поддерживает выделение страниц памяти по требованию, при котором только необходимая часть кода исполняемой программы находится в оперативной памяти, а не используемые в данный момент части остаются на диске.

Совместное использование исполняемых программ

Если необходимо запустить одновременно несколько копий какого-то приложения (либо один пользователь запускает несколько идентичных задач, либо разные пользователи запускают одну и ту же задачу), то в память загружается только одна копия исполняемого кода этого приложения, которая используется всеми одновременно исполняющимися идентичными задачами.

Общие библиотеки

Библиотеки - наборы процедур, используемых программами для обработки данных. Существует некоторое количество стандартных библиотек, используемых одновременно более чем одним процессом. В старых системах такие библиотеки включались в каждый исполняемый файл, одновременное выполнение которых приводило к непродуктивному использованию памяти. В новых системах (в частности, в Linux), обеспечивается работа с динамически и статически разделяемыми библиотеками, что позволяет сократить размер отдельных приложений.

Динамическое кеширование диска

Кеширование диска - это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Пользователи MS-DOS работают со SmartDrive, который резервирует фиксированные области системной памяти для кеширования диска. Linux использует более динамичную систему кеширования: память, зарезервированная под кеш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти.

100%-ное соответствие стандарту POSIX 1003.1. Частичная поддержка возможностей System V и BSD

POSIX 1003.1 (Portable Operating System Interface - интерфейс мобильной операционной системы) задаeт стандартный интерфейс Unix-систем, который описывается набором процедур языка Си. Сейчас он поддерживается всеми новыми ОС. Microsoft Windows NT также поддерживает POSIX 1003.1. Linux 100%-но соответствует POSIX. Дополнительно поддерживаются некоторые возможности System V и BSD для увеличения совместимости.

System V IPC

Linux использует технологию IPC (InterProcess Communication) для обмена сообщениями между процессами, использования семафоров и общей памяти.

Возможность запуска исполняемых файлов других ОС

Linux не является первой в истории операционной системой. Для ранее разработанных ОС, включая DOS, Windows 95, FreeBSD или OS/2, разработана масса различного, в том числе очень полезного и очень неплохого программного обеспечения. Для запуска таких программ под Linux разработаны эмуляторы DOS, Windows 3.1 и Windows 95. Более того, фирмой Vmware разработана система «виртуальных машин», представляющая собой эмулятор компьютера, в котором можно запустить любую операционную систему. Имеются аналогичные разработки и у других фирм. ОС Linux способна также выполнять бинарные файлы других I ntel-ориентированных Unix-платформ, соответствующих стандарту iBCS2 (intel Binary Compatibility).

Поддержка различных форматов файловых систем

Linux поддерживает большое число форматов файловых систем, включая файловые системы DOS и OS/2, а также современные журналируемые файловые системы. При этом и собственная файловая система Linux, которая называется Second Extended File System (ext2fs ), позволяет эффективно использовать дисковое пространство. Она поддерживает журналирование и распределение прав доступа.

Сетевые возможности

Linux можно интегрировать в любую локальную сеть. Поддерживаются все службы Unix, включая Networked File System (NFS), удалeнный доступ (telnet, rlogin), работа в TCP/IP сетях, dial-up-доступ по протоколам SLIP и PPP, и т. д... Также поддерживается включение Linux-машины как сервера или клиента для другой сети, в частности, работает общее использование (sharing) файлов и удаленная печать в Macintosh, NetWare и Windows.

Работа на разных аппаратных платформах

Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях Intel-овских микропроцессоров, начиная с 386 и кончая многопроцессорными системами на Pentium. Так же успешно Linux работает на различных клонах Intel от других производителей; в Интернете встречаются сообщения о том, что на процессорах Athlon и Duron от AMD Linux работает даже лучше, чем на Intel. Кроме того, разработаны версии для других типов процессоров - ARM, DEC Alpha, SUN Sparc, M68000 (Atari и Amiga), MIPS, PowerPC и других (отметим, что в настоящей книге рассматривается только вариант для IBM-совместимых компьютеров).

Вот некоторые вопросы которые "мучают" пользователей при переходе на Linux
  • Много пользователей - зачем?
  • Что такое ядро?
  • Есть ли другие отличия?
Много пользователей - зачем? Linux изначально был спроектирован как многопользовательская система. При этом речь шлее не о том: что вычислительной машиной под Linux могут пользоваться несколько человек по очереди, а о реальной многопользовательской системе, когда несколько человек одновременно запускают свои приложения на одном и том же компьютере. Нужно ли это, если речь идет о настольной, персональной машине? Сейчас уже можно твердо сказать «да». Во-первых, настройки и данные, связанные с приложениями, поддерживаются независимо и тщательно для каждого пользователя, а это оказывается существенно при широко применяемом сейчас совместном доступе к приложениям и данным. Во-вторых, для каждого пользователя сохраняются независимо настройки его рабочего стола, каждый раз, выполнив процедуру регистрации, он получает привычное рабочее окружение. Что такое ядро? Основную часть ОС Linux принято называть ядром. В ядро входит самый нижний уровень функций операционной системы, как то: контроль аппаратных средств, запуск драйверов устройств, управление файловыми системами, создание процессов, управление памятью и другие базовые функции. Ядро Linux во многом походит на ядро UNIX. Ядро Linux имеет некоторые особенности, которые являются совершенно уникальными:
  • ядро построено по модульному принципу
  • на одном компьютере может быть установлено сразу несколько ядер
  • разработка ядра Linux управляется централизовано
Ядро Linux не представляет собой монолитное образование, некоторые его части могут загружаться в процессе работы, такие части называются модулями. Если некоторые функции не требуются в текущий момент, то отвечающие за них модули не загружены и не занимают память. На одном компьютере может быть установлено сразу несколько ядер, но только одно из них работает в каждый момент времени. Эта особенность позволяет тестировать новые версии ядра, собирать более подходящую его конфигурацию и в то же время иметь возможность очень легко вернуться назад, к старой версии, которая гарантированно работала. Разработку ядра Linux до сих пор контролирует легендарный Линус Торвальдс. А это означает, что каждая версия ядра представляет собой один единственный объект. Взаимодействие приложений или одно большое приложение? Операционная система Linux далеко не так сильно интегрирована, как операционная система Windows. Фактически каждый дистрибутив состоит из ядра и сотен, если не тысяч отдельных программных пакетов, ассоциированных с этим ядром. Все программы изначально проектировались и проектируются так, чтобы допускать тесное взаимодействие, иначе системы не смогла бы работать. Но это не означает, что они должны взаимодействовать, интеграции между ними может и не быть. В некоторых случаях такое отсутствие обязательной интеграции на низком уровне может выглядеть как недостаток, но это качество дает разработчикам ПО более высокого свободу в выбора низкоуровневых приложений и возможность их замены впоследствии. Поскольку ядро Linux и почти все доступные приложения базируются на открытых стандартах, интеграция между ними выполняется легко, и работают они вместе надежно. Пользовательский интерфейс, на что обратить внимание? Как правило, пользователь общается с вычислительно машиной посредством графического монитора, мыши и клавиатуры. Так устроены почти все клиентские компьютеры, хотя внешний вид рабочего стола и функциональность могут различаться. Под Linux менеджер графической сессии является просто одним из приложений, он не является частью операционной системы. Это означает что, во-первых, вы можете выбирать менеджера рабочего стола (наиболее частый выбор - это KDE или GNOME) и, во-вторых, можно работать вообще без графического окружения, в алфавитно-цифровом режиме. Как настольная система взаимодействует с внешней инфраструктурой? Настольный компьютер редко работает сам по себе, он должен взаимодействовать с объемлющей инфраструктурой. Он нуждается в подключении к локальной сети, в доступе к серверам и другим общим ресурсам. Linux поддерживает все возможные сетевые протоколы, необходимые для такого взаимодействия. Важнейшим моментом при подключении компьютера к внешнему миру является проблема обеспечения безопасности. Ядро Linux имеет встроенный брандмауэр, который защищает компьютер от несанкционированного доступа извне и обеспечивает безопасную работу конечных пользователей и сохранность данных. Каким образом хранятся данные? Способ хранения данных в Linux кардинально отличается от способа, принятого в Windows. Файловая структура в Linux представлена одним деревом, при этом различные типы разделов, в том числе разделы на удаленных устройствах, выглядят однотипно. Здесь нет букв, приписанных к дискам. Такой подход позволяет, например, придерживаться одной и той же логической структуры каталогов на всех клиентских машинах. Существенным отличием в обращении с файлами является существование ссылок в большинстве файловых систем, с которыми работает Linux. По сути ссылки являются указателями на файлы или на целые каталоги. Существуют два вида ссылок: жесткие ссылки и символьные ссылки. Жесткая ссылка является просто еще одним именем, связанным с файлом, а символьная ссылка - это отдельно стоящий указатель. В том случае, если удален файл, символьная ссылка на него не удаляется, но начинает указывать в пустоту. Если число жестких ссылок на файл больше одной, то удаление одного имени не повлечет удаление файла. Реально он будет удален только после удаления последней жесткой ссылки. Есть ли другие отличия? Есть и другие особенности, отличающие Linux от других ОС для настольных компьютеров. В этом разделе мы рассмотрим разницу в работе с виртуальной памятью и уникальное для Linux понятие уровней выполнения (run levels). Работы с виртуальной памятью в каждой операционной системе происходит по своему, иногда это зависит даже от версии операционной системы. Особенностью Linux является то, что виртуальная память не будет использоваться до тех пор, пока есть возможность работать в реальной оперативной памяти. Windows, например, начинает перемещать информацию из оперативной памяти на диск и в других случаях, там существует практика превентивного свопинга. Во многих случаях такой подход приводит в снижению скорости выполнения операций. В Linux принята также система кэширования, то есть, хранение недавно использованной файловой информации в оперативной памяти. В результате такой практики постоянно используется значительная часть оперативной памяти. В том случае, если дополнительная оперативная память требуется приложениям, система просто сокращает область кэширования. Концепция уровней выполнения является общей для UNIX/Linux-подобных операционных систем. Уровень выполнения определяет, какие системные сервисы будут запущены при начальной загрузке системы. Уровни выполнения нумеруются от 0 до 9. Например, уровень выполнения 3 соответствует загрузке всех системных сервисов, кроме графических. На уровне 5 стартует также и графическое окружение. Уровень 1 соответствует однопользовательскому режиму загрузки системы, в котором доступна только одна консоль и отключены практически все службы.

Оставьте свой комментарий!

Министерство сельского хозяйства РФ

Федеральное государственное образовательное учреждение высшего профессионального образования

Пермская государственная сельскохозяйственная академия

имени академика Д.Н. Прянишникова»

Кафедра информатики

Специальность «Бухгалтерский учет, анализ и аудит»

Контрольная работа

по информатике

Выполнила студент заочного обучения

Батуева А.Н.

Проверил старший преподаватель:

Критченко Т.Н.

Пермь, 2008

1. Теоретическое задание. Операционная система Linux

1.1 Возможности, которые предоставляет ОС Linux

1.2 Кому и зачем может понадобиться ОС Linux

1.3 Характерные особенности Linux как ОС

1.4 Как выглядит одновременное выполнение нескольких программ

1.5 Как несколько пользователей работают на одной и той же машине

1.6 Насколько полно документирована ОС Linux

1.7 Отличие Linux от других ОС со свободной лицензией

1.8 Программное обеспечение, которое поддерживает система Linux

1.9 Работа с глобальной сетью Internet

1.10 Какой текстовый процессор можно использовать в Linux

2. Практическое задание

2.1 Задание 1

2.2 Задание 2

2.3 Задание 3


1. Операционная система Linux

Linux - это современная POSIX-совместимая и Unix-подобная операционная система для персональных компьютеров и рабочих станций.

Это многопользовательская сетевая операционная система с сетевой оконной графической системой XWindowSystem. ОС Linux поддерживает стандарты открытых систем и протоколы сети Internet и совместима с системами Unix, DOS, MSWindows. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.

Операционная система Linux широко распространена на платформах IntelPC 386/486/Pentium/PentiumPro и завоевывает позиции на ряде других платформ.

Разработка ОС Linux выполнена Линусом Торвалдсом из университета Хельсинки и не поддающейся подсчету обширной командой из тысяч пользователей сети Internet, сотрудников исследовательских центров, фондов, университетов и т.д.

1.1 Возможности, которые предоставляет ОС Linux

· дает возможность бесплатно и легально иметь современную ОС для использования как на работе, так и дома;

· обладает высоким быстродействием;

· работает надежно, устойчиво, совершенно без зависаний;

· не подвержена вирусам;

· позволяет использовать полностью возможности современных ПК, снимая ограничения, присущие DOS и MSWindows по использованию памяти машины и ресурсов процессора(ов);

· эффективно управляет многозадачностью и приоритетами, фоновые задачи (длительный расчет, передача электронной почты по модему, форматирование дискеты и т.д. и т.п.) не мешают интерактивной работе;

· позволяет легко интегрировать компьютер в локальные и глобальные сети, в т.ч. в Internet; работает с сетями на базе Novell и MSWindows;

· позволяет выполнять представленные в формате загрузки прикладные программы других ОС - различных версий Unix, DOS и MSWindows;

· обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире Unix и свободно распространяемых вместе с исходными текстами;

· предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, включая системы класса клиент-сервер, объектно-ориентированные, с многооконным текстовым и/или графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС;

· дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой ОС;

· дает всем желающим попробовать свои силы в разработке, организовать общение и совместную работу через Internet с любыми из разработчиков ОС Linux и сделать свой вклад, став соавтором системы.

1.2 Кому и зачем может понадобиться ОС Linux

В применении Linux по разным причинам могут быть заинтересованы многие категории пользователей. Привести исчерпывающий список невозможно. Однако, вот ряд примеров. Linux это полноценная 32-х разрядная (64-х разрядная на платформе DECAXP) операционная система, которая использует компьютер на полную мощность. Linux превращает персональный компьютер IBMPC в настоящую рабочую станцию. По цене персоналки, которая значительно ниже стоимости рабочей станции.

Выигрыш в цене очень большой, так как помимо экономии на оборудовании, программное обеспечение в Linux поставляется со свободной лицензией, разрешающей бесплатное неограниченное копирование системы. Ядро, редакторы, трансляторы, СУБД, сеть, графические интерфейсы, игры и масса другого программного обеспечения объемом в тысячи мегабайт - бесплатно и на законной основе.

Выигрыш только на программном обеспечении может составить от тысяч до десятков тысяч долларов. Для многих пользователей в России свободная лицензия - это единственная возможность легально снабдить себя полноценным набором программного обеспечения.

Для пиратского рынка не платить за программы - обычное дело. Однако в случае с Linux мало того, что за это никто преследовать не будет, еще и полную документацию дадут! Более того, с исходными текстами всех программ! Пиратам такое и не снилось.

Большой интерес Linux представляет для потребителей и разработчиков прикладных систем. Представьте себе фирму, состоящую из нескольких филиалов, территориально разнесенных по разным районам города и даже по разным городам и странам. На головном предприятии работает сервер базы данных, клиенты - рабочие места в филиалах - через сеть взаимодействуют с сервером. Такая система быстро, дешево и удобно делается в Linux. Вспомните об устойчивости Linux. Вот где она сильно пригодится!

Linux распахивает дверь в гигантский мир открытых систем, в котором существует огромное количество средств для решения самых разнообразных задач.

1.3 Характерные особенности Linux как ОС

· многозадачность: много программ выполняются одновременно;

· многопользовательский режим: много пользователей одновременно работают на одной и той же машине;

· защищенный режим процессора (386 protectedmode);

· защита памяти процесса; сбой программы не может вызвать зависания системы;

· разделение страниц по записи между экземплярами выполняемой программы. Это значит, что процессы-экземпляры программы могут использовать при выполнении одну и ту же память. Когда такой процесс пытается произвести запись в память, то 4-x килобайтная страница, в которую идет запись, копируется на свободное место. Это свойство увеличивает быстродействие и экономит память;

· виртуальная память со страничной организацией (т.е. на диск из памяти вытесняется не весь неактивный процесс, а только требуемая страница); виртуальная память в самостоятельных разделах диска и/или файлах файловой системы; объем виртуальной памяти до 2 Гбайт; изменение размера виртуальной памяти во время выполнения программ;

· общая память программ и дискового КЭШа: вся свободная память используется для буферизации обмена с диском;

· динамические загружаемые разделяемые библиотеки;

· сертификация по стандарту POSIX.1, совместимость со стандартами SystemV и BSD на уровне исходных текстов;

· через iBCS2-согласованный эмулятор совместимость с SCO, SVR3, SVR4 по загружаемым программам,

· управление заданиями в стандарте POSIX;

· наличие исходного текста всех программ, включая тексты ядра, драйверов, средств разработки и приложений. Эти тексты свободно распространяются. В настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих программ без исходных текстов, но все, что было свободным так и остается свободным;

· эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об эмуляции сопроцессора. Конечно, если сопроцессор в наличии, то он не используется;

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

· множественные виртуальные консоли: на одном дисплее несколько одновременных независимых сеансов работы, переключаемых с клавиатуры;

· поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые системы SystemV); наличие собственной передовой файловой системы объемом до 4 Терабайт и с именами файлов до 255 знаков;

· прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как часть файловой системы Linux; поддержка VFAT (WNT, Windows 95);

· специальная файловая система UMSDOS, которая позволяет устанавливать Linux в файловую систему DOS;

· доступ (только чтение) к файловой системе HPFS-2 OS/2 2.1;

· поддержка всех стандартных форматов CDROM;

· поддержка сети TCP/IP, включая ftp, telnet, NFS и т.д.

1.4 Как выглядит одновременное выполнение нескольких программ

Так называемая виртуальная мультиконсоль дает возможность на одном дисплее организовать работу нескольких консолей. На первой консоли запускается процесс трансляции. Комбинацией клавиш Alt-F2 следует переход на вторую консоль. Трансляция продолжается, но при этом первая консоль на экране дисплея заменяется новой картинкой второй консоли. В которой запускается, например, редактор текста. Комбинацией Alt-F3 следует переход на третью консоль, в которой запускается отладчик и т.д. Обычно в системе 8 консолей, но можно установить до 64-х. В любой момент времени можно переключиться на любую консоль.

На отдельной консоли может работать как текстовая, так и графическая программа.

На одной из свободных консолей можно запустить оконную графическую систему XWindowSystem. Открываете окно на экране и играете в DOOM. Можно через сеть с партнером. А в других окнах - база данных, почта, редактор, трансляция и т.д.

Таким образом, одновременно работает много консолей, а на одной из консолей еще и много окон XWindowSystem.

свободного программного обеспечения . Аббревиатура GNU открывается рекурсивно - GNU"s Not Unix, т. е. то, что принадлежит проекту GNU, не является частью Unix (потому что к тому времени даже само слово UNIX уже было зарегистрированной товарной маркой, т. е. перестало быть свободным). В "Манифесте GNU", который был написан в 1985 г., Р. Столлман в качестве главной движущей силы, которая привела к возникновению FSF и проекта GNU, ставит свое неприятие прав собственности отдельных людей на программное обеспечение.

То, что разрабатываемое в рамках проекта GNU ПО свободно, не означает, что оно распространяется без лицензии и никак не защищено в юридическом смысле. Программы, разрабатываемые в рамках движения Open Source , распространяются на условиях лицензии General Public License(GPL). Если сказать очень кратко, то суть этой лицензии состоит в следующем. Программное обеспечение, распространяемое под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать или продавать другим лицам при условии, что результат такой переработки тоже будет распространяться под лицензией copyleft . Последнее условие - самое важное и определяющее в этой лицензии. Оно гарантирует, что результаты усилий разработчиков свободного ПО останутся открытыми и не станут частью какого-либо лицензированного обычным способом продукта. Оно также отличает свободное ПО от ПО, распространяемого бесплатно. Говоря словами создателей FSF , лицензия GPL "делает ПО свободным и гарантирует, что оно останется свободным".

Практически все ПО, распространяемое на условиях GPL, является почти бесплатным для пользователей (в большинстве случаев для того, чтобы получить его, Вы должны заплатить только за CD-ROM-диск с ПО или за трафик выхода в Интернет). Это не означает, что программисты перестают получать вознаграждение за свой труд. Основная мысль Р. Столлмана состоит в том, что нужно продавать не программное обеспечение, а труд программиста как такового. Например, источником дохода может быть сопровождение программных продуктов или их установка и конфигурация для внедрения на новых компьютерах и/или в новых условиях, преподавание и т. д. Хорошим вознаграждением может быть и получение автором свободных программ определенной известности, которая позволит ему в последующем получить высокооплачиваемую работу.

В рамках движения Open Source , и в частности проекта GNU, было разработано значительное количество программ, наиболее известными из которых являются редактор Emacs и компилятор GCC (GNU C Compiler) - самый лучший и по сей день компилятор языка C. Открытость исходных кодов программ оказывает очень благотворное влияние на качество программного обеспечения: все лучшее, все новые идеи и решения сразу же широко распространяются, а все ошибки замечаются и быстро устраняются. Начинает работать механизм естественного отбора, который подавлен в том варианте подхода к распространению программ, который практикуется в коммерческом ПО.

Но вернемся к истории собственно Linux. Надо сказать, что разработка Линуса Торвальдса представляла собой только ядро операционной системы. Это ядро "упало на подготовленную почву", в том смысле, что в рамках проекта GNU уже было разработано большое количество утилит разного рода. Но для превращения GNU в полноценную ОС не хватало ядра. Разработка ядра велась (оно называлось Hurd), но по каким-то причинам задерживалась. Поэтому появление разработки Л. Торвальдса было очень своевременным. Оно ознаменовало рождение операционной системы, распространяемой с открытыми исходными кодами.

Р. Столлман, конечно, прав, когда настаивает на том, что операционная система Linux должна называться GNU/Linux. Но так уж сложилось, что название ядра стало служить названием всей операционной системы, и мы в этой книге будем поступать так же.

Основные характеристики ОС Linux

В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний момент Linux - самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX. Приведем краткий список этих возможностей.

Реальная многозадачность

Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима "вытесняющей многозадачности", реализованной в Windows 95, когда процесс должен сам "уступить" процессор другим процессам (и может сильно задержать их выполнение).

Многопользовательский доступ

Linux - не только многозадачная ОС , она поддерживает возможность одновременной работы многих пользователей. При этом Linux может предоставлять все системные ресурсы пользователям, работающим с хостом через различные удаленные терминалы.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png