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

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

Ранее выполнялась
1Переключение лентОператорами
2.Распределение ресурсов, расстановка приоритетов по ресурсамОператорами и начальником машинного зала
3.Восстановление после ошибкиОператорами; программистами
4Работы по вводу/выводуПрикладным программистом
5.Работы с данными и файламиПрикладным программистом
6Работа с линиями связиПрикладным программистом
7Работа с дисплеямиПрикладным программистом
8.Организация диалогаПрикладным программистом

Отнести конкретную программу к системному или прикладному обеспечению нам помогут два следующих критерия:

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

2. Насколько универсальна данная программа, могут ли ее использовать какие-либо другие прикладные программисты?

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

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

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

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

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

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

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

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

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

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

Рис. 4.16. Схема распределения памяти в фазе использования.

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

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


Рекомендуем почитать
Изучаем 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-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.