Тест по дисциплине «Программные средства ЭВМ» для ДПО ОСЭК
a. анализ вновь полученных программ специальными средствами, контроль целостности с помощью регулярного подсчета контрольных сумм и проверки сектора начальной загрузки перед считыванием информации или загрузкой с дискеты, контроль содержимого системных файлов
c. работа с дискетами, защищенными от записи, минимизация периодов доступности дискетки для записи, раздельное хранение вновь полученных и эксплуатировавшихся ранее программ, хранение программ на «винчестере» в архивированном виде
d. специальная обработка файлов, дисков, каталогов, запуск резидентных программ-вакцин, имитирующих сочетание условий, которые используются данным типом вируса для определения (выявления) заражения
Структура операционной системы компьютера:
- Ядро ОС – преобразует команды программ в машинные коды, понятные компьютеру.
- Драйверы – программы, предназначенные для взаимодействия компьютера с аппаратными устройствами.
- Интерфейс – программная оболочка для общения пользователя с компьютером.
Выполнение любой работы на компьютере, как правило, сопряжено с обменом файлами устройств между собой. За работу с файлами отвечает группа программ ОС, называемая файловой системой.
За работу с запросами пользователя отвечает часть ОС – командный процессор. Операционная система должна выполнить любые команды пользователя, оперирующие файлами, будь то команды перемещения, удаления, копирования, либо команды обмена файлами между устройствами.
Все устройства компьютера подсоединяются к нему через системную шину. Это и монитор, и клавиатура, и принтер, и дисководы, и различного рода манипуляторы, и другие. Для управления работой всего многообразия устройств современного компьютера для каждого устройства создаются специальные программы, понимающие как команды устройства, так команды процессора, – драйверы.
Пользовательский интерфейс современных ОС является графическим. Это позволяет пользователю вводить команды, указывая при помощи графических манипуляторов (например, мышью) на требуемый объект на экране, не прибегая к вводу команд с клавиатуры.
Неотъемлемой частью операционной системы являются утилиты, или служебные сервисные программы – программы обслуживания дисков, программы-архиваторы, программы работы в сетях и т.д.
К услугам пользователя предоставлена справочная система ОС, которая даёт возможность получения сведений как о работе операционной системы, так и по каждой её части.
Процессор (центральное процессорное устройство — ЦПУ «CPU»)
Центральный процессор – это главная часть аппаратного обеспечения компьютера или «мозг компьютера». Чаще говорят — микропроцессор или просто процессор.
Именно процессор отвечает за выполнение программного кода (инструкции) для выполнения арифметических, логических и системных операций ввода/вывода.
Этот термин используется в компьютерной индустрии, с начала 1960 годов. Форма, дизайн и реализация процессоров сильно изменились начиная с самых ранних примеров, но их фундаментальная работа остаётся такой же.
Стандартизация и миниатюризация процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры, но и в автомобилях, калькуляторах, мобильных телефонах и даже в детских игрушках.
Чаще всего они представлены микроконтроллерами, где помимо вычислительного устройства на кристалле расположены дополнительные компоненты (память программ и данных, интерфейсы, порты ввода/вывода, таймеры и др.).
Современные процессоры, как правило, меньше, чем 4х4 сантиметра, с сотнями контактов.
Упрощенно можно сказать, что типичными компонентами процессора являются арифметическо — логический блок (ALU), который выполняет арифметические и логические операции, и блок управления (CU), который извлекает инструкции из памяти, декодирует и выполняет их, призывая к работе ALU, когда это необходимо.
Производительность или скорость процессора зависит от тактовой частоты (как правило, обозначают в МГц) и количества выполненных инструкций за такт (IPC), которые в совокупности являются количеством выполненных инструкций в секунду (IPS).
Чем выше скорость работы процессора, тем выше быстродействие компьютера. Процессор имеет специальные ячейки, которые называются регистрами. Именно в регистрах помещаются команды, которые выполняются процессором, а также данные, которыми оперируют команды. Работа процессора состоит в выборе из памяти, в определённой последовательности, команд и данных, и их выполнение. На этом и базируется выполнение программ.
Распределение памяти также сильно влияет на производительность процессора.
Производительность компьютеров повышается за счёт использования многоядерных процессоров, который, по сути, это объединение двух или более отдельных процессоров (называется сердечники) в одну интегральную схему. В идеале, двухъядерный процессор будет почти вдвое мощнее одноядерных процессоров.
На практике, однако, производительность гораздо меньше, всего около 50%, из-за несовершенства программного обеспечения и алгоритмов реализации взаимодействия между аппаратным и программным обеспечением.
Совет: не стоит переплачивать за новинки, через полгода они будут стоить на 10-20% дешевле!
Инициализация ядра
- Пути к System (загрузчик Windows) и Boot (C:WindowsSystem32) директориям.
- Указатель на таблицы виртуальной памяти которые создал WinLoad
- Дерево с описанием подключенного hardware, оно используется для создания HKLMHARDWARE ветки реестра.
- Копия загруженного реестра HKLMSystem
- Указатель на список загруженных (но не инициализированных) драйверов участвующих в старте Windows.
- Прочая информация необходимая для загрузки.
- Первая фаза инициализации ядра:
- Слой Executive инициализирует свои объекты состояний – глобальные объекты, списки, блокировки. Производится проверка Windows SKU (Stock Keeping Unit), примеры Windows 10 SKU — Home, Pro, Mobile, Enterprise, Education.
- Если включен Driver Verifier, то он инициализируется.
- Менеджер памяти создаёт структуры данных, необходимые для работы внутренних API для работы с памятью (memory services), резервирует память для внутреннего пользования ядром.
- Если подключен отладчик ядра (kernel debugger) ему отправляется уведомление загрузить символы для драйверов загружаемых во время старта системы.
- Инициализируется информация о версии билда Windows.
- Старт Object Manager – позволяет регистрировать именованные объекты к которым могут получать доступ по имени другие компоненты. Яркий пример – мьютекс по которому приложение позволяет запустить единственный экземпляр. Здесь же создаётся храниться handle table, по которой устанавливается соответствие к примеру между HWND и объектом описывающим окно.
- Старт Security Reference Monitor подготавливает всё необходимое для создания первого аккаунта.
- Process Manager подготавливает все списки и глобальные объекты для создания процессов и потоков. Создаются процесс Idle и System (в нём исполняется “Windows10.exe” он же NtOsKrnl.exe), они пока не исполняются, потому как прерывания выключены.
- Инициализация User-Mode Debugging Framework.
- Первая фаза инициализации Plug and Play Manager. PnP – это стандарт который реализовывается на уровне производителей периферии, материнских плат и ОС. Он позволяет получать расширенную информацию о подключенных устройствах и подключать их без перезагрузки ПК.
- Вторая фаза инициализации ядра. Она содержит 51 шаг, поэтому я пропущу многие из них:
- По завершению первой фазы главный поток процесса System (NtOsKrnl.exe) уже начал исполнение. В нём производится вторая фаза инициализации. Поток получает самый высокий приоритет – 31.
- HAL настраивает таблицу прерываний и включает прерывания.
- Показывается Windows Startup Screen, которая по умолчанию представляет из себя чёрный экран с progress bar.
- Executive слой инициализирует инфраструктуру для таких объектов синхронизации как Semaphore, Mutex, Event, Timer.
- Объекты для User-Mode Debugger проинициализированы.
- Создана symbolic link SystemRoot.
- NtDll.dll отображена в память. Она отображается во все процессы и содержит Windows APIs.
- Инициализирован драйвер файловой системы.
- Подсистема межпроцессного общения между компонентами Windows ALPC проинициализирована. Можете думать о ней как о named pipes или Windows Communication Foundation для межпроцессного общения.
- Начинается инициализация I/O Manager, который создаёт необходимые структуры данных для инициализации и хранения драйверов подключенной к компьютеру периферии. Этот процесс очень сложный.
Здесь же инициализируются компоненты Windows Management Instrumentation и Event Tracing for Windows (на него полагается Windows Performance Analyzer). После этого шага все драйвера проинициализированы. - Запускается процесс SMSS.exe (Session Manager Sub System). Он отвечает за создание режима пользователя, в котором будет создана визуальная часть Windows.
SMSS.exe отличается от пользовательских процессов, это нативный процесс и это даёт ему дополнительные полномочия. SMSS.exe работает с ядром в обход Windows API, он использует то что называется Native API. Windows API – обёртка вокруг Native API. SMSS.exe первым делом запускает подсистему Windows (CSRSS.exe – Client Server Runtime Sub System) и заканчивает инициализацию реестра.
Процесс и потоки SMSS.exe помечены как критические, это значит что если они неожиданно завершаться, к примеру из-за ошибки, это приведёт к падению системы. Для общения с подсистемами, к примеру вызову API создающему новую сессию, SMSS создаёт ALPC-порт с именем SmApiPort. Загружаются из реестра переменные среды окружения, запускаются программы такие как Check Disk (autochk.exe, эти программы записаны в реестре HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute). SMSS.exe запускается для каждой пользовательской сессии. Глобальные переменные (очередь сообщений например) у каждой сессии своя за счёт механизма виртуальной памяти. В Windows есть контексты потока, процесса и сессии. Каждый SMSS.exe запускает свой экземпляр подсистемы, на данный момент это только CSRSS.exe (Windows), в прошлом поддерживались операционные системы OS/2 (os2ss.exe) и POSIX (psxss.exe), но эта идея была неудачной. Самый первый SMSS.exe засыпает в ожидании процесса WinInit.exe. Остальные экземпляры вместо этого создают процесс WinLogon который показывает UI для входа.
- Services.exe – Services Control Manager (SCM) запускает сервисы и драйвера помеченные как AutoStart. Сервисы запускаются в процессах svchost.exe. Есть утилита tlist.exe, которая запущенная с параметром tlist.exe -s напечатает в консоли имена сервисов в каждом из svchost.exe.
- LSASS.exe – Local System Authority.
- LSM.exe – Local Session Manager.
- Запускает скрипты указанные в реестрах:
- HKCUSoftwarePoliciesMicrosoftWindowsSystemScripts
- HKLMSOFTWAREPoliciesMicrosoftWindowsSystemScripts
- Если групповая политика безопасности определяет User Profile Quota, запускает %SystemRoot%System32Proquota.exe
- Запускает оболочку Windows, по умолчанию это Explorer.exe. Этот параметр конфигурируется через реестр:
- HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell
- HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell
Дерево процессов выглядит следующим образом, на нём можно увидеть кто и кого создал (показаны не все процессы, может немного отличаться от последний версий Windows).
Как узнать какие устройства подключены к ПК и подключить новое устройство
Вариант 1: самое банальное — визуально осмотреть все разъемы ПК и кабели, которые идут к нему (различные флешки, внешние диски, клавиатуры, мышки, джойстики — всё это легко видно ). Открыв боковую крышку системного блока — можно оценить все внутренние основные устройства ПК.
Вариант 2 : если на компьютере установлена Windows — можно запустить диспетчер устройств и раскрыть нужные вкладки (они там достаточно удобно отсортированы). См. пример ниже.
В помощь!
Как посмотреть подключенные устройства к компьютеру (в том числе историю USB подключений: флешки, телефоны, и пр.) — https://ocomp.info/podklyuchennyie-ustroystva.html
Диспетчер устройств — смотрим вкладку Bluetooth
В ОС Windows 10/11 можно открыть параметры системы (Win+i), перейти во вкладку «Bluetooth и устройства» и посмотреть нужную вкладку.
Bluetooth и устройства
Вариант 3 : через спец. утилиты (например, Speccy) можно узнать довольно много обо всех железках, подключенных к ПК. См. пример ниже.
Утилита Speccy — показывает информацию об основных железках, подключенных к ПК
Как подключить новое устройство к ПК
Ответ на вопрос сильно может зависеть от того, какое именно устройство нужно подключить. Касаться здесь подключения внутренних устройств или каких-то специальных — я не буду (в виду большого разнообразия «переменных»), а вот если речь идет о внешних устройствах, подключаемых к USB — то последовательность примерно следующая :
- сначала необходимо включить (зарядить) это внешнее устройство;
- далее включить ПК и загрузить Windows;
- затем подключить устройство к USB-порту компьютера (в большинстве случаев Windows тут же автоматически определяет устройство и с ним можно работать);
- в ряде случаев далее нужно установить драйвер на устройство;
Диспетчер устройств. Обновляем драйвер на клавиатуру (чтобы заработали дополнительные клавиши)
Оперативная память
Оперативная память представляет собой одну или несколько небольших плат, установленных в специальные разъемы на материнской плате (DDR). Оперативная память обеспечивает временное хранение промежуточных данных при работе компьютера. Оперативная память характеризуется скоростью доступа и объемом памяти. На сегодняшний день наиболее быстрая память имеет стандарт DDR3.
Виды программного обеспечения
Различают 3 основных вида программного обеспечения:
- системное;
- прикладное;
- инструментарий технологии программирования (инструментальные средства).
ПО классифицируется также в соответствии с характеристиками, выполняемыми функциями:
- По режиму эксплуатации: групповое, индивидуальное, сетевое.
- По масштабу: малое, среднее, большое.
- По свойствам стабильности: стабильное, средней стабильности, нестабильное. Стабильные компоненты обеспечения корректно функционируют, не требуя внесения изменений и дополнений. Нестабильное оборудование не гарантирует бесперебойной работы.
- По требованию защиты: надежные, сомнительные.
- По необходимым рабочим характеристикам: гибкие/неизменные, универсальные, полные.
- По исходному языку: машинные, машинно-ориентированные, алгоритмические, интегрированные, процедурно-ориентированные, проблемно-ориентированные.
- ПО различается в зависимости от характеристик вычислительной среды: алгоритмической сложности, объемов файловой системы, разновидности процессора, системности обработки.
- По классу пользователя: простой клиент, расширенный пользователь, максимум.
- По значению критичности: секретность, национальная безопасность, жизнь человека, паника в социальной сфере, частная собственность, безопасность в организации.
- По видам доступа к использованию: просмотр и редактирование для всех пользователей, только просмотр, редактирование для некоторых пользователей, просмотр только для некоторых пользователей.
По способу распространения и использования выделяют 6 типов:
Free — распространяются бесплатно, доступны для скачивания, копирования;
Adware — бесплатные, содержащие платные дополнительные функции;
Shareware — бесплатные для индивидуального пользования, доступ компании разрешается за определенную оплату;
Trial — скрипты, позволяющие бесплатно производить действия в течение установленного периода (10-30 суток), для дальнейшего доступа необходима покупка лицензионного ключа;
Demo — пробная версия программы;
Загрузка драйверов и служб
Теперь Ntldr загружает низкоуровневые системные службы и драйверы устройств, но службы не инициализируются — это происходит позже. На этом фаза начальной загрузки завершается и начинается процесс основной загрузки (load sequence или kernel phase).
При загрузке системных служб и драйверов устройств Ntldr следует определенному порядку. В процессе установки Windows драйверы и системные службы копируются на компьютер, а информация о них записывается в реестр. Данные в реестре представляют собой шестнадцатеричную запись, оканчивающуюся числом в круглых скобках. Это число и определяет порядок, в котором Ntldr загружает драйверы и системные службы. Для примера следует открыть реестр и перейти в раздел HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServices. На экране появится длинный список служб и драйверов устройств. Выберите любой подраздел и взгляните на данные типа REG_DWORD под именем Start.
- (0) означает, что служба загружается во время фазы основной загрузки.
- (1) означает, что служба загружается во время фазы инициализации (следующая фаза).
- (2) означает, что служба загружается во время фазы загрузки, предназначенной для служб.
- (3) означает, что служба включена, но не инициализируется (запуск службы осуществляется вручную через оснастку Services консоли Microsoft Management Console (MMC)).
- (4) означает, что служба отключена.
Заключение
Как видите на самом деле программ не так уж много. Самое главное определиться какие нужны будут вам для выполнения поставленных вам задач. И надеюсь, что моя статья вам в этом помогла.
Задавайте вопросы в комментариях к статье, буду рад на них ответить. Не забывайте делиться статьей в социальных сетях. Подписывайтесь на обновления чтобы не пропустить важную информацию. Всем пока.