Москва 2010 1

PingWin Software 1

Основные принципы миграции на СПО 17

Свободное программное обеспечение (СПО) - это программное обеспечение , распространяемое на условиях так называемых открытых или свободных лицензий. Одной из них является, например, лицензия GNU General Public License (GNU GPL). Термин СПО широко распространен в России, как синоним ПО с открытыми исходными кодами (open source) и свободно распространяемого ПО (free-software). 17

К основным достоинствам СПО можно отнести: 17

Нулевую стоимость лицензий на владение продуктом (пользователь платит только за внедрение и техподдержку, если это необходимо) 17

Более низкую, по сравнению с коммерческими продуктами, стоимость внедрения и техподдержки (в большинстве случаев) 17

Возможность изменять продукт согласно своим требованиям (кастомизация, гибкая модификация) 17

Как правило, нетребовательность к клиентским ресурсам 17

Постоянные обновления продуктов, быстрое развитие систем 17

Более высокая скорость реакции на необходимость внесения исправлений, доработку систем 17

Стабильность и надежность функционирования (благодаря опыту множества команд разработчиков, гибкой модификации) 17

Пожалуй самым известным представителем СПО является операционная система (ОС) Linux. За 19 лет, прошедших с момента появления первой версии ядра этой ОС, Linux прошел путь от сложного, доступного только специалистам серверного решения, до насыщенной современными технологиями и гибко настраиваемой рабочей среды для любого пользователя. В современном мире существует большое количество различных дистрибутивов ОС Linux, развиваемых как сообществами (коммьюнити) разработчиков, так и различными компаниями и организациями. 17

Но СПО - это не только Linux. Существует огромное количество прикладных программ, в том числе и кросс-платформенных (т.е. одинаково функционирующих и под Windows и под Linux). Наиболее известным можно считать офисный пакет OpenOffice.org, получивший мировое признание как хорошая альтернатива дорогим, и далеко не всегда используемым на все 100% коммерческим решениям. 17

В настоящее время переход на свободное и открытое программное обеспечение (СПО) является не только «идеей» и методом экономии денежных средств , но и насущной необходимостью. Аналитики разного уровня признали свою ошибку в недооценивании масштаба использования такого ПО и вынуждены констатировать его бурный рост. В рамках национального проекта «Образование» также был выбран курс на постепенный отказ от закрытого ПО и переход на СПО. 17

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

Методика основана на стандартных принципах разработки и модернизации, применяемых в любой отрасли промышленности, но адаптирована для конкретных нужд. Вот ее основные шаги: 17

1.Обследование существующего положения в учебном заведении. Установка СПО и в частности Linux сопряжена с двумя трудностями - наличие не поддерживаемого оборудования (принтеры, «старые» компьютеры) и отсутствие адекватной замены или несовместимости используемого ПО (CAD системы, системы распознавания текстов и т.п.). Поэтому необходимо провести инвентаризацию имеющегося парка компьютеров и установленного на них ПО и определиться с теми компьютерами, которые вызовут проблемы при переходе. Также на этом этапе решается задача определения наличия лицензионного ПО, которое стоит на машинах, определение круга задач, решаемых с помощью данных компьютеров и техники и построение полной спецификации компьютерного парка. 17

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

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

4.Проведение обучения преподавателей и сотрудников. Для того, что бы СПО эффективно применялось в учебном процессе, стоит провести обучения преподавательского состава и ключевых сотрудников, заинтересованных в использовании новых технологий. Обучение может провести либо специалист, прошедший обучение в рамках «школьного проекта» либо представители учебных центров , имеющих курсы по СПО. 18

5.Составление плана поэтапного внедрения СПО в учебный процесс. На этом этапе требуется составит развернутый план перевода учебных классов и подразделений образовательного учреждения на СПО. Развертывание СПО должно вестись «по нарастающей», в первую очередь оно должно устанавливаться на машины, для которых анализ показал 100% безболезненную установку. Перевод хотя бы 50% из существующего парка будет уже считаться успешным началом. В последнюю очередь стоит переводить «проблемные» машины или компьютеры с предустановленными лицензионными Windows или MacOS. Также обязательно нужно предусмотреть установку отдельных серверов для репозиториев, обновлений и копий образов мастер-дисков или профилей установки. Один сервер без проблем может обслуживать всю инфраструктуру школы или вуза (до 100-150 машин). Также стоит учесть обязательное наличие подключения к интернету сервера обновлений для поддержки системы в актуальном состоянии по безопасности. 18

6.Переход. На этом этапе выполняются работы технического характера по установке и настройке СПО. Желательно, что бы установку проводил либо специалист, прошедший обучение, либо сотрудники компании, предоставляющей услуги по внедрению. 18

В 2009 году в ОУ РФ была проведена рассылка дистрибутивов ОС Linux, входящие в пакет свободного программного обеспечения (ПСПО). При наличии стабильного соединения (от 256 кбит) можно скачать и записать образ любого дистрибутива ОС, размещенных в сети Интернет в открытом доступе. Например, наиболее популярные дистрибутивы размещены на портале информационно-технической поддержки ПСПО - www.spohelp.ru. 18

Для загрузки доступны такие дистрибутивы, как: 19

ПСПО (основан на АльтЛинукс 4.0) 19

АльтЛинукс 5.0 19

НауЛинукс 5.2 19

НауЛинукс 5.3 19

EduMandriva 2010 19

Edubuntu 9.04 19

Одним из основных критериев выбора дистрибутива является совместимость с аппаратными составляющими компьютерного парка образовательного учреждения. Это можно определить только на практике – то есть попробовать выбранный дистрибутив на типовых компьютерах. Ниже даются сравнительные критерии, также играющие роль при выборе дистрибутива для машин со стандартным и поддерживаемым набором аппаратных составляющих. 19

1. Дата последнего релиза 19

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

2. Частота выхода новых версий 19

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

3. Файловая система по умолчанию 19

Файловая система Ext3 на сегодняшний день является практически стандартом в среде Linux. Поэтому мы рекомендуем использовать при установке дистрибутивов именно ее. 19

4. Дополнительные системы ограничения доступа 19

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

5. Включаемые в состав дистрибутива компоненты 19

Использование в составе дистрибутива новейших компонентов вызывает риск нестабильной работы и появление критических уязвимостей. Поэтому стоит с осторожностью устанавливать такие компоненты. 19

6. Наличие проприетарных или нестандартных компонент 19

Наличие проприетарных или нестандартных компонент показывает, что в дистрибутив может быть включено закрытое ПО, такое как драйверы для различного оборудования, например win-modem, видеокарт ATI и Nvidia, беспроводных устройств и т.д., а так же коммерческое программное обеспечение, например антивирусы DrWeb, AVP и т.п. Использование закрытых компонентов и коммерческого ПО, может поставить пользователя в зависимость от поставщика, который может диктовать ему свои условия, но одновременно и предоставляет возможность корректной работы оборудования, производители которого пока ещё не предоставляют полноценную поддержку Linux для своих продуктов. 19

7. Срок поддержки каждой версии дистрибутива 20

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

Более подробно о наиболее популярных дистрибутивах Вы можете прочитать на порталес в разделе «Продукты». 20

Перед установкой мы рекомендуем проверить работоспособность выбранной вами ОС, с помощью не требующих установки вариантов, так называемых LiveCD или LiveDVD. Скачайте образы таких дисков, например с портала www.spohelp.ru, и запишите их на носитель. Затем вам потребуется лишь перезагрузить компьютер, войти в BIOS и выбрать загрузку с CD- или DVD-привода. Операционная система загрузится с диска и позволит вам познакомиться с основными приложениями и возможностями системы. 20

После того, как вы определили, какой именно дистрибутив вы будите устанавливать, можно приступать к процессу установки. 20

Существует два варианта установки ОС Linux на компьютер: 20

Установка параллельно с другой ОС (например с Windows) 20

Установка на «чистый» компьютер 20

Рассмотрим эти варианты подробнее. 20

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

Большинство современных дистрибутивов Linux позволяют провести этот процесс на стадии установки, предлагая пользователю вариант установки на свободное место в разделе NTFS. Но вы можете воспользоваться и Windows-средствами. 20

В случае с Windows Vista это встроенные средства работы с разделами жёсткого диска, доступные через главное меню Пуск. (Администрирование → Управление компьютером → Запоминающие устройства → Управление дисками). 20

На практике, в случае отсутствия лицензионных специализированных программ, подобных Acronis и PartitionMagic, отлично себя зарекомендовала бесплатная программа BootIt™ Next Generation (http://www.terabyteunlimited.com/bootit-next-generation.htm). Это программа служит для создания загрузочных дисков и разбиения разделов. BootIt™ Next Generation была протестирована пользователями на форуме портала www.spohelp.ru и подходит для любой версии Windows. 20

Требования по минимальному размеру раздела для установки Linux желательно искать в установочной документации каждого конкретного дистрибутива, но в среднем это не менее 10ГБ дискового пространства. В дальнейшем перед установкой непосредственно дистрибутива Linux необходимо в обязательном порядке прочитать имеющиеся в сети Интернет или на установочном диске инструкции. 20

Под таким типом установки подразумевается установка ОС Linux единственной системой, занимающей все свободное пространство на жестких дисках. 20

Как показывает практика, для такой установки достаточно в BIOS выбрать установку с CD- или DVD-привода, вставить диск с дистрибутивом и следовать предлагаемым инструкциям. 20

Первоначальной настройкой сразу после установки дистрибутива является 21

1) настройка подключения к Интернет 21

2) настройка дополнительных сетевых репозиториев для установки программного обеспечения 21

3) настройка необходимой периферии 21

4) установка необходимых пакетов, которые отсутствуют на диске. 21

Наиболее распространенным типом подключения компьютера к локальной сети или сети Интернет является подключение с помощью сетевого кабеля (витой пары). Рассмотрим данный тип подключения на примере. 21

Заходим в Главное меню -- Настройка -- Центр управления системой. 21

1.В Центре управления системой выбрать пункт Сеть - > Сетевые интерфейсы. В появившейся области окна можно задать полное доменное имя компьютера. 21

2.Для ручного конфигурирования уберите галочку с пункта "Автоматически сконфигурировать все сетевые карты". 22

3.Выберите нужную карту (скорее всего она у вас одна). Для задания IP адреса вручную в поле "Параметры" пункт "Указать IP адрес вручную". 22

4.Введите в соответствующие поля IP - адрес вашей машины, маску подсети , шлюз по умолчанию (опционально), DNS серверы и сохраните настройки, нажав кнопку "Применить" 22

В примере используется Центр управления системой. Предполагается, что соединение с сетью осуществляется через обычную сетевую карту компьютера. 22

1.Открыть Центр управления системой. Выбрать Сеть → PPTP-соединения; 22

