Главная страница

Вопросы ПМ04. Ос windows. Восстановление системы Иногда изза установки программы или драйвера Windows может начать работать медленно или непредсказуемо


Скачать 336.94 Kb.
НазваниеОс windows. Восстановление системы Иногда изза установки программы или драйвера Windows может начать работать медленно или непредсказуемо
Дата13.03.2023
Размер336.94 Kb.
Формат файлаdocx
Имя файлаВопросы ПМ04.docx
ТипДокументы
#985560
страница3 из 7
1   2   3   4   5   6   7
1   2   3   4   5   6   7

Способ 3. Проверка питания

1. Выключите питание и немедленно отключите компьютер, если из него выйдет дым


При необходимости используйте огнетушитель. Убедитесь, что огнетушитель одобрен для использования на электрических устройствах.

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


первое, что нужно сделать, это проверить, что он подключен, и настенная розетка включена.

  • Убедитесь, что настенная розетка работает. Вы можете сделать это, подключив что-то, что вы знаете, и смотрите, будет ли оно включено.

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

4. Убедитесь, что силовой кабель исправен


Вы можете сделать это с помощью мультиметра или просто поменять кабель на тот, который, как вы знаете, работает.

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


Убедитесь, что напряжение правильно установлено на источнике питания

7. Проверьте источник питания, используя его на другом компьютере


Если он не работает, замените его.

8. Если компьютер застывает до запуска операционной системы


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

9. Обратите внимание, что если компьютер выключается с произвольными интервалами


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

10. Убедитесь, что вентилятор на материнской плате работает правильно


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

Способ 4. Фиксация материнской платы

1. Запустите диагностическое программное обеспечение материнской платы


(если оно предоставлено производителем), чтобы убедиться, что материнская плата не повреждена.

2. Устранение неполадок, когда вы не слышите звуковые коды, доступные для просмотра любого видео


  • Убедитесь, что компьютер получает питание и что монитор включен и подключен.

  • Удалите все внешние аксессуары, такие как беспроводные карты или внешние диски.

  • Убедитесь, что вентилятор питания работает. Если это не так, проблема, скорее всего, будет связана с источником питания.

  • Откройте компьютер и визуально осмотрите материнскую плату. Если он почернел или расплавлен, замените материнскую плату.

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

  • Убедитесь, что материнская плата, ОЗУ и процессор установлены правильно.

  • Если на материнской плате есть перемычки, проверьте руководство, чтобы убедиться, что они находятся в правильном положении.

3. Если ни один из этих шагов не сработал


установите BIOS обратно по умолчанию, удалив батарею с материнской платы в течение 30 минут.

4. Примите меры, если вы слышите звуковые сигналы, но компьютер не запускается


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

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

Способ 5. Остановить перегрев

1. Потеря мощности после нескольких минут работы является симптомом перегрева

2. Убедитесь, что вентилятор процессора работает

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


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

4. Убедитесь, что ни один из вентиляторов не заблокирован


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

5. Если возможно, проверьте температуру компьютера в BIOS или диагностическую программу

6. Удалите пыль в компьютере

Mетод 6. Случайные выключения

1. Запустите Windows Memory Diagnostic, чтобы проверить, что ОЗУ не является неисправной

2. Используйте диагностическое программное обеспечение материнской платы


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

Метод 7. Поиск профессиональной помощи

1. Попросите помощи у профессионала


Нет ничего плохого в просьбе о помощи

  • Профессионал может заметить то, что вы, возможно, пропустили

Оптимизация и ускорение работы жесткого диска

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

Отключение индексирования

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

Основой метода является закрытие раздела винчестера от индексирования, что обеспечит ускорение его работы. Для этого:

  1. Переходим в «Мой компьютер». Там нужно вызвать контекстное меню на главном диске, зачастую это диск С:\. Затем нажимаем «Свойства».

  2. В меню «Общие» выбираем пункт «Разрешить индексировать содержимое…». Нужно снять галочку и подтвердить действие.

  3. После данных действий появится оповещение, где будет сообщаться про возможность использования новой политики только к определенным файлам. Выбираем «Продолжить», а затем «Пропустить все».

Отказываемся от ведения журнала

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

