Скачать:
1 OC WINDOWS
1.1 Операционная система
Операционная система (англ. operating system, OS) – комплекс взаимосвязанных программ, предназначенных для управления ресурсами вычислительного устройства и организации взаимодействия с пользователем.
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами (драйверами) –с одной стороны –и прикладными программами с другой.
Разработчикам программного обеспечения операционная система позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций (интерфейс программирования приложений).
В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990–х годов наиболее распространёнными операционными системами являются системы семейства Windows, UNIX и UNIX–подобные системы, в особенности Linux и Mac OS
Основные функции:
-Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
-Загрузка программ в оперативную память и их выполнение.
-Стандартизованный доступ к периферийным устройствам (устройства ввода–вывода).
-Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
-Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
-Обеспечение пользовательского интерфейса.
-Сохранение информации об ошибках системы.
Существуют две группы определений операционной системы: «набор программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который связан с вопросом, в каких случаях требуется операционная система.
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки – также представляющие собой специализированные микрокомпьютеры –могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт– диске.
Операционные системы нужны:
-если нужен универсальный механизм сохранения данных
-для предоставления системным библиотекам часто используемых подпрограмм
-для распределения полномочий
-необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере
-для управления процессами выполнения отдельных программ
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:
-использующие файловые системы (с универсальным механизмом доступа к данным),
-многопользовательские (с разделением полномочий),
-многозадачные (с разделением времени).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов в самой операционной системе. В составе операционной системы различают три группы компонентов:
-ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
-системные библиотеки;
-оболочка с утилитами.
Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.
В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
1.2 OC Windows
Microsoft Windows – семейство проприетарных операционных систем корпорации Microsoft, ориентированных на применение графического интерфейса при управлении. Изначально Windows была всего лишь графической надстройкой для MS–DOS. По состоянию на август 2014 года под управлением операционных систем семейства Windows по данным ресурса NetMarketShare работает более 91% персональных компьютеров.Windows работает на платформах x86, x86–64, IA–64 и ARM. Существовали также версии для DEC Alpha, MIPS, PowerPC и SPARC.
Первые версии Windows не были полноценными операционными системами, а являлись надстройками к операционной системе DOS и были по сути многофункциональным расширением, добавляя поддержку новых режимов работы процессора, поддержку многозадачности, обеспечивая стандартизацию интерфейсов аппаратного обеспечения и единообразие для пользовательских интерфейсов программ. Предоставляли встроенные средства GDI и USER для создания графического интерфейса. Первые версии Windows вообще состояли из трёх модулей –KERNEL, GDI и USER. Первый из них предоставлял вызовы управления памятью, запуском .EXE–файлов и загрузкой .DLL –файлов, второй –графику, третий –окна. Они работали с процессорами, начиная с Intel 8086.
-Windows 1.0 (1985)
-Windows 2.0 (1987)
-Windows 2.1 (Windows 386, 1987) – в системе появилась возможность запуска DOS–приложений в графических окнах, причём каждому приложению предоставлялись полные 640 Кб памяти. Полная поддержка процессора 80286. Появилась поддержка процессоров 80386.
-Windows 3.0 (1990) – улучшена поддержка процессоров 80386 и защищённого режима.
-Windows 3.1 (1992) – серьёзно переработанная Windows 3.0; устранены UAE (фатальные ошибки прикладных программ), добавлен механизм OLE, печать в режиме WYSIWYG («что видите, то и получите»), шрифты TrueType, изменён диспетчер файлов, добавлены мультимедийные функции.
-Windows для рабочих групп (Windows for Workgroups) 3.1/3.11 –первая версия ОС семейства с поддержкой локальных сетей. В системе также испытывались отдельные усовершенствования ядра, применённые позднее в Windows 95.
Операционные системы этого семейства в настоящее время работают на процессорах с архитектурами x86, x86–64, и Itanium, ARM. Ранние версии (до 4.0 включительно) также поддерживали некоторые RISC– процессоры: Alpha, MIPS, и Power PC. Все операционные системы этого семейства являются полностью 32– или 64– битными операционными системами, и не нуждаются в MS–DOS даже для загрузки.
Только в этом семействе представлены операционные системы для серверов. До версии Windows 2000 включительно они выпускались под тем же названием, что и аналогичная версия для рабочих станций, но с добавлением суффикса, например, «Windows NT 4.0 Server» и «Windows 2000 Datacenter Server». Начиная с Windows Server 2003 серверные операционные системы называются добавлением суффикса «Server» и года выпуска.
-Windows NT 3.1 (1993)
-Windows NT 3.5 (1994)
-Windows NT 3.51 (1995)
-Windows NT 4.0 (1996)
-Windows 2000 – Windows NT 5.0 (2000)
-Windows XP – Windows NT 5.1 (2001)
-Windows XP 64–bit Edition –Windows NT 5.2 (2003)
-Windows Server 2003 – Windows NT 5.2 (2003)
-Windows XP Professional x64 Edition –Windows NT 5.2 (2005)
-Windows Vista – Windows NT 6.0 (2006)
-Windows Home Server – Windows NT 5.2 (2007)
-Windows Server 2008 – Windows NT 6.0 (2008)
-Windows Small Business Server –Windows NT 6.0 (2008)
-Windows 7 – Windows NT 6.1 (2009)
-Windows Server 2008 R2 – Windows NT 6.1 (2009)
-Windows Home Server 2011 – Windows NT 6.1 (2011)
-Windows 8 – Windows NT 6.2 (2012)
-Windows Server 2012 – Windows NT 6.2 (2012)
-Windows 8.1 – Windows NT 6.3 (2013)
-Windows Server 2012 R2 – Windows NT 6.3 (2013)
-Windows 10 – Windows NT 10.0 (2015)
1.3 Сборка системного блока ПК
Системный блок (англ. computer case, сленг. системник) – физически представляет собой шасси, которое наполнено аппаратным обеспечением для создания компьютера.
Функционально представляет собой основу для создания и дальнейшего расширения вычислительной системы.
Основные составные части типичного персонального компьютера:
-Системный блок в составе: 2 – материнская плата, 3 – центральный процессор, 4 – оперативная память, 5 – карты расширений, 6 – блок питания, 7 – оптический привод, 8 –жёсткий диск;
-периферийные устройства: 1 – монитор, 9 – компьютерная мышь, 10 – клавиатура
Содержимое системного блока в значительной степени зависит от вычислительной системы в целом, её задач, целей и форм–фактора. В случае рационального использования, системный блок в большей степени соответствует потребностям вычислительной системы. В зависимости от вычислительной системы, в системном блоке могут находиться различные компоненты аппаратного обеспечения:
-вычислительный блок в виде главной/системной/материнской платы с установленным на ней процессором, ОЗУ;
-в материнскую плату могут быть установлены карты расширения (видеокарта, звуковая карта, сетевая плата) в случае крупного размера имеющие специальные средства крепления внутри шасси;
-также в шасси могут быть установлены блок(и) питания.
Кроме того, в конструкции шасси предусмотрены стандартизированные отсеки (англ.)русск. для периферийных устройств, заполняемые в частности накопителями – жёстким диском(дисками), SSD, оптическим приводом, кардридером и т. п.
Фронтальная панель корпуса компьютера может быть оборудована кнопками включения и перезагрузки, индикаторами питания и накопителей, гнёздами для подключения наушников и микрофона, интерфейсами передачи данных (USB, FireWire).
В случае использования в составе ЦОД или вычислительного кластера монтируемого в стойку, устанавливаются средства телеметрического управления и контроля (например на основе коммутаторов или управляющего ПО, ориентированного на веб–интерфейс).
В основном (существуют специальные решения «безотвёрточного монтажа»), содержимое системного блока монтируется при помощи специально разработанных крепёжных элементов
Корпус, защищающий внутренние компоненты компьютера от внешнего воздействия и механических повреждений, поддерживающий необходимый температурный режим внутри, экранирующий создаваемое внутренними компонентами электромагнитное излучение, может быть представлен различными по форме и пропорциям стандартными шасси (размеры указаны в миллиметрах):
Горизонтальные:
-Desktop (533 × 419 × 152)
-FootPrint (406 × 406 × 152)
-SlimLine (406 × 406 × 101)
-UltraSlimLine (381 × 352 × 75)
Вертикальные:
-MiniTower (152 × 432 × 432)
-MidiTower (173 × 432 × 490)
-BigTower (190 × 482 × 820)
-SuperFullTower (разныеразмеры)
Для установки в стойку, высота корпуса выбирается исходя из стоечной единицы измерения.
Шасси для системных блоков массово изготавливают заводским способом из деталей на основе стали, алюминия и пластика. Для самобытной отделки энтузиасты широко используют такие материалы, как древесина или органическое стекло.
1.4 Подключение устройств ввода вывода
Устройство ввода –вывода – компонент типовой архитектуры ЭВМ, предоставляющий компьютеру возможность взаимодействия с внешним миром и, в частности, с пользователями.
Подразделяются на:
-Устройство ввода
-Устройство вывода
Устройства ввода–вывода– компоненты ЭВМ с переносными носителями (дисководы), двунаправленные интерфейсы (различные порты компьютера, а также сетевые интерфейсы)
1.Устройства ввода
Устройства ввода–это, в основном, датчики преобразования не электрических величин (расположение в пространстве, давление, вязкость, скорость, ускорение, освещенность, температура, влажность, перемещение, количественные величины и т.п.) и электрических величин в электрические сигналы воспринимаемые процессором для дальнейшей их обработки в основном в цифровом виде.
-Клавиатура
-Мышь и тачпад
-Планшет
-Джойстик
-Сканер
-Цифровые фото, видеокамеры, веб–камеры
-Микрофон
2.Устройства вывода
Устройства вывода –это преобразователи электрической цифровой информации в вид необходимый для получения требуемого результата, могущего быть как не электрической природы (механические, тепловые, оптические, звуковые), так и электрической природы (трансформаторы, нагреватели, электродвигатели,реле).
-Монитор
-Графопостроитель
-Принтер
-Акустическая система
3 Устройства ввода–вывода
-Интерактивная доска
-Стример
-Дисковод
-Сетевая плата
-Модем
1.5 Настройка интерфейса Настройка локальной вычислительной сети и подключение к сети Интернет
Локальная вычислительная сеть (ЛВС, локальная сеть; англ. Local Area Network, LAN) –компьютерная сеть, покрывающая обычно относительно небольшую территорию или небольшую группу зданий (дом, офис, фирму, институт). Также существуют локальные сети, узлы которых разнесены географически на расстояния более 12 500 км (космические станции и орбитальные центры). Несмотря на такие расстояния, подобные сети всё равно относят к локальным.
1.Построение сети
Существует множество способов классификации сетей. Основным критерием классификации принято считать способ администрирования. То есть в зависимости от того, как организована сеть и как она управляется, её можно отнести к локальной, распределённой, городской или глобальной сети. Управляет сетью или её сегментом сетевой администратор. В случае сложных сетей их права и обязанности строго распределены, ведётся документация и журналирование действий команды администраторов.
Компьютеры могут соединяться между собой, используя различные среды доступа: медные проводники (витая пара), оптические проводники (оптические кабели) и через радиоканал (беспроводные технологии). Проводные, оптические связи устанавливаются через Ethernet, беспроводные – через Wi–Fi, Bluetooth, GPRS и прочие средства. Отдельная локальная вычислительная сеть может иметь связь с другими локальными сетями через шлюзы, а также быть частью глобальной вычислительной сети (например, Интернет) или иметь подключение к ней.
Чаще всего локальные сети построены на технологиях Ethernet или Wi–Fi. Следует отметить, что ранее использовались протоколы Frame Relay, Token ring, которые на сегодняшний день встречаются всё реже, их можно увидеть лишь в специализированных лабораториях, учебных заведениях и службах. Для построения простой локальной сети используются маршрутизаторы, коммутаторы, точки беспроводного доступа, беспроводные маршрутизаторы, модемы и сетевые адаптеры. Реже используются преобразователи (конвертеры) среды, усилители сигнала (повторители разного рода) и специальные антенны.
Маршрутизация в локальных сетях используется примитивная, если она вообще необходима. Чаще всего это статическая либо динамическая маршрутизация (основанная на протоколе RIP).
Иногда в локальной сети организуются рабочие группы –формальное объединение нескольких компьютеров в группу с единым названием.
Сетевой администратор – человек, ответственный за работу локальной сети или её части. В его обязанности входит обеспечение и контроль физической связи, настройка активного оборудования, настройка общего доступа и предопределённого круга программ, обеспечивающих стабильную работу сети.
Технологии локальных сетей реализуют, как правило, функции только двух нижних уровней модели OSI – физического и канального. Функциональности этих уровней достаточно для доставки кадров в пределах стандартных топологий, которые поддерживают LAN: звезда, общая шина, кольцо и дерево. Однако из этого не следует, что компьютеры, связанные в локальную сеть, не поддерживают протоколы уровней, расположенных выше канального. Эти протоколы также устанавливаются и работают на узлах локальной сети, но выполняемые ими функции не относятся к технологии LAN.
2.Адресация
В локальных сетях, основанных на протоколе IPv4, могут использоваться специальные адреса, назначенные IANA (стандарты RFC 1918 и RFC 1597):
-10.0.0.0 –10.255.255.255;
-172.16.0.0 –172.31.255.255;
-192.168.0.0 –192.168.255.255.
Такие адреса называют частными, внутренними, локальными или «серыми»; эти адреса не доступны из сети Интернет. Необходимость использовать такие адреса возникла из–за того, что при разработке протокола IP не предусматривалось столь широкое его распространение, и постепенно адресов стало не хватать. Для решения этой проблемы был разработан протокол IPv6, однако он пока малопопулярен. В различных непересекающихся локальных сетях адреса могут повторяться, и это не является проблемой, так как доступ в другие сети происходит с применением технологий, подменяющих или скрывающих адрес внутреннего узла сети за её пределами – NAT или прокси дают возможность подключить ЛВС к глобальной сети (WAN). Для обеспечения связи локальных сетей с глобальными применяются маршрутизаторы (в роли шлюзов и файрволов).
Конфликт IP адресов – распространённая ситуация в локальной сети, при которой в одной IP–подсети оказываются два или более компьютеров с одинаковыми IP–адресами. Для предотвращения таких ситуаций и облегчения работы сетевых администраторов применяется протокол DHCP, позволяющий компьютерам автоматически получать IP–адрес и другие параметры, необходимые для работы в сети TCP/IP.
3.LAN и VPN
Связь с удалённой локальной сетью, подключенной к глобальной сети, из дома/командировки/удалённого офиса часто реализуется через VPN. При этом устанавливается VPN–подключение к пограничному маршрутизатору.
Особенно популярен следующий способ организации удалённого доступа к локальной сети:
-Обеспечивается подключение снаружи к маршрутизатору, например по протоколу PPPoE, PPTP или L2TP (PPTP+IPSec).
-Так как в этих протоколах используется PPP, то существует возможность назначить абоненту IP–адрес. Назначается свободный (не занятый) IP–адрес из локальной сети.
-Маршрутизатор (VPN, Dial–in сервер) добавляет proxyarp – запись на локальной сетевой карте для IP–адреса, который он выдал VPN–клиенту. После этого, если локальные компьютеры попытаются обратиться напрямую к выданному адресу, то они после ARP–запроса получат MAC–адрес локальной сетевой карты сервера и трафик пойдёт на сервер, а потом и в VPN–туннель.
1.6 Осуществление базовых настроек устройств ввода–вывода
Ввод–вывод (от англ. input/output, I/O) в информатике –взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод –сигнал или данные, полученные системой, а вывод –сигнал или данные, посланные ею (или из неё). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод–вывод» означает выполнение операций ввода или вывода. Устройства ввода–вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши – специально разработанные компьютерные устройства ввода, а мониторы и принтеры – компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно.
Назначение устройства в качестве устройства ввода или вывода зависит от перспективы. Мыши и клавиатуры принимают физическое взаимодействие, осуществляемое человеком–пользователем (относительно пользователя это будут действия по выводу информации), и превращает его в сигналы, понятные компьютеру. Вывод информации из этих устройств является вводом её в компьютер. Аналогично, принтеры и мониторы получают на входе сигналы, которые выводит компьютер. Затем они преобразуют эти сигналы в такой вид, который человек сможет увидеть или прочитать. (Для пользователей процесс чтения или просмотра подобных вариантов представления информации является вводом или получением информации.)
В компьютерной архитектуре объединение процессора и основной памяти (то есть памяти, из которой процессор может читать и записывать в неё напрямую с помощью особых инструкций) составляет «мозг» компьютера, и с этой точки зрения, любой обмен информацией с этим объединением, например, с дисковым накопителем, подразумевает ввод–вывод. Процессор и его сопутствующие электронные цепи реализуют ввод–вывод с распределением памяти, используемый в низкоуровневом программировании при реализации драйверов устройств.
Высокоуровневая операционная система и программное обеспечение используют другие, более абстрактные концепции и примитивы ввода–вывода. Например, большинство операционных систем реализуют прикладные программы через концепцию файлов. Языки программирования Си и C++, а также операционные системы семейства Unix, традиционно абстрагируют файлы и устройства в виде потоков данных, из которых можно читать и в которые можно записывать, или и то и другое вместе. Стандартная библиотека языка Си реализует функции для работы с потоками для ввода и вывода данных.
В контексте языка программирования Алгол–68 механизмы ввод и вывод совместно назывались обменом. Библиотека обмена Алгола–68 распознавала следующие стандартные файлы (устройства): stand in, stand out, stand error и stand back.
Альтернативой специальным простейшим функциям служит монада ввода–вывода, которая позволяет программам просто описывать ввод–вывод, а действия выносятся за рамки программы. Это весьма примечательно, так как функции ввода–вывода имеют побочные эффекты в любом языке программирования, но сейчас получило распространение чисто функциональное программирование.
Интерфейс ввода–вывода требует управления процессором каждого устройства. Интерфейс должен иметь соответствующую логику для интерпретации адреса устройства, генерируемого процессором.
Установление контакта должно быть реализовано интерфейсом при помощи соответствующих команд типа (ЗАНЯТ, ГОТОВ, ЖДУ), чтобы процессор мог взаимодействовать с устройством ввода–вывода через интерфейс.
Если существует необходимость передачи различающихся форматов данных, то интерфейс должен уметь конвертировать последовательные (упорядоченные) данные в параллельную форму и наоборот.
Должна быть возможность для генерации прерываний и соответствующих типов чисел для дальнейшей обработки процессором (при необходимости).
Компьютер, использующий ввод–вывод с распределением памяти, обращается к аппаратному обеспечению при помощи чтения и записи в определенные ячейки памяти, используя те же самые инструкции языка ассемблера, которые компьютер обычно использует при обращении к памяти.
1.7 Установка прикладного программного обеспечения
Прикладная программа или приложение – программа, предназначенная для выполнения определенных задач и рассчитанная на непосредственное взаимодействие с пользователем. В большинстве операционных систем прикладные программы не могут обращаться к ресурсам компьютера напрямую, а взаимодействуют с оборудованием и прочим посредством операционной системы. Также на простом языке – вспомогательные программы.
К прикладному программному обеспечению относятся компьютерные программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Программы обработки заказов или создания списков рассылки –пример прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами.
Классификация
1. По типу
программные средства общего назначения
-Текстовые редакторы
-Текстовые процессоры
-Системы компьютерной вёрстки
-Графические редакторы
-СУБД
-Электронные таблицы
-Веб–браузеры
программные средства развлекательного назначения
-Медиаплееры
-Компьютерные игры
программные средства специального назначения
-Экспертные системы
-Трансляторы
-Мультимедиа–приложения (медиаплееры, программы для создания и редактирования видео, звука, text–to–speech и пр.)
-Гипертекстовые системы (электронные словари, энциклопедии, справочные системы)
-Системы управления содержимым
профессиональные программные средства
-САПР
-АРМ
-АСУ
-АСУ ТП
-АСНИ
-Геоинформационные системы
-Биллинговые системы
-CRM
-CTRM/ETRM –системы управления складом
-SRM (Supplier Relationship Management) – системы управления взаимоотношениями с поставщиками
-BI (Business Intelligence) – аналитические системы
-DMS (Document Management System) – СЭД (системы электронного документооборота)
-CMS (Content Management System) – системы управления содержанием (контентом)
-WMS (Warehouse Management System) –системыуправленияскладом (СУС)
-ERP–системы– системы планирования ресурсов предприятия
-EAM–системы– системы управления основными фондами предприятия
-MRM–системы– системы управления маркетинговыми ресурсами
-MES–системы– системы оперативного (цехового) управления производством и ремонтами
-Интеграционные шины данных (ESB)
2.По сфере применения
Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: управление транспортными расходами, служба IT–поддержки)
Программное обеспечение, обеспечивающее доступ пользователя к устройствам компьютера.
Программное обеспечение инфраструктуры предприятия. Обеспечивает общие возможности для поддержки ПО предприятий. Это системы управления базами данных, серверы электронной почты, управление сетью и безопасностью.
Программное обеспечение информационного работника. Обслуживает потребности индивидуальных пользователей в создании и управлении информацией. Это, как правило, управление временем, ресурсами, документацией, например, текстовые редакторы, электронные таблицы, программы–клиенты для электронной почты и блогов, персональные информационные системы и медиаредакторы.
Программное обеспечение для доступа к контенту. Используется для доступа к тем или иным программам или ресурсам без их редактирования (однако может и включать функцию редактирования). Предназначено для групп или индивидуальных пользователей цифрового контента. Это, например, медиаплееры, веб–браузеры, вспомогательные браузеры и др.
Образовательное программное обеспечение по содержанию близко к ПО для медиа и развлечений, однако в отличие от него имеет четкие требования по тестированию знаний пользователя и отслеживанию прогресса в изучении того или иного материала. Многие образовательные программы включают функции совместного пользования и многостороннего сотрудничества.
Имитационное программное обеспечение. Используется для симуляции физических или абстрактных систем в целях научных исследований, обучения или развлечения.
Инструментальные программные средства в области медиа. Обеспечивают потребности пользователей, которые производят печатные или электронные медиаресурсы для других потребителей, на коммерческой или образовательной основе. Это программы полиграфической обработки, вёрстки, обработки мультимедиа, редакторы HTML, редакторы цифровой анимации, цифрового звука и т. п.
Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного и программного обеспечения. Охватывают автоматизированное проектирование (системы автоматизированного проектирования –САПР), автоматизированную инженерию (computer aided engineering – CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments –IDE).
1.8 Работа с антивирусными программами и утилитами
Антивирусная программа (антивирус) – специализированная программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще и восстановления заражённых (модифицированных) такими программами файлов, а также для профилактики – предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.
1.Целевые платформы антивирусного ПО
На данный момент антивирусное программное обеспечение разрабатывается, в основном, для ОС семейства Windows от компании Microsoft. Это вызвано большим количеством вредоносных программ именно под эту платформу (а это, в свою очередь, вызвано большой популярностью этой ОС, так же, как и большим количеством средств разработки, в том числе бесплатных и даже «инструкций по написанию вирусов»). В настоящий момент на рынок выходят продукты и для других операционных систем, таких, к примеру, как Linux и Mac OS X. Это вызвано началом распространения компьютерных вирусов и под эти платформы, хотя UNIX–подобные системы традиционно пользуются репутацией более устойчивых к воздействию вредоносных программ[источник не указан 669 дней].
Помимо ОС для настольных компьютеров и ноутбуков, также существуют платформы и для мобильных устройств, такие, как Windows Mobile, Symbian, Apple iOS, BlackBerry, Android, Windows Phone 7 и др. Пользователи устройств на данных ОС также подвержены риску заражения вредоносным программным обеспечением, поэтому некоторые разработчики антивирусных программ выпускают продукты и для таких устройств.
2.Классификация антивирусных продуктов
Классифицировать антивирусные продукты можно сразу по нескольким признакам, таким, как: используемые технологии антивирусной защиты, функционал продуктов, целевые платформы.
По используемым технологиям антивирусной защиты:
-Классические антивирусные продукты (продукты, применяющие только сигнатурный метод детектирования)
-Продукты проактивной антивирусной защиты (продукты, применяющие только проактивные технологии антивирусной защиты);
-Комбинированные продукты (продукты, применяющие как сигнатурные методы защиты, так и проактивные)
По функционалу продуктов:
-Антивирусные продукты (продукты, обеспечивающие только антивирусную защиту)
-Комбинированные продукты (продукты, обеспечивающие не только защиту от вредоносных программ, но и фильтрацию спама, шифрование и резервное копирование данных и другие функции)
По целевым платформам:
-Антивирусные продукты для ОС семейства Windows
-Антивирусные продукты для ОС семейства *NIX (к данному семейству относятся ОС BSD, Linux и др.)
-Антивирусные продукты для ОС семейства MacOS
-Антивирусные продукты для мобильных платформ (Windows Mobile, Symbian, iOS, BlackBerry, Android, Windows Phone 7 и др.)
Антивирусные продукты для корпоративных пользователей можно также классифицировать по объектам защиты:
-Антивирусные продукты для защиты рабочих станций
-Антивирусные продукты для защиты файловых и терминальных серверов
-Антивирусные продукты для защиты почтовых и Интернет–шлюзов
-Антивирусные продукты для защиты серверов виртуализации
-и т.д.
3.Антивирусы для сайтов
Их можно поделить условно на несколько типов:
-Серверный –устанавливается на веб–сервер. Поиск вирусов, в этом случае, происходит в файлах всего сервера.
-Скрипт или компонент CMS – выполняющие поиск вредоносного кода, непосредственно в файлах сайта.
-SaaS сервис – система централизованного управления, позволяющая управлять файлами, базами данных, настройками и компонентами веб–ресурсов на VDS и DS удаленно.
4.Специальные антивирусы
В ноябре 2014 года международная правозащитная организация Amnesty International выпустила антивирусную программу Detect, предназначенную для выявления вредоносного ПО, распространяемого государственными учреждениями для слежки за гражданскими активистами и политическими оппонентами. Антивирус выполняет более глубокое сканирование жёсткого диска, нежели обычные антивирусы
2. MICROSOFTOFFICE. ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ.
2.1 MicrosoftOffice
Microsoft Office –офисный пакет приложений, созданных корпорацией Microsoft для операционных систем Microsoft Windows, Windows Phone, Android, Apple Mac OS X, Apple iOS. В состав этого пакета входит программное обеспечение для работы с различными типами документов: текстами, электронными таблицами, базами данных и др. Microsoft Office является сервером OLE объектов и его функции могут использоваться другими приложениями, а также самими приложениями Microsoft Office. Поддерживает скрипты и макросы, написанные на VBA.
1. Состав Microsoft Office
Microsoft Office поставляется в нескольких редакциях. Отличия редакций в составе пакета и цене. Наиболее полная из них содержит:
-Microsoft Word – текстовый процессор. Доступен под Windows и Apple Mac OS X. Позволяет подготавливать документы различной сложности. Поддерживает OLE, подключаемые модули сторонних разработчиков, шаблоны и многое другое. Основным форматом в последней версии является позиционируемый как открытый Microsoft Office Open XML, который представляет собой ZIP–архив, содержащий текст в виде XML, а также всю необходимую графику. Наиболее распространенным остается двоичный формат файлов Microsoft Word 97 –2003 с расширением DOC. Продукт занимает ведущее положение на рынке текстовых процессоров, и его форматы используются как стандарт де–факто в документообороте большинства предприятий. Word также доступен в некоторых редакциях Microsoft Works. Программы–эквиваленты: OpenOffice.org Writer, LibreOffice Writer, StarOffice Writer, KWord, NeoOffice Writer, Corel WordPerfect и Apple Pages (только на платформе Mac OS), а также, с некоторыми оговорками AbiWord (в тех случаях, когда его возможностей достаточно, а малый объём и скорость работы при невысоких требованиях к ресурсам более важны).
-MicrosoftExcel–табличныйпроцессор. Поддерживает все необходимые функции для создания электронных таблиц любой сложности. Занимает ведущее положение на рынке. Последняя версия использует формат OOXML с расширением «.xlsx», более ранние версии использовали двоичный формат с расширением «.xls». Доступен под Windows и Apple Mac OS X. Программы–эквиваленты: OpenOffice.org Calc, LibreOffice Calc, KSpread, StarOffice, Gnumeric, Corel Quattro Pro и Apple Numbers (только на платформе Mac OS).
-Microsoft Outlook (не путать с Outlook Express) – персональный коммуникатор. В состав Outlook входят: календарь, планировщик задач, записки, менеджер электронной почты, адресная книга. Поддерживается совместная сетевая работа. Программы–эквиваленты: почтового клиента –Mozilla Thunderbird/SeaMonkey, Novell Evolution, Claws Mail ,Eudora Mail, The Bat!; диспетчера персональных данных –Mozilla, Lotus Organizer и Novell Evolution. Доступен под Windows и под Apple Mac OS X.
-Microsoft PowerPoint – программа подготовки презентаций под Microsoft Windows и Apple Mac OS X. Программы–эквиваленты: OpenOffice.org Impress, LibreOffice Impress, KPresenter, Corel WordPerfect и Apple Keynote.
-Microsoft Access – приложение для управления базами данных. Программы–эквиваленты: OpenOffice.org Base, LibreOffice Base, Kexi.
-Microsoft InfoPath – приложение сбора данных и управления ими –упрощает процесс сбора сведений.
-Microsoft Communicator (Microsoft Lync) – предназначен для организации всестороннего общения между людьми. Microsoft Office Communicator 2007 обеспечивает возможность общения посредством простого обмена мгновенными сообщениями, а также проведения голосовой и видео беседы. Данное приложение является частью программного пакета Microsoft Office и тесно с ним интегрировано, что позволяет ему работать совместно с любой программой семейства Microsoft Office. Но после открытия программы на рабочем столе Lync не закрывается, а остаётся в панели задач, даже после завершения работы устройства .
-Microsoft Publisher – приложение для подготовки публикаций.
-Microsoft Visio – приложение для работы с бизнес–диаграммами и техническими диаграммами – позволяет преобразовывать концепции и обычные бизнес–данные в диаграммы. Программы–эквиваленты: LibreOffice Draw, OpenOffice.org Draw, yEd Grapth Editor.
-Microsoft Project – управление проектами.
-Microsoft Query – просмотр и отбор информации из баз данных.
-Microsoft OneNote – приложение для записи заметок и управления ими.
-Microsoft Groove – приложение для поддержки совместной работы.
-Microsoft SharePoint Designer – инструмент для построения приложений на платформе Microsoft SharePoint и адаптации узлов SharePoint.
-MicrosoftPictureManager–работасрисунками. Программы–эквиваленты: OpenOffice.org Draw.
-Microsoft Document Image Writer –виртуальныйпринтер, печатающийвформат Microsoft Document Imaging Format.
-Microsoft Diagnostics – диагностика и восстановление поврежденных приложений Microsoft Office.
Ранее в Microsoft Office входило приложение Microsoft FrontPage (программа для создания сайтов), однако Microsoft приняла решение исключить это приложение из Office и прекратить его разработку. В Microsoft Office 2007 программа FrontPage былазамененана Microsoft SharePoint Designer.
2. Версии продукта и их поддержка
Логотип Microsoft Office 2013
Основная статья: История Microsoft Office
Версии, выпущенные до Microsoft Office 97 (включая Outlook 97), более не поддерживаются.
-Office 97 (включая Outlook 98) – расширенная поддержка закончилась 16 января 2004. Выпуск исправлений (hotfix) в рамках основной поддержки прекращен 31 августа 2001 года.
-Office 2000 – базовая поддержка продукта прекращена 30 июля 2004. Расширенная поддержка закончилась 14 июля 2009.
-Office XP –базовая поддержка продукта прекращена 11 июля 2006. Расширенная поддержка прекращена 12 июля 2011.
-Office 2003 – базовая поддержка продукта прекращена 14 апреля 2009. Расширенная поддержка прекращена 8 апреля 2014.
-Для Office 2007 и будущих версий MS Office –продолжительность базовой поддержки 5 лет после выпуска продукта или 2 года после выпуска следующей версии продукта (что наступит позднее), расширенная поддержка будет доступна в течение 5 лет после окончания срока базовой поддержки.
-Office 2010 – версия офисного пакета, базовая поддержка продукта будет прекращена 15 июля 2015 года.
-Office 2013 – текущая версия офисного пакета, разработка которой была завершена 12 октября 2012 года. Продажи начались в первом квартале 2013 года.
-Office 2016 – разрабатываемая версия офисного пакета, который выйдет в конце 2015 года вместе с операционной системой Windows 10. Сейчас на официальном сайте доступна для скачивания тестовая версия нового Office.
-Office for iPad – текущая версия офисного пакета для Apple iPad, продажи которой начались в марте 2014 года.
Продажи Office 2003 и Office 2007 прекращены 11 января 2010 года в результате патентного разбирательства с компанией i4i.
В начале 2012 года было начато тестирование предварительной технической версии Office 2013. Позже в Интернете появились скриншоты и видео этой версии Office. Как и предполагалось, она включена в состав Windows RT.
2.2 Пакеты прикладных программ
Пакет прикладных программ (аббр. ППП, англ. application package) или пакет программ –набор взаимосвязанных модулей, предназначенных для решения задач определённого класса некоторой предметной области. По смыслу ППП было бы правильнее назвать пакетом модулей вместо устоявшегося термина пакет программ. Отличается от библиотеки тем, что создание библиотеки не ставит целью полностью покрыть нужды предметной области, так как приложение может использовать модули нескольких библиотек. Требования же к пакету программ жёстче: приложение для решения задачи должно использовать только модули пакета, а создание конкретного приложения может быть доступно непрограммистам.
Пакетному подходу можно противопоставить создание «универсальной» программы. Такая программа может участвовать в решении различных задач, тогда как в пакетном подходе несколько модулей пакета объединяются для решения одной задачи. Разница может показаться небольшой (из пакета программ можно, добавив управляющую надстройку, сделать «универсальную» программу, или наоборот, использовать некоторые модули «универсальной» программы в качестве ППП). Тем не менее, с точки зрения архитектуры, ППП более удобен для расширения и модификации, так как развитие ППП может происходить за счёт добавления новых модулей, не затрагивающих работоспособность ранее отлаженных модулей.
1. Цепочечный подход
Проще всего проиллюстрировать пакетный подход на примере конвейера в Unix. Система Unix содержит большое количество небольших программ, выполняющих конкретную функцию. В конвейере входящие в цепочку программы могут обрабатывать некоторые данные.
В следующем примере данные об объёмах хранящихся в текущем каталоге подкаталогов вычисляются (команда du), сортируются (sort), выбираются 10 занимающих наибольший объём (tail), отбрасывается первое поле с числом (cut) и результат печатается на принтере (lpr):
du . | sort–n | tail –n 10 | cut –f 2–| lpr
Цепочечный подход в ряде случаев можно автоматизировать, поручив построение цепочки системным средствам пакета. Помимо перечислительного механизма к созданию цепочки (явное задание входящих в цепочку модулей), возможен ассоциативный механизм, при котором модуль включается системными средствами в формируемую программу на основании некоторого атрибута. В случае, когда пользователь задаёт известные и искомые величины, восстановление цепочки средствами системы называется автоматическим планированием вычислений. Несмотря на некоторые достоинства и отдельные успехи (системы ПРИЗ и СПОРА), автоматическое планирование вычислений не получило массового развития по причине бедности цепочки как конфигурационного ориентира.
2. Каркасный подход
При накоплении опыта программирования в любой предметной области со временем вырабатывается представления о рациональной модульной организации, накапливается набор модулей, которые сильно не изменяются при переходе от одной версии программ к другой, а также находятся постоянные места для сменных модулей. В результате вырисовывается архитектура приложения, состоящая из постоянного компонента –каркаса, имеющего гнёзда для размещения сменных модулей. Разумеется, гнёзда и сменные модули имеют согласованные спецификации.
Задание конкретной конфигурации для пользователя упрощается. Гнёзда каркаса –отражение характеристик решаемой задачи, в сменные модули – допустимые значения этих характеристик.
Например, в каркасе с двумя вариантными гнёздами может описать конфигурацию расчёта, не касаясь алгоритма задачи: Материал ← Алюминий, Точность ← Двойная.
В отличие от цепочечного, каркасный подход даёт больше свободы в проектировании структуры формируемой программы, что является предпочтительным для большинства предметных областей.
3. Виды пакетов
Можно выделить следующие виды ППП:
-Общего назначения. Примеры: текстовый процессор, электронные таблицы, графический редактор, СУБД
-Офисные пакеты. Для обеспечения деятельности офиса. Включают органайзеры, средства OCR и т. п.
-Проблемно–ориентированные. Для предметных областей, в которых возможна типизация структур данных, алгоритмов обработки и функций управления. Примеры: бухгалтерский учёт, управление персоналом.
-САПР
-Настольная издательская система
-Системы искусственного интеллекта. Системы с диалогом на естественном языке, экспертные системы и т. п.
2.3 Освоение навыка «слепой печати»
Слепой метод набора –методика набора текста «вслепую», то есть не глядя на клавиши печатной машинки или клавиши клавиатуры, используя все (или большинство) пальцы рук. Ранее был известен как американский слепой десятипальцевый метод. Существует уже более 120 лет.
В XIX веке слепым методом печати на печатных машинках обучали машинисток и секретарей. Это позволило сузить сферу использования стенографии, увеличить производительность труда секретарей.
1. Раскладка клавиатуры
Основная статья: Раскладка клавиатуры
Раскладка клавиатуры –форма, размеры и взаимное расположение клавиш на клавиатуре (механическая раскладка) – это, большей частью, относится к служебным клавишам, так и маркировка клавиш соответствующими знаками (визуальная раскладка) –цифры, буквы и доп. символы. Хотя сейчас раскладки и стандартизированы, однако и та и другая могут иметь некоторые (иногда и существенные) отличия от клавиатуры к клавиатуре, затрудняя, тем самым, привыкание и скоростной набор.
Обычно средний ряд у клавиатуры именуется домашним рядом или клавиши ФЫВА ОЛДЖ, над которыми и располагаются при печати вслепую восемь (большие над пробелом) пальцев. Большинство компьютерных клавиатур имеют выступы в виде точек или полосок на тех клавишах, где должны находиться указательные пальцы (F/J в английской раскладке QWERTY, А/О в русской раскладке ЙЦУКЕН). Таким образом, человек, набирающий текст, может на ощупь определить правильное (над домашним рядом) расположение пальцев.
Рядом авторов для изучения слепой печати на русском языке рекомендуется использовать раскладку под названием «Русская (машинопись)». Объясняется это отсутствием необходимости на этой раскладке использовать клавишу ⇧Shift для ввода большинства знаков препинания, которые используются при печати зачастую чаще, чем цифры, к тому же цифры зачастую имеются на цифровом блоке, который рекомендуется для изучения тем, кому приходится в больших объёмах вводить цифры.
Переход пользователя с одной раскладки на другую (например с QWERTY на Dvorak, либо с «Русской» на «Русскую (машинопись)») зачастую требует значительных усилий по переучиванию. Максимальная скорость набора зачастую может достигаться только на одной, «привычной», раскладке.
2. Скорость набора текста
Скорость печати зависит от времени тренировок и от персональной предрасположенности (строение рук, состояние нервной системы и т. д.). Обычный обученный пользователь достигает при прохождении «10–минутного теста» скорости от 200 до 400 ударов в минуту. На международных чемпионатах по перепечатке незнакомых текстов зафиксирован результат 896 ударов в минуту, при 10 минутах набора[6] (на более коротких, известных заранее и т. д. –более 1200 ударов в минуту). Считаются также удары и по регистровым клавишам, и по другим клавишам (например, во французском –клавиши ударений).
3.СУБД MICROSOFTOFFICEACCESS
3.1 СУБД MicrosoftOfficeAccess
Microsoft Office Access или просто Microsoft Access – реляционная система управления базами данных (СУБД) корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
1. Состав программного продукта
Основные компоненты MS Access:
-построитель таблиц;
-построитель экранных форм;
-построитель SQL–запросов (язык SQL в MS Access не соответствует стандарту ANSI);
-построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.
Microsoft Jet Database Engine (англ.), которая используется в качестве движка базы данных MS Access является файл–серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этим данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских базах данных, таких, например, как триггеры.
2. Сохранение в Access
Access, при работе с базой данных, иначе взаимодействует с жёстким (или гибким) диском, нежели другие программы.
В других программах, файл–документ, при открытии, полностью загружается в оперативную память, и новая редакция этого файла (изменённый файл) целиком записывается на диск только при нажатии кнопки «сохранить».
В Access новая редакция содержимого изменённой ячейки таблицы записывается на диск (сохраняется) сразу, как только курсор клавиатуры будет помещён в другую ячейку (или новая редакция изменённой записи записывается на диск сразу, как только курсор клавиатуры будет поставлен в другую запись (строку)). Таким образом, если внезапно отключат электричество, то пропадёт только изменение той записи, которую не успели покинуть.
Целостность данных в Access обеспечивается также за счёт механизма транзакций.
Кнопка «Сохранить» в Access тоже есть, но в Access в режиме просмотра данных она нужна, в первую очередь, для сохранения изменённого режима показа таблицы или другого объекта – то есть, для сохранения таких изменений, как:
-изменение ширины столбцов и высоты строк,
-перестановка столбцов в режиме просмотра данных, «закрепление» столбцов и освобождение закреплённых столбцов,
-изменение сортировки,
-применение нового фильтра,
-изменение шрифта; цвета текста, сетки и фона,
-и т. п.
Кроме того, в Access эта кнопка нужна в режиме «Конструктор» для сохранения изменений структуры объекта базы данных, сделанных в этом режиме.
4.ПРОГРАММИРОВАНИЕ В СРЕДЕ PASCALABC.
4.1 Программирование в среде PascalABC
PascalABC.NET – это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда –выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно –ориентированном и функциональном стилях.
PascalABC.NET – это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм. Кроме того, консольный компилятор PascalABC.NET функционирует на Linux и MacOS под Mono.
1. Особенности языка
Расширения языка Паскаль
-Операторы += –= *= /=
-Внутриблочные описания переменных
-Описание переменных в заголовке цикла for
-Инициализация переменной при создании (var n: integer := 10;)
-Автоопределение типа переменной при инициализации (var x := 1;)
-Цикл foreach
-Поддержка директив OpenMP
-case по строкам
-Множества произвольных типов (на базе хеш–таблицы)
2. Особенности языка, связанные с платформой .NET
-Все типы – классы
-Стандартный тип BigInteger
-Двумерные динамические массивы
-Интерфейсы .NET
-Подключение пространств имен .NET в разделе uses
-Обобщённые классы, интерфейсы, подпрограммы и процедурные переменные
-Автоматическая сборка мусора для объектов
-Атрибуты
-Методы расширения
-Лямбда–функции
-Автоклассы
-Безымянные классы
-Поддержка неуправляемого кода через external
3. Стандартные модули
Поскольку в PascalABC.NET можно пользоваться всеми библиотеками платформы .NET, то стандартные модули немногочисленны и ориентированы на обучение:
-Модуль растровой графики GraphABC
-Модуль векторной графики ABCObjects
-Модуль FormsABC для создания простых оконных приложений без дизайнера форм
-Модуль Arrays для ввода–вывода–заполнения одномерных и двумерных динамических массивов
-Модуль Collections, содержащий упрощенные классы коллекций
-Модули исполнителей Робот и Чертёжник (школьная информатика)
4.2 Создание программ в среде PascalABC
Примеры программ
Пример 1. Использование методов расширения для программирования в функциональном стиле
-var a: array of integer := (1,3,5,7,9,11,13,15,17,19);
- begin
- a.Println;
- // Поменять местами первую и вторую половины массива с четным количеством элементов
-Assert(a.Length mod 2 = 0);
-var n := a.Length div 2;
-a.Skip(n).Concat(a.Take(n)).Println;
- end.
Пример 2. Параллельное умножение матриц с использованием директив OpenMP
- uses Arrays;
-procedure Mult(a,b,c: array [,] of real; n: integer);
-begin
-{$omp parallel for}
-for var i:=0 to n–1 do
-for var j:=0 to n–1 do
-begin
-var cc := 0.0;
-for var l:=0 to n–1 do
-cc += a[i,l]*b[l,j];
-c[i,j] := cc;
-end;
- end;
- const n = 1000;
-begin
-var a := Arrays.CreateRandomRealMatrix(n,n,1,1.1);
-var b := Arrays.CreateRandomRealMatrix(n,n,1,1.1);
-var c := new real[n,n];
-var d := Milliseconds;
-Mult(a,b,c,n);
- writeln((Milliseconds–d)/1000);
- end.
4.3 Паскаль, использование встроенных модулей, библиотек
Паскаль (англ. Pascal) –один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является базой для ряда других языков.
Математические функции
Математические процедуры
Процедуры преобразования типов переменных
Функции преобразования типов переменных
Модули
До появления связных модулей в их современном виде некоторые реализации Паскаля поддерживали модульность за счёт механизма включения заголовочных файлов, похожего на механизм #include в языке Си: с помощью специальной директивы, оформляемой в виде псевдокомментария, например, {$INCLUDE "файл"}, содержимое указанного файла прямо включалось в текст программы в исходном, текстовом виде. Таким образом можно было разделить программный код на множество фрагментов, для удобства редактирования, но перед компиляцией они автоматически объединялись в один файл программы, который в итоге и обрабатывался компилятором. Такая реализация модульности примитивна и имеет множество очевидных недостатков, поэтому она была быстро заменена.
Современные реализации языка Паскаль (начиная с UCSD Pascal) поддерживают модули. Программные модули могут быть двух видов: модуль главной программы, который, как обычно, начинается с ключевого слова program и тело которого содержит код, запускаемый после загрузки программы в память, и вспомогательных модулей, содержащих типы, константы, переменные, процедуры и функции, предназначенные для использования в других модулях, в том числе в главном модуле.
Структура
Общая структура подключаемого модуля на Паскале выглядит следующим образом:
-unit UnitName1;
-interface
-...
-implementation
-...
-begin {может отсутствовать – используется, если необходимо поместить операторы инициализации}
-...
-end.
Возможен также ещё один вариант:
-unit UnitName2;
-interface
-...
-implementation
-...
-initialization
-...
-finalization
-....
-end.
Загрузка и выгрузка модулей
Для нормальной работы модуля может потребоваться выполнить некоторые действия до начала его использования: инициализировать переменные, открыть нужные файлы, выделить память или другие ресурсы. Всё это может быть сделано в теле модуля, либо в секции инициализации. Действия, обратные инициализации, делаются в секции финализации.
Порядок инициализации и финализации модулей косвенно определяется порядком объявления в секции uses, но для статически откомпилированных программ (где модуль либо компилируется в один исполняемый файл с главной программой, либо находится в отдельной динамической библиотеке, но загружается на этапе первоначальной загрузки), компилятор всегда гарантирует, что инициализация будет выполнена до момента первого использования модуля. Финализация выполняется при завершении работы программы, после завершения главного модуля, так, что используемые модули финализируются позже, чем использующие их.
В случае динамической загрузки модулей, управляемой самим программистом, инициализаторы выполняются при загрузке, то есть в момент, когда команда загрузки модуля вернула управление, инициализатор его уже выполнен. Финализатор выполняется после выгрузки, обычно –при выполнении команды выгрузки модуля. Если эта команда не вызывается, динамически загруженные модули финализируются так же, как все остальные – при завершении программы.
4.4 Создание модулей программиста
Модуль –функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной её части (например, Активный Оберон), предназначенный для использования в других программах. Модули позволяют разбивать сложные задачи на более мелкие в соответствии с принципом модульности. Обычно проектируются таким образом, чтобы предоставлять программистам удобную для многократного использования функциональность (интерфейс) в виде набора функций, классов, констант. Модули могут объединяться в пакеты и, далее, в библиотеки. Удобство использования модульной архитектуры заключается в возможности обновления (замены) модуля, без необходимости изменения остальной системы. В большинстве случаев различные модули могут запускаться как на одном сервере, так и на разных, для распределения нагрузки и создания распределенной архитектуры.
Модульное программирование – это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определенным правилам. Использование модульного программирования позволяет упростить тестирование программы и обнаружение ошибок. Аппаратно–зависимые подзадачи могут быть строго отделены от других подзадач, что улучшает мобильность создаваемых программ.
Реализация в языках программирования
Языки, формально поддерживающие концепцию модулей: IBM S/360 Assembler, Кобол, RPG, ПЛ/1, Ада, D, F (англ.), Фортран, Haskell, Blitz BASIC, OCaml, Паскаль, ML, Модула–2, Оберон, Компонентный Паскаль, Zonnon, Erlang, Perl, Python и Ruby. В IBM System использовались «модули» от языков RPG, Кобол и CL, когда программировалась в среде ILE.
Модульное программирование может быть осуществлено, даже когда синтаксис языка программирования не поддерживает явное задание имён модулям.
Программные инструменты могут создавать модули исходного кода, представленные как части групп –компонентов библиотек, которые составляются с программой компоновщиком.
Стандартный Паскаль не предусматривает механизмов раздельной компиляции частей программы с последующей их сборкой перед выполнением. Вполне понятно стремление разработчиков коммерческих компиляторов Паскаля включать в язык средства, повышающие его модульность.
Модуль в Паскале –это автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции) и, возможно, некоторые исполняемые операторы инициирующей части.
По своей организации и характеру использования в программе модули Паскаля близки к модулям–пакетам (PACKAGE) языка программирования Ада. В них так же, как и в пакетах Ады, явным образом выделяется некоторая «видимая» интерфейсная часть, в которой сконцентрированы описания глобальных типов, констант, переменных, а также приводятся заголовки процедур и функций. Появление объектов в интерфейсной части делает их доступными для других модулей и основной программы. Тела процедур и функций располагаются в исполняемой части модуля, которая может быть скрыта от пользователя.
Модули представляют собой прекрасный инструмент для разработки библиотек прикладных программ и мощное средство модульного программирования. Важная особенность модулей заключается в том, что компилятор размещает их программный код в отдельном сегменте памяти. Длина сегмента не может превышать 64 Кбайт, однако количество одновременно используемых модулей ограничивается лишь доступной памятью, что позволяет создавать большие программы.
СОДЕРЖАНИЕ ДНЕВНИКА ПРАКТИКИ
Дата |
Направление и состав работ |
Освоено / не освоено |
Подпись руководителя |
20.04.2015 |
Сборка системного блока ПК |
освоено |
|
20.04.2015 |
Сборка системного блока ПК |
освоено |
|
20.04.2015 |
Настраивание и обслуживание аппаратное обеспечение и операционную систему персонального компьютера |
освоено |
|
20.04.2015 |
Настраивание и обслуживание аппаратное обеспечение и операционную систему персонального компьютера |
освоено |
|