2.Создать новое соединение (кнопка "Создать") 23

3.Указать имя или адрес сервера, имя и пароль (выдаются провайдером) 23

4.В случае нескольких сетевых интерфейсов выбрать в выпадающем списке тот, который будет использоваться для соединения с сервером. 23

Для запуска и остановки соединения использовать соответствующие кнопки. Можно выбрать возможность запуска при старте системы (пункт "Запускать при загрузке"). 23

Подключение компьютера к сети Интернет через PPPoE 23

1.Открыть Центр управления системой. Выбрать Сеть → PPPoE-соединения 23

1.Создать новое соединение (кнопка "Создать соединение") 23

2.Выбрать в выпадающем списке интерфейс, который будет использоваться для соединения с сервером 23

3.Ввести имя и пароль (выдаются провайдером). Можно выбрать использование шифрования (MPPE), отметив соответствующий пункт. 23

4.В случае беспроводного соединения, если ваша беспроводная карта определилась системой, будет доступна кнопка «Настройка беспроводного интерфейса», далее точно также необходимо будет ввести нужные параметры. 23

В дистрибутиве Альт Линукс 5.0 сетевые подключения настраиваются с помощью Network Manager. Рассмотрим очередность действий по подключению. 24

1. Делаем клик правой клавишей мышки на иконке Network Manager справа на панели и выбираем в появившемся меню пункт «изменить соединения». 24

2.Далее на вкладке «проводные» выделяем щелчком мышки название «автоматическое» и далее кликаем на кнопку «Изменить». Беспроводные и мобильные соединения настраиваются в соответствующих вкладках этого окна. 24

3.В появившемся диалоговом окне выбираем вкладку «параметры Ipv4» и далее профиль «вручную» из ниспадающего списка. 24

После ввода необходимых данных в каждом из диалоговых окон становится доступной кнопка «применить», нажав на которую, мы вводим в действие введённые настройки. 25

В дистрибутиве Ubuntu Linux для управления сетевыми соединениями также используется программа NetworkManager. Она поддерживает практически все существующие типы соединений с интернетом. NetworkManager представляет из себя маленькую иконку в трее (справа сверху экрана).Нажмите левой кнопкой мыши на иконке, появится меню со списком доступных и активных подключений: 25

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

Для настройки подключений надо нажать на иконку NetworkManager правой кнопкой мыши и выбрать пункт «Edit Connections…»: 26

Откроется окно редактора соединений: 26

Попасть в редактор соединений можно так же через меню System→Preferences→Network Connections, оно же Система→Параметры→Сетевые соединения в русском варианте системы. 26

Основное окно редактора сетевых подключений содержит 5 вкладок для настройки различных типов соединений и позволяет добавлять новые и управлять существующими подключениями. 26

Wired - обычные соединения через кабель. 26

Wireless - соединения через WiFi адаптер. 26

Mobile Broadband - соединения через сети GSM|3G с использованием мобильных телефонов в качестве модемов. 26

VPN - зашифрованные соединения через VPN-туннели. 26

DSL - PPPoE и модемные соединения. 26

В принципе, настройки для каждого конкретного типа различаются не сильно , поэтому рассмотрим лишь самые распространённые подключения - обычные проводные. 26

Итак, откройте редактор соединений на вкладке Wired: 26

В списке по умолчанию содержаться автоматически созданные подключения, по одному для каждого сетевого адаптера. Надо сказать, что сетевые адаптеры, так же как и разделы винчестера, имеют в Linux вполне определенные имена: eth0, eth1 и т.д. Как видно, на компьютере из примера установлено две сетевых платы. 26

По умолчанию эти соединения настроены на самый распространенный случай, т.е. на получение IP-адреса и адресов DNS автоматически при подключении кабеля. Поэтому если вы используете именно такой способ подключения, то вам ничего не надо изменять, подключение будет установлено автоматически. 26

Чаще всего такие соединения используются при выходе в сеть через различные роутеры и прочее сетевое оборудование. 27

Если же требуется какая-либо настройка подключения, например, ручное указание IP-адреса, то вам всего лишь нужно выбрать нужное подключение из списка и нажать кнопку «Edit». Откроется окно редактирования соединения: 27

Первая вкладка содержит технические параметры, которые менять обычно не нужно. Для настройки IP-адресов перейдите на вкладку «IPv4 Settings». 27

Тут вы можете выбрать из списка способ своего подключения, чаще всего используются «Automatic (DHCP)» и «Manual»: 27

Первый подразумевает автоматическое получение IP и DNS, он выбран по умолчанию. Второй - ручное задание этих параметров. При выборе второго способа разблокируются поля настроек. 28

Необходимые значения настроек можно узнать у провайдера или же у системного администратора. Для ввода IP нажмите кнопку «Add», в списке появится новая пустая строчка, введите в каждое поле этой строчки свои параметры. Адреса DNS можно задать в одной из нижних строчек, через запятую. 28

Не забудьте после ввода всех необходимых настроек нажать на кнопку «Apply…» для их сохранения. Обратите внимание, пока вы не введёте корректные настройки это кнопка будет заблокирована. Скорее всего, для применения настроек у вас попросят ваш пароль , после его ввода вы сможете использовать изменённое соединение. Обращаем внимание на переключатель «Connect automatically» в настройках любого соединения: 28

Если он отмечен галочкой, то Ubuntu будет автоматически активировать это соединение при каждой возможности. Поясним на примере WiFi соединений. При подключении к любой WiFi сети Ubuntu автоматически создаёт новое подключение и сохраняет его в системе и при этом делает его подключаемым автоматически. Поэтому каждый раз, когда ваш компьютер будет попадать в действие этой сети, Ubuntu будет автоматически устанавливать с ней соединение, ничего у вас не спрашивая. Если вас не устраивает такое поведение, просто отключите автоподключение у нужных соединений из списка. 28

При переходе на СПО, особенно на начальном этапе возникает проблема сопряжения разных ОС в рамках одной локальной сети. В сетях, построенных на базе ОС от Microsoft, используется специальное ПО - служба каталогов Active Directory. 29

Точного аналога службы каталогов Active Directory (AD) в Linux нет, тем не менее подобный, и даже больший функционал можно реализовать совместным использованием различных программ, соединив их вместе по средствам единой системы управления. 29

В основе AD от Microsoft лежит набор стандартных протоколов. Базовые функции аналогичные AD можно реализовать по средствам использования пакетов OpenLDAP, Samba3 и протокола Kerberos. В этом случае можно обеспечить централизованное управление учетными записями и паролями пользователей которые будут храниться в базе OpenLDAP. Сервис SingleSignOn (возможность авторизироваться только один раз в момент регистрации пользователя на компьютере) обеспечивается протоколом Kerberos и функционирует аналогично Windows. Пакет Samba, реализующий протокол SMB от Microsoft, позволяет обеспечивать доступ к службе каталогов на основе ОС Linux, компьютеров под управлением ОС Windows. 29

Сервисы MS-DNS и DHCP от Microsoft легко реализовать с помощью стандартных пакетов BIND и DHCPD входящих в состав любого дистрибутива. Эти сервисы даже можно использовать вместо стандартных серверов предоставляемых AD. 29

Используя базовый функционал можно добиться реализации следующих функций: 29

1.единая база данных пользователей и паролей 29

2.возможность объединения пользователей в группы 29

3.обеспечение сервиса SingleSignOn, в частности для доступа к файловым ресурсам хранящимся на серверах по управлением Windows 2003 и прокси-серверам 29

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

5.использование перемещаемых профилей 29

6.автоматическое присвоение IP адресов и возможность привязки IP к MAC адресу 29

7.репликация и резервное копирование базы LDAP 29

8.синхронизация базы LDAP с Active Directory 29

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

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

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

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

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

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

Рассмотрим эти варианты и возникающие проблемы. 30

Проприетарное ПО 30

1. Производители проприетарного ПО под давлением СПО вынуждены резко снижать стоимость академических (учебных) лицензий на свои программы, но полностью отдавать программы бесплатно они не могут в силу своих бизнес-процессов , поэтому все эти лицензии «отдают» программный продукт в аренду на определенный срок, не давая полной свободы его распространения и изучения с модернизацией. 30

2. Большинство таких лицензий имеют ограничения следующего характера: 30

по количеству рабочих мест, 30

по времени использования, 30

по используемой версии, 30

по применимости вне учебных классов. 30

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

С другой стороны полный отказ от такого программного обеспечения может привести к неконкурентоспособности образовательного учреждения на рынке труда и более высоких ступеней образования, так как бывшие ученик или студент не будут иметь представления о наиболее распространенных проприетарных ИТ технологиях. Проприетарное ПО очень хорошо обеспечено как в методическом так и в техническом плане. 30

Свободное программное обеспечение 30

Использование СПО решает вышеперечисленные проблемы, но привносит новые. Если стоимость СПО невелика (или равна нулю), то издержки методического и технического характера могу свести на нет, при неправильном внедрении, это хорошее начинание. Рассмотрим возможные проблемы: 30

1. Отсутствие методических указаний, учебных планов и программ. 30

2. Несовместимость с частью технической базы образовательного учреждения. 30

3. Необходимость обучения специалистов 30

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

В рамках «школьного проекта» по внедрению ПСПО было проведено очное и заочное обучение более чем 75 000 учителей по всей стране. Существует большое количество дистанционных курсов, которые доступны в сети Интернет и могут быть использованы и для самообразования преподавателя и для подготовки планов занятий с учениками. 31

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

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


Какой же из предложенных вариантов стоит выбрать? Выход представляется в разумном сочетании как проприетарных продуктов, так и СПО. Например, имея четыре компьютерных класса, можно один сделать «опорой» проприетарного ПО, которое невозможно заменить на свободное, но по максимуму установить под него имеющее аналоги на Linux свободное ПО (OpenOffice.org, Gimp, Firefox и другие). А остальные классы перевести на ОС Linux. Таким образом вы экономите денежные средства, и минимизируете потери учебного процесса из-за незнакомых программ. А часть из оставшихся средств можно пустить на повышение квалификации сотрудников. 31

Как показала практика, хотя необходимость переподготовки специалистов и считается серьезным препятствием на пути внедрения СПО, на самом деле это не так. Грамотному специалисту требуется довольно небольшое время для переподготовки, поскольку основы работы с обеими ОС одинаковы. 31

Прикладное программное обеспечение 31

OpenOffice - свободный пакет офисных приложений, разработанный с целью предоставить свободную и бесплатную альтернативу Microsoft Office как на уровне форматов, так и на уровне интерфейса пользователя. Одним из первых стал поддерживать открытый формат OpenDocument. Работает на платформах Microsoft Windows, GNU/Linux, Mac OS X. 31

Вот некоторые из преимуществ OpenOffice перед другими офисными пакетами: 31


