Управление конфигурациями сетевого программного обеспечения

30.06.2019

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

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

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

Что именно стоит настраивать.

Вот типичные примеры данных, которые часто стоит вынести в настройки:

  • Всевозможные каталоги. Например - пути до файлов данных, каталоги импорта/экспорта.
  • Сетевые настройки. Имена серверов, IP-адреса, порты, имена и пароли для автоматического доступа.
  • Настройки баз данных. Имена JDBC-драйверов, URL базы данных, SQL-запросы, зависимые от используемой БД.
  • Настройки внешнего вида. Настройки Swing-овского Look & Feel-а, используемые шрифты, размеры, цвета, настройки горячих клавиш.
  • Прочее... Любые другие вещи, которые могут менятся от пользователя к пользователю.

Например, довольно часто встречаемая ситуация - настройка соединения с БД. Начинающие программисты часто пишут нечто подобное:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:MyDatabase",user,password);

Таким образом программа привязывается к конкретному JDBC драйверу. Использовать другой драйвер, например заменить мост на RMI-прокси или, в случае Oracle, OCI на Thin без перекомпиляции уже нельзя.

В объектном программировании всё представляется в виде объектов. Настройки лучше всего при этом рассматривать как свойства определённых объектов, которые хранятся в файлах конфигураций. То, каким образом эти настройки считываются и записываются тесно взаимосвязано с форматом файлов и выбраной стратегией администрирования. Рассмотрим идеальный вариант:

  1. Настраиваемый объект не должен содержать знаний о формате файлов и способе чтения/записи. Это позволило бы, в случае необходимости, заменить один способ другим.
  2. Большинство настроек должны выполняться при помощи программы (подпункт меню или отдельная программа настройки). Это сильно облегчает жизнь человека, который занимается администрированием. У большинства "юниксоидов" это может вызвать непонимание:-), но редактированием текстовых файлов в современном мире во многих случаях не обойтись.
  3. Должно быть установлено разумное умолчание для отсутствующих параметров. Другими словами - необходимо, чтобы большинству пользователей для запуска программы нужно было бы сделать минимум настроек. Как правило это оставляет благоприятное первое впечатление о программе, а часто именно оно - самое важное.

К сожалению этот идеальный вариант довольно трудно сделать на практике. Первое требование предполагает разработку универсального механизма сохранения объектов. Такие системы уже есть готовые, но часто они не подходят по тем или иным параметрам. Разработать же самому такую систему - далеко не каждому под силу.

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

Разумное же умолчание для параметров часто просто невозможно представить. Например, что поставить в качестве имени SMTP-сервера? В случае Unix-систем можно попробовать поставить localhost, но для Windows-мира это редко кому подойдёт.

Рассмотрим наиболее распространённые варианты:

Ini-файлы.

Ini-файлы - это был самый распространённый вариант в эпоху Windows 3.x. Сейчас в виндовых программах он стал вытесняться хранением настроек в реестре. Тем не менее ini - это один из простейших вариантов хранения настроек. К сожалению довольно часто эта простота заставляет прибегать к различно рода ухищрениям. Пример типичного ini-файла:

InputDir=INPUT OutputDir=OUTPUT ArchDir=ARHIV TransferPath = a:\cour NoReceived=No Numb = 3 MenuName1 = ~N~orton ProgName1 = mousesav c:\command.com /c nc MenuName2 = Win - ~Б~локнот ProgName2 = notepad MenuName3 = Импорт из формата АБ "Инкомбанк" ProgName3 = incom.bat

В Java нет стандартного класса для чтения ini-файлов, но это не проблема. Т.к. формат очень прост, его легко сделать самому:

Файлы Properties.

Этот формат распространён в Unix-мире. Он ещё проще ini-файлов, т.к. в нём отсутствует понятие секций - всё состоит из ключей и значений. Пример типичного файла:

# Database configuration Database.Driver=sun.jdbc.odbc.JdbcOdbcDriver Database.DataURL=jdbc:odbc:MyDatabase Database.Prop.user=user Database.Prop.password=password

В Java есть готовый класс для чтения/записи таких файлов (java.util.Properties), но с ним есть некоторые проблемы. Во первых для чтения невозможно задать кодировку файла, а это означает проблемы с русскими буквами. Во вторых стандартная функция записи сохраняет данные в порядке следования хэш-значений ключей, что значит - как ей больше понравится. Но это тоже легко разрешимо - достаточно написать свою читалку/писалку.

