winrar, архиватор rar, norton antivirus, бухгалтерия, asplinux server, .

softomir.narod.ru

 
 На сайте
   Главная
   Links

 Разделы
архиватор zip
panda antivirus
резервное копирование данных
домашняя бухгалтерия
panda antivirus
win zip
win архиваторы
системы резервного копирования
архиватор rar
перевод с английского на русский
ad aware
 Главная  Links
{img1} win rar
5.5. Принципы хранения файлов Можно использовать различные схемы для организации, хранения и учета данных на дискете.
перевод с русского на английский
{img2} nod32
Каждая из схем имеет свои достоинства и недостатки с точки зрения эффективности использования пространства памяти дискеты, скорости доступа, безопасности и качества хранения данных. (Понятие качества хранения данных подразумевает вероятность каких-либо нарушений при хранении и трудность восстановления данных, если нарушения произошли.) Разработка схемы хранения данных состоит в искусстве сочетания всех этих аспектов, иногда противоречащих друг другу.
avast home
{img3} архиватор winzip
В этом параграфе будет описана схема хранения данных, используемая в MS-ДОС. Прежде чем перейти к подробному рассмотрению схемы хранения, опишем ее в общих чертах.
avast 4

GPS-навигатор

winrar, архиватор rar, norton antivirus, бухгалтерия, asplinux server, .
 

домашняя бухгалтерия

Позднее, одновременно с внедрением ДОС версии 1.10, фирма "ИБМ" начала использовать дисководы ТМ 100-2, работающие по-прежнему с двойной плотностью, но уже с двухсторонними дисками, что позволило вдвое увеличить объем хранения информации. Ниже мы рассмотрим, как операционная система ДОС использует разные типы дискет). Оставшиеся две модели, ТМ 100-3 и ТМ 100-4, устройства позволяющие работать с одно- и двухсторонними дисками с учетверенной плотностью записи, т.е. с восьмьюдесятью дорожками на поверхности дискеты. Не совсем понятно решение фирмы "ИБМ" использовать односторонние дискеты наряду с двухсторонними. С точки зрения дальних перспектив компьютера такое решение выглядит неразумным. Наиболее вероятной причиной использования одностронних дискет является желание фирмы ИБМ снизить цену своего компьютера, которая и так существенно превышает цену обычных домашних компьютеров. Имеется ряд признаков, свчидетельствующих о стремлении фирмы предельно снизить цену базовой модели. По крайней мере, это единственный аргумент которым можно объяснить появление практически нигде не использующейся модели с накопителем на кассетной магнитной ленте и применения односторонних дискет в первых модификациях IBM/PC. Расчет делался на то, что серьезные пользователи, думающие о перспективе, будут приобретать машины, оснащенные более мощными дисками, а чтобы не отпугнуть колеблющегося новичка высокой ценой, фирма ИБМ выбрала из всех имеющихся дисководов устройство с наиболее умеренной ценой - устройство с односторонними дисками.


Отказоустойчивые системы


 



Caa?ocea ...
 

CNews: Новости | e-Business | Hi-Tech | Telecom List.ru - каталог ресурсов интернет Directrix џ­¤ҐЄб жЁвЁа®ў ­Ёп
Hosted by uCoz
@TestSym ?if_nest,%?if_level ;;установить новый ;;номер последовательности If (?symdef) @IncSym ?if_nest,%?if_level ELSE @ZeroSym ?if_nest,%?if_level ENDIF ;; Вставить переход в секцию "ELSE" или "IF NOT" @MakeJmp ?if_,%?if_level,?if_nest iftrue: ENDM ;; ;; ** @IfElse *********** STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "ELSE" @IfElse MACRO IFNDEF ?if_level ; ОШИБКА - "@IfElse" без открытого оператора "@IfTrue" EXITM ENDIF IF(?if_level LT 10) ; ОШИБКА - "@IfElse" без открытого оператора "@IfTrue" EXITM ENDIF ;; Сгенерировать код "@IfElse" @IncxSym ?if_nest,%?if_level - 1-35 - @MakeJmp ?if_,%?if_level,?if_nest @DecSym ?if_nest,%?if_level @MakeJmpLabel ?if_,%?if_level,?if_nest @IncSym ?if_nest,%?if_level ENDM ;; ;; ** @IfEnd *********** STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "END" для совместного ;; использования с "@IfTrue" @IfEnd MACRO IFNDEF ?if_level ; ОШИБКА - "@IfEnd" без открытого оператора "@IfTrue" EXITM ENDIF IF (?if_level LT 10) ; ОШИБКА - "@IfEnd" без открытого оператора "@IfTrue" EXITM ENDIF ;; Сгенерировать метку "@IfEnd" @MakeJmpLabel ?if_,%?if_level,?if_nest ?if_level = ?if_level - 1 ENDM ;; ;; ** @DoWhile ******** STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "DO_WHILE" @DoWhile MACRO p1,p2,p3 LOCAL iftrue IFNDEF ?do_level ;;установить новый уровень ;;вложенности ?do_level = 10 ELSE ?do_level = ?do_level + 1 ENDIF ;; Установить номер новой последовательности для уровня ;; вложенности @TestSym ?do_nest,%?do_level IF (?symdef) @IncSym ?do_nest,%?do_level ELSE @ZeroSym ?do_nest,%?do_level ENDIF ;; Вставить метку начала цикла @MаkeJmpLabel ?do_,%?do_level,?do_nest ;; Вставить в программный код проверку условия cmp &p1,&p3 ;; Перейти к секции "DO_WHILE_TRUE" j&p2 iftrue ;; Перейти к следующей метке последовательности @IncSym ?do_nest,%?do_level ;; Вставить в программный код переход на конец цикла @MakeJmp ?do_,%?do_level,?do_nest ;; Начать секцию "DO_WHILE_TRUE" iftrue: ENDM ;; ;; ** @DoExit *********** STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "DO_EXIT" для совместного - 1-36 - ;; использования с "@DoWhile" @DoExit MACRO ;; Вставить в программный код переход на конец цикла @MakeJmp ?do_,%?do_level,?do_nest ENDM ;; ;; ** @DoEnd ************ STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "DO_END" для совместного ;; использования с "@DoWhile" ;; Макро @DoEnd генерирует программный код для структури- ;; рованного ENDDO @DoEnd MACRO IFNDEF ?do_level ; ОШИБКА - "@DoEnd" без открытого оператора "@DoWhile" EXITM ENDIF IF (?do_level LT 10) ; ОШИБКА - "@DoEnd" без открытого оператора "@DoWhile" EXITM ENDIF ;; Переход на предыдущую метку последовательности @DecSym ?do_nest,%?do_level ;; Сгенерировать переход на начало цикла @MakeJmp ?do_,%?do_level,?do_nest ;; Перейти к следующей метке последовательности @IncSym ?do_nest,%?do_level ;; Сгенерировать метку для "@DoEnd" @MakeJmpLabel ?do_,%?do_level,?do_nest ?do_level = ?do_level - 1 ENDM ;; ;; ** @Repeat *********** STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "@Repeat" ;; "@Repeat" генерирует программный код для структури- ;; рованного REPEAT-UNTIL @Repeat MACRO IFNDEF ?rep_level ;;установить новый уровень ;;вложенности ?rep_level = 10 ELSE ?rep_level = ?rep_level + 1 ENDIF ;; Установить новый номер последовательности для уровня ;; вложенности @TestSym ?rep_nest,%?rep_level IF (?symdef) @IncSym ?rep_nest,%?rep_level ELSE @ZeroSym ?rep_nest,%?rep_level ENDIF ;; Вставить метку перехода на начало цикла @MakeJmpLabel ?rep_,%?rep_level,?rep_nest ENDM ;; ;; ** @Until ***********STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "@Until" для совместного ;; использования с "@Repeat" - 1-37 - @Until MACRO p1,p2,p3 LOCAL iftrue IFNDEF ?rep_level ; ОШИБКА - "@Until" без открытого оператора "@Repeat" EXITM ENDIF IF (?rep_level LT 10) ; ОШИБКА - "@Until" без открытого оператора "@Repeat" EXITM ENDIF ;; Вставить в программный код проверку условия cmp &p1,&p3 ;; Перейти к секции "@Until" .TRUE. j&p2 iftrue ;; Вставить переход на начало цикла @MakeJmp ?rep_,%?rep_level,?rep_nest iftrue: ?rep_level = ?rep_level- 1 ENDM ;; ;; ** @For *********** STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "@For". Используйте это ;; макро так: ;; @For counter,begin,end,dir,step ;; @For MACRO p1,p2,p3,p4,p5 LOCAL first LOCAL iftrue IFNDEF ?for_level ;;установить новый ;;уровень вложенности ?for_level = 10 ELSE ?for_level = ?for_level + 1 ENDIF ;; Установить новый номер последовательности для ;; уровня вложенности @TestSym ?for_nest,%?for_level IF (?symdef) @IncSym ?for_nest,%?for_level ELSE @ZeroSym ?for_nest,%?for_level ENDIF ;; Вставить в программный код инициализацию счетчика - ;; (обойти 1-ый шаг) mov &p1,&p2 ;инициализировать счетчик jmp first ;начать цикл FOR ;; Вставить метку перехода на начало цикла @MakeJmpLabel ?for_,%?for_level,?for_nest ;; Вставить в программный код шаг вычислений и выполнить ;; его проверку IFIDN ,<+> inc &p1 ;увеличить счетчик ELSE IFIDN ,<-> dec &p1 ;уменьшить счетчик ELSE ; ОШИБКА - неверная спецификация шага в операторе "@For" - 1-38 - EXITM ENDIF ENDIF first: ;проверить на необходимость продолжения ;; Вставить в программный код проверку условия cmp &p1,&p3 ;достигнут ли конец? ;; Перейти к секции "FOR_TRUE" IFIDN ,<+> jl iftrue ;нет - продолжить цикл FOR ELSE ;;по умолчанию - к шагу "-" jg iftrue ;нет - продолжить цикл FOR ENDIF ;; Перейти к следующей метке последовательности @IncSym ?for_nest,%?for_level ;; Вставить в программный код переход на конец цикла @MakeJmp ?for,%?for_level,?for_nest iftrue: ENDM ;; ;; ** @ForEnd ******** STRUCTURED CONTROL MACRO ***** ;; Структурированное макро "FOR_END" для совместного ;; использования с "FOR" ;; @ForEnd генерирует программный код для структури- ;; рованного цикла FOR @ForEnd MACRO IFNDEF ?for_level ; ОШИБКА - "@ForEnd" без открытого оператора "FOR" EXITM ENDIF IF (?for_level LT 10) page_end12 ; EXITM ENDIF ;; @DecSym ?for_nest,%?for_level ;; @MakeJmp ?for_,%?for_level,?for_nest ;; @IncSym ?for_nest,%?for_level ;; @MakeJmpLabel ?for_,%?for_level,?for_nest ?for_level = ?for_level- 1 ENDM ;; ************************************************** Как работают структурированные макросы Сложность этих макросов вытекает из необходимости поддержки вложенных структур управления. Рассмотрим пример, приведенный на Рис.1-2. Каждая конструкция IF-THEN-ELSE требует наличия трех операторов перехода с тремя уникальными метками. Однако для запо- минания уникальных меток, сгенерированных директивой LOCAL, мы не можем использовать символы - нам приходится создавать собственные метки на базе счетчиков.

програмное обеспечение


 



Caa?ocea ...
 
CNews: Новости | e-Business | Hi-Tech | Telecom List.ru - каталог ресурсов интернет Directrix џ­¤ҐЄб жЁвЁа®ў ­Ёп
Hosted by uCoz