Отсутствие лицензионной платы. OpenOffice свободен для любого использования и распространяется бесплатно. Многие возможности, которые являются доступными как дополнения за отдельную плату в других офисных наборах (например экспорт в PDF-формат) свободны в OpenOffice. Нет никаких скрытых расходов сейчас или в будущем. 31

Открытые исходные тексты. Вы можете распространять, копировать, и изменять программное обеспечение столько, сколько Вы желаете. 31

Кросс-платформенность. Как говорилось в начале , OpenOffice работает на нескольких аппаратных архитектурах и под различными операционными системами, такими как Microsoft Windows, Mac OS X, ОС Linux. Это позволяет использовать типовые учебные программы по использованию офисного пакета вне зависимости от операционной системы. 31

Обширная языковая поддержка. Интерфейс пользователя доступен на более чем 40 языках и проект OpenOffice.org предоставляет орфографические словари, словари переносов и тезауруса для более чем 70 языков и диалектов. Также обеспечивается поддержка сложного форматирования текста (CTL) и языков с направлением письма справа налево (RTL) (типа хинди, иврита и арабского). 32

Совместимый интерфейс пользователя. Все компоненты имеют интуитивно понятный интерфейс, созданный для использования как новичком, так и мастером. 32

Все компоненты совместно используют общий модуль проверки орфографии и другие инструменты, которые используются одинаково во всем наборе. Например, инструменты рисования доступные в Writer также можно обнаружить в Calc, подобные, но более развитые версии в Impress и Draw. 32

Совместимость файлов. OpenOffice включает в себя возможность экспорта в форматы PDF и Flash, так же как поддержку открытия и сохранения файлов во многих распространенных форматах, включая Microsoft Office, HTML, XML, WordPerfect и Lotus 123. 32

Open Office Org Writer в Ubuntu Linux 9.04 32

Офисный пакет OpenOffice согласно решениям Правительства РФ передан в 2008 году во все школы России для обучения информатике и компьютерной грамотности в составе базовых пакетов программ лицензионного и открытого программного обеспечения. 32

Офисный пакет OpenOffice может свободно устанавливаться и использоваться в школах, офисах, вузах, домашних компьютерах, государственных, бюджетных и коммерческих организациях и учреждениях России и стран СНГ согласно лицензии GNU General Public License. 32

OpenOffice Org Calc в Ubuntu Linux 9.04 33

Несмотря на преимущества пакета OpenOffice, существуют некоторые проблемы, с которыми , возможно, придется столкнуться во время миграции: 33

Неполное соответствие отображения документов в MS Office и OpenOffice 33

Так как новые версии OpenOffice выходят постоянно, то утилиты конвертации работают все лучше и лучше. На данный момент отображение стандартных документов практически идентично. 33

Несоответствие интерфейса пользователя. 33

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

Несоответствие результатов выполнения макросов и форм. Язык макросов в пакетах MS Office и OpenOffice различается. Поэтому не всегда удается выполнить сложный макрос в OpenOffice и получить такой же результат его выполнения, как и в MS Office. 33

Совместная работа с другими программами. Часто результаты работы различных программ (например 1С) формируются в виде документов MS Office. Из-за того, что эти программы не умеют работать с OpenOffice, формирование необходимых документов невозможно. Существуют специализированные программы-трансляторы, позволяющие преобразовывать команды предназначенные для MS Office в команды OpenOffice, но они делают это не всегда корректно и реализуют не полный доступный список команд. 33

Обмен документами со сторонними организациями и пользователями. Для обмена документами, пользователям достаточно сохранять документы в формате MS Office, но в некоторых случаях возможно изменение внешнего вида документа и работоспособности макросов. Частичным решением подобной проблемы является передача документов в графическом виде, например в формате PDF. 33

Поскольку файловые системы и формат исполняемых файлов Windows и Linux являются несовместимыми, невозможно напрямую запускать приложения созданные для Windows в среде Linux. Эта проблема является глобальным и практически единственным препятствием на пути массового внедрения свободного ПО. На данный момент ОС Linux способна полностью заменить Windows в образовании, предоставляя альтернативу всем наиболее часто используемым приложениям. Помимо стандартных приложений, на рабочих станциях используется еще большое количество специфического или узкоспециализированного ПО, аналогов которого либо не существует, либо их внедрение может потребовать значительных затрат. 34

Частичным решением проблемы является использование альтернативной реализации Windows API - WINE. 34

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

С каждым днем количество поддерживаемых программ увеличивается, но поддержку всех приложений обеспечить невозможно из-за закрытости исходных кодов ОС Windows. Сейчас в базе данных 143 приложения с лидерством FineReader 8.0 PR по итогам голосования. Список работающих приложений можно посмотреть на странице http://appdb.WINEhq.org.ru/browse_by_rating.php?sRating=Platinum 34

Для запуска привычных прикладных программ, которые Вы использовали в среде ОС Windows (win-приложения), предлагаем воспользоваться средой эмуляции WINE. 34

Ниже приведена инструкция по установке и запуску win-приложения в среде WINE. 34

В роли диска С: выступает каталог ~/WINE_c (находится в домашнем каталоге). 35

Скопируйте туда дистрибутив программы и выполните команду 35

$ WINE имя_программы.exe 35

Процесс установки не отличается от аналогичного процесса в ОС Windows 35

Общее правило для запуска всех win-приложений в WINE - запускаемые файлы должны находиться в области видимости WINE, то есть на одном из логических дисков WINE или в его подкаталогах. Если программа поставляется на компакт-диске, то не забудьте должным образом смонтировать диск, прежде чем обращаться к нему из WINE. Обратите внимание, что в этом случае у вас должен быть разрешён запуск приложений с компакт-диска. Если приложение распространяется не на диске - не забудьте сначала скопировать его в область видимости WINE. 35

Запуск win-приложений производится двойным щелчком мыши на значке в любом файловом менеджере. 35

Также приложение может быть запущено с помощью команды в командной строке. Не забудьте сначала перейти в каталог с программой. 35

Для запуска exe-файлов нужно выполнить команду: 35

$ WINE программа.exe 35


Если программа предназначена исключительно для работы в среде Windows 95/98, запускайте её командой: 35

$ WINE98 программа.exe 35

Программы, поставляемые в виде msi-пакетов, а также файлы.bat и.cmd запускаются с помощью команды: 35

$ WINE start пакет.msi 35

Для запуска консольных приложений, например файлового менеджера Far, используется команда: 35

$ WINEconsole Far.exe 35

Для получения командной строки запустите 35

$ WINEconsole cmd 36

или выберите в меню программ пункт “Командная строка WINE”. 36

Запуск программ DOS (16-разрядных программ реального режима процессора), особенно сложных, в штатной виртуальной DOS-машине, имеющейся в WINE, обычно не даёт положительного результата. Рекомендуется использовать dosemu или dosbox. 36

При запуске программы в WINE на самом деле запускается не только сама программа, но и несколько вспомогательных, в частности, программа WINEserver, реализующая функции ядра Windows, и предназначенная для синхронизации различных win-программ, запущенных пользователем. 36

Некоторые win-приложения должны быть запущены как сервисы. От обычных программ сервисы отличаются тем , что не ведут диалога с пользователем, и могут выполняться незаметно. 36

При запуске сервисов следует иметь в виду, что они завершаются вместе с завершением WINEserver, поэтому следует предварительно запустить WINEserver с ключом -p, отменяющим автоматическое завершение. 36

$ WINEserver -p 36

$ WINE pssvc.exe & 36

В указанном примере программа pssvc будет запущена как сервис, причём в фоновом режиме. 36

Обратите внимание, что из-под программы mc запускать программы в фоновом режиме нельзя. 36

Как и в Windows, перед использованием большую часть win-приложений сначала потребуется установить. Установка производится обычным для Windows способом - с помощью поставляемой вместе с win-приложением программы установки. Разница в том, что в случае WINE программа будет установлена в локальном win-окружении пользователя. 36

Для установки win-приложения следует любым удобным способом запустить программу установки (чаще всего setup.exe). Дальше можно действовать по инструкции, предлагаемой поставщиком win-приложения. 36

Многие win-приложения запрашивают перезагрузку для завершения установки. Перезагружать host-систему при этом не следует. В локальном win-окружении процедуре загрузки Windows соответствует команда WINEboot - её можно вызвать из любой командной строки. Если в этот момент в WINE выполняются другие приложения, то рекомендуется их завершать до перезагрузки. 36

Для удаления win-приложения, установленного в win-окружении, следует воспользоваться программой uninstaller. Запустить её можно через меню или командой WINE uninstaller. Эта утилита выводит список установленных в win-окружении приложений (если они зарегистрированы в реестре). Чтобы удалить приложение, выберите его из списка и нажмите кнопку «Uninstall». Если в списке нет приложения, которое вы хотите удалить, то достаточно просто удалить каталог с приложением (можно воспользоваться для этого программой WINEfile, а можно - стандартными средствами host-системы). 36

Иногда приложение требует дополнительные компоненты, отсутствующие в стандартной поставке WINE. В этом случае можно обратиться к программе WINEtricks, запустив её из командной строки. Она позволяет установить различные компоненты , при этом все необходимые вспомогательные действия берёт на себя. Используйте с осторожностью, установка некоторых компонент или их сочетание может сломать работающее win-окружение. 37

Создание ярлыков для программы выполняется штатными средствами и особых отличий от создания ярлыка для Линукс-программы не имеет. 37

Рассмотрим создание ярлыка на примере программы Блокнот WINE (C:\windows\system32\notepad.exe). Для запуска программы через WINE потребуется указать полный путь к ней, поэтому при создании ярлыка нужно указать команду запуска 37

WINE "C:\windows\system32\notepad.exe" 37

Обратите внимание, что для многих программ важен текущий каталог, поэтому его следует отдельно указать в ярлыке, причём это должен быть путь в формате host-системы, то есть 37

/home/user/WINE_c/windows/system32. 37

Как правило, ярлык для программ создаётся ими самими при установке и размещается на Рабочем столе. 37

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

Для того, чтобы создать полную копию, достаточно заархивировать каталог ~/.WINE. Полученный архив можно использовать для восстановления после сбоя, либо для тиражирования установленной программы - передать архив другому пользователю, чтобы ему не пришлось выполнять те же настройки. 37

Если программ установлено много, будет достаточно сохранить только копии файлов реестра. Файлы реестра хранятся в каталоге ~/.WINE и имеют расширение.reg. 37

Если были повреждены системные файлы или реестр, вполне возможно, что переустановка не требуется, достаточно выполнить восстановление. Выберите в меню программ пункт “Восстановление WINE”. Того же можно достичь выполнением команды 37

WINE --update 37

