Тарифы Услуги Сим-карты

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

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

База

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

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

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

Начнем разбор вопроса о том, что такое программное обеспечение, с его классификации.

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

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

В этом классе можно выделить два важных подраздела:

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

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

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

Для компьютера

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

В инструментальном ПО можно выделить три подгруппы:

  • языки и системы программирования;
  • интегрированные среды программирования;
  • программные комплексы.

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

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

Для пользователя

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

  • Процедурно-ориентированные языки программирования - это специализированное программное обеспечение. Примеры - Паскаль (Pascal), Бэйсик (Basic). Эти простейшие языки программирования служат для написания элементарных прикладных программ, функций и процедур. А также, для описания алгоритмов решения поставленных задач.
  • Проблемно-ориентированные языки - позволяют решать задачи в более узких конкретных областях программирования, их примерами можно назвать - Лисп, АПЛ.
  • Объектно-ориентированные языки - более современные и удобные средства для создания прикладных приложений и создающие различные виды программного обеспечения для конечного пользователя. Главной их особенностью является возможность делать готовые элементы приложения, такие как диалоговые окна, поля для заполнения, кнопки. Для иллюстрации можно назвать такие языки, как С++ и Visual Basic.

С чем мы работаем

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

  1. Пожалуй, самая распространённая категория приложений - это мультимедиа. Т. е. программы воспроизведения видео, аудио, игры. Всё то, что служит для развлечения конечного пользователя. Таким образом, одно из величайших изобретений человечества из рабочего научного инструмента превратилось в средство развлечения широкой публики.
  2. Информационно-поисковое ПО. Как понимаете, это различные браузеры и клиенты интернет-технологии, предназначенные для получения информации из мировой сети.
  3. Общего назначения. Это виды программного обеспечения, используемого в обычной жизни исключительно по необходимости. Это графические и текстовые редакторы, почтовые сервисы, базы данных.
  4. Проблемно-ориентированное. Например, экспертные системы или системы аудио- и видеоконференций.
  5. Программные среды профессионального уровня. Это бухгалтерские и педагогические системы, системы контроля управления доступа.

Наглядный пример

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

  • 1C Бухгалтерия. Яркий пример профессионального ПО, служащего для работы с бухгалтерией, правовой областью и ещё множеством поддерживаемых и смежных областей.
  • Microsof Office Word. Самый понятный и доступный пример ПО общего назначения. Практически каждый в своей жизни запускал этот пакет программ для составления резюме, реферата или отчета.
  • Microsof Office Access. Простейшая реализация базы данных, также являющееся ПО общего назначения.
  • О категории мультимедиа слышали все. Это всем известный Windows Media Player, способный проигрывать как аудио-, так и видеофайлы.
  • Photoshop - очередной пример ПО общего назначения. Являясь профессиональным графическим редактором, используемым во многих полиграфических фирмах, также относится к программной среде профессионального уровня.
  • Если говорить о ПО общего назначения, то с ним сталкивался каждый человек, хоть раз запускавший компьютер. Это всем известный Windows.

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

Инсталляция

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

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

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

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

Творение

Разработка программного обеспечения проходит в несколько этапов.

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

Выводы

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

Технология поиска Web-страниц

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

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

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

Большинство поисковых систем ищут информацию на сайтах Всемирной паутины, но существуют также системы, способные искать файлы на , товары в интернет-магазинах, а также информацию в группах новостей Usenet.

Первой поисковой системой для Всемирной паутины был «Wandex», уже не существующий индекс. При помощи специальной программы «World Wide Web Wanderer» автоматически или по заданному расписанию выполнялись какие-либо действия через те же интерфейсы, что и у обычного пользователя. Разработан Мэтью Грэем (англ. Matthew Gray) из Массачусетского технологического института в 1993. Также в 1993 году появилась поисковая система «Aliweb», работающая до сих пор.