Инструкция по отключению:

  1. Запуск командной строки. Наиболее простейший способ: нажатие «Win+R», а в появившемся окне «Выполнить» ввести «cmd».

  2. Откроется приложение, где требуется ввести: fsutil usn deletejournal /D С:, где С – это буква необходимого жесткого диска.

  3. Для подтверждения своих намерений нужно нажать на «Enter». Затем командную строку необходимо закрыть.

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

Очистка от ненужных файлов

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

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

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

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

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

Дефрагментация

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

Подобный инструмент способен помочь только при использовании HDD дисков.

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

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

Переразметка

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

Это форматирование диска, а некоторые разработчики указывают, что заново «режется» жесткий диск на сектора и дорожки.

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

Перемещение файлов на съемный носитель

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

Изделия можно использовать не только для хранения устаревших файлов, но и в виде флешки. Для подобных целей 500 Гб будет достаточно. С компьютером он соединяется по USB интерфейсу и отличается бесшумной работой.

Отключение автозагрузки программ

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

В разных версиях Виндовс управление автозагрузкой располагается в разных местах. Наиболее удобно для подобной цели использовать утилиту «CCleaner». Требуется осуществить запуск утилиты и перейти в меню «Сервис/Автозагрузка».

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

Любую из отключенных программ можно всегда снова запустить вручную. Если пропадет значок в системном трее, то ее запуск можно вернуть с использованием кнопки «Включить».

Обновление драйвера контроллера диска

От актуальности драйверов зависит стабильность всей системы. Рекомендуется обновлять драйверы до новейшей версии, особенно это касается SSD дисков.

Для проверки версии установленных драйверов нужно зайти в «Диспетчер устройств». Необходимо вызвать командную строку, а в ней ввести «devmgmt.msc» и нажать «Enter». Затем нажать правой кнопкой мыши по SATA контроллеру и выбрать пункт «Свойства».

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

Существуют специальные утилиты, которые позволяют обновить драйверы. Можно выбрать софт «Driver Booster», который при запуске покажет список драйверов, для которых требуется обновление.

Данная информация поможет Вам оптимизировать жесткий диск и повысить его работоспособность.

Ошибки ПО. Ошибки вычислений

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

5

Решение проблем конфигурации с помощью групповых политик

Групповая политика - это инструмент, доступный для администраторов, работающих с архитектурой Active Directory. Он позволяет централизованно управлять настройками на клиентских компьютерах и серверах, подключенных к домену, а также обеспечивает простой способ распространения программного обеспечения. Групповые политики позволяют настраивать параметры для определенного набора пользователей или компьютеров внутри домена Active Directory. Также позволяют указать политики в одном месте для группы и применить к целевому набору пользователей. Например, можно обеспечить применение стандартного набора настроек и конфигураций для групп пользователей или компьютеров в домене или по запросу. Во всех компаниях как правило есть различные отделы, например отдел системных администраторов, разработчиков, дизайнеров, каждому из отдела необходим свой стандартный набор программного обеспечения, их рабочие компьютеры должны быть сконфигурированы под специальные задачи и нужды. С помощью групповых политик можно создать наборы настроек для конкретных групп пользователей в домене. С помощью Active Directory GPO можно установить и управлять отдельными унифицированными наборами настроек, конкретно для дизайнеров или разработчиков. Конфигурации для компьютеров или пользователей проще и эффективнее, т.к. расположены в одном месте и не требуют повтора на каждом компьютере. Компоненты GPO Существует два компонента групповых политик - серверный компонент и клиентский, т.е. данная структура относится к архитектуре “клиент-сервер”. Серверный компонент - оснастка Microsoft Management Console (MMC), которая используется для указания настроек групповой политики. MMC может быть использована для создания политик для контроля и управления административными шаблонами и настройками безопасности (скрипты, установка ПО и прочее). Каждый из них называется расширением и в свою очередь каждый из них имеет дочернее расширение, которое разрешает добавление новых компонентов или обновление существующих без возможности затронуть или подвергнуть риску всю политику. Клиентский компонент интерпретирует и применяет настройки групповой политики для компьютеров пользователей или целевым пользователям. Клиентские расширения - это компоненты, которые запущены на пользовательской системе и несут ответственность за интерпретацию обработки и применения в объекты групповой политики. Для администрирования GPO используют Group Policy Management Console (GPMC) и Group Policy Management Editor. Сценарии использования Active Directory GPO:  Централизованная настройка пакета программ Microsoft Office.  Централизованная настройка управлением питанием компьютеров.  Настройка веб-браузеров и принтеров.  Установка и обновление ПО.  Применение определенных правил в зависимости от местоположения пользователя.  Централизованные настройки безопасности.  Перенаправление каталогов в пределах домена.  Настройка прав доступа к приложениям и системным программам