1С:ХроноГраф Школа - система управления образовательным учреждением, основанная на базе 1С:Предприятие 7.7. С 2009 года распространяется по ограниченно свободной лицензии (свободное использование для ОУ РФ, без доступа к исходным кодам 1С:Предприятие 7.7). 37

Так как изначально 1С:ХроноГраф Школа был разработан для операционной системы Windows, то его использование в среде Linux требует использование эмулятора WINE. Подробное описание процесса установки и настройки 1С:ХроноГраф Школа вы найдете на портале информационно-технической поддержки www.spohelp.ru в разделе «Продукты». 38

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

Для обеспечения работы подобного ПО в ОС Linux также необходимо использовать эмулятор WINE. Как показывает опыт , более 50% образовательного ПО запускается и функционирует под данным эмулятором. Некоторая часть потребует дополнительной настройки и, возможно, доработки WINE. 38

Установка и настройка оборудования 38

Драйверы устройств подразделяются на те, которые можно поставить из настроенных репозиториев дистрибутива и те, которые необходимо найти в Интернете, скачать и установить самостоятельно. Также возможен вариант установки из исходных текстов. Большинство современных дистрибутивов определяют аппаратные составляющие компьютера при установке и соответственно во время установки устанавливаются необходимые драйверы, если они имеются на установочном диске с дистрибутивом. Это в первую очередь касается графических карт. В случае периферийных устройств, пользователю (администратору) остаётся только явно указать системе, какая именно периферия будет использоваться. 38

Пример: добавление принтера в систему 38

1.Универсальный способ для любого дистрибутива – через интерфейс Cups. Для этого нужно открыть браузер и зайти на адрес http://localhost:631. Откроется веб-интерфейс с необходимыми пунктами меню. 38

2.В KDE3 принтер добавляется через меню: Настройка → Принтеры (включите режим администратора), в KDE4 – запуском 38

/usr/lib/kde4/libexec/kdesu kcmshell4 system-config-printer-kde 38

2.В GNOME 2 принтер добавляется через меню: Система→Администрирование→Печать 38

Чтобы узнать, насколько хорошо поддерживается конкретный принтер в Linux, можно зайти на страничку http://www.openprinting.org/printer_list.cgi 39

Установка интерактивных досок на примере INTERWRITE BOARD и дистрибутива АльтLinux Мастер 4.0 39

1)Установить пакеты (при условии подключенных интернет-репозиториев) bc, finger и libbluez. 39

2)С сайта производителя http://www.einstruction.com/support_downloads/downloads.html скачать скрипт INTERWRITEWORKSPACE . Распакованный скрипт установки занимает 639МБ, плюс 3ГБ нужно для самого процесса установки, то есть наличие места -- главное условие успешности установки. Также при установке по умолчанию и размере каталога /tmp в 126МБ необходимо скрипт установки запускать с параметром -is:tempdir и далее указать подходящий каталог. 39

3)Выполняем сам скрипт 39

Workspace_Linux_Installer -is:tempdir /home/имя_пользователя/tmp 39

4)После установки программа появляется в главном меню 39

Юридические вопросы использования СПО 39

Что такое открытая лицензия? 39

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

В российских правовых условиях термину «лицензия» до недавнего времени соответствовало понятие «авторский договор» в терминологии закона «Об авторском праве и смежных правах» № 5351-I от 9 июля 1993 года (поскольку программа для ЭВМ с точки зрения авторского права представляет собой частный случай литературного произведения). Но в недавно принятой четвертой части Гражданского кодекса РФ (которая с 1 января 2008 года заменила собой закон «Об авторском праве и смежных правах») используется понятие «лицензионный договор» (лицензия). 39

В принципе сопровождение программы лицензией не является обязательным, по крайней мере по нормам российского законодательства: в этом случае правомерный приобретатель экземпляра будет обладать набором прав свободного пользования, включающим право установки и запуска программы на одном компьютере, но не допускающим ее копирования или модификации. Таким образом, сопровождать программу лицензией уместно в тех случаях , когда автор или иной правообладатель программы желает изменить (расширить, сократить или сопроводить дополнительными условиями) набор прав, предоставляемых законом по умолчанию. 39

Свободные лицензии объединяет то свойство, что все они предоставляют пользователю дополнительные права, связанные с обеспечением четырех ключевых свобод: 40

Права на запуск и использование программы в любых целях. 40

Права на изучение и адаптацию программы. 40

Права на копирование и распространение программы безвозмездно или за плату. 40

Права на развитие и усовершенствование программы. 40

Основные типы свободных лицензий 40

Наибольшее распространение в мире получили следующие типы свободных лицензий: 40

1. Универсальная общественная лицензия GNU (GNU General Public License, GPL). 40

GNU General Public License (универсальная общедоступная лицензия GNU, или открытое лицензионное соглашение GNU), наиболее популярная лицензия на свободное программное обеспечение, созданная в рамках проекта GNU в 1988 году. Ее также сокращенно называют GNU GPL, или просто GPL, если из контекста понятно, что речь идет именно о данной лицензии (существует и другие лицензии, содержащие слова «general public license» в названии). Вторая версия этой лицензии была выпущена в 1991 году, третья версия, после многолетней работы и длительной дискуссии - в 2007 году. 40

Цель GNU GPL - предоставить пользователю программы такие права, которые по умолчанию запрещены законом об авторских правах, а также гарантировать, что и другие пользователи всех производных (измененных) программ получат точно такие же расширенные права. Внося любые изменения в открытый программный код, разработчик обязуется в дальнейшем предоставлять свои исходные коды каждому пользователю по первому требованию. При этом авторы снимают с себя всякую ответственность за то, как будет использоваться их продукт и к каким последствиям может привести его использование. Единственное, что явно запрещается, - это закрытие исходных кодов после их модификации. 40

В этом и заключается принцип наследования прав , или копилефт. Лицензии на традиционное (коммерческое, или закрытое) ПО очень редко дают пользователю такие права, они, наоборот, стремятся их ограничить, например, запрещая восстановление исходного кода. 40

2. Программная лицензия университета Беркли (Berkeley Software Distribution, сокращенно BSD). 40

Также предоставляет право неограниченного использования в сторонних разработках, но, в отличие от GPL, позволяет в дальнейшем сделать продукт закрытым. То есть лицензия BSD налагает меньше ограничений на пользователя, чем обычный копирайт. Поэтому в некотором смысле использование этой лицензии ближе к помещению программы в категорию общественного достояния. 40

3. Mozilla Public License - MPL. 40

Используется в качестве лицензии для Mozilla Suite, Mozilla Firefox, Mozilla Thunderbird и других программ, разработанных в рамках проекта Mozilla. Она также была адаптирована другими разработчиками, в особенности Sun Microsystems, в качестве лицензии (Common Development and Distribution License) для OpenSolaris, версии Solaris с открытыми исходными кодами. 40

Исходный код, скопированный или измененный под лицензией MPL, должен быть лицензирован по правилам MPL. В отличие от более строгих свободных лицензий, код под лицензией MPL может быть объединен в одной программе с закрытыми файлами. 40

Различные части дистрибутивов программного обеспечения могут подпадать под условия различных лицензий, ситуацию также усложняет необходимость тщательной проверки пакетов, входящих в дистрибутив , на возможность использования их в рамках других лицензий. Существуют дистрибутивы, в основе которых лежит как свободное ПО, так и коммерческие компоненты, не предназначенные для свободного распространения. Такие коммерческие дистрибутивы GNU/Linux зачастую не могут свободно копироваться и распространяться. Каждая свободная операционная система сопровождается специальным лицензионным соглашением, в котором и разъясняются все права и обязанности как самих разработчиков, так и пользователей. 41

Тексты перечисленных выше лицензий находятся в свободном доступе в сети Интернет и могут быть свободно скопированы и распечатаны пользователем. В тех странах, где это не противоречит местному законодательству, свободные лицензии имеют силу без подписи и печати лицензиара - в том числе в электронном виде. Лицензия обязательно присутствует в виде ссылки на текст в коде открытого программного продукта. При покупке так называемой коробочной версии дистрибутива лицензионное соглашение будет в нее вложено в виде специально напечатанного документа. 41

Сравнение основных свободных лицензий 41

Сравниваемые условия 41

Mozilla public license 41

Требуется указывать имя автора 41
Да 41
Измененные файлы должны быть помечены 41
Нет 41
Наименование производного ПО должно отличаться от наименования продукта создателей лицензии 41
Нет 41
Производные произведения должны распространяться на условиях первоначальной лицензии 41
Нет 41
Указана территория, на которую предоставляется лицензия 41
Нет 41
Отсутствие гарантий на ПО 41
Да 41
Предоставляется право применить другую лицензию 41
не указано 41

Свободное программное обеспе́чение (СПО , англ. free software , также software libre или libre software ), свободный софт - программное обеспечение , пользователи которого имеют права («свободы») на его неограниченную установку, запуск, свободное использование, изучение, распространение и изменение (совершенствование), а также распространение копий и результатов изменения . Если на программное обеспечение есть исключительные права, то свободы объявляются при помощи свободных лицензий .

Первоначально создание программного обеспечения для компьютеров было в первую очередь академическим занятием. Для специалистов в области компьютерной науки каждая программа представляла собой результат научного исследования, в некотором смысле аналогичный публикации статьи. Это означает, что исходный текст программы был обязательно доступен всему научному сообществу, поскольку любой научный результат должен быть верифицируем, то есть подтверждаться другими исследователями и быть открытым для критики. Таким образом, процесс разработки программного обеспечения более принципиально схож с научным процессом: учёный брал существующие программы, исправлял их в соответствии со своими идеями и публиковал исправленные программы - новый результат.

Однако технология производства компьютеров развивалась не менее активно, чем программное обеспечение для них. В 1970-е годы существовало огромное разнообразие различных архитектур вычислительных машин, различавшихся также производительностью и ценой. Естественно, для каждой архитектуры приходилось разрабатывать отдельный набор программного обеспечения. С середины 1970-х в большинстве американских университетов для академических разработок использовались компьютеры архитектуры PDP-10 , что позволяло сотрудникам разных университетов использовать разработки друг друга на своих машинах. Сотрудники лаборатории искусственного интеллекта (MIT) в конце 1970-х разработали для PDP-10 собственную операционную систему ITS (Incompatible Timesharing System - несовместимая система с разделением времени) и очень большой набор программ для неё. Исходные тексты написанных в MIT программ были общедоступны, сотрудники других университетов пользовались их исходными текстами и присылали им исправления, всё программное обеспечение в этих лабораториях было полностью академическим.

Введение ограничений для ПО

В условиях огромного многообразия архитектур компьютеров программное обеспечение составляло неотъемлемую часть самой машины, причём далеко не самую дорогостоящую часть. Производители компьютеров поставляли их вместе с основным программным обеспечением - по крайней мере, [ ] с операционной системой . Производство компьютеров было наукоёмким, но в основе своей коммерческим предприятием.