XML-файлы.

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

user password

Для чтения и записи таких файлов предназначены специальные библиотеки - так называемые XML-парсеры. Таких парсеров уже сделано довольно много, так что писать его самому нет большого смысла - достаточно лишь подобрать подходящий. Для парсеров было разработано два стандартных программных интерфейса - событийный (SAX) и иерархический (DOM). Есть также и парсеры со своим интерфейсом. Размер jar-а с парсером может варьироваться от нескольких килобайт до мегабайта - в зависимости от поддерживаемых интерфейсов и возможностей.

Для XML также написано несколько библиотек для универсального сохранения (сериализации) объектов в файлах XML. Такие библиотеки позволяют отделить алгоритм сохранения от самого объекта, а это, как уже упоминалось, имеет много плюсов.

Сериализация.

Под термином "сериализация" понимают запись содержимого объекта в поток двоичных данных. Обычно имеется в виду универсальный алгоритм, реализуемый классами java.io.ObjectOutputStream и java.io.ObjectInputStream . Пользоваться ими просто настолько, насколько это вообще возможно - обычно достаточно лишь отметить в классе поддержку при помощи интерфейса Serializable и отметить ключевым словом transient те поля объекта, которые сохранять не нужно. Собсно и всё. :-) Пример:

public class SerialObject implements java.io.Serializable { private String name; private transient int state; public SerialObject() {} public SerialObject(String n) { name = n; } public String getName() { return name; } public void setState(int s) { state = s; } }
Запись объектов:
SerialObject o = ...; OutputStream os = ...; ObjectOutputStream oos = new ObjectOutputStream(os); oos.writeObject(o);
Чтение объектов:
InputStream is = ...; ObjectInputStream ois = new ObjectInputStream(is); SerialObject o = (SerialObject)ois.readObject();
Использование сериализации - это один из самых простых вариантов по реализации, но и у него есть свои недостатки. Получаемые файлы являются двоичными, а значит в текстовом редакторе их уже не подправить - придётся делать редактирование параметров из программы. Кроме того, необходимо следить за изменением сохраняемых объектов, дабы не нарушить совместимость при изменении и развитии программы.

Базы данных.

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

  • Настройки связаны весьма сложным образом и древовидные структуры типа XML подходят плохо.
  • Доступ к настройкам должен быть только у авторизованых пользователей.
  • Доступ к этим данным должен быть и из других программ, например из генератора отчётов типа Crystal Reports.
БД могут применятся объектные или реляционные. Другие типы сейчас широкого распространения не имеют. Использовать хорошую объектную БД часто так же просто, как и сериализацию. Для реляционых баз можно применить объектную надстройку, которая также позволяет сильно упростить жизнь. Ну а можно делать обычные SELECT-ы.

Скрипты.

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

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

Для программ на Java в качестве скрипт-языка хорошо использовать язык Pyton в его Java-инкарнации под названием JPyton. Там легко организовать двусторонюю связь между программой и скриптом. Если не будет хватать скорости интерпретации, то код на Pyton-е можно скомпилировать в байт-код - получится обычный Java-класс. Про JPyton можно почитать на сайте http://www.jpyton.org/ или в новой книжке Брюса Эккеля Thinking In Patterns with Java (доступна на http://www.bruceeckel.com/).

Пример программы с конфигурацией в XML.

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

Пример содержимого конфигурационного файла:

Просто строчка Вторая строчка

В качестве XML-парсера используется Sun-овский парсер в режиме DOM. На таком простом примере не видно особых преимуществ формата XML над теми же файлами properties. Они становятся заметны только в достаточно сложных программах, где становится необходимо хранить списки однотипных параметров или же содержимое объектов с уровнем вложенности два или более.

Статьи и Лайфхаки

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

Конфигурация устройства: что это такое

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

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

Что такое конфигурация ПО девайса


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

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

Нередко конфигурация задается ещё на стадии сборки программного обеспечения. Для того чтобы подвергнуть её каким-либо изменениям, программу нужно заново собрать. Нередко для хранения конфигурации используется и особая база данных (по примеру GConfig в ОС Windows).

Современное мобильное устройство фактически является портативным компьютером. У него есть своя операционная система, которая управляет работой программного обеспечения. К наиболее популярным можно отнести Windows Phone, Android и iOS.

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

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

Cтраница 1