Охарактеризуйте уязвимости, вызванные дефектами (ошибки, проблемы) проектирования и программирования

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

Платформы персональных компьютеров. Платформа IBM

Платформа IBM

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

С момента появления на свет ПК (начиная с середины 70-х годов) в мире существовало (и существует) множество видов этих устройств. Однако сейчас подавляющее большинство персональных компьютеров относятся к типу «IBM PC- совместимых».

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

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

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

6

Способы увеличения быстродействия программ

Современные ЭВМ обладают очень большой мощностью. Скорость работы процессора (ЦП) современных ЭВМ измеряется гигагерцами, объём оперативной памяти гигабайтами, а современные интерфейсы устройств обеспечивают скорость обмена данными порядка, как минимум, нескольких сотен мегабайт в секунду. Производительность, которая ещё несколько лет назад казалась «сказочной» в настоящее время стала нормой жизни.

Однако параллельно росту мощности ЭВМ увеличивается и ресурсоёмкость приложений. У приложений совершенствуется функционал, интерфейс, возрастает объём обрабатываемых данных и как следствие системные требования. Поэтому вопрос об увеличении быстродействия приложений не теряет своей актуальности.

Общие вопросы быстродействия программ.

Быстродействие программ (ПО) зависит от многих факторов, но основными из них являются два:

  • Соотношение между реальными системными требованиями ПО и существующей аппаратной конфигурацией ЭВМ;

  • Алгоритмы работы ПО.

Если низкое быстродействие обусловлено первым фактором, то решением является модернизация аппаратной части (hardware). В некоторых случаях проблему можно решить также с помощью тонкой настройки hardware и операционной системы. Однако этот путь имеет ряд недостатков:

  1. Увеличивается производительность hardware, а вовсе не быстродействие ПО;

  2. Производительность hardware ограничена возможностями существующих в данный момент элементной базы и инженерных решений в данной области;

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

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

  1. Обеспечить работу нового ПО на уже существующем оборудовании;

  2. Разработать масштабируемое ПО;

  3. Значительно уменьшить финансовые и трудовые затраты при внедрении.

Вместе с тем и у этого пути имеется ряд недостатков:

  1. Значительно усложняется процесс разработки ПО, так как более «быстрые» алгоритмы сложнее более «медленных» (на пример алгоритм бинарного поиска сложнее, чем алгоритм линейного поиска);

  2. Реализация более сложных алгоритмов, как правило, требует привлечения специалистов более высокой квалификации;

  3. В случае работы с большими объёмами данных или выполнении задач требующих больших и сложных вычислений, ресурсоёмкость ПО всё равно остаются достаточно высокой. Несмотря, на какие либо способы увеличения быстродействия.

Таким образом, в общем случае обеспечение быстродействия ПО является комплексной задачей.

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

Программная инженерия предоставляет несколько способов увеличения быстродействия программ. Рассмотрим их на примере языков программирования Delphi и Assembler.

Увеличение быстродействия программ.

Как было показано в предыдущем параграфе, можно увеличить быстродействие ПО соответствующим образом реализовав его алгоритмы. Количественным показателем быстродействия алгоритма (а, следовательно, и ПО) является время его выполнения, измеренное по специальной методике, так называемого профилирования. Таким образом, в общем случае выбор наиболее «быстрых» алгоритмов сводится к измерению времени их выполнения и сравнении полученных результатов между собой. Такой способ анализа быстродействия является наиболее объективным. На протяжении многих лет программистами был накоплен большой опыт профилирования, который позволяет сделать определённые выводы относительно возможности оптимизации быстродействия ПО ещё на стадии написания.

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

В чём же состоят выше упомянутые рекомендации? Их краткое содержание применительно к языку программирования Delphi приведено ниже.

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

  2. Использование оператора case (switch) вместо многократных if… then… else (if… else). Во втором варианте компилятор будет выполнять проверку условия столько раз, сколько у вас вариантов. В первом проверка выполняется лишь однажды.

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

  4. В циклах типа for нужно стараться, чтобы значение счетчика уменьшалось до нуля, а не наоборот — начиналось с нуля. Это связано с особенностями процессора. Сравнение с нулём выполняется гораздо быстрее, чем с другим числом.

  5. Пользоваться типом Variant только при необходимости. Операции над этим типом сложнее, чем, например, над Integer или String.

  6. Не злоупотреблять «программированием на компонентах». В частности не использовать компонент TTreeView для хранения древовидных структур данных — он работает очень медленно и предназначен только для визуального отображения. В случае работы со структурами данных лучше использовать алгоритмы, созданные самостоятельно на основе фундаментальных.

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

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

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

