Как называется специальная программа присутствующая в памяти компьютера с момента своего запуска

Обновлено: 07.07.2024

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

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

Физическая организация памяти компьютера

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

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

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

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

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

Локальность

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

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

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

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

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

Логическая память

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

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

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


Рис. 8.2. Расположение сегментов процессов в памяти компьютера

Некоторые сегменты , описывающие адресное пространство процесса, показаны на рис. 8.2. Более подробная информация о типах сегментов имеется в лекции 10.

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

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

Связывание адресов

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

Связывание логического адреса, порожденного оператором программы, с физическим должно быть осуществлено до начала выполнения оператора или в момент его выполнения. Таким образом, привязка инструкций и данных к памяти в принципе может быть сделана на следующих шагах [Silberschatz, 2002].


Какой английский термин обозначает программное обеспечение?

Вопрос 2

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

  • прикладные программы
  • системные программы
  • системыпрограммирования
Вопрос 3

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

Вопрос 4

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

Вопрос 5

Отметьте все прикладные программы.

  • операционная система
  • системы управления базами данных
  • электронные таблицы
  • графические редакторы
  • утилиты
Вопрос 6

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

  • текстовый редактор
  • графический редактор
  • текстовый процессор
  • браузер
  • почтовый клиент
Вопрос 7

Отметьте все текстовые процессоры.

  • Блокнот
  • CorelDraw
  • OpenOffice Writer
  • Microsoft Word
  • Internet Explorer
Вопрос 8

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

  • удаление символов
  • расстановка знаков препинания
  • изменение размера шрифта
  • изменение цвета символов
  • вставка слова
Вопрос 9

Отметьте программы, которые обычно входят в состав офисного пакета.

  • текстовый процессор
  • графический редактор
  • табличный процессор
  • программа для подготовки презентаций
  • редактор видеороликов
Вопрос 10

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

  • Paint
  • Microsoft Word
  • Microsoft Excel
  • Adobe Photoshop
  • Gimp
Вопрос 11

Отметьте все браузеры.

  • Microsoft Word
  • Internet Explorer
  • Microsoft Outlook
  • Opera
  • Mozilla Firefox
Вопрос 12

Отметьте все программы для работы с электронной почтой.

  • Mozilla Firefox
  • Internet Explorer
  • TheBat
  • Microsoft Outlook
  • Mozilla Thunderbird
Вопрос 13

Для чего предназначена программа Adobe Photoshop?

  • текстовый процессор
  • браузер
  • почтовая программа
  • графический редактор
  • редактор звуковых файлов
Вопрос 14

С помощью каких программ можно редактировать видеофильмы?

  • Microsoft Word
  • Pinnacle Studio
  • Adobe InDesign
  • Adobe Premier
  • Internet Explorer
Вопрос 15

Как называется построение изображения трёхмерных объектов и сцены на плоскости с учётом свойств объектов и источников света?

Вопрос 16

Какая система подготовки текстов считается лучшей для подготовки математической литературы к печати?

  • Adobe InDesign
  • Scribus
  • Microsoft Publisher
  • Quark XPress
  • TeX
Вопрос 17

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

  • драйверы
  • игры
  • редакторы текста
  • утилиты
  • операционные системы
Вопрос 18

Отметьте все составляющие части операционной системы.

  • организует работу с файлами и папками
  • распределяет память
  • регулирует расход бумаги для принтера
  • обеспечивает обмен данными с аппаратными средствами
  • выполняет тестирование компьютера
Вопрос 19

Отметьте все составляющие части операционной системы.

  • система распределения памяти
  • графический редактор
  • командный процессор
  • система управления базами данных
  • система ввода и вывода
Вопрос 20

Выберите из списка все однозадачные операционные системы.

  • Windows
  • Linux
  • MS DOS
  • FreeDOS
  • Mac OS
Вопрос 21

Какие названия обозначают операционные системы?

  • Linux
  • CorelDraw
  • Microsoft Access
  • MS DOS
  • Adobe Photoshop
