Главная страница
Навигация по странице:

  • Системное программное обеспечение

  • Служебное программное обеспечение

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

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

  • Современное состояние и перспективы развития программного обеспечения

  • Список литературы

  • реферат. 1. Понятие системного и служебного программного обеспечения 3 Системное программное обеспечение 3


    Скачать 117.13 Kb.
    Название1. Понятие системного и служебного программного обеспечения 3 Системное программное обеспечение 3
    Анкорреферат
    Дата19.04.2023
    Размер117.13 Kb.
    Формат файлаdocx
    Имя файлареферат.docx
    ТипДокументы
    #1073699


    Оглавление




    1.Понятие системного и служебного программного обеспечения 3

    1.1.Системное программное обеспечение 3

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

    1.2.Служебное программное обеспечение 4

    2.Классификация системного и служебного программного обеспечения 6

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

    2.2. Классификация служебного программного обеспечения 7

    3.Современное состояние и перспективы развития программного обеспечения 11

    Список литературы 15



    1. Понятие системного и служебного программного обеспечения




      1. Системное программное обеспечение



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

    - системные программы (иногда называют базовым программным обеспечением);

    - прикладные программы;

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

    Программы

    Пояснение

    Примеры

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

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

    MS-DOS

    Windows

    Unix

    Программы-оболочки

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

    Norton Commander

    FAR

    Программы диагностики

    Проверяют работу основных устройств компьютера

    Sandra

    Checkit

    Антивирусные программы

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

    DrWeb

    Антивирус Касперского

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

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

    дефрагментация

    Архиваторы

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

    Winrar

    ARJ


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

    Системное программное обеспечение служит:

    - для создания операционной среды для работы других программ;

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

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

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

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


      1. Служебное программное обеспечение


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

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

    - ввод-вывод информации

    - планирование и управление задачами

    - проверка работоспособности устройств компьютера

    - вывод справочной информации

    - перемещение (копирование) файлов, папок, документов

    - диагностика и профилактика компьютера

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

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




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


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

    1. Базовое программное обеспечение:

    • операционная система (ОС) и драйверы в её составе;

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

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

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

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

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

    • драйверы специфических и специальных устройств (не поставляются в составе ОС);

    • мониторы установки, они предназначены для контроля над установкой ПО;

    • средства контроля (мониторинга), позволящие следить за процессами, которые проходят в системе;

    • средства диагностики работоспособности компьютера;

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

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

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

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

    • программы архивирования данных, предназначены для создания архивов, что упрощает хранение файлов за счёт уменьшения объема памяти. Наиболее известные архиваторы WinZip, WinRAR, 7Zip;

    • диспетчеры файлов, которые нужны для выполнения большинства операций, связанных с обслуживанием файловой системы: осуществляют навигацию в файловой структуре, создают каталоги (папки), производят удаление файлов и каталогов, копируют, перемещают и переименовывают файлы, выполняют поиск файлов. Наиболее популярные для ОС Windows − Total Commander (бывший Windows Commander) и FAR Manager, для Linux − Midnight Commander;

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




      1. Классификация служебного программного обеспечения


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



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

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

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

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

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

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

    Функции большинства оболочек, например семейства MS-DOS, направлены на работу с файлами и каталогами и обеспечивают:

    • быстрый поиск файлов;

    • создание, просмотр и редактирование текстовых файлов;

    • выдачу сведений о размещении файлов на дисках, о степени занятости дискового пространства и ОЗУ.

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

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

    Эти утилиты чаще всего позволяют выполнять следующие функции:

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

    • обслуживание файлов и каталогов (аналогично оболочкам);

    • создание и обновление архивов;

    • предоставление информации о ресурсах компьютера, о дисковом пространстве, о распределении ОЗУ между программами;

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

    • защита от компьютерных вирусов.

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

    Они включают в себя:

    • средства диагностики и тестового контроля правильности работы ЭВМ и ее отдельных частей, в том числе автоматического поиска ошибок и неисправностей с определенной локализацией их в ЭВМ;

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



    1. Современное состояние и перспективы развития программного обеспечения


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

    Когда параллельность обслуживания запросов или выполнения процессов помогает работе, а когда она может сильно помешать?

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

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

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

    Поэтому, в качестве одного из направлений развития софтвера, возможна разработка стратегий выполнения алгоритмов и обработки данных, ориентированных на физическое распараллеливание. [2] 

    Раньше наиболее ценным, но весьма ограниченным, ресурсом была оперативная память. Все алгоритмы и структуры разрабатывавшихся программ были в значительной степени нацелены на минимизацию ее использования. Сейчас стандартная, коммерчески доступная компьютерная система, имеет в своем распоряжении оперативную память в несколько гигабайт, что превосходит весь объем жестких дисков, применявшихся ранее. Поэтому следующим направлением перспектив представляется разработка алгоритмов и структур данных, занимающих большие объемы, размещаемые в оперативной памяти. В недалеком прошлом эти методы эксплуатировались, в частности, в таблицах типа SUPERCALK, WORKS, для предварительного вычисления текущих значений и в табличных вычислениях. Представляется неплохим и перспективным и улучшение различных е алгоритмов и процедур обработки данных, применяющих для сокращения объемов вычислений большие объемы ОЗУ. Например, вычислений различного рода таблиц, и кроме того, что будет разработано в этой области для решения задач преобразований, например, кодирования и декодирования данных: СУБД, видео, звук, графика, задачи поиска и т.д. 

    Время доступа к жестким дискам, повсеместно применявшимся ранее и применяющимся сейчас в качестве основных накопителей, гораздо больше времени доступа к оперативной памяти. Как уже было сказано, ранее использовавшиеся стратегии и алгоритмы в разработке баз данных были направлены на нивелирование этого фактора. Например, методы блочной организации файлов данных в СУБД, а также кэширования оперативной памяти компьютера. На сегодняшний день мы видим настоящий бум для твердотельных накопители SSD, которые отличаются тем, что имеют чрезвычайно большую скорость доступа к данным, и соотношение времени доступа оперативной памяти и к дискам существенно изменилось. Логически отсюда следует, что направление ближайших исследований в области организации СУБД будет меняться, и ведущие разработчики баз данных, возможно поменяют сам основополагающий принцип, на котором работают большинство существующих разработок и заменят структуру индексация с B*-дерева, например, на более многообещающий RB-дерево, или даже будут разработаны новые механизмы, на сегодняшний день неизвестные. [3] 

     Вообще-то не секрет, что указанная проблема достаточно серьезна. На сегодняшний день абсолютно переносимых языков программирования не существует. Да,  мы привыкли считать, что наиболее переносимый язык программирования - это язык СИ и его клоны. Однако несовместимость компиляторов имеет место быть. На текущий момент сделано много попыток разработать портируемый компилятор. Но факт остается фактом: язык СИ стандартизирован, и достаточно давно, но 90% программного обеспечения, компилируемого, например в Linux, не сможет быть скомпилирован, скажем в Windows XP без изменения исходного кода. И, думается, усилия ведущих разработчиков, компиляторов будут направлены и на решение этой проблемы. Как следствие этого, к перспективам рынка программного обеспечения относится возможность портирования софта. Тут можно использовать различные подходы – использовать средства виртуализации, интерпретирующие системы,  кросскопиляцию и т.д. [3]

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

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

    Список литературы



    1. Викикак – совместное решение вопросов [Электронный ресурс]: Тенденции развития программного обеспечения – Режим доступа: http://life-prog.ru/

    2. Автоматическое распараллеливание программ для распределенных систем. Статическое построение расширенного графа управления REFSRU [Электронный ресурс]: Режим доступа: http://www.refsru.com/

    3. Программное обеспечение компьютера TURBO PASCAL [Электронный ресурс]: Режим доступа: http://www.borlpasc.narod.ru/docym/shay/teor/chapter6/1_6.htm

    4. YourLib.net Твоя библиотека [Электронный ресурс]: Тенденции развития программного обеспечения – Режим доступа: http://yourlib.net/content/view/12775/151/


    написать администратору сайта