Для других языков программирования вышеприведённый список может несколько отличаться, в частности отсутствием поддержки ассемблера и как следствие возможности оптимизации с его помощью (Java, Visual C# и др.).

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

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

  2. Уменьшение количества передач управления в программе: за счет преобразования подпрограмм в макрокоманды для непосредственного включения в машинный код; за счет преобразования условных переходов так, чтобы условие перехода оказывалось истинным значительно реже, чем условие для его отсутствия; перемещение условий общего характера к началу разветвленной последовательности переходов; преобразование вызовов, сразу за которыми следует возврат в программу, в переходы («сращивание хвостов» и «устранение рекурсивных хвостов») и т.д.

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

  4. Использование специфических для данного процессора инструкций, например, инструкции засылки в стек непосредственного значения, которая имеется в процессоре 80286 и более поздних. Другие примеры – двухсловные строковые инструкции, команды перемножения 32-разрядных чисел, деление 64-разрядного на 32-разрядное число и умножение на непосредственное значение, которые реализованы в процессорах 80386 и 80486. Программа должна, разумеется, вначале определить, с каким типом процессора она работает!

Методы предотвращения угроз надежности ПО. Автоматизация программирования

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

Управление и обслуживание ИС. Виды тестирования: функциональное, не функциональное

Виды функционального тестирования Компонентное тестирование – испытание отдельных программных компонентов информационной системы, в ходе которых подтверждается корректность проводимых этими компонентами вычислений. Интеграционное тестирование – испытания, направленные на выявление проблем взаимодействия отдельных компонентов системы. Если программная архитектура информационной системы довольно сложная, то в ней выделяются подсистемы, для каждой из которых проводят последовательно компонентное и интеграционное тестирование. В завершении проводят интеграционное тестирование всех выделенных подсистем, как компонентов единой системы. Тестирование прототипа – испытания информационной системы на первых этапах ее разработки, когда готовы не все ее функциональные блоки. Отсутствующие компоненты заменяются функциональными заглушками, имитирующими их будущую работу. Информационная система на данном этапе представляет собой прототип целевого программного продукта. Виды нефункционального тестирования Нагрузочное тестирование (load testing) – испытание информационной системы в условиях прогнозируемой нормальной нагрузки. Под величиной нагрузки понимается количество запросов к системе, которое она должна успевать обрабатывать, не превышая определенное исходными требованиями время отклика. Стрессовое тестирование (stress testing) – испытание информационной системы в условиях минимальных аппаратных ресурсах и максимально допустимой нагрузки. Цель стрессового тестирования, как понятно из названия, - проверить работоспособность системы в стрессовых ситуациях. Объемное тестирование (volume testing) – испытания информационной системы в условиях максимальных (предельно допустимых) объемов информации в базе данных. Основным объектом тестирования в данном случае является зависимость времени отклика и прочих аспектов производительности системы от объемов контролируемых данных. Тестирование стабильности (stability testing) – проверка, может ли испытываемая информационная система длительное время нормально функционировать в условиях, близких к нормальным условиям (средняя нагрузка, средние объемы данных, рекомендуемые аппаратное ресурсы и т.д.). Тестирование надежности (reliability testing) – гибрид всех перечисленных ранее видов тестирования, направленный на то, чтобы проверить способность системы возвращаться к нормальному режиму работы после коротких периодов максимальной нагрузки, стрессов, предельных объемов данных и т.д. Тестирование эргономики решений – испытания пользовательского интерфейса на предмет удобства и безопасности эксплуатации информационной системы

7

Тестирование: ручное и автоматизированное. Различия

Сначала надо понять различия между ручными и автоматизированными тестами. Ручное тестирование проводится непосредственно человеком, который нажимает на кнопочки в приложении или взаимодействует с программным обеспечением или API с необходимым инструментарием. Это достаточно затратно, так как это требует от тестировщика установки среды разработки и выполнения тестов вручную. Имеет место вероятность ошибки за счет человеческого фактора, например опечатки или пропуска шагов в тестовом сценарии. Автоматизированные тесты, с другой стороны, производятся машиной, которая запускает тестовый сценарий, который был написан заранее. Такие тесты могут сильно варьироваться в зависимости от сложности, начиная от проверки одного единственного метода в классе до отработки последовательности сложных действий в UI, чтобы убедиться в правильности работы. Такой способ считается более надежным, однако его работоспособность все еще зависит от того насколько скрипт для тестирования был хорошо написан. Автоматизированные тесты – это ключевой компонент непрерывной интеграции (Continuous Integration) и непрерывной доставки (continuous delivery), а также хороший способ масштабировать ваш QA процесс во время добавления нового функционала для вашего приложения. Однако в ручном тестировании все равно есть своя ценность. Поэтому в статье мы обязательно поговорим об исследовательском тестировании (exploratory testing).

Динамически подключаемые библиотеки .dll

Понятие динамически подключаемых библиотек.

Библиотека DLL представляет собой коллекцию подпрограмм, которые могут быть вызваны на выполнение приложениями или подпрограммами из других библиотек. Подобно модулям, библиотеки DLL содержат разделяемый (sharable) код или ресурсы. Однако, в отличие от модулей, библиотеки содержат отдельно откомпилированный исполняемый код, который подключается к приложению динамически на этапе его выполнения, а не компиляции.

Для того чтобы библиотеки можно было отличить от самостоятельно выполняемых приложений, они имеют расширение .dll. Программы, написанные на Object Pascal, могут использовать библиотеки, написанные на других языках. С другой стороны, приложения Windows могут использовать библиотеки, написанные на Object Pascal.

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

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

Преимущества использования динамических библиотек (по сравнению со статическим подключением подпрограмм на этапе сборки приложения) следующие:

1 Процессы, которые загрузили библиотеку по одному и тому же базовому адресу, пользуются одной копией их кода, но имеют свои собственные копии данных. Благодаря этому снижаются требования к объему памяти и снижается своппинг.

2 Модификация подпрограмм библиотек не требует повторной компиляции приложений до тех пор, пока остается неизменным формат их вызова.

3 Библиотеки обеспечивают также послепродажную поддержку (after-market support). Например, дисплейный драйвер, предоставляемый библиотекой, может быть обновлен для того, чтобы поддерживать дисплей, который не существовал в момент продажи приложения.

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

Интерфейс прикладных программ (Microsoft Win32 application programming interface – API) реализован как набор DLL–библиотек.

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


Средства диагностики оборудования. Порядок инсталляции ПО

Порядок инсталляции программного обеспечения Каждый программный продукт – это, прежде всего, исполняемый модуль с расширением .exe (например, arj.exe) или .com (например, win.com), и этот модуль может работать либо автономно (например, arj.exe), либо в сопровождении многочисленной «свиты» из множества служебных файлов и других программ (например, win.com). До появления современных программных продуктов проблемы установки не существовало: исполняемый модуль (с сопутствующими файлами) просто копировали с дискеты или компакт-диска в любой каталог жесткого диска, а затем запускали на выполнение. Если данный программный продукт был совместим с аппаратными средствами, он функционировал в соответствии с соглашениями, предусмотренными программистом-разработчиком. Несложные программы и сейчас «устанавливаются» подобным же образом. Однако для большинства современных программных продуктов разработчики предусматривают специальную процедуру установки ("инсталляции"), при которой используется специальная дистрибутивная копия продукта. Эта копия поставляется на дискете (нескольких дискетах) или компакт-диске и имеет программу установки setup.exe или install.exe. Для установки запускается эта программа, и выполняются ее указания. Подобную программу часто называют «Мастером установки программ». Типичные шаги, которые выполняются во время установки продукта: § ввод имени пользователя, обладающего лицензией на использование данной программы, и название организации; § проверка аппаратных элементов системы; § конфигурирование продукта в соответствии с требованиями пользователя и запись на жесткий диск всех служебных файлов, необходимых для работы продукта в заказанной конфигурации (при этом часть функций продукта может быть отключена); § создание и (или) модификация файлов настроек – как системных (например, config.sys), так и специализированных файлов Windows (с расширением .ini). При установке программного продукта в Windows чаще всего создается программный элемент (специальная папка), снабженный соответствующей пиктограммой. По желанию пользователя этот элемент можно включить либо в существующую, либо во вновь созданную программную группу. В Панели управления Windows имеется специальное окно «Установка и удаление программ», которое содержит список установленных программ

8

Риски разработки адаптации. Классификация рисков

Риски могут различаться в зависимости от характера проекта, но в целом их можно разделить на 5 категорий: 1. Бюджет: риск превышения выделенного на проект бюджета. Пожалуй, это самая распространенная ошибка при разработке программного обеспечения, которая влечет за собой другие ошибки. 2. Кадры: риск потери или нехватки членов проектной команды. Даже если эта проблема длится недолго, она может привести к ошибкам и задержке сроков. 3. Знания: команда может иметь лишь узконаправленные знания, или неверно передавать между собой информацию. В этом случае членам команды приходится переучиваться, что приводит к дополнительным тратам сил, времени и ресурсов. 4. Продуктивность: этот риск чаще всего угрожает долгосрочным проектам. Большой запас времени порой приводит к медленной и непродуктивной работе. 5. Время: при разработке программного обеспечения очень распространены задержки релизов продукции, что является результатом неправильного планирования, крайне сжатых сроков и неспособности разработчиков адаптироваться к меняющимся требованиям по отношению к продукту.

Средства диагностики оборудования. Программно-аппаратная диагностика

рассмотрим порядок загрузки компьютера.

  1. После включения питания БП выполняет самотестирование. Если все выходные напряжения соответствуют требуемым, БП выдает на материнскую плату сигнал Power_Good (P_G) на контакт 8 20-контактного разъема питания ATX. Между включением ПК и подачей сигнала проходит около 0,1-0,5 с.

  2. Микросхема таймера получает сигнал P_G и прекращает генерировать подаваемый на микропроцессор сигнал начальной установки Reset. Если процессор не исправен, то система зависает.

  3. Если CPU жив, то он начинает выполнять код, записанный в ROM BIOS по адресу FFFF0h (адрес программы перезагрузки системы). По этому адресу находится команда безусловного перехода JMP к адресу начала программы загрузки системы через конкретный ROM BIOS (обычно это адрес F0000h).

  4. Начинается выполнение конкретного кода ROM BIOS. BIOS начинает проверку компонентов системы на работоспособность (POST – Power On Self Test). Обнаружив ошибку, система подаст звуковой сигнал, так как видеоадаптер пока еще не инициализирован. Проверяется и инициализируется чипсет, DMA и происходит тест определения объема памяти. Если модули памяти вставлены не до конца или некоторые банки памяти повреждены, то или система зависает или звучат длинные повторяющие сигналы из системного динамика.

  5. Происходит разархивирование образа BIOS в оперативную память для более быстрого доступа к коду BIOS.

  6. Инициализируется контроллер клавиатуры.

  7. BIOS сканирует адреса памяти видеоадаптера, начиная с С0000h и заканчивая C7800h. Если BIOS видеоадаптера найден, то проверяется контрольная сумма (CRC) его кода. Если CRC совпадают, то управление передается Video BIOS, который инициализирует видеоадаптер и выводит на экран информацию о версии Video BIOS. Если контрольная сумма не совпадает, то выводится сообщение «C000 ROM Error». Если Video BIOS не найден, то используется драйвер, записанный в BIOS ROM, который инициализирует видеокарту.

  8. ROM BIOS сканирует пространство памяти начиная с C8000h в поисках BIOS других устройств, таких как сетевые карты и SCSI-адаптеры, и проверяется их контрольная сумма.

  9. BIOS проверяет значение слова по адресу 0472h, чтобы определить, какая загрузка должна быть выполнена – «горячая» или «холодная». Если по этому адресу записано слово 1234h, то процедура POST не выполняется, происходит «горячая» загрузка.

  10. В случае холодной загрузки выполняется POST. Инициализируется процессор, выводится информация о его марке, модели и т.д. Выдается один короткий сигнал.

  11. Тестируется RTC (Real Time Clock).

  12. Определение частоты CPU, проверка типа видеоадаптера (в том числе встроенного).

  13. Тестирование стандартной и расширенной памяти.

  14. Присвоение ресурсов всем ISA-устройствам.

  15. Инициализация IDE-контроллера. Если используется 40-контактный шлейф для подключения ATA/100 HDD, то появится соответствующее сообщение.

  16. Инициализация FDC-контроллера.

  17. ROM BIOS ищет системную дискету или MBR жесткого диска и читает сектор 1 на дорожке 0 стороны 0, копирует этот сектор по адресу 7С00h. Далее происходит проверка этого сектора: если он оканчивается сигнатурой 55AAh, то MBR просматривает таблицу разделов (Partition Table) и ищет активный раздел, а затем пытается загрузиться с него. Если первый сектор оканчивается любой другой сигнатурой, то вызывается прерывание Int 18h и на экран выводится сообщение «DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER» или «Non-system disk or disk error».

В общем-то все. Что касается последнего пункта, то ошибки указанные в нем говорят о неисправности винчестера (программной или аппаратной). Теперь вам остается только выявить, в какой именно момент перестает работать ваш компьютер. Если это происходит до появления сообщений на мониторе, то неисправность можно определить по звуковым сигналам. СМ ПРИЛ 1

Методы тестирования ПО. Как автоматизировать тесты

Тестировщик может проводить все тесты, указанные выше, вручную, но это будет крайне затратно и непродуктивно. Поскольку люди имеют ограниченную возможность производить большое количество действий с повторениями при этом все еще проводя тестирование надежно. Однако машина может с легкостью воспроизводить эти же действия и проверить, допустим, что комбинация логин/пароль будет работать и в сотый раз без каких-либо нареканий. Для автоматизации тестирования, вам для начала придется написать их на каком-то из языков программирования с использованием фреймворка для тестирования, который подойдет для вашего приложения. PHPUnit , Mocha, RSpec – это примеры фреймворков для тестирования, которые вы можете использовать для PHP, Javascript и Ruby, соответственно. В них есть множество возможностей для каждого языка, поэтому вам стоит немного позаниматься исследованием самостоятельно и проконсультироваться с сообществами разработчиков, чтобы понять, какой фреймворк подойдет вам лучше всего. Если ваши тесты могут запускаться с помощью скриптов из терминала, вы можете автоматизировать их, использовав сервер непрерывной интеграции по типу Bamboo или же облачного сервера Bitbucket Pipelines. Эти инструменты будут мониторить ваши репозитории и исполнять наборы тестов, как только новые изменения будут запушены в основной репозиторий. Если вы новичок в вопросах тестирования, обратитесь к нашему руководству по непрерывной интеграции, чтобы создать свой первый набор тестов

9

Охарактеризуйте уязвимости, вызванные дефектами конфигурирования и управления системой

настройки механизмов безопасности; • настройки структуры и функционала; • в виде закладок в настройках; • совместимости версий; • качества настроек; • окружения; • среды компиляции и выполнения программного кода; • прикладного программного обеспечения

Кластерная структура сервера. Определение. Главные качества

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

  • является единой системой;

  • обеспечивает высокую надежность (отказоустойчивость);

  • имеет общую файловую структуру;

  • обладает        свойством        эффективной        масштабируемости        —        роста производительности при добавлении ресурсов;

  • гибко перестраивается;

  • управляется (администрируется) как единая система.

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

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

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

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

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

Коммуникационный канал кластера обеспечивает:

  • скоординированное использование общекластерных ресурсов;

  • взаимный контроль работоспособности узлов кластера;

  • обмен данными о конфигурации кластера и другой специфической кластерной информацией.

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

Вредоносные программы. Действие вредоносных программ

Вредоносная программа - программа, предназначенная для осуществления несанкционированного доступа к информации и (или) воздействия на информацию или ресурсы информационной системы[44]. Иными словами вредоносной программой называют некоторый самостоятельный набор инструкций, который способен выполнять следующее: 1. скрывать свое присутствие в компьютере; 2. обладать способностью к самоуничтожению, маскировкой под легальные программы и копирования себя в другие области оперативной или внешней памяти; 3. модифицировать (разрушать, искажать) код других программ; 4. самостоятельно выполнять деструктивные функции - копирование, модификацию, уничтожение, блокирование и т.п. 5. искажать, блокировать или подменять выводимую во внешний канал связи или на внешний носитель информацию. Основными путями проникновения вредоносных программ в АС, в частности, на компьютер, являются сетевое взаимодействие и съемные носители информации (флешки, диски и т.п.). При этом внедрение в систему может носить случайный характер.

10

Математические модели описания статистических характеристик ошибок в программах. Вторая группа допущений

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


написать администратору сайта