Вопрос 22

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

Вопрос 23

Отметьте все правильные высказывания о драйверах.

  • это набор процедур для обслуживания внешнего устройства
  • постоянно находятся в оперативной памяти
  • без драйвера внешнее устройство не может работать
  • загружаются в память при обращении к внешнему устройству
  • могут быть загружены с сайта изготовителя устройства
Вопрос 24

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

Вопрос 25

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

  • текстовый процессор
  • системы управления базами данных
  • антивирус
  • программа проверки диска
  • драйвер видеокарты
Вопрос 26

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

Вопрос 27

Отметьте преимущества операционной системы Linux.

  • бесплатность
  • простота настройки и установки
  • высокое быстродействие
  • высокий уровень безопасности и защиты от вирусов
  • полная поддержка современной аппаратуры
Вопрос 28

Укажите операционные системы для мобильных устройств.

  • Windows Phone
  • QNX
  • Google Android
  • iOS
  • MS DOS
Вопрос 29

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

  • временная ОС
  • ОС реального времени
  • быстродействующая ОС
  • многозадачная ОС
  • многопользовательская ОС
Вопрос 30

Как называется минимальный блок, который может быть выделен для размещения файла на диске?

Вопрос 31

Отметьте преимущество файловых систем с журналированием.

  • повышение скорости работы
  • повышение устойчивости к сбоям
  • экономия места на диске
  • экономия использования оперативной памяти
Вопрос 32

Установите соответствие между каталогами и их содержимым в ОС Linux.

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

Запишите маску, по которой можно отобрать файлы, имя которых начинается с латинской буквы «d», а расширение состоит из трёх символов и заканчивается на «b».

Вопрос 34

Какое программное обеспечение называется термином shareware?

  • свободное
  • бесплатное
  • условно-бесплатное
  • коммерческое
Вопрос 35

Какое программное обеспечение можно легально скачивать в Интернете?

  • свободное
  • бесплатное
  • условно-бесплатное
  • коммерческое
Вопрос 36

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

  • Windows
  • Microsoft Word
  • OpenOffice
  • Adobe Photoshop
  • Gimp
Вопрос 37

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

  • свободное
  • бесплатное
  • условно-бесплатное
  • коммерческое
Вопрос 38

Программу PuperSuper можно скачать в Интернете с сайта автора вместе с исходным кодом. К какому типу ПО она относится?

  • свободное
  • бесплатное
  • условно-бесплатное
  • коммерческое
Вопрос 39

На какие объекты распространяются авторские права в России?

  • идеи и принципы
  • алгоритмы
  • программы для компьютеров
  • базы данных
  • языки программирования
Вопрос 40

Отметьте все верные утверждения об авторском праве.

  • требуется обязательная регистрация
  • действует в течение жизни автора
  • действует 70 лет после смерти автора
  • передается по наследству
  • действует неограниченное время
Вопрос 41

Отметьте все права автора, которые относятся к имущественным.

  • право на авторство
  • право на неприкосновенность программы
  • право ограничивать распространение программы
  • право разрешать перевод программы на другой язык
  • право ограничивать копирование
Вопрос 42

Каким термином называется присвоение авторства чужого продукта?

Вопрос 43

Как называется договор между автором и пользователем, который даёт пользователю право использовать программу и определяет условия этого использования?

Вопрос 44

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

  • операционная система Windows
  • операционная система Linux
  • графический редактор Gimp
  • офисный пакет OpenOffice
  • браузер Opera
Вопрос 45

Какие ограничения устанавливает лицензия GPL (General Public Licence)?

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

Что из перечисленного можно делать, не спрашивая автора (правообладателя)?

Управление памятью – одна из главных задач ОС. Она критична как для программирования, так и для системного администрирования. Я постараюсь объяснить, как ОС работает с памятью. Концепции будут общего характера, а примеры я возьму из Linux и Windows на 32-bit x86. Сначала я опишу, как программы располагаются в памяти.

