Программное обеспечение и его разработка - [29]

Шрифт
Интервал

операционную систему вести распределение работ таким образом, чтобы обеспечить обработку всех данных именно за 6 с. И точка! И конечно же, нужно иметь программы, обеспечивающие достаточную надежность (возврат и восстановление).

Переход от хорошей пакетной системы к системе реального времени — это переход к новым концепциям.

Преимущества системного программного обеспечения

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

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

3. Уменьшая простои, системное обеспечение доводит до максимума использование аппаратуры.

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

Недостатки системного программного обеспечения

1. В силу универсальности системных программ снижается скорость их выполнения по сравнению со специализированными системами.

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

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

Таблица 4.5. Эволюция системного программного обеспечения

ПроблемаЕе решение
Машина простаивала, в то время как оператор в спешке ставил магнитные ленты и т. п.Была написана программа, которая отслеживала список поставленных лент, переключая ленты не физически, а логически. Это привело к сильному увеличению числа магнитофонов. В одно и то же время на машине стало возможно выполнять несколько программ
Начальник вычислительного центра не успевал принимать решения по поводу того, какую задачу запускать на машине. Сколько для этой задачи потребуется памяти? Лент? И т. д.Была написана программа, которая отслеживала списки свободных машинных ресурсов и стоящих в очереди программ. После этого машина стала сама распределять работы и устройства вычислительного комплекса
Программисты вставляли в прикладные программы детали физического расположения данных и дисков. Новые диски, более дешевые и быстрые, нельзя было внедрять до того, как будут переписаны старые прикладные программы. Это было очень трудно, поскольку программисты могли быть заняты чем-нибудь другим или вообще уволитьсяБыли написаны программы управления данными, которые выполняли чтение и запись данных на диске. Программисты стали теперь писать команды для программы управления данными, которая взяла на себя все заботы. Имена, использовавшиеся для идентификации этих стандартных системных программ, скорее вводили в заблуждение, чем вносили ясность. Одним из имен было «Методы доступа». Конечно же все думали о методах и расположении данных, забывая о программах, реализующих эти методы
Разным программистам часто были нужны одни и те же данные, но в разной последовательности или в различном порядке. Поэтому им приходилось создавать свои собственные файлы из главного файла и в дальнейшем пользоваться уже своими файлами. Это было чревато двумя опасностями во-первых, память для файлов становилась все больше заполненной, но, что еще хуже, данные в одном файле не согласовывались с данными в другом файлеБыли написаны программы управления базами данных, которые обеспечили сложный логический поиск файлов в тех случаях, когда файлы записывались не с теми ключами, которые использовались программистом для их поиска. Эти системы получили название систем управления базами данных (СУБД); они сняли с программистов обязанности по разработке и проведению логического проектирования методов поиска и хранения данных; все работы отныне выполнялись с помощью СУБД

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

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

Таблица 4.6. Когда используется программное обеспечение разных типов

Тип программного обеспеченияВыполняются во время разработкиВыполняются во время использованияВыполняются во время сопровождения

Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

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


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.