Первой полнотекстовой (т. н. «crawler-based», то есть индексирующей ресурсы при помощи робота) поисковой системой стала «WebCrawler», запущенная в 1994. В отличие от своих предшественников, она позволяла пользователям искать по любым ключевым словам на любой веб-странице - с тех пор это стало стандартом во всех основных поисковых системах. Кроме того, это был первый поисковик, о котором было известно в широких кругах. В 1994 был запущен «Lycos», разработанный в университете Карнеги Мелона.

Вскоре появилось множество других конкурирующих поисковых машин, таких как «Excite», «Infoseek», «Inktomi», «Northern Light» и «AltaVista». В некотором смысле они конкурировали с популярными интернет-каталогами, такими, как «Yahoo!». Позже каталоги соединились или добавили к себе поисковые машины, чтобы увеличить функциональность. В 1996 году русскоязычным пользователям интернета стало доступно морфологическое расширение к поисковой машине Altavista и оригинальные российские поисковые машины «Рамблер» и «Апорт». 23 сентября 1997 была открыта поисковая машина Яндекс.

В последнее время завоёвывает всё большую популярность практика применения методов кластерного анализа («интеллектуальной» группировки результатов при поиске файлов, веб-сайтов, других объектов, предоставляя пользователю возможность быстрой навигации, выбора заведомо более релевантного подмножества и исключения заведомо менее релевантного) и поиска по метаданным. Из международных машин такого плана наибольшую известность получила «Clusty» компании Vivísimo. В 2005 году на российских просторах при поддержке МГУ запущен поисковик «Нигма», поддерживающий автоматическую кластеризацию. В 2006 году открылась российская метамашина Quintura, предлагающая визуальную кластеризацию в виде облака тегов. «Нигма» тоже экспериментировала с визуальной кластеризацией.

Помимо поисковых машин для Всемирной паутины, существовали и поисковики для других протоколов, такие как Archie для поиска по анонимным FTP-серверам и «Veronica» для поиска в Gopher.

По данным компании Net Applications, в ноябре 2011 года использование поисковых систем распределялось следующим образом:

В Беларуси ситуация с поисковыми системами выглядит так (по данным Liveinternet):

Работа с тематическим каталогом: уточнение темы, поиск по ключевым словам в каталоге или в текущем разделе

Каталог сайтов Интернета, или каталог Интернет-ресурсов, или просто Интернет-каталог, - структурированный набор ссылок на сайты с кратким их описанием. В базе данных поисковой системы web-сайты группируются в иерархические тематические каталоги, которые являются аналогами тематического каталога в библиотеке. Тематические разделы верхнего уровня, например: Интернет, Компьютеры, Наука и образование и т. д., содержат вложенные каталоги. Например, каталог Интернет может содержать подкаталоги Поиск, Почта и др. Сайты внутри каталога разбиваются по темам, а внутри тем могут быть ранжированы или по индексу цитирования (как в каталогах Яндекса или Google), или по дате добавления, или по алфавиту, или по другому параметру. Поисковые кaтaлoги coздaются вpучную, т.e. инфopмaция в них зaнoсится людьми.

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

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

Глобальные каталоги: Open Directory Project, также известный как DMOZ.Каталог, Yahoo!, AboutUs.org,.
Русскоязычные каталоги: каталог @mail.ru, Яндекс, Каталог Wapalta, RINTooby, каталог Amiso.
Белорусские каталоги: TUT.BY, URL.BY, OPEN.BY.

Работа с поисковыми машинами

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

Поиск по ключевым словам

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

Чтобы получить лучшие результаты поиска, необходимо запомнить несколько простых правил:

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

Поиск web-страниц в поисковых машинах в режиме расширенного поиска

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

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

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

Другие регулярные выражения встречаются редко. Это: «[», «]», «{,}», «^». Отметим, что регулярные выражения «заменяют» символы, поэтому не могут искать сами себя.