Каждый процесс в многозадачной ОС работает в своей «песочнице» в памяти. Это виртуальное адресное пространство, которое в 32-битном режиме представляет собою 4Гб блок адресов. Эти виртуальные адреса ставятся в соответствие (mapping) физической памяти таблицами страниц, которые поддерживает ядро ОС. У каждого процесса есть свой набор таблиц. Но если мы начинаем использовать виртуальную адресацию, приходится использовать её для всех программ, работающих на компьютере – включая и само ядро. Поэтому часть пространства виртуальных адресов необходимо резервировать под ядро.

image

image

Это не значит, что ядро использует так много физической памяти – просто у него в распоряжении находится часть адресного пространства, которое можно поставить в соответствие необходимому количеству физической памяти. Пространство памяти для ядра отмечено в таблицах страниц как эксклюзивно используемое привилегированным кодом, поэтому если какая-то программа пытается получить в него доступ, случается page fault. В Linux пространство памяти для ядра присутствует постоянно, и ставит в соответствие одну и ту же часть физической памяти у всех процессов. Код ядра и данные всегда имеют адреса, и готовы обрабатывать прерывания и системные вызовы в любой момент. Для пользовательских программ, напротив, соответствие виртуальных адресов реальной памяти меняется, когда происходит переключение процессов:

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

image

Когда программирование было белым и пушистым, начальные виртуальные адреса сегментов были одинаковыми для всех процессов. Это позволяло легко удалённо эксплуатировать уязвимости в безопасности. Зловредной программе часто необходимо обращаться к памяти по абсолютным адресам – адресу стека, адресу библиотечной функции, и т.п. Удаленные атаки приходилось делать вслепую, рассчитывая на то, что все адресные пространства остаются на постоянных адресах. В связи с этим получила популярность система выбора случайных адресов. Linux делает случайными стек, сегмент отображения в память и кучу, добавляя смещения к их начальным адресам. К сожалению, в 32-битном адресном пространстве особо не развернёшься, и для назначения случайных адресов остаётся мало места, что делает эту систему не слишком эффективной.

Самый верхний сегмент в адресном пространстве процесса – это стек, в большинстве языков хранящий локальные переменные и аргументы функций. Вызов метода или функции добавляет новый кадр стека (stack frame) к существующему стеку. После возврата из функции кадр уничтожается. Эта простая схема приводит к тому, что для отслеживания содержимого стека не требуется никакой сложной структуры – достаточно всего лишь указателя на начало стека. Добавление и удаление данных становится простым и однозначным процессом. Постоянное повторное использование районов памяти для стека приводит к кэшированию этих частей в CPU, что добавляет скорости. Каждый поток выполнения (thread) в процессе получает свой собственный стек.

Можно прийти к такой ситуации, в которой память, отведённая под стек, заканчивается. Это приводит к ошибке page fault, которая в Linux обрабатывается функцией expand_stack(), которая, в свою очередь, вызывает acct_stack_growth(), чтобы проверить, можно ли ещё нарастить стек. Если его размер не превышает RLIMIT_STACK (обычно это 8 Мб), то стек увеличивается и программа продолжает исполнение, как ни в чём не бывало. Но если максимальный размер стека достигнут, мы получаем переполнение стека (stack overflow) и программе приходит ошибка Segmentation Fault (ошибка сегментации). При этом стек умеет только увеличиваться – подобно государственному бюджету, он не уменьшается обратно.

Динамический рост стека – единственная ситуация, в которой может осуществляться доступ к свободной памяти, которая показана белым на схеме. Все другие попытки доступа к этой памяти вызывают ошибку page fault, приводящую к Segmentation Fault. А некоторые занятые области памяти служат только для чтения, поэтому попытки записи в эти области также приводят к Segmentation Fault.

