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

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

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

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

2. Ресурсы компьютера Ресурсы компьютераэто оперативная память, подключенные к компьютеру диски, принтеры, устройства CD-ROM (устройства для работы с лазерными дисками), .

3. Назначение ос

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

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

4. Состав и структура ос.

— базовая системы ввода-вывода,

— командный интерпретатор (необязательно),

Ядро операционной системы — часть ОС, выполняющееся при максимальном уровне привилегий. Как правило, в ядро помещаются процедуры, выполняющие манипуляции с основными ресурсами системы и уровнями привилегий процессов, а также критичные процедуры.

Читайте также:  Фиат альбеа программирование ключа

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

Командный интерпретатор— необязательная, но существующая в подавляющем большинстве ОС часть, обеспечивающая управление системой посредством ввода текстовых команд (с клавиатуры, через порт или сеть). Операционные системы, не предназначенные для интерактивной работы часто его не имеют. Также его могут не иметь некоторые ОС для рабочих станций (MacOS 7, 8 (?)).

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

5. Виды ОС По количеству одновременно выполняемых действий ОС бывают:

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

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

Семейства операционных систем: Однозадачные

Семейства операционных систем: Многозадачные

Linux — его ближайший родственник

Операционные системы реального времени (ОСРВ)

Источник

Большая Энциклопедия Нефти и Газа

При решении задач системного программирования ( разработка системного математического обеспечения ЭВМ) предпочтение следует отдать машинно-зависимым языкам, в частности макроязыку, поскольку только в этом случае можно максимально использовать все возможности вычислительной машины. [2]

Машины третьего поколения лучше приспособлены для решения задач системного программирования . Байтовая организация памяти и широкий набор операций существенно облегчают решение любых задач символьной обработки. Наличие базовых регистров упрощает перемещение программ. Некоторые новые машины имеют стековую память и даже могут непосредственно выполнять программы в обратной польской записи. [3]

Так, язык Си был разработан для решения задач системного программирования . [4]

Языки программирования с сильной типизацией не могут быть использованы для решения задач системного программирования , поэтому для решения этих задач необходимо включение в язык программирования с сильной типизацией средств, обеспечивающих возможность нарушения механизма сильной типизации. Однако намного лучше включать в язык программирования одно средство, предназначенное для нарушения механизма сильной типизации, чем несколько различных средств, каждое из которых позволяет нарушать механизм сильной типизации. В таком случае все нарушения механизма сильной типизации легко локализуются и изолируются. Например, в языке Ада введена предопределенная библиотечная настраиваемая функция UNCHECKED CONVERSION, обращение к которой обеспечивает возможность нарушения механизма сильной типизации. К сожалению, в языке Си механизм сильной типизации может быть нарушен несколькими различными способами, позволяющими трактовать представление значения как данных различных типов. [5]

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

Язык должен быть адекватным к решению требуемых задач, в данном случае — задач системного программирования . Он должен включать следующие средства. [7]

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

Конечно, язык Ада был разработан для создания встроенных систем, а не для решения задач системного программирования . Однако утверждение автора об ошибочности решений, принятых при проектировании языка Ада, базируется, в частности, на уверенности автора в том, что сборка мусора неприемлема и для встроенных систем. [9]

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

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

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

В основу книги положен многолетний опыт использования алгоритмического машинно-ориентированного языка АЛМО при решении широкого класса прикладных задач и задач системного программирования . Приводятся неформальное описание языка АЛМО с использованием многочисленных примеров и рисунков, а также формальное описание языка. [13]

В одних организациях функция установки и эксплуатации системы возлагается на так называемую группу системного программирования IMS, в других — задачи системного программирования реализуются администрацией базы данных. Мы же для простоты предположим, что все эти задачи выполняются группой администрации базы данных. [14]

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

Источник

Linux. Системное программирование.

Данная книга рассказывает о системном программировании в Linux. Системное программирование — это практика написания системного ПО, низкоуровневый код которого взаимодействует непосредственно с ядром и основными системными библиотеками. Иными словами, речь далее пойдет в основном о системных вызовах Linux и низкоуровневых функциях, в частности тех, которые определены в библиотеке C. Есть немало пособий, посвященных системному программированию для UNIX-систем, но вы почти не найдете таких, которые рассматривают данную тему достаточно подробно и фокусируются именно на Linux. Еще меньше подобных книгучитывают новейшие релизы Linux и продвинутые интерфейсы, ориентированные исключительно на Linux. Эта книга не только лишена всех перечисленных недостатков, но и обладает важным достоинством: дело в том, что я написал массу кода для Linux, как для ядра, так и для системных программ, расположенных непосредственно «над ядром». На самом деле я реализовал на практике ряд системных вызовов и других функций, описанных далее. Соответственно книга содержит богатый материал, рассказывая не только о том, как должны работать системные интерфейсы, но и о том, как они действительно работают и как вы сможете использовать их с максимальной эффективностью. Таким образом, данная книга одновременно является и руководством по системному программированию для Linux, и справочным пособием, описывающим системные вызовы Linux, и подробным повествованием о том, как создавать более интеллектуальный и быстрый код. Текст написан простым, доступным языком. Независимо от того, является ли создание системного кода вашей основной работой, эта книга научит полезным приемам, которые помогут вам стать по-настоящему высокопрофессиональным программистом.

Источник

Оцените статью