В ситуации, когда [прояснить ] программное обеспечение является объектом продажи наравне с предметами обихода, на него распространяются уже не только законы научной разработки, но и свойства материальных предметов, которыми можно торговать, обмениваться, право владения и пользования которыми стоит охранять законодательно. [нейтральность? ] Так программное обеспечение попало в разряд интеллектуальной собственности: то есть исходный текст программы стал рассматриваться как произведение.

Чтобы защитить [неизвестный термин ] свои интересы, производители компьютеров и программного обеспечения используют лицензии - вид договора между обладателем авторских прав и пользователем (покупателем) программного обеспечения. Подобные договоры заключались и с университетами: например, университету передавались исходные тексты программ и право их изменять, но запрещалось распространять их за пределами университета. Подобные ограничения означали, что тексты соответствующих программ не могли открыто обсуждаться в сообществе, то есть не существовали для научной разработки. Были у компьютеров и программного обеспечения покупатели и вне академической среды - например, банки. Таким пользователям [ ] не столь важно получить исходные тексты программ, они заинтересованы в программном обеспечении как в законченном продукте и готовы платить деньги за надёжные и удобные программы.

Однако компьютеры развивались очень быстро, и бывшие вполне современными в 1970-е PDP-10 к началу 1980-х уже устарели и значительно отставали по производительности от более современных машин. Однако ни для одной из новых архитектур уже не было операционной системы и прочего программного обеспечения, разработанного исключительно в академической среде и по её правилам. Теперь университеты должны были покупать новые компьютеры с новым программным обеспечением и выполнять условия лицензии, ограничивающей их права на разработку и распространение ПО - иначе говоря, ограничивающей возможность научной модели разработки и распространения программного обеспечения.

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

Одному из сотрудников, оставшихся в лаборатории искусственного интеллекта MIT, Ричарду Столлману , такое положение дел казалось недопустимым нарушением открытого научного процесса разработки программного обеспечения. Он в одиночку пытался в рамках прежней академической модели развивать LISP-машины и открыто реализовывать изменения, аналогичные сделанным в рамках закрытой коммерческой разработки, чтобы LISP-машины MIT могли конкурировать с аналогами. Конечно, эта попытка угнаться за активной разработкой целой компании была обречена на неудачу.

Тогда в поисках единомышленников Ричард Столлман создаёт некоммерческую организацию «Фонд свободного программного обеспечения ». Своей основной целью Фонд ставит сохранение программного обеспечения, процесс разработки которого всегда будет гарантированно открытым, а исходные тексты всегда доступны. Более масштабная цель Фонда - разработка операционной системы, целиком состоящей из открыто разрабатываемого программного обеспечения. Декларируя такую цель, Столлман, фактически, хотел вернуть представлявшееся ему идеальным состояние, когда в MIT работали в собственной операционной системе для PDP-10.

Операционная система, разрабатываемая в рамках Фонда, должна была стать совместимой с операционной системой UNIX . К началу 1980-х UNIX очень широко использовался, в том числе и в академической среде. Для этой операционной системы существовало много программ, свободно распространявшихся в научном сообществе, поэтому хотелось, чтобы эти программы работали и в новой - свободной - операционной системе. Эта будущая операционная система получила название GNU .

Фонд свободного ПО в прошлом делил несвободное ПО на полусвободное (такое, которое отличается от свободного лишь запретом на коммерческое использование) и проприетарное (собственническое, англ. proprietary ) (которое не имеет всех четырёх свобод, даже если коммерческое использование разрешено); но это разделение более не используется.

Иногда к несвободному ПО относят и всё «коммерческое ПО », считая свободное ПО видом бесплатного, однако это неверно: получать выгоду от программы можно не только продажей несвободных лицензий.

Определение свободного ПО

Для того чтобы сохранить модель научного сотрудничества между разработчиками, необходимо было обеспечить, чтобы исходные тексты программ, написанные разработчиками, оставались доступными для чтения и критики всему научному сообществу с сохранением авторства произведений. Для этого Ричард Столлман сформулировал понятие свободное программное обеспечение , в котором отразились принципы открытой разработки программ в научном сообществе, сложившемся в американских университетах в 1970-е годы. Столлман явно сформулировал эти принципы, они же - критерии свободного программного обеспечения . Эти критерии оговаривают те права, которые авторы свободных программ передают любому пользователю:

  • Программу можно свободно использовать с любой целью («нулевая свобода »).
  • Можно изучать, как программа работает, и адаптировать её для своих целей («первая свобода »). Условием этого является доступность исходного текста программы.
  • Можно свободно распространять копии программы - в помощь товарищу («вторая свобода »).
  • Программу можно свободно улучшать и публиковать свою улучшенную версию - с тем, чтобы принести пользу всему сообществу («третья свобода »). Условием этой третьей свободы является доступность исходного текста программы и возможность внесения в него модификаций и исправлений.

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

Только удовлетворяющая всем четырём перечисленным принципам программа может считаться свободной программой, то есть гарантированно открытой и доступной для модернизации и исправления ошибок и дефектов, и не имеющей ограничений на использование и распространение. Нужно подчеркнуть, что эти принципы оговаривают только доступность исходных текстов программ для всеобщего использования, критики и улучшения, и права пользователя, получившего исполнимый или исходный код программы, но никак не оговаривают связанные с распространением программ денежные отношения, в том числе не предполагают и бесплатности . В англоязычных текстах здесь часто возникает путаница, поскольку слово «free» по-английски означает не только «свободное», но и «бесплатное», и нередко употребляется по отношению к бесплатному программному обеспечению , которое распространяется без взимания платы за использование, но недоступно для изменения пользователями и сообществом, потому что его исходные тексты не опубликованы. Такое бесплатное ПО вовсе не является свободным. Наоборот, свободное ПО вполне можно распространять (и распространяют), взимая при этом плату, однако соблюдая при этом критерии свободы: каждому пользователю предоставляется право получить исходные тексты программ без дополнительной платы (за исключением цены носителя), изменять их и распространять далее. Всякое программное обеспечение, пользователям которого не предоставляется такого права, является несвободным - независимо от любых других условий.

Open source software

Открытый доступ к исходным текстам программ является ключевым признаком свободного ПО, поэтому предложенный несколько позднее Эриком Реймондом термин (ПО с открытым исходным текстом) некоторым представляется даже более удачным для обозначения данного феномена, чем изначально предложенный Столлманом «free software». Столлман настаивает на различии этих двух понятий, так как слова open source указывают лишь на наличие одного, не самого важного (хотя и необходимого для реализации двух из четырёх свобод), по его мнению, из свойств, присущих свободному ПО - возможности увидеть исходный код.

Основная общественная лицензия GNU

Сообщество разработчиков и пользователей

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

Взаимопомощь

У любого пользователя программного обеспечения непременно возникают вопросы, когда он пытается применить его для решения своих задач. Пользователь несвободной (патентованной) программы платит за неё производителю, который иногда взамен предоставляет ему некоторые гарантии, одна из которых - отвечать на вопросы о работе программы. Специально для этого производитель организует службу поддержки , которая по телефону, электронной почте и другим средствам связи отвечает на вопросы пользователей.

Пользователь свободно распространяемой программы не получает вместе с ней никаких гарантий: автор сделал её исходный текст открытым для общества, но при этом не взял на себя обязательств объяснять всем, как работает программа. Хотя справедливости ради стоит заметить, что любая несвободная программа в 99 % случаях тоже поставляется «как есть» и без гарантий. Поскольку сообщество пользователей большинства программ распределено по всему миру, для организации взаимодействия в нём наиболее активные пользователи (а зачастую и сами авторы) организуют (реже - используют существующие) списки рассылки , форумы и другие средства общения в Интернете . Для накопления и рубрикации информации по программе (в частности, списков часто задаваемых вопросов (ЧаВо ; англ. FAQ - frequently asked questions), а также организации более сложных форм взаимодействия (совместной разработки, систем отслеживания ошибок) создаются веб-сайты , посвящённые программам.

Исправление ошибок

В любой достаточно сложной программе непременно имеются ошибки и дефекты, количество которых обычно неизвестно. Многие крупные производители ПО создают и оплачивают работу отдела контроля качества (QA - Quality assurance), который контролирует соответствие процесса разработки ПО определённым требованиям, выполнение которых позволяет снизить вероятность появления ошибок в ПО (например, требованиям стандарта DO-178B, который применяется при разработке ПО для авиационных систем). Тем не менее, в настоящее время отсутствуют методы, позволяющие полностью гарантировать отсутствие ошибок в достаточно сложном ПО (существуют формализованные критерии сложности ПО).

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

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

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

Диагностика ошибки, произошедшей на компьютере пользователя, - задача не из лёгких, поскольку у сотрудников службы поддержки (и тем более программистов фирмы) нет доступа к этому компьютеру. Поэтому отделами поддержки широко практикуются программы, выдающие разнообразную информацию о компьютере пользователя, а в сложных случаях и пресловутая отладочная информация (сотрудник просит пользователя прогнать программу в «диагностическом режиме» (как правило, при помощи недокументированной настройки, либо пользователю присылается отладочная версия нужного модуля) и отправить ему полученный файл отчёта).

У типичной свободной программы (то есть, некоммерческой и/или разрабатываемой небольшой компанией или частным лицом) обычно нет оплачиваемого отдела контроля качества. Значит, пользователь может столкнуться с ещё большим количеством ошибок, чем в типичной коммерческой проприетарной программе. Тем актуальнее для него возможность сообщить об ошибке разработчикам программы. Раньше в сопровождающей программу документации было принято указывать электронный адрес, по которому разработчики принимали сообщения об ошибках (bug report). Некоторые вводили стереотипную форму для таких сообщений, чтобы облегчить и автоматизировать их обработку. Уже это требует существенно более высокой связности сообщества во всём мире, существенно большей, чем достаточно для закрытой разработки.

Разработчики и контролёры‐испытатели проприетарного продукта могут ходить на службу в один и тот же офис и там обмениваться информацией или тратить определённую долю рабочего времени на составление и анализ строгих отчётностей, содержащих сообщения об ошибках и рапорты об устранении неисправностей. Такая организация труда эффективна, если круг разработчиков невелик, а ввести общую дисциплину относительно легко. Для открытого же проекта круг и взаимное расположение потенциальных разработчиков не ограничены ничем, поэтому эффективность разработки в гораздо большей степени зависит от того, насколько просто всем членам сообщества договариваться между собой, а также от «сознательности» пользователей.

Простому и упорядоченному приёму и перенаправлению сообщений об ошибках служат системы отслеживания ошибок (bug tracking system), самые известные из которых разработаны участниками больших проектов для себя, а благодаря свободным лицензиям используются повсеместно. Таковы GNUTS (разработанная в GNU), Bugzilla (Mozilla Foundation), JitterBug (проект Samba) или Debian BTS. Более ранние версии ориентируются на электронную почту, более поздние включают в себя web-интерфейс. Например, при помощи Bugzilla организуется сайт в Интернете , на котором пользователь может заполнить форму сообщения об ошибке. Каждое сообщение имеет свой номер, по которому можно попасть на «персональную» страницу данной ошибки, где отражаются все происходящие по её поводу события, от первоначального сообщения (открытия) до исправления (закрытия). При каждом изменении в состоянии ошибки Bugzilla рассылает всем заинтересованным лицам (включая, естественно, сообщившего об ошибке и занимающихся данной программой разработчиков) письма по электронной почте. Поскольку Bugzilla позволяет оставлять комментарии и прикладывать файлы, она является полноценным средством для общения пользователя с разработчиком по поводу ошибки в программе.

Принципиальное преимущество пользователя свободной программы заключается в том, что у него, в отличие от пользователей несвободных программ, всегда есть возможность заглянуть в исходные тексты. Конечно, для многих пользователей исходные тексты не более понятны, чем машинный код. Однако при достаточном уровне познаний в программировании пользователь может сам установить причину ошибки в программе, а то и устранить её, исправив соответствующим образом исходный текст. А если пользователь заинтересован в развитии программы, то с его стороны будет разумно не только сообщить автору об ошибке, но и прислать ему свои исправления к исходному тексту программы: автору останется только применить эти исправления к тексту программы, если он найдёт их корректными и уместными. Пересылать автору исправленный текст программы целиком непрактично: он может быть очень большим (десятки тысяч строк), и автору будет нелегко разобраться, что же изменено (а вдруг изменения сделаны неграмотно?).

Чтобы облегчить и автоматизировать процесс внесения исправлений, Ларри Уолл в 1984 году разработал утилиту patch («заплатка»), которая в формализованном (но хорошо понятном человеку) виде описывает операции редактирования, которые нужно произвести, чтобы получить новую версию текста. С появлением этой утилиты пользователь, обнаруживший и исправивший ошибку в программе, мог прислать автору небольшую заплатку, по которой автор мог понять, какие изменения предлагаются, и автоматически «приложить» их к своему исходному тексту. С появлением утилиты patch гораздо больше пользователей стало включаться в разработку программ с доступным исходным текстом, немалую роль и здесь сыграла сеть Usenet . В конце концов, данный способ исправления стал общеупотребительным и применяющимся не только к исходному коду программы, но и непосредственно к скомпилированному исполнимому коду в случае закрытого ПО, а слово «патч» стало нарицательным . Патчи (файлы-заплатки с исправлениями) - обязательный атрибут сегодняшней разработки любых программ любой сложности.

Если пользователю программы не хватает в ней какой-то функции, то при должной квалификации он вполне может запрограммировать её сам и включить в исходный текст программы, либо заплатить за это кому‐то ещё. Естественно, ему выгодно, чтобы его дополнение попало в «главный», авторский вариант программы (его называют upstream) и появлялось во всех последующих версиях: можно точно так же оформить его в виде патча и выслать автору. Этой возможности лишён пользователь несвободной программы, даже если он достаточно квалифицирован. Единственный способ включить в программу нужную ему функцию - обратиться к производителю (если программа проприетарная) с соответствующей просьбой и надеяться, что производитель сочтёт предложенную функцию действительно необходимой.

Чем больше у свободной программы активных пользователей, готовых вносить исправления и дополнения и делиться ими, тем надёжнее работает и быстрее развивается программа. Причём такая свободная модель отслеживания и исправления ошибок для программы, у которой тысячи активных пользователей, может оказаться гораздо более эффективной, чем у любой проприетарной программы: ни одна компания не может себе позволить такой огромный штат сотрудников в отделе контроля качества. Поэтому действительно популярная свободная программа может оказаться гораздо надёжнее проприетарных аналогов.

Написать большую программу в одиночку довольно сложно и даже не всегда возможно, особенно если автор занимается этим в свободное от работы время. Большинство современных свободных программ пишется группой разработчиков. Даже если начинал писать программу один человек и она оказалась интересной, к разработке могут присоединиться активные пользователи. Чтобы они могли не только вносить отдельные исправления, но и вообще всю разработку вести совместно, нужны специальные инструменты. Помимо патчей, для организации совместной разработки ПО применяются системы управления версиями . Функции системы контроля версий состоят в том, чтобы организовать доступ к исходным текстам программы для нескольких разработчиков и хранить историю всех изменений в исходных текстах, позволяя объединять и отменять изменения и пр. Самая ранняя свободная система управления версиями - RCS - использовалась ещё на заре свободного ПО абонентами сети Usenet, затем на смену ей пришла более развитая CVS , но сегодня и она считается во многом устаревшей и всё чаще заменяется Subversion , Git и другими.

Нужно заметить, что преимущества свободной разработки для пользователя не следует преувеличивать. Не все свободные программы в равной степени доступны для изменения пользователям, и это совершенно не связано с лицензией на их распространение. Важный фактор здесь - объём программы: если в ней десятки тысяч строк (как, например, в OpenOffice.org), то даже квалифицированному пользователю потребуется слишком много времени, чтобы разобраться, что к чему. Рассчитывать же на то, что разработчики ответят на все замечания и предложения пользователя немедленным исправлением программы, тоже нельзя, поскольку они не несут перед пользователем никаких обязательств по качеству программы. В этом отношении пользователь проприетарной коммерческой программы может оказаться в лучшем положении (хотя обязательства её разработчика обычно также обусловлены лишь законами, а не его волей).

Очень многие свойства сообщества разработчиков и пользователей свободных программ проистекают из того, что все его участники обычно занимаются этой программой из интереса или потому, что эта программа - необходимый для них инструмент (например, зарабатывания денег или по другой причине). Время, потраченное ими на программу, не оплачивается, поэтому нет никакой надежды, что обстоятельства не переменятся и разработка не прекратится вовсе. Нередки случаи, когда разработка программы начинается благодаря одному автору-энтузиасту, который привлекает многих к участию в разработке, а потом энтузиазм лидера гаснет, а вместе с ним затухает и разработка. Сегодня существуют тысячи программ, так никогда и не достигших версии 1.0, хотя «выгорание» лидеров и не единственная этому причина. Кроме того, программа может быть необходимой, но «неинтересной», а потому не найдётся и свободных разработчиков.

Место свободных программ на сегодняшнем рынке ПО очень значительно, и многие коммерческие и государственные предприятия используют свободное ПО прямо или опосредованно. Собственно, опосредованно все пользователи Интернета задействуют, например, свободную программу BIND , предоставляющую службу DNS . Многие организации, особенно предоставляющие услуги через Интернет, используют свободный web-сервер Apache , от работы которого непосредственно зависит их прибыль, не говоря уже о серверах на платформе Linux . Главный недостаток с точки зрения коммерческого пользователя: разработчики свободных программ не несут никаких обязательств по качеству программы, кроме моральных. Поэтому, сегодня большие корпорации, например, Intel или IBM , находят необходимым поддерживать проекты по разработке свободного ПО, оплачивая сотрудников, которые работают в рамках этих проектов.

Философия

В европейской культуре долго вырабатывались правила собственности по отношению к материальным ценностям. И вполне логично, что эти правила были распространены на ценности нематериальные - в том числе и на программные продукты, когда они начали представлять самостоятельную ценность. [нейтральность? ] Однако, у программных продуктов есть принципиальное отличие от материальных объектов - их можно легко копировать. Создание же копии материального продукта часто почти равно затратам на создание оригинала.

Из-за указанного различия для ПО не действует принцип «пользоваться вещью одновременно может только один человек» (и использование её кем-то другим автоматически наносит первому ущерб из-за неполучения блага от неё), по причине которого и существует понятие «хозяин». Поэтому попытка и тут действовать по этому принципу - закреплять право использования программы за одним каким-то человеком - интуитивно воспринимается как противоречащая природе вещей. Неудивительно, что возникает множество неурядиц, каждую из которых приходится решать искусственными, а зачастую и противоестественными методами.

Классическим таковым методом является де-юре сохранение прав на ПО за производителем, который как бы дает ПО своим пользователям во временное пользование. В этом случае использование нелицензионного ПО по сути приравнивается к концепции права англоязычных стран, известной как theft of services. Но эта концепция не имеет аналогов в иных национальных культурах, например, российской, и именно по причинам, приведенным на 2 абзаца выше (хозяин не лишается возможности использования вещи, что и есть главное негативное последствие кражи). В российском праве theft of services любых видов есть не более чем административное правонарушение, при этом за нелицензионное ПО предусмотрена уголовная ответственность, что звучит диссонансом в российской культуре.

Но иногда, например, приходится симулировать «ущерб из-за неполучения блага», который «наносится» «хозяину» программы при её безущербном копировании или возврате денег при обнаружении ошибок и дефектов в программах. Обычно это - «упущенная выгода», то есть та прибыль, которую хозяин мог бы получить, но не получил из-за того, что продукт скопировали. Приходится изобретать хитроумную аппаратуру , мешающую копированию или причиняющую при этом ущерб. Приходится вводить в законодательство особую категорию прав - условно назовём её «патент» - ограничивающую злоупотребления - и свободу - всего человечества в пользу хозяина патента. Причём далеко не всегда хозяин патента и автор изобретения - один и тот же человек (в таких случаях противоестественность данных мер лишь усугубляется).

Существует и точка зрения противников вышесказанного. Так, например, последовательная легализация theft of services означает бесплатность всех услуг, что означает скорее всего содержание всей этой сферы госбюджетом, а в таковом случае, во-первых, за услуги платят все налогоплательщики из своих налогов, причем без рыночного механизма влияния потребителя на производителя («кушай что дают»), во-вторых, это отвлекает госсредства от задач национальной важности, в-третьих, отсутствие рыночной конкуренции приведет к нивелированию качества всех услуг к некоему дешёвому и не очень качественному минимуму (возможно даже возложение части оказания услуги на потребителя в виде «доделай сам»). Все то же самое относится и к идее тотальной бесплатности всего ПО.

Несвободные программы называют «проприетарными » (от англ. proprietary ) или «собственническими». Иногда их неправильно называют просто «коммерческими », что неверно: получать выгоду от программы можно различными способами и многие успешные свободные проекты это подтверждают.

Миграция на свободное ПО

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

Распространённость свободного и открытого ПО

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

СПО активно используется в Интернете. Например, самый распространённый веб-сервер Apache является свободным, Википедия работает на MediaWiki , также являющемся свободным проектом.

СПО используется в Министерстве юстиции Бельгии, в котором уже половина компьютеров работает под управлением Linux , и полицией Франции, которая к 2014 году планирует полностью перейти на Ubuntu Linux . О переходе на программное обеспечение с открытым исходным кодом объявило также Патентное ведомство Нидерландов. Перевести все компьютеры этого учреждения на свободное ПО планируется до конца 2009 года .

Программа перехода на СПО была успешно реализована в Мюнхене . Аналогичная программа имела место в Берлине , но впоследствии было принято решение использовать гибридную инфраструктуру из коммерческого и свободного программного обеспечения.

Свободное программное обеспечение в России

Свободное программное обеспечение, в любом случае, может свободно устанавливаться и использоваться на любых компьютерах. Использование такого ПО свободно везде: в школах, офисах, вузах, на личных компьютерах и во всех организациях и учреждениях, в том числе, и на коммерческих и государственных, в России и в странах СНГ .

В учреждения Министерства Обороны России, а также в российских посольствах в других странах используется операционная система МСВС . Данная ОС, сделанная на основе Red Hat Linux с незначительными изменениями, не является свободным ПО, её исходные коды закрыты.

В начале 2012 года около 22 тыс. рабочих мест в поликлиниках Москвы планировалось [

    Понятие системного программного обеспечения и прикладного программного обеспечения. Отличие СПО и ППО. Кольцевая схема вычислительной системы.

Систе́мное програ́ммное обеспе́чение - это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя.

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

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

    Основное СПО и СПО сервиса. Примеры.

Основное (базовое) СПО поставляется вместе с компьютером и обеспечивает его работоспособность. В состав Базового СПО входят

    BIOS – «базовая система ввода-вывода» - реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для предоставления операционной системе API для доступа к аппаратуре компьютера и подключенным к нему устройствам.

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

    Операционная оболочка – интерпретатор команд ОС, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).

    Сетевые программные средства.

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

Это набор сервисных, дополнительно устанавливаемых программ, которые можно классифицировать по функциональному признаку следующим образом:

    Драйверы – это специальные программы, обеспечивающие взаимодействие ОС с аппаратными устройствами.

    Программы диагностики работоспособности компьютера позволяют проверить конфигурацию ПК, выявить дефекты дисков и предотвратить потерю данных, хранящихся на дисках.

    Антивирусные программы – это программы, для обнаружения, удаления и защиты от компьютерных вирусов.

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

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

    Программы обслуживания сети .

    Понятие операционной системы. Функции ОС.

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

Функции :

    Управление работой каждого блока ПК и их взаимодействием.

    Управление выполнением программ.

    Организация хранения информации во внешней памяти.

    Взаимодействие пользователя с компьютером, то есть поддержка интерфейса пользователя.

    Обзор современных ОС. Классификация.

Операционные системы различаются особенностями реализации алгоритмов управления ресурсами компьютера, областями использования.

По способу управления различают ОС:

    Неграфические ОС (командные) предполагают ввод пользователем команд с клавиатуры в поле командной строки. (MS DOS)

    Графические ОС (объектно-ориентированные) где весь экран доступен для управления, основное средство управления - мышь. (Windows)

По числу одновременно выполняемых задач ОС делятся на:

    Однозадачные - способны выполнять в одно и то же время не более одной задачи. (MS DOS)

    Многозадачные - позволяют запустить одновременно несколько программ, которые будут работать параллельно. (Windows, OS/2, UNIX)

По числу одновременно работающих пользователей на ЭВМ ОС делятся на:

    Однопользовательские – предназначенные для обслуживания одного клиента. (MS DOS)

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

    Понятие ресурса вычислительной системы. Виды ресурсов ВС.

Ресурс – всякий объект, который может распределяться внутри системы.

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

Вычислительная система обладает четырьмя ресурсами:

    Информация (данные и программы).

    Процессор.

  1. Внешние устройства.

    Функции управления ресурсами.

Функции управления:

    Отслеживание состояния.

    Решение о выделении ресурса.

    Выделение ресурса.

    Освобождение ресурса.

    Понятие процесса. Управление процессами. Способы диспетчеризации процессов.

Процесс – часть задания, которая выполняется на отдельном устройстве.

Существуют 2 вида процессов:

    Процессы вычислений – быстрые процессы, развиваются на процессоре.

    Процессы ввода-вывода – медленные процессы, развиваются на внешних устройствах.

Функции управления :

1. Отслеживание состояния занятости процессора каким-либо процессом (какое время и в каком режиме);

2. Решение о выделении времени процессора какому-либо процессу на основе какой-либо стратегии;

3. Выделение процессорного времени;

4. Освобождение процессора от процесса.

Диспетчеризация – задача динамического кратковременного планирования (тактика).

Способы (диспетчеризации): обычно создаются очереди процессов:

    FCFS – прямая очередь.

2) SJN – Для каждого задания должны быть определены потребности во времени процессора. Только одна очередь – очередь процессов, готовых к выполнению, т.е. те задания, которые были заблокированы по вв/выв, снова помещаются в очередь наравне с новыми.

3) SRT -следующее задание требует меньше времени.

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

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

    Управление памятью.

Существует 7 основных стратегий распределения ОП:

    Одиночное распределение

Идея: вся доступная память выделяется одному заданию (процессу).

Область, не занятая ОС будет выделена заданию пользователя; если объем доступной памяти больше объема задания, то появится фрагмент.

    Распределение разделами

Идея: Разделить область доступных адресов ОП на куски – разделы. Каждый раздел содержит адресное пространство только одного задания целиком.

Различают статическое и динамическое распределение.

Статическое – выделяется раздел, а потом поступает задание.

Динамическое – сначала поступает задание, а потом выделяется раздел.

    Выделение перемещаемыми разделами

Идея: Выделять для выполнения задания разделы и перемещать их для того, чтобы освободить требуемый объем ОП и получить смежное пространство адресов для размещения очередного задания.

    Страничное выделение

Идея: Разбить адресное пространство задания и физической ОП на куски одинакового постоянного размера, которые называются страницами и блоками соответственно.

    Страничное выделение по запросу

Идея: Размещать в ОП только те страницы, которые необходимы в данный момент, а все остальные подгружать в ОП из внешней памяти по запросу.

    Сегментное распределение

Идея: Разбить адресное пространство задания на логически законченные куски переменного размера, называемые сегментами. ОП будет выделяться под сегмент.

Преимущества

Недостатки

1. Отсутствие фрагментации

1. Возможно явление «пробуксовки»

2. Реализация ВП, но сегмент должен загружаться целиком

2. Существует ограничение на размер сегмента (он должен быть меньше доступной ОП)

3. Совместное использование сегментов

5. Динамическое расширение сегментов

6. Управляемый доступ к сегменту

    Странично-сегментное распределение

Идея: Адресное пространство задания разбивается на логически законченные сегменты, а сегменты разбиваются на куски фиксированного размера – страницы. Страницы получают блоки физической памяти.

    Устройства. Виды устройств. Драйверы устройств.

Устройство - искусственный объект, имеющий внутреннюю структуру, созданный для выполнения определённых функций.

Устройства ввода: клавиатура, мышь, микрофоны, сканеры, графические планшеты.

Устройства вывода: мониторы, колонки, принтеры, плоттеры, виртуальные манипуляторы.

Драйвер устройства – программа ОС для управления работой периферийных устройств: дисководами, дисплеем, клавиатурой, мышью, принтером.

Функции драйвера устройств:

    Прием и обработка запроса, который поступает к данному периферийному устройству.

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

    Обработка сигнала прерывания, который поступает от соответствующего этому драйверу периферийного устройства.

    Понятие виртуальности. Понятие логического диска.

Виртуальное устройство – моделирование одного физического устройства в несколько логических.

Достоинства и недостатки:

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

–: дополнительная схема управления.

Логический диск или том - часть долговременной памяти компьютера, рассматриваемая как единое целое для удобства работы. Термин «логический диск» используется в противоположность «физическому диску», под которым рассматривается память одного конкретного дискового носителя.

Для операционной системы не имеет значения, где располагаются данные - на лазерном диске, в разделе жёсткого диска, или во флеш-памяти. Для унификации представляемых участков долговременной памяти вводится понятие логического диска.

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

    Понятие файловой системы. Способы реализации (примеры).

Файловая система – набор соглашений, определяющих организацию данных на носителе информации.

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

Наиболее распространенные способы выделения дискового пространства: непрерывное выделение, организация связного списка и система с индексными узлами.

Файловая система часто реализуется в виде слоеной модульной структуры. Нижние слои имеют дело с оборудованием, а верхние с символическими именами и логическими свойствами файлов.

Файловая система определяет :

    Как хранятся файлы и каталоги на диске.

    Какие сведения о файлах и каталогах хранятся.

    Как можно узнать, какие участки диска свободны, а какие – нет.

    Формат каталогов и другой служебной информации на диске.

    Трансляторы. Функции. Варианты построения.

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

Функции:

    Трансляция мнемонических кодов операций в их эквиваленты на машинном языке.

    Присваивание символьным именам соответствующие им машинные адреса.

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

Варианты построения:

Недостаток – трудно реализовать ссылки вперед. Для реализации таких ссылок необходимо размещать сегмент данных в самом начале программы, то есть сначала определение имен, а затем их использование. Существует два типа таких ассемблеров:

а) Ассемблер записывает объектную программу непосредственно в оперативную память для немедленного использования.

б) Ассемблер создает объектную программу, которая будет использоваться позднее.

    Компиляторы. Функции. Отличие от трансляторов. Варианты построения.

Компилятор – программа, преобразующая исходный текст на языке высокого уровня в объектный код.

Функции :

    Просмотр исходного текста, распознавание и классификация различных лексем (лексический анализ).

    Разбор каждого предложения как некоторой конструкции языка (синтаксический анализ).

    Генерация объектного кода.

Компиляция – поиск соответствия конструкций входного потока структурам, определенным грамматикой и генерация соответствующего кода для каждого предложения.

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

Системное программное обеспечение (System Software ) − это программы и программные комплексы для работы компьютера и телекоммуникационного оборудования. System Software выступает в роли «переводчика-синхрониста» между приложением пользователя и непосредственно с аппаратным обеспечением. По одной из классификаций к системному ПО относится только служебное (сервисное) программное обеспечение, по другой классификации СПО – это двухуровневое программное обеспечение, которое состоит из базового ПО и сервисного.

Возможно ли отнести то или иное программного обеспечения к системному, зависит от соглашений, которые были прописаны в конкретном контексте. Будем придерживаться второй точки зрения (более распространённой), когда к системному программному обеспечению (СПО) относят и базовое программное обеспечение (не путать с BIOS), и сервисное. Это операционные системы, оболочки, утилиты, драйверы, системы программирования, системы управления базами данных, связующее программное обеспечение.

СПО служит:

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

Системное программное обеспечение «организует» работу всех компонентов компьютера, а также подключенных к нему периферийных устройств.