После стека идёт сегмент отображения в память. Тут ядро размещает содержимое файлов напрямую в памяти. Любое приложение может запросить сделать это через системный вызов mmap() в Linux или CreateFileMapping() / MapViewOfFile() в Windows. Это удобный и быстрый способ организации операций ввода и вывода в файлы, поэтому он используется для подгрузки динамических библиотек. Также возможно создать анонимное место в памяти, не связанное с файлами, которое будет использоваться для данных программы. Если вы сделаете в Linux запрос на большой объём памяти через malloc(), библиотека C создаст такую анонимное отображение вместо использования памяти из кучи. Под «большим» подразумевается объём больший, чем MMAP_THRESHOLD (128 kB по умолчанию, он настраивается через mallopt().)

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

image

И вот мы добрались до самой нижней части схемы – BSS, данные и текст программы. BSS и данные хранят статичные (глобальные) переменные в С. Разница в том, что BSS хранит содержимое непроинициализированных статичных переменных, чьи значения не были заданы программистом. Кроме этого, область BSS анонимна, она не соответствует никакому файлу. Если вы пишете static int cntActiveUsers , то содержимое cntActiveUsers живёт в BSS.

Сегмент данных, наоборот, содержит те переменные, которые были проинициализированы в коде. Эта часть памяти соответствует бинарному образу программы, содержащему начальные статические значения, заданные в коде. Если вы пишете static int cntWorkerBees = 10 , то содержимое cntWorkerBees живёт в сегменте данных, и начинает свою жизнь как 10. Но, хотя сегмент данных соответствует файлу программы, это приватное отображение в память (private memory mapping) – а это значит, что обновления памяти не отражаются в соответствующем файле. Иначе изменения значения переменных отражались бы в файле, хранящемся на диске.

Пример данных на диаграмме будет немного сложнее, поскольку он использует указатель. В этом случае содержимое указателя, 4-байтный адрес памяти, живёт в сегменте данных. А строка, на которую он показывает, живёт в сегменте текста, который предназначен только для чтения. Там хранится весь код и разные другие детали, включая строковые литералы. Также он хранит ваш бинарник в памяти. Попытки записи в этот сегмент оканчиваются ошибкой Segmentation Fault. Это предотвращает ошибки, связанные с указателями (хотя не так эффективно, как если бы вы вообще не использовали язык С). На диаграмме показаны эти сегменты и примеры переменных:

image

Изучить области памяти Linux-процесса можно, прочитав файл /proc/pid_of_process/maps. Учтите, что один сегмент может содержать много областей. К примеру, у каждого файла, сдублированного в память, есть своя область в сегменте mmap, а у динамических библиотек – дополнительные области, напоминающие BSS и данные. Кстати, иногда, когда люди говорят «сегмент данных», они имеют в виду данные + bss + кучу.

Бинарные образы можно изучать при помощи команд nm и objdump – вы увидите символы, их адреса, сегменты, и т.п. Схема виртуальных адресов, описанная в этой статье – это т.н. «гибкая» схема, которая по умолчанию используется уже несколько лет. Она подразумевает, что переменной RLIMIT_STACK присвоено какое-то значение. В противном случае Linux использует «классическую» схему:

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

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

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

Типы программного обеспечения

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

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

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

Главной частью системного программного обеспечения является операционная система (ОС).

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

Вот названия некоторых распространенных ОС для персональных компьютеров: MS-DOS, Windows, Linux.

Интерактивный режим

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

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

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

Сервисные программы

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

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

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

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

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

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

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

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

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

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

Системы программирования

Кроме системного и прикладного ПО существует еще третий вид программного обеспечения. Он называется системами программирования (СП).

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

С системами программирования работают программисты. Всякая СП ориентирована на определенный язык программирования. Существует много разных языков, например Паскаль, Бейсик, ФОРТРАН, С ("Си"), Ассемблер, ЛИСП и др. На этих языках программист пишет программы, а с помощью систем программирования заносит их в компьютер, отлаживает, тестирует, исполняет.

Программисты создают все виды программ: системные, прикладные и новые системы программирования.

Взаимосвязь программного обеспечения (уровни программной конфигурации)

Читайте также: