Программы обслуживания дисков. — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Программы обслуживания дисков.

2023-02-03 19
Программы обслуживания дисков. 0.00 из 5.00 0 оценок
Заказать работу

Кроме рассмотренных выше существует множество других сервисных утилит. .Из них наиболее используются следующие:

1)Программы диагностики (проверяют работоспособность устройств)

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

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

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

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

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

 

    4. Языки и системы программирования.

Системы программирования.

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

 

Команды  должны быть выражены в машинном коде, т.е. на языке понятном процессору.

 

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

 

Для этой цели и существуют специальные языки программирования, которые называются алгоритмическими или языками программирования.

 

                             Они обладают рядом следующих свойств:

1) специализация – средство, предоставление языком, ориентированное на описание задач предметной области определенного типа, например, одни языки разрабатывали главным образом для числовых расчетов (Basic, Fortran), другие – для информации (LISP) , третьи – для написания главным образом систем программ (С), в основном наиболее распространенные языки позволяющие описать решение разнообразных задач (поэтому называются универсальными), но наиболее удобны для решения тех задач, для которых они предназначены..

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

     Возможности написания текстовых комментариев и элементами программы и т.п.

3) Возможность независимого написания отдельных программных частей

Такой подход в программировании называют Модульным или Структурным. Он предполагает написание отдельных программных модулей с последующей автоматизированной сборкой их в единую программу.

В связи с особенностями языков программирования существует 4 важных этапа запуска программы на выполнение:

 

1) трансляция,т.е. перевод текста программных модулей с алгоритмического языка на машинный.

                        2) сборка полученных после трансляции программных модулей в единую программу.

                        3) откладка программы ,т.е.процесс нахождения и устранения ошибок в тексте программы)

                        4) использование программы.

 

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

 

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

2) трансляторы- переводчик с языка на котором написаны тексты программных модулей на машинный внутренний язык.

 

Различают два вида трансляторов:

1) интерпретатор

2) компилятор

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

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

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

 

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

 

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

 

4)ОТЛАДЧИК – оказывает помощь в поиске различных ошибок в программе в процессе ее выполнения программы. Он выявляет ошибки, связанные с некорректностью входных данных и т.п.

                                 

Основные преимущества интерпретаторов перед компиляторами:

 

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

2) Файлы с такими программами занимают небольшой объем памяти, поскольку содержат небольшой объем памяти, поскольку содержат лишь тексты.

 

НЕДОСТАТКИ ИНТЕРПРИТАТОРОВ:

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

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

 

 

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

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

 

 

4.2. Уровни языков программирования.

Первый текстовый язык программирования ShortCoteи интепретатор для этого языка был создан в конце 40х годов 20 века Джоном Моучли. В 1951 году Грейс Хоппер создала первую в мире систему программирования с компилятором и редактором связи для этого языка, и был введен термин «компилятор», обычно языки делят на языки низкого и высокого уровня.

- Языки программирования низкого уровня ориентированы на определенный тип процессора и учитывают его особенности.

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

- Языки высокого уровня программирования значительно ближе и понятнее человеку, чем компьютеру. Особенности конкретных аппаратных средств в них не учитываются, поэтому создаваемые программы ( тексты, написанные на таких языках) легко переносимы на другие компьютеры , в которых есть соответствующие трансляторы. Такие языки- это языки описания алгоритмов решения задач удобные для человека. Разрабатывать программы на таких языках значительно проще, а ошибок при создании программ допускается гораздо меньше.

                             4.3.ПРИНЦИПЫ ПРОГРАММИРОВАНИЯ

 

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

1) алгоритмический

2) структурный ( модульный)

3)Событийно-ориентированный

4) объектно-ориентированный

 

4.3.1. Алгоритмическое программирование.

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

Алгоритм записывается с помощью операторов описания данных и управления последовательностю выполнения операторв с помощью операторов цикла и ветвления. В настоящее время этот принцип используется во всех языках программирования.

 

4.3.2. Структурное программирование.

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

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

Языки программирования основанные на этом принципе назыаются процедурными или процедурно-ориентированными.

Процедуры могут быть 3х видов: программа, подпрограмма, функция.

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

 

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

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

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

Структурное программирование предполагает предварительное структурное проектирование, которое выполняется на основе 2х принципов:

1) нисходящее проектирование, которое реализует подход «сверху-вниз»

2) 2) Восходящее проектирование реализующее подход «снизу-ввверх»

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

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

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

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

 

4.3.3. Событийно-ориентированное программирование.

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

1) пользовательские, возникающие в результате действий пользователя (например: щелчок по элементу в программном окне)

2) системные, возникающие в операционной системе. ( например: сообщение от таймера)

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

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

 


Поделиться с друзьями:

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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.