Использование регулярных выражений позволяет во много раз «сократить сущности» при поиске ключевых слов. Например, набрав запрос: нов?? автомобил* вы получите ответ, содержащий слова «новый», «новые», «автомобиль», «автомобили» и т.д. Этот запрос обрабатывается гораздо быстрее и точнее, чем простое перечисление слов.

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

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

Для написания таких запросов нужно использовать выражения булевой алгебры: «И», «ИЛИ», «НЕ». Они обозначаются соответственно как «&», «|» и «~». Запросу <выражение 1> & <выражение 2> удовлетворяет обязательное одновременное присутствие в ответе обоих выражений. Запросу <выражение 1> | <выражение 2> удовлетворяет присутствие хотя бы одного выражения в ответе. И, наконец, запрос <выражение 1>~<выражение 2> выполняется только в случае присутствия первого выражения и отсутствия в ответе второго выражения. Запросы можно объединять, используя круглые скобки, например: стар?? | антикварн??) & автомобил* .
Многие поисковые системы позволяют при поиске учитывать расстояние между словами. Условно «расстояние» между словами - это количество посторонних слов, встречающихся вместе со словами, по которым ведется полнотекстовый поиск. Приведем пример. Если задан запрос на поиск в виде следующей фразы: широкий стол, то расстоянием между этими словами в тексте для разных фраз будет:

  • широкий стол - два слова;
  • широкий письменный стол - три слова;
  • широкий простор открывался из окна. Поручик сел за обеденный стол. - восемь слов (без учета стоп-слов «за» и «из», а также знаков препинания).

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

Некоторые поисковые системы предоставляют услугу фильтрации содержимого по типу файлов. Так, по умолчанию поиск ведется только по Веб-страницам (html-файлам). При включении фильтра также будет осуществляться поиск в файлах формата Adobe Acrobat (.pdf), Microsoft Word (.doc), Microsoft Excel (.xls), Microsoft PowerPoint (.ppt) и Macromedia Flash (.swf). Необходимо только учесть, что проиндексированного содержимого этих файлов гораздо меньше, чем HTML, поэтому, если поиск с использованием этого фильтра даст отрицательный результат, это не значит, что таких фрагментов в этих файлах нет - скорее всего, их просто нет в индексе.

Встроенный фильтр некоторых поисковых систем позволяет проверять и выбраковывать веб-страницы, закачанные на веб-сервер раньше или позже определенных дат. Этим фильтром можно отсечь «мертвые», давно не обновляющиеся страницы.
Фильтр по размеру файлов позволяет отсечь слишком малые (меньше 1 Кб) или слишком большие файлы или веб-страницы.

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

В общем случае регистр написания букв в поисковых словах и операторах значения не имеет. То есть такие слова, как конь и КОНЬ, and и aND воспринимаются поисковыми системами как одинаковые. Однако, в некоторых поисковых системах, с целью повышения качества поиска, регистр слов в запросе принимае6тся во внимание. Прежде всего, это касается обработки имен собственных. Например, если запрос в Рамблере состоит из двух, трех или четырех слов, каждое из которых начинается с прописной буквы, то эти слова считаются именами собственными. Поисковая система автоматически производит изменение ограничения расстояния между словами запроса со значения по умолчанию на величину (n-1)*2, где n - количество слов в запросе. Это позволяет находить группу слов запроса, внутри которого есть не более одного «лишнего» слова или знака препинания, например: «Николай Гаврилович Чернышевский», «Л.Н. Толстой», «Ростов на Дону».

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

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

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

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

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

Поисковые системы физически не могут создавать индексы на всех языках. Все поисковые системы имеют «национальную» составляющую. Какие-то из поисковых систем ищут тексты только на английском языке (Yahoo.Com, Alta Vista.Com), какие-то на русском и английском (Рамблер), некоторые индексируют страницы на нескольких языках. Например, поисковая система Яндекс способна индексировать файлы на русском, английском, немецком, французском, украинском и белорусском языках. Особняком среди этих поисковых систем стоит Google: базовый ее сервер (www.google.com) индексирует файлы на английском языке, а национальные серверы (www.google.de, www.google.fr, www.google.ru) - на своих национальных языках. Все индексные базы находятся в одной глобальной сети, поэтому, можно сказать, что Google - одна из немногих поисковых систем, которая ищет сразу на всех языках в сети.

Особенности составления запросов в различных поисковых машинах

Лицензионно-правовые особенности свободного программного продукта

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

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

Фонд Свободного Программного Обеспечения (Free Software Foundation, основанный в 1985 г. Ричардом Столлмэном), разделяет ПО на свободное (Free Software), полусвободное (Semi-free Software) и собственническое (Proprietary Software). Свободное ПО должно обладать всеми четырьмя свободами, приведенными выше. Полусвободное допускает те же свободы, только в отношении некоммерческого использования. Все остальное программное обеспечение относится к собственническому.

Термин «Открытое Программное Обеспечение» (Open Source, далее «ОПО») был предложен в 1998 году Эроком Реймондом и Брюсом Перенсом как альтернатива термину Свободное ПО, поскольку слово «free» в английском «Free Software» часто ошибочно читалось как «бесплатное» (а не «свободное»), что отпугивало коммерческих предпринимателей. Понятие Свободное ПО и Открытое ПО близки, многие лицензии удовлетворяют им обоим, в то же время определение Свободное ПО более строгое и требует обязательного предоставления свобод распространения, модификации, изучения и распространения улучшенных версий, тогда как Открытое ПО концентрируется на открытости исходных кодов как эффективного метода разработки.

По отношению к платности программное обеспечение можно условно разделить на:

  • Бесплатное (Freeware). Лицензия такого ПО допускает бесплатное распространение бинарных экземпляров ПО. Этот термин не является синонимом Free Software, поскольку Freeware может распространяться без исходных кодов и других свобод, а Free Software не обязательно распространяется бесплатно.
  • Условно-бесплатное (Shareware). Как правило, распространяемые бесплатно экземпляры имеют ограниченную функциональность, работают в течение ограниченного промежутка времени или имеют рекламную функцию, отключающуюся после оплаты.

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

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

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

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

Видеоматериалы

Как устроен информационный центр Google
(English)

Мэтт Катс (Google) объясняет, как работает поиск Google
(English)

Как искать людей с помощью Яндекса

Часто задаваемые вопросы

В чем основное отличие браузеров Яндекс, Рамблер, Google?

Яндекс обобщает все словоформы (мн. и ед. число, падежи), опускает предлоги (за, на, под и т. д.) и вопросительные формы (что, когда, как и т. п.). То есть при помощи Яндекса выне получите конкретный ответ на запрос «Дом» или «Дома», а только общее количество запросов по всем словоформам конкретного единичного слова.

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

Рамблер в этом плане более точен, и его отчёты, по умолчанию, выдают сочетания запросов, в том виде, в котором их ввел в строку поиска пользователь. Для выдачи отчёта, подобного отчету Яндекса, в Рамблере предусмотрен язык запросов. Например, для получения всех словоформ от слова «Дерево» необходимо будет ввести «Дерев*».

Интерфейс Google содержит довольно сложный язык запросов, позволяющий ограничить область поиска отдельными доменами, языками, типами файлов и т. д. Например, поиск «intitle:Google site:wikipedia.org» выведет все статьи Википедии на всех языках, в заголовке которых встречается слово Google.
Для результатов поиска Google ранее предоставлял возможность повторного поиска, что позволяло производить поиск более детально. Для более детального поиска пользователям необходимо было указывать дополнительные параметры, по которым происходил отбор результатов, что позволяло сразу отобразить не только запрос, но и контекст, где он применяется. Данная возможность упрощала процедуру поиска, исключив необходимость в открытии каждого результата.

Что такое метопоисковая система?

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

Как расширить возможности поиска?

1. В каждой поисковой системе, как правило, есть функция расширенного поиска. С его помощью можно найти нужную информацию на конкретном сайте, в определенном регионе и на определенном языке. Также можно уточнять поиск по многим другим параметрам: тип файлов, точность результата и пр. Данные параметры могут различаться в различных поисковых системах.
2. Более оперативный способ - использование , таких как AND или &, OR или |, NOT, ?, *, «», () и пр.

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

Программное обеспечение компьютера делится на:

Системное ПО;

Сервисное ПО,
- прикладное ПО;
- системы программирования.

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

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

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

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

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

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

Системы управления базами данных (СУБД), позволяющие превратить компьютер в справочник по любой теме;

Табличные процессоры, позволяющие организовывать очень распространенные на практике табличные расчеты;

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

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

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

26. Операционная система компьютера (назначение, состав, загрузка).

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

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

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

На сегодняшний день наиболее известными операционными системами для IBM-совместимых персональных компьютеров являются семейства операционных систем MicrosoftWindows и Linux.

ОСНОВНЫЕ ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ:

Осуществлениедиалога с пользователем;

Ввод-вывод и управление данными;

Планирование и организация процесса обработки программ;

Распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

Запускпрограммнавыполнение;

Всевозможныевспомогательныеоперацииобслуживания;

Передача информации между различными внутренними устройствами;

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

Современные операционные системы имеют сложную структуру, каждый элемент которой выполняет определенные функции по управлению компьютером.

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

Командный процессор - специальная программа, которая запрашивает у пользователя команды и выполняет их.

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

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

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

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

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

Самотестирование компьютера. В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки ОС - это BIOS (BasicInput/OutputSystem - базовая система ввода/вывода).

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

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

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

27. Файлы. Имя файла. Файловая система. Основные операции с файлами.

Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.

Файл - это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.

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

<имя файла>.<расширение>

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

Таблица 1. Типы файлов и расширений

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

В операционной системе Windows имя файла может иметь длину до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации.doc

Правила создания имени файла:

Нельзя использовать следующие символы, которые зарезервированы для специальных функций: ? : * / \ “ >< |

Есть специальные зарезервированные слова, именами которых назвать папку не получится. ОС Windows не позволяет этого сделать. Дело в том, что до Windows существовала ОС DOS. В ней использовались системные папки со следующими именами: PRN, AUX, CLOCK$, NUL, COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8,COM9,LPT0,LPT1, LPT2,LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, CON

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

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

Функции файловой системы:

  1. Сохранение информации на внешних носителях
  2. Чтение информации из файлов
  3. Удаление файлов, каталогов
  4. Переименование файлов
  5. Копирование файлов и др.

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

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

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

Путь к файлу вместе с именем файла называют иногда полным именем файла .

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

  • копирование (копия файла помещается в другой каталог);
  • перемещение (сам файл перемещается в другой каталог);
  • удаление (запись о файле удаляется из каталога);
  • переименование (изменяется имя файла).

Графический интерфейс Windows позволяет проводить операции над файлами с помощью мыши с использованием метода Drag&Drop (перетащи и оставь). Существуют также специализированные приложения для работы с файлами, так называемые файловые менеджеры : NortonCommander, TotalCommander, Проводник и др.

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

28. Компьютерные вирусы: методы распространения, профилактика заражения.

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

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

Вирусы распространяются, копируя свое тело и обеспечивая его последующее исполнение: внедряя себя в исполняемый код других программ, заменяя собой другие программы, прописываясь в автозапуск и другое. Вирусом или его носителем могут быть не только программы, содержащие машинный код, но и любая информация, содержащая автоматически исполняемые команды - например, пакетные файлы и документы MicrosoftWord и Excel, содержащие макросы. Кроме того, для проникновения на компьютер вирус может использовать уязвимости в популярном программном обеспечении (например, AdobeFlash, InternetExplorer,Outlook), для чего распространители внедряют его в обычные данные (картинки, тексты и т.д.

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

Основные типы компьютерных вирусов:

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

Загрузочные вирусы внедряются в загрузочный сектор диска (Boot – сектор) или в сектор, содержащий программу загрузки системного диска (MasterBootRecord – MBR). Некоторые вирусы записывают свое тело в свободные сектора диска, помечая их в FAT – таблице как “плохие” (Badcluster).

Макровирусы поражают документы, выполненные в некоторых прикладных программах (например, Word). Заражение происходит при открытии файла документа в окне программы

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

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

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

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

Основные способы использования произведений перечислены в ст.1270 ГК РФ. Среди них к способам использования ПО можно отнести следующие:

  1. воспроизведение ПО , т.е. есть изготовление одного и более экземпляра ПО или его части в любой материальной форме, включая запись в память ЭВМ;
  2. распространение ПО путем продажи или иного отчуждения его экземпляров;
  3. публичный показ ПО , то есть любая демонстрация экземпляра ПО на экране с помощью телевизионного кадра или иных технических средств в месте, открытом для свободного посещения, или в месте, где присутствует значительное число лиц, не принадлежащих к обычному кругу семьи, независимо от того, воспринимается ПО в месте его демонстрации или в другом месте одновременно с демонстрацией ПО;
  4. импорт экземпляров ПО в целях распространения;
  5. прокат экземпляра ПО , когда программа является основным объектом проката;
  6. модификация ПО , т.е. любые его изменения, в том числе перевод такой программы или такой базы данных с одного языка на другой язык, за исключением адаптации, то есть внесения изменений, осуществляемых исключительно в целях функционирования программы для ЭВМ или базы данных на конкретных технических средствах пользователя или под управлением конкретных программ пользователя;
  7. доведение ПО до всеобщего сведения таким образом, что любое лицо может получить доступ к ПО из любого места и в любое время по собственному выбору (доведение до всеобщего сведения), т.е. передача экземпляра по сети Интернет.

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

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

Формулируйте условия лицензионного договора правильно.

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

Поскольку без ПО функционирование ПК невозможно в принципе, оно является неотъемлемой составной частью любого ПК и поставляется вместе с его аппаратной частью (hardware ).

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

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

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

Новинки программного обеспечения уже давно доминируют над новыми аппаратными разработками. Комплект ПО по стоимости превосходит (иногда в несколько раз) стоимость компьютера адекватного класса.

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

Назначение ПО:

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

Программное обеспечение позволяет:

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

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

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

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

Расширение существующего ПО предполагает наличие следующих возможностей:

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

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

  • модульность;
  • наращиваемость и развитие;
  • надежность;
  • предсказуемость;
  • удобство и эргономичность;
  • гибкость;
  • эффективность;
  • совместимость.

Основные принципы разработки современного программного обеспечения:

  • параметрическая универсальность;
  • функциональная избыточность;
  • функциональная избирательность.

Программы на компьютер можно установить двумя способами:

  • Инсталляцией с дистрибутива
  • Простым копированием

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

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

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

Внутреннее ПО выполняет следующие основные функции:

  • управляет широким набором периферийных устройств;
  • осуществляет быструю проверку работоспособности ПЭВМ при ее включении;
  • устанавливает отдельные аппаратные модули в исходное состояние;
  • загружает программы ОС.

Основными элементами внутреннего ПО служат драйверы ввода-вывода, программа самопроверки и программа первоначальной загрузки . Внутреннее ПО взаимодействует, с одной стороны, с функциональными модулями ПЭВМ, а с другой стороны, реализует программный интерфейс операционной системы.

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

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

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

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

Драйверы имеют следующие особенности:

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

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

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

ОС представляет собой набор программ управления ПЭВМ.

Состав ПО определяется кругом задач, которые пользователь предполагает решать с помощью компьютера.

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

Классификация программного обеспечения по функциональному назначению

Схема общей классификации ПО

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

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

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