Программная конфигурация и база данных хранятся в энергонезависимом ОЗУ модулей.  

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

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


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

Структура двухмашинной системы на базе ЭВМ ЕС-1033.  

В ЕС ЭВМ имеются МПД с жесткой и программной конфигурацией (прил. Создание сложных систем телеобработки связано с возможностями перераспределения функций управления между центральной ЭВМ и периферийными процессорами телеобработки данных.  


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

Для создания конкретного варианта информационно-поисковой системы на базе ППП АИДОС пользователь должен точно сформулировать свои требования к системе. Он должен определить носитель фонда системы, задачи, программную конфигурацию системы. Эти параметры должны быть описаны в макрокоманде DI UKPV, которая была рассмотрена выше.  

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

Это комплексы программ Netscape Communicator, Irbis и Microsoft Office, программа Adobe Acrobat Reader и другие. Уже во время разработки программных конфигураций рабочих станций стало очевидно, что установка всех этих приложений на каждой из рабочих станций будет крайне неэффективна. Не говоря уже о том, что целесообразность такого решения при наличии корпоративной сети вообще представляется весьма сомнительной, это повлекло бы резкое увеличение размера образа рабочей станции, а также усложнило бы жизнь службе технической поддержки. Поэтому на основе службы Novell Zen Works Application Management была построена эффективная система управления приложениями, решившая многие проблемы обеспечения доступа пользователей к необходимым программам и сохранения целостности этих программ.  

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

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

Страницы:      1

Программа - это упорядоченная последовательность команд. Конечная цель любой компьютерной программы - управление ап- паратными средствами. Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и в непрерывном взаи- модействии. Состав программного обеспечения (Software)

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

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

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

взаимодействие с пользователем, называют средствами обеспечения

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

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

Классификация служебных программ:

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

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

Средства просмотра и воспроизведения, предназначенные для просмотра и воспроизведения документов без загрузки их в «родительскую» прикладную систему (среду разработки);

Средства диагностики, предназначенные для автоматизации процессов диагностики аппаратного и программного обеспе- чения;

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

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

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

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

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

Классификация прикладных программ:

Текстовые редакторы, предназначенные для ввода и редакти- рования текстовых данных;

Текстовые процессоры, обеспечивающие ввод, редактирова- ние текста и форматирование (оформление) документов, предназначенных для печати, а также электронных докумен- тов, предназначенных для отображения на экране;

Графические редакторы, предназначенные для создания и (или) обработки графических изображений;

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

Электронные таблицы - это комплексные средства для хра- нения и обработки различных типов данных,

представляемых в виде таблиц;

СЛБ-системы (системы автоматизированного проектирова- ния), предназначенные для проектно-конструкторских работ;

Настольные издательские системы, предназначенные для ав- томатизации процесса верстки полиграфических изданий;

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

Редакторы HTML (веб-редакторы), предназначенные для создания и редактирования веб-документов (веб-страниц интернета);

Браузеры - это программные средства, предназначенные для просмотра электронных документов, выполненных в фор- мате HTML;

Интегрированные системы делопроизводства, предназна- ченные для автоматизации рабочего места руководителя (создания, редактирования и форматирования простейших документов, централизации функций электронной почты, факсимильной и телефонной связи, диспетчеризации и мо- ниторинга документооборота предприятия, координации деятельности подразделений, оптимизации административ- но-хозяйственной деятельности и поставки по запросу оперативной и справочной информации);

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

Финансовые аналитические системы, предназначенные для банковских и биржевых структур;

Геоинформационные системы (ГИС), предназначенные для автоматизации картографических и геодезических работ на основе информации, полученной топографическими или аэ- рокосмическими методами;

Системы видеомонтажа, предназначенные для цифровой об- работки видеоматериалов (монтажа, создания

видеоэффектов, устранения дефектов, наложения звука, тит- ров и субтитров);

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

3.3. Операционные системы персональных компьютеров

3.2.1. Общие сведения об операционных системах

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

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

Интерфейса между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя);

Интерфейса между программным и аппаратным обеспечением (аппаратно-программный интерфейс);

Интерфейса между разными видами программного обеспече- ния (программный интерфейс).

Все операционные системы способны обеспечивать как пакет- ный, так и диалоговый режим работы с пользователем.

В пакетном режиме операционная система автоматически ис- полняет заданную последовательность команд.

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

По реализации интерфейса пользователя различают неграфи- ческие и графические операционные системы.

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

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

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

Похожие статьи