Замечание 1

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

Обычно СПО подразделяется на базовое и сервисное.

Базовое программное обеспечение. Сюда входят:

  • операционная система (ОС) и драйверы в её составе;
  • операционные (интерфейсные) текстовые и графические оболочки для взаимодействия пользователя с ОС, а также системы управления файлами;
  • сетевая операционная система, которая предоставляет пользователям различные виды сетевых служб (электронная почта, управление файлами, процессы управления сетью и др.).

Сервисное программное обеспечение − программы и программные комплексы, которые дают больше возможностей базовому ПО и организуют пользователю более удобную среду для работы. Такие программы часто называют утилитами (кроме антивирусов, к ним этот термин не применяется).

Рисунок 1.

Определение 1

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

Основное назначение утилит − автоматизация работ по проверке, наладке и настройке компьютерной системы.

Этот набор сервисных, дополнительно устанавливаемых программ, можно классифицировать следующим образом (по функциональному признаку):

  • драйверы специфических и специальных устройств (не поставляются в составе ОС);
  • мониторы установки, они предназначены для контроля над установкой ПО;
  • средства контроля (мониторинга), позволящие следить за процессами, которые проходят в системе;
  • средства диагностики работоспособности компьютера; они используются и для оптимизации работы компьютерной системы, и для устранения неполадок, например, утилита «Дефрагментация диска» позволяет данные, которые принадлежат одному файлу и находятся в разных сегментах диска, объединить в одной непрерывной области данных;
  • средства обеспечения компьютерной безопасности, это средства активной и пассивной защиты данных от какого-либо повреждения, несанкционированного доступа, просмотра и/или изменения данных:
    • o средства активной защиты − антивирусные программы, они необходимы, чтобы обеспечить защиту компьютера, обнаружить и восстановить зараженные файлы;
    • o средства пассивной защиты - программы обслуживания дисков, они обеспечивают контроль сохранности файловой системы на логическом и физической уровнях, проверяют качество поверхности магнитного диска, создают страховые копии дисков, резервируют данные на внешних носителях, выполняют сжатие дисков и т. д.
  • программы архивирования данных, предназначены для создания архивов, что упрощает хранение файлов за счёт уменьшения объема памяти. Наиболее известные архиваторы WinZip, WinRAR, 7Zip;
  • диспетчеры файлов, которые нужны для выполнения большинства операций, связанных с обслуживанием файловой системы: осуществляют навигацию в файловой структуре, создают каталоги (папки), производят удаление файлов и каталогов, копируют, перемещают и переименовывают файлы, выполняют поиск файлов. Наиболее популярные для ОС Windows − Total Commander (бывший Windows Commander) и FAR Manager, для Linux − Midnight Commander;
  • программы обслуживания сети. Это средства коммуникаций, которые позволяют установить связь с удалёнными компьютерами, участвовать в работе телеконференций, обслуживают передачу сообщений электронной почты и т.д. Базовое программное обеспечение, как правило, приобретается вместе с компьютером, а сервисное ПО может быть приобретено дополнительно.

Другая классификация системного программного обеспечения

В СПО традиционно включают:

  • системные управляющие программы,
  • системные обрабатывающие программы.

Системные управляющие программы организуют правильную работу всех устройств системы. Это, как правило, резидентные программы (находятся в основной памяти), которые составляют ядро ОС. Управляющие программы, которые загружаются в память непосредственно перед выполнением, называются транзитными (transitive).

Основные функции системных управляющих программ − управление вычислительными комплексами, управление вычислительными процессами и работа с внутренними данными ОС.

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

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

Компьютеры - наши неотъемлемые спутники жизни вот уже второй десяток лет. С их помощью люди развлекаются и работают, общаются с друзьями по всему миру. К сожалению, далеко не все пользователи представляют себе принципы работы с компьютером.

В частности, они редко задумываются о важности СПО. Это Что подразумевается под этим понятием и в чем важность этих программ? Раскрытию этого вопроса и посвящена данная статья. Кроме того, нами будет рассмотрена существующая на сегодняшний день классификация системного программного обеспечения.

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

Введение в тему

Исторически сложилось, что все используемые нами программы подразделяются на два класса:

  • Системные приложения (СПО - это основа любой операционной системы).
  • Прикладные программы.

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

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

Что же входит в понятие СПО? Это программы, предназначенные для созданные для взаимодействия пользователя и компьютера (DE - графические оболочки), а также специализированные системы сбора и обработки информации. Последние используются (в том числе) на борту самолетов и боевых машин.

Драйверы и прочее

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

Таким образом, системным программным обеспечением (System Software) можно называть комплекс программ и интерфейсов, которые служат для управления и взаимодействия компьютера с человеком. Главное их назначение - перевод машинных средств отображения и анализа в более привычные всем нам текстовые или графические формы. Состав СПО (в отличие от прикладных утилит) практически никак не зависит от конкретных задач, решаемых пользователем на компьютере.

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

Для чего нужно системное ПО

А сейчас подробнее разберемся с назначением программ такого типа. Итак, их основные функции:

  • Они создают среду, в которой работают прикладные утилиты (ОС).
  • Обеспечивают упрощение и автоматизацию разработки новых приложений.
  • Максимизируют точность и результативность взаимодействия между компьютерами в локальных и глобальных сетях.
  • Диагностируют (и ремонтируют) различные сбои программного характера.
  • Ответственны за выполнение вспомогательных операций (копирование, архивирование, передачу данных).

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

Базовые знания и навыки

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

Как мы уже и говорили, их применение носит системный характер, который не меняется практически никогда. А потому к разработке СПО предъявляются особенно жесткие требования.

Классификация системного программного обеспечения

Традиционно в этом классе выделяют следующие разновидности программ:

  • Управляющие компоненты.
  • Компоненты анализа, обработки и передачи информации.

Как несложно понять, управляющие программы синхронизируют основные процессы, позволяя корректно функционировать всем устройствам компьютера. Их основные функции следующие:

  • Непосредственное управление всеми вычислительными мощностями системы.
  • Работа с данными, необходимыми для ее функционирования.

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

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

Другой вариант классификации

Очень часто специалисты говорят, что программное обеспечение компьютера должно подразделяться на базовое и сервисное. К базовому относятся те программы, которые обеспечивают само функционирование компьютера. Соответственно, к системному программному обеспечению относятся:

  • Сами операционные системы и драйвера в их составе.
  • Графические оболочки (DE) и прочие среды для выполнения программ.
  • Файловые менеджеры.

ОС как комплекс СПО

Продолжаем рассматривать системное программное обеспечение. Операционные системы являются его неотъемлемой частью.

Вообще, сама ОС может быть представлена как комплекс системных программ, которые отвечают за получение, обработку, использование информации и управление всеми системными устройствами. С одной стороны, ОС выступает в роли «прокладки» между пользователем и его компьютером, с другой стороны, отвечает за как можно более эффективное использование как программной, так и аппаратной начинки последнего.

В литературе ОС называется также базовое системное программное обеспечение. Почему принята такая терминология, мы рассмотрим ниже.

Управление файлами - важнейшая функция СПО

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

Важно! Файловые системы и файловые менеджеры сами по себе не существуют, так как их разрабатывали под конкретные операционные системы и для решения определенных задач. Таким образом, некоторое количество специалистов сходится во мнении, что к системному программному обеспечению относятся и эти приложения.

Но есть несколько фактов, которые предопределяют отношение к такого рода программам с точки зрения самостоятельных средств управления информацией:

  • Многие операционные системы (причем уже давно и практически все) могут одновременно (!) работать практически со всеми файловыми системами.
  • Некоторые примитивные (но все же могут вообще обходиться без подобных приложений.

Что такое сервисное СПО

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

  • Драйверы устройств, которые не закладываются в состав ОС на этапе ее создания.
  • Программы для самодиагностики компьютера, которые избавляют пользователя от необходимости самому находить причину ошибок и сбоев.
  • Как ни странно, но антивирусное ПО также подходит под определение «сервисного». Отметим, что так было далеко не всегда.
  • Приложения для обслуживания жестких дисков позволяют копировать и архивировать информацию, безвозвратно удалять или восстанавливать данные, оптимизировать процесс записи файлов на диск.
  • Встроенные программы архивации, позволяющие значительно уменьшить занимаемое информацией пространство.
  • Утилиты для управления сетевыми ресурсами и самой сетью.

Частенько этот класс программ называют системными утилитами. Сразу отметим, что антивирусные программы так не называют. Сегодня широко известны средства от Symantec, Touch Stone, а также других крупных компаний, которые поставляют программное обеспечение. для некоторых случаев мы рассмотрели, но остаются нераскрытыми некоторые вопросы.

СПО для работы с сетевыми протоколами

Как можно понять из названия, эти системные приложения ответственны за доступ к Сети. Отметим, что все нижеизложенное более относится к тем системам, которые предназначены для выполнения каких-то специфических действий (файл-сервер, почтовый сервер). Чтобы обновить программное обеспечение такого порядка, нередко приходится разрабатывать новые версии операционных систем.

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

Кстати, IE и Firefox, Opera и Google Chrome - тоже клиенты, работа которых основана на изложенном только что принципе.

и выполнения программ

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

Специалисты говорят, что для данного случая в системное программное обеспечение входят:

  • Средства для набора и редактирования текста.
  • Транслятор или интерпретатор (для простейших языков).
  • Редактор связей, также называемый компоновщиком.
  • Отладчики.
  • Полные прикладные библиотеки для выполнения программы.

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

Что такое трансляторы

Так как это определение понятно далеко не всем, рассмотрим данный вопрос несколько подробнее.

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

Все приложения такого класса делятся на компиляторы и интерпретаторы. Первые сразу же переводят исходный модуль в машинный текст. Интерпретатор же не только выполняет переноску, но и тут же пробует протестировать программу. Исходя из этого, у него есть один громадный недостаток: медленное выполнение программы. Именно поэтому используются такие средства только в среде самых простых и примитивных языков, которые применяют для обучения основам программирования.

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

Отладчик и прочие компоненты

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

  • Возможность пошагового выполнения загруженного объектного модуля, с постоянным выведением результатов.
  • Остановка в заданных разработчиком точках.
  • Если есть такая необходимость, отладчик может полностью остановить программу в заранее заданной точке.
  • Отображение всех используемых переменных.

Выводы

Итак, подведем итоги. Получается, что в системное программное обеспечение входят следующие компоненты:

  • Непосредственно ОС (операционные системы).
  • Графические оболочки (DE) и среды выполнения программ.
  • Файловые менеджеры и прочие средства управления файлами.
  • Средства для разработчиков.
  • Все сетевые утилиты.
  • Некоторые прикладные программы.

Вот мы и рассмотрели состав системного программного обеспечения.

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

  • Next

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

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

      • Next

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

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