Написать программу "проверка памяти"

Автор: Пользователь скрыл имя, 20 Июня 2013 в 03:53, курсовая работа

Описание работы

Описанный алгоритм отличается простотой, но его недостатком является то, что он позволяет обнаружить только тяжелые и устойчивые сбои в работе памяти, которые наверняка обнаружит и быстрый тест BIOS. Многие ошибки в работе памяти могут зависеть от содержимого памяти (речь идет о ситуации, когда в неисправной микросхеме некоторые соседние ячейки начинают "взаимодействовать" между собой).
Чтобы выявлять такие ошибки, алгоритм тестирования памяти должен проверять один и тот же участок памяти по нескольку раз, записывая и считывая различные (специально подобранные) паттерны. Удачный подбор паттернов позволит, насколько это, возможно, обойти и препятствия, связанные с особенностями выборки данных процессора, и добиться одинаковой эффективности выявления ошибок на разных чипах, отличающихся разным физическим расположением элементов памяти. Это расположение тоже может влиять на характер ошибок.

Содержание

Введение…………………………………………………………………………….3
Основная часть……………………………………………………………………...5
1 Основы программирования и разработка приложений………………………..5
2 Программирование и возможность программа "проверка памяти"…………13
Заключение………………………………………………………………………...21
Глоссарий………………………………………………………………………….22
Список использованных источников…………………………………………….24
Список сокращений……………………………………………………………….25
Приложения……………………………………………………………………….26

Работа содержит 1 файл

KR_Programmirovanie.doc

— 435.50 Кб (Скачать)

Основные данные о работе

Версия шаблона

2.1

Филиал

 

Вид работы

Курсовая работа

Название дисциплины

Программирование

Тема

Написать программу "проверка памяти"

Фамилия студента

 

Имя студента

 

Отчество студента

 

№ контракта

 

 

Содержание

Основные данные о работе………………………………………………………...1

Содержание…………………………………………………………………………2

Введение…………………………………………………………………………….3

Основная часть……………………………………………………………………...5

1 Основы программирования и  разработка приложений………………………..5

2 Программирование и возможность программа "проверка памяти"…………13

Заключение………………………………………………………………………...21

Глоссарий………………………………………………………………………….22

Список использованных источников…………………………………………….24

Список сокращений……………………………………………………………….25

Приложения……………………………………………………………………….26

Введение

          «Программирование» — процесс создания компьютерных программ.

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

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

Иначе это называется «программная инженерия» («инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Программирование для (ЭВМ) основывается на использовании языков программирования, на которых записывается программа. Чтобы программа могла быть понята и исполнена (ЭВМ), требуется специальный инструмент — транслятор.

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

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

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

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

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

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

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

Основная часть

1 Основы программирования и разработка приложений

«Программирование» — процесс  создания компьютерных программ.

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

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

Разные языки программирования поддерживают разные стили программирования (парадигмы программирования).

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

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

Единый язычок, напрямую исполняемый (ЭВМ) — это механический язычок (еще именуемый машинным кодом и языком машинных команд).

Вначале все программки писались в  машинном коде, однако в данный момент этого фактически уже не делается.

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

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

В неких языках за место машинного  кода генерируется интерпретируемый бинарный код «виртуальной машины», еще именуемый байт-кодом (byte-code). Таковой подъезд используется в Forth, неких реализациях «Lisp, Java, Perl, Python», языках для «NET Framework».[3]

Конкретно в оперативной памяти хранятся все кратковременные команды. И данные нужные для их предстоящей отделки центральным процессором, записи на твердый диск, вывода на экран, принтер и т. д.

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

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

Сбой в работе (ОЗУ) безусловно, приводит к разным системным оплошностям, является предпосылкой появления экранов BSOD, внезапной перезагрузки и выключения (ПК).

Еще поломка оперативной памяти напрямую воздействует на вложение (ПК), правильную загрузку BIOS и операционной системы.

При появлении неизменной непостоянности работы (ПК) нужно испытать оперативную память в первую очередность. Тем наиболее таковая испытание особенных проблем не вызывает.

Все что необходимо для самостоятельной  испытания оперативной памяти ПК – это особые программы. Самыми популярными и доступными утилитами для испытания памяти (ПК), являются Memtest86+ и Memtest86. Из собственного моего эксперимента для испытания советую применять программу Memtest86+.

С интернет-сайта данных программ из раздела «Download» следует перекачать заключительную стабильную версию утилиты. Самый-самый обычный вариант – это переписывание вида ISO и предстоящая запись его на CD либо DVD диск. Нежели недостает оптического дисковода, то еще разрешено применять образ для USB дисков либо для мини-флоппи дисковода (дискеты 3,5).

После, такого как образ программы, записан на диск либо флешку (дискету) нужно в BIOS очертить загрузку с нужного устройства чтения – CD/DVD дисковода, Floppy либо USB. И перезагрузиться.

После загрузки программы испытания памяти вы увидите перед собой экран проверки. В правой верхней доли экрана вы увидите: шкала Pass – процент исполнения всей испытания в целом; шкалы Test – процент исполнения, заглавие и номер исполняемого в данный момент теста.

В верхней левой доли экрана будут  представлены общие характеристики системы: тактовая гармоника процессора, размер и гармоника оперативной  памяти, кеш. процессора и т. д.

В нижней центральной доли странички  будут выводиться оплошности и итоги  тестирования. Фактически она нас и интересует.

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

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

Для точности испытания лучше только, чтоб целый набор тестов был пройден  некоторое количество циклов. Конфигурация (ПК) воздействует еще на численность и тип проходимых тестов.[4]

Нежели испытание прошла удачно, и оперативная память исправна, то вы увидите об этом доказательство на экране: Pass complete, no errors, press Esc to exit. Для выхода из режима испытания необходимо вынуть компакт-диск из устройства чтения CD/DVD, или выключить USB флешку с образом программы, и надавить кнопку Esc. ПК перезагрузится и начнет работу в обыкновенном режиме

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

Нежели оперативная память сбоит при работе, то ее следует сменить.

Однако имейте в виду, что на итоги тестирования еще оказывают  воздействие непостоянность работы остальных принципиальных частей «ПК» (процессора, материнской платы, блока кормления, видеокарты).[5]

Чтоб удостовериться в том, что  неисправна конкретно оперативная  память (ПК), то следует вести тестирование остальных частей системы, а еще, нежели имеется вероятность, испытать свою оперативку на ином «ПК» либо ноутбуке.[6]

Микросхемы, программируемые в  программаторе.

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

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

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

Программирование микроконтроллера подразумевает заполнение внутренней памяти микроконтроллера нужной информацией.

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

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

Таким образом: программирование микроконтроллера - это заполнение каждой области памяти своей специфической информацией.

Каждый программируемый микроконтроллер  обладает своим индивидуальным набором  допустимых режимов:

программирование (запись), чтение, стирание, защита от чтения, защита от программирования и т.п.

Некоторые программируемые микроконтроллеры не имеют отдельного режима «стирание». Для них стирание прежней информации в памяти происходит в теневом  режиме, при каждом новом цикле  программирования микроконтроллера;[7]

Некоторые программируемые микроконтроллеры поддерживают различные режимы ограничения доступа.

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

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

Данные загружаются в регистры DS, ES, FS, GS. Это означает, что частей данных может существовать по 4х. На нашей картинке он один.

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

Используемый сектор стека задается ролью регистра SS.  Увольнение снутри этого сектора представлено регистром ESP, который показывает на вершину  стека, как вы помните.

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

Информация о работе Написать программу "проверка памяти"