- •Измерение информации
- •1. Централизованная маршрутизация
- •2. Распределенная (децентрализованная) маршрутизация
- •3. Смешанная маршрутизация
- •2. Алгоритмы разветвляющейся структуры
- •3. Алгоритмы циклической структуры
- •4. Алгоритмы со структурой вложенных циклов
- •5. Подчиненные алгоритмы
- •Сегментная организация виртуальной памяти
- •Сегментно-страничный способ организации виртуальной памяти
- •6. Утилиты командной строки.
- •Первый период (1945 -1955)
- •Второй период (1955 - 1965)
- •Третий период (1965 - 1980)
- •Четвертый период (1980 - настоящее время)
Сегментная организация виртуальной памяти
Механизм организации виртуальной памяти, при котором виртуальное пространство делится на части произвольного размера — сегменты. Этот механизм позволяет, к примеру, разбить данные процесса на логические блоки. Для каждого сегмента, как и для страницы, могут быть назначены права доступа к нему пользователя и его процессов.
Страничная организация виртуальной памяти
В большинстве современных операционных систем виртуальная память организуется с помощью страничной адресации. Оперативная память делится на страницы: области памяти фиксированной длины (например, 4096 байт), которые являются минимальной единицей выделяемой памяти (то есть даже запрос на 1 байт от приложения приведёт к выделению ему страницы памяти).
Сегментно-страничный способ организации виртуальной памяти
Суть данного подхода состоит в следующем. Программа разбивается на логически законченные части − сегменты, каждый из которых размещается на некотором (от 1 до n) количестве стандартных страниц памяти.
Премещение данных между основной и внешней памятью осуществляется страницами. Однако разбиение на сегменты позволяет определять разные права доступа к разным частям кода и данных программы.
Данный метод вносит ещё большую задержку доступа к памяти.
Способы управления процессом в режиме мультипрограммирования
Мультипрограммирование в системах пакетной обработки
При использовании мультипрограммирования для повышения пропускной способности компьютера главная цель – минимизация простоев всех устройств компьютера, и в первую очередь центрального процессора.
В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит по инициативе самой активной задачи, например, когда она отказывается от процессора из-за необходимости выполнить операцию ввода-вывода. Поэтому существует высокая вероятность того, что одна задача может надолго занять процессор и выполнение интерактивных задач станет невозможным.
Мультипрограммирование в системах разделения времени
В том случае, когда критерием эффективности работы системы является удобство работы пользователя, то применяется другой способ мультипрограммирования – разделения времени. В системах разделения времени пользователям предоставляется возможность интерактивной работы сразу с несколькими приложениями. Для этого каждое приложение должно регулярно получать возможность “общения” с пользователем.
В системах разделения времени исправлен основной недостаток пакетной обработки – изолированность пользователя от процесса выполнения его задач. Каждому пользователю в этом случае предоставляется терминал, с которого он может вести диалог со своей программой. Время ответа в таких системах оказывается вполне приемлемым для пользователей, поскольку каждой задаче выделяется только квант процессорного времени, а следовательно, ни одна задача не занимает процессор надолго. Одной из основных причин, по которой системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, является то, что на выполнение принимается каждая запущенная пользователем задача, а не та, которая “выгодна”
Мультипрограммирование в системах реального времени
Еще одна разновидность мультипрограммирования используется в системах реального времени, предназначенных для управления с помощью компьютера различными техническими объектами или технологическими процессами. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная управляющая объектом программа. В противном случае может произойти авария. Таким образом, критерием эффективности здесь является время реакции системы. Требования ко времени реакции зависят от специфики управляемого процесса.
Сравнение Ethernet, Fast Ethernet, Gigabit и 10Gigabit Ethernet.
Ethernet — самый распространённый международный стандарт локальных сетей.
Разработкой стандартов локальных сетей занимаются рабочие группы инженеров электротехники и электроники) — международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике и электротехнике.
Ethernet — это не один, а целое семейство стандартов, имеющих разные пользовательские характеристики.
Если за основу сравнения этих стандартов взять скорость передачи данных и максимально возможное расстояние между двумя узлами (диаметр сети), то получим такую сравнительную таблицу:
Тип стандарта Ethernet Скорость передачи данных Максимальный диаметр сети
Ethernet 10 Мбит/с 2 500 м
Fast Ethernet 100 Мбит/с 200 м
Gigabit Ethernet 1000 Мбит/с 200 м
10G Ethernet 10 Гбит/с 40 км
Ethernet (10 Мбит/с), появился как стандарт трёх компаний — Digital, Intel, Xerox. Эта технология, как и технологии Fast Ethernet, Gigabit Ethernet основана на понятии разделяемой среды: каждый узел получает всё, что передаётся по сети; передачу выполняет только один узел, остальные ждут паузы для начала собственной передачи.
В основе технологии 10G Ethernet положен другой принцип: информация не “разбрасывается” по всей сети, а целенаправленно “проталкивается” от узла к узлу по направлению к пункту назначения. За продвижение данных в такой сети отвечают маршрутизаторы.
Они определяют соседний узел, в который нужно передвинуть информационный пакет для приближения его к пункту назначения. Такие сети называются сетями с коммутацией пакетов.
Средства администрирования и мониторинга ОС семейства Windows.
Администрирование Windows NT включает как задачи настройки системы непосредственно после инсталляции, так и задачи ежедневной поддержки системы.
Задачи администрирования могут быть разделены на пять групп:
• Администрирование пользователей и групп пользователей. Включает планирование, создание и поддержку учетной информации пользователей и групп.
• Администрирование средств обеспечения безопасности системы. Включает планирование и реализацию политики безопасности, гарантирующей защиту данных и разделяемых сетевых ресурсов, таких как каталоги, файлы и принтеры.
• Администрирование принтеров. Включает инсталляцию локальных и сетевых принтеров, конфигурирование их для более удобного использования, поиск неисправностей, устранение проблем, возникающих при печати.
• Мониторинг событий и ресурсов. Включает планирование и реализацию политики аудита сетевых событий в целях нахождения брешей в системе защиты, а также мониторинг процессов использования сетевых ресурсов.
• Архивирование и восстановление данных. Включает планирование и выполнение регулярного резервного копирования критических данных.
Средства обработки файлов
Прежде чем начать работать с внешним файлом, необходимо его связать с файловой переменной. Для этого используется процедура
ASSIGN(var f; name:string),
где f – переменная любого файлового типа,
name – полное имя внешнего файла, удовлетворяющее требованиям операционной системы:
• имя содержит до восьми разрешенных символов; разрешенные символы - это прописные и строчные латинские буквы, цифры, и символы: ! @ # $ % ^ & ( ) ' ~ - _
• имя начинается с любого разрешенного символа;
• за именем может следовать расширение - последовательность до трех разрешенных символов (расширение, если оно есть, отделяется от имени точкой).
Перед именем может указываться так называемый путь к файлу: имя диска и/или имя текущего каталога и имена каталогов вышестоящих уровней. Имя диска - это один из символов A...Z, после которого ставится двоеточие. Имена А: и В: относятся к дисковым накопителям на гибких дискетах, имена С:, D: и т.д. - к жестким дискам. Если имя диска не указано, подразумевается устройство по умолчанию - то, которое было установлено в операционной системе перед началом работы программы.
За именем диска может указываться имя каталога, содержащего файл. Если имени каталога предшествует обратная косая черта, то путь к файлу начинается из корневого каталога, если черты нет - из текущего каталога, установленного в системе по умолчанию. За именем каталога может следовать одно или несколько имен каталогов нижнего уровня. Каждому из них должна предшествовать обратная косая черта. Весь путь к файлу отделяется от имени файла обратной косой чертой. Максимальная длина имени вместе с путем - 79 символов.
Структура и функции программного обеспечения ККС.
Структура и функции программного обеспечения корпоративных сетей обусловлены тем, что эти сети основаны на технологии Internet, сформировавшейся прежде всего вокруг протокола ТСР/IP. Корпоративная сеть состоит из определенного числа взаимосвязанных компьютеров или ЛКС, использующих одну или более сетевых технологий. Для управления работой сети необходима сетевая операционная система (СОС), реализующая принцип сетевой модели клиент-сервер. Наиболее популярными СОС являются Windows NT компании Microsoft и NetWare компании Novell.
Система Windows NT для передачи данных использует протоколы ТСР/IP или IPX/SPX. Подобно ТСР/IP, протокол IPX/SPX определяет набор правил для координации сетевой связи между двумя системами. Если сеть не поддерживает протокол ТСР/IP, то необходимо использовать программы-шлюзы для трансляции ТСР/IP в используемый протокол сетевой операционной системы.
Система NetWare позволяет соединять компьютеры в сети, используя модель клиент-сервер. Программное обеспечение сервера NetWare выполняется на всех главных компьютерных платформах типа Unix, Dos, Windows, Macintosh. Для того чтобы компьютер-клиент имел доступ к сети, на нем должно быть установлено программное обеспечение клиента системы NetWare. После этого клиенты могут совместно использовать файлы и ресурсы принтеров, а также выполнять ряд различных приложений с помощью сервера.
Развитие программного обеспечения корпоративных сетей, как и сети Internet, связано с широким использованием достаточно нового языка программирования Java, основное назначение которого – предоставление пользователям возможности выполнять программы прямо на Web-страницах. С помощью Java программисты могут создавать небольшие приложения (апплеты) со встроенными мультимедийными средствами, такими, как текст, изображения, звук и видеоматериалы. Апплеты Java независимы от платформы, т.е. если создан апплет для использования под Windows, он может выполняться на любом броузере, например на броузере, работающем под Unix. Разработчики языка Java при его формировании имели в виду и проблемы безопасности: ограничения, содержащиеся в Java, весьма затрудняют создание вирусов на этом языке.
Ссылочные переменные в языке Турбо Паскаль.
Описание ссылочного типа выглядит следующим образом: Type Ptr = ^t, где t – стандартный или заранее описанный тип данных, называемый базовым типом. Сами адреса будут храниться в ссылочных переменных, которые описываются обычным образом. Такие переменные для хранения адресов динамической памяти называются ссылками или указателями.
В объявлениях ссылочных типов после символа “^” может стоять только простое имя типа. В случае сложных имен используется переопределение типов.
Указатели, связанные с адресами значений конкретных базовых типов, называются типизированными. N и U – типизированные указатели.
В Турбо Паскале можно объявлять указатель и не связывать его при этом с каким–либо конкретным типом данных. Такие указатели называются нетипизированными. Описание нетипизированных указателей осуществляется с помощью служебного слова Pointer.
Указатели могут сравниваться с помощью операций отношения = или <> (не равно). Сравнение для указателей – ненадежная операция.
Если два указателя содержат один и тот же адрес в памяти, но записанный в них разными способами, то они считаются различными. Зато можно проверить, ссылается ли указатель р на что–нибудь или нет путем сравнения p <> Nil.
Содержимое ячейки доступно через имя указателя. Чтобы обратиться к данным, находящимся по адресу, содержащемуся в указателе, используется символ “^”, который ставится сразу после имени ссылочной переменной. Эта операция называется операцией разыменования. Суть ее состоит в переходе от ссылочной переменной к значению, на которое она указывает.
Стандартные визуальные компоненты в Delphi.
На странице Standard палитры компонентов Delphi расположены стандартные компоненты, соответствующие интерфейсным элементам Windоws.
TMainMenu Интерфейсный элемент, называемый меню, предусмотрен стандартными соглашениями по требованию к интерфейсным прикладным программам и используется практически во всех Windows-приложениях.
TLabel С помощью статического интерфейсного элемента создаются заголовки для других интерфейсных элементов.
TEdit Строка редактирования – это прямоугольное окно, в котором возможен ввод и редактирование текста.
TMemo Компонент TМemo предназначен для ввода, редактирования и/или отображения достаточно длинного текста.
TButton Компонент TButton представляет собой стандартную кнопку. Кнопка может содержать текст, описывающий выполняемое при ее нажатии действие.
TCheckBox Кнопка с независимой фиксацией TСheckBox используется для того, чтобы пользователь мог указать свое решение типа Да/Нет или Да/Нет/Не знаю.
TRadioButton представляют собой зависимые переключатели, предназначенные для выбора одного из нескольких взаимоисключающих решений.
TListBox Интерфейсный элемент этого типа содержит список элементов, которые могут быть выбраны при помощи клавиатуры или мыши.
TComboBox Комбинированный список – это интерфейсный элемент, включающий в себя список, статический текст или строку редактирования.
TScrollBar Управляющий элемент, похожий на полосу прокрутки окна.
TGroupBox Компонент представляет собой стандартную группу элементов.
TRadioGroup Этот компонент представляет собой комбинацию GroupBox с набором RadioButton.
TPanel Панель служит для группирования элементов управления и меньших контейнеров.
Стандартный модуль CRT. Примеры
Модуль Crt предназначен для организации эффективной работы с экраном, клавиатурой и встроенным динамиком. При подключении модуля выводимая информация посылается в базовую систему ввода-вывода (ВIОS) или непосредственно в видеопамять. При этом ввод-вывод выполняется быстрее, кроме того, появляется возможность управлять цветом и размещением на экране.
В текстовом режиме экран представляется как совокупность строк и столбцов. Каждый символ располагается на так называемом знакоместе на пересечении строки и столбца. Символы хранятся в специальной части оперативной памяти, называемой видеопамятью. Ее содержимое отображается на экране.
Модуль Crt позволяет:
выполнять вывод в заданное место экрана заданным цветом символа и фона;
открывать на экране окна прямоугольной формы и выполнять вывод в пределах этих окон;
очищать экран, окно, строку и ее часть;
обрабатывать ввод с клавиатуры;
управлять встроенным динамиком.
Стандартные средства обработки текстовых файлов.
Кроме Assign, Reset, Rewrite, Close, Eof общими процедурами для работы с файлами всех типов являются:
Rename ( f; NewName) – переименовывает физический файл, ранее связанный с файловой переменной f, в имя NewName;
Erase (f) – стирает физический файл, связанный с файловой переменной f, с носителя информации (удаляемый файл должен быть закрыт);
GetDir (drive : Byte; Var S : String) – возвращает в строке S текущее имя каталога на диске с индексом drive;
Процедура Assign([файловая переменная],[имя файла]); Для работы с файлами вторым важным действием после объявления файловой переменной является “связывание” этой переменной с физическим файлом.
Процедура Reset для чтения.
Процедура Rewrite([файловая переменная]); Создает и открывает внешний физический файл связанный с файловой переменной для последующей записи в него.
Процедура Append([файловая переменная]); Открывает внешний физический текстовый файл связанный с файловой переменной для последующей записи в него. Однако в отличии от процедуры Rewrite этот файл существует запись производится в самый
конец файла.
Процедура Close([файловая переменная]); Сохраняет и закрывает открытый физический файл связанный с файловой переменной.
Процедура Erase([файловая переменная]); Процедура Erase удаляет физический файл связанный с файловой переменной.
Процедура Read([файловая переменная],[список ввода]); Присваивает одно или несколько значений из файла связанного с файловой переменной в одну или несколько переменных, описанных в списке ввода.
Структура модуля в языке Турбо Паскаль
В языке Turbo Pascal модуль (unit) по определению считается отдельной программой. Если подпрограмма является структурным элементом Pascal-программы и не может существовать вне ее, то модуль представляет собой отдельно хранимую и независимо компилируемую единицу. Программа на языке Turbo Pascal В самом общем виде модуль представляет собой совокупность программных ресурсов, предназначенных для использования другими модулями и программами. Под ресурсами в данном случае понимаются любые программные объекты языка Turbo Pascal - константы, типы, переменные, подпрограммы. Важно понимать, что модуль сам по себе не является выполняемой программой - его объекты ИСПОЛЬЗУЮТСЯ другими программными единицами. Все программные ресурсы модуля можно разбить на две части: объекты, прямо предназначенные для использования другими программами или модулями, и объекты рабочего характера. Например, если модуль содержит некоторую подпрограмму универсального назначения, пригодную для использования другими программами, то, скажем, вызываемые этой подпрограммой процедуры и функции, содержащиеся в модуле, и используемые ею переменные имеют сугубо внутренний характер. В соответствии с этим модуль, кроме заголовка, имеет две основные части, называемые интерфейсом и реализацией. В интерфейсной части модуля сосредоточены описания объектов, доступных из других программ; такие объекты называют видимыми вне модуля. В части реализации помещаются рабочие объекты, называемые также невидимыми или скрытыми. Заголовок модуля составляется из служебного слова unit и следующего за ним идентификатора, являющегося именем модуля. Заголовок завершается символом ';' (точка с запятой). Интерфейсная часть начинается со служебного слова interface, за которым следует совокупность обычных описаний. Завершает модуль, как и программу, служебное слово end и символ '.' (точка). Кроме перечисленных частей, модуль может содержать так называемый раздел инициализации, предназначенный для установки начальных значений переменных модуля перед его использованием. Этот раздел следует после раздела реализации, начинается со служебного слова begin и содержит последовательность операторов.
Структура и функции системы обеспечения безопасности (СОБ) ККС.
Система обеспечения безопасности СОБ представляет собой единую совокупность организационных (административных) мер, правовых и морально-этических норм, программно-аппаратных средств, направленных на противодействие угрозам сети с целью сведения до минимума возможного ущерба пользователям и владельцам сети. Формирование СОБ корпоративной сети базируется на политике безопасности (способе управления доступом) – наборе законов, правил и практических рекомендаций, реализуемых с помощью различных мер, норм и средств защиты. Для конкретной организации и ее сети политика безопасности должна быть индивидуальной, учитывающей указанные выше особенности. Ее реализация осуществляется с помощью средств управления механизмами защиты.
Основу политики безопасности составляет способ управления доступом, определяющий порядок доступа субъектов сети к ее объектам.
Доступ к объекту подразумевает доступ к содержащейся в нем информации. Различают два вида политики безопасности: избирательную и полномочную.
В основе избирательной политики безопасности лежит избирательное управление доступом, подразумевающее, что все субъекты и объекты сети идентифицированы, а права доступа субъекта к объекту определяются некоторым правилом (свойством избирательности).
Полномочная политика безопасности основана на использовании полномочного управления доступом, для которого характерны следующие: субъекты и объекты сети также идентифицированы; каждому объекту присваивается метка критичности, определяющая ценность, уровень приоритета содержащийся в нем информации; каждому субъекту присваивается уровень прозрачности (уровень доступа), определяющий максимальное значение метки критичности объектов, к которым субъект имеет право доступа.
Структурная схема ПК, архитектурные особенности
Ядро ПК образуют процессор, основную память (ОП), состоящую из оперативной памяти и постоянного запоминающего устройства (ПЗУ), и видеопамять.
ПЗУ предназначается для записи и постоянного хранения наиболее часто используемых программ управления.
Подключение всех внешних устройств, дисплея, клавиатуры, внешних ЗУ и др., обеспечивается через соответствующие адаптеры – согласователи скоростей работы сопрягаемых устройств или контроллеры – специальные устройства управления периферийной аппаратурой. Контроллеры в ПК играют роль каналов ввода-вывода. В качестве особых устройств следует выделить таймер – устройство измерения времени и контроллер прямого доступа к памяти (КПД) – устройство, обеспечивающее доступ к ОП, минуя процессор.
Способ формирования структуры ПК является достаточно логичным и естественным стандартом для данного класса ЭВМ.
Центральное место в структуре ПК занимает шина. Шина – это общий канал связи, используемый для обмена информацией между устройствами компьютера.
В первых ПК она была представлена просто набором проводников, предназначенных для передачи данных, адресов, питания и сигналов управления. По мере развития вычислительной техники единственная шина уже не могла обеспечить эффективной работы.
В современных ПК канал взаимодействия устройств компьютера представлен объединением большого количества шин, работающих в соответствии со старыми и новыми стандартами. Сохранение старых стандартов обеспечивает совместимость, то есть возможность работы с традиционными устройствами, подключаемыми к COM- и LPT-портам.
Организацию согласованной работы шин и устройств выполняют микросхемы системной логики, называемые чипсетом. Для последних микропроцессоров Pentium используется так называемая Hub-структура чипсета. При этом слово «hub» можно в равной степени понимать как коммутатор (устройство для соединения отдельных входов с определенными выходами) или концентратор (устройство, согласующее высокоскоростные каналы с менее скоростными).
Структурированные типы данных: массивы, записи, множества в языке Турбо Паскаль. Примеры.
Структурированные типы данных классифицируют по следующим основным признакам: однородная – неоднородная, упорядоченная – неупорядоченная, прямой доступ – последовательный доступ, статическая – динамическая. Эти признаки противостоят друг другу лишь внутри пары, а вне этого могут сочетаться.
Самым традиционным и широко известным из структурированных типов данных является массив. Массивом называют однородный набор величин одного и того же типа, называемых компонентами массива, объединенных одним общим именем (идентификатором) и идентифицируемых (адресуемых) вычисляемым индексом. Вычисляемые индексы позволяют использовать единое обозначение элементов массива для описания массовых однотипных операций в циклических конструкциях программ. Важной особенностью массива является его статичность.
Обобщением массива является комбинированный тип данных – запись, являющаяся неоднородной упорядоченной статической структурой прямого доступа. Запись – набор именованных компонент – полей, объединенных одним общим именем и адресуемых с помощью как имени записи, так и имен полей.
И записи, и массивы обладают одним общим свойством – произвольным доступом к компонентам. Записи более универсальны в том смысле, что для них не требуется идентичности типов их компонент. Массивы обеспечивают большую гибкость – индексы их компонент можно вычислять в отличие от имен полей записей.
Существенно иные возможности дает структура данных, моделирующая свойства математического объекта – множества.
Над множеством могут быть выполнены следующие операции:
1) объединение множеств (операция сложения ‘+’);
2) пересечение множеств (операция умножения ‘*’);
3) теоретико-множественная разность (вычитание множеств ‘-’);
4) проверка принадлежности элемента множеству.
Различия между множеством и массивом очень существенны – размер множества заранее не оговаривается, не существует иного способа доступа к элементам множества, кроме как проверкой принадлежности множеству.
Схемы, реализующие основные логические элементы ЭВМ.
Простейшая из логических функций - инверсия, или функция НЕ. Эта функция от одного аргумента обозначается чертой, которая ставится над аргументом. Логическая функция НЕ обращается в нуль в случае истинности аргумента и в единицу - в случае его ложности.
Логический элемент, реализующий эту функцию, называют инвертором. Он действует всегда наперекор заданному входному сигналу: если на входе в инвертор задан 0, то на выходе получим 1, и наоборот.
Другая логическая функция - конъюнкция. Это функция, которая принимает значение единицы только в том случае, когда все аргументы равны 1. Во всех остальных случаях (т.е. когда хотя бы один аргумент равен нулю) она равна 0.
Логический элемент И - это схема совпадения, которая посылает сигнал на выходе только тогда, когда сигналы идут на все входные линии одновременно.
В число логических функцих входит также дизъюнкция. Это функция, обращающаяся в 0 только в том случае, если все аргументы равны 0. Во всех остальных случаях ее значение равно 1. Читается дизъюнкция как ИЛИ. Дизъюнкция может быть представлена как логическое сложение.
Дизъюнкция реализуется в ЭВМ с помощью логического элемента ИЛИ - собирательной схемы. Появление сигнала на любом из входов в электронную схему обеспечит сигнал на выходе. Отсутствие сигнала на всех входах одновременно приводит к отсутствию сигнала на выходе.
На базе основных логических элементов - инвертора, схемы совпадения, собирательной схемы - строятся все логические схемы электронных цифровых машин. Обработка информации в ЭВМ может быть организована лишь в результате объединения очень большого числа комбинаций логических элементов.
Текстовые файлы в языке Турбо Паскаль.
Текстовый файл представляет собой линейную последовательность символов, организованных в строки переменной длины.
В конце строк стоит признак конца строки EOln. End Of Line состоит из двух символов: LF- перевод строки и CR – возврат каретки. В самом конце текстового файля стоит признак конца файла EOF. Признак конца строки вводится при помощи нажатия клавиши Enter, а признак конца файла при помощи нажатия клавиш Ctrl+Z. Обычно эти специальные символы или признаки не отображаются в текстовых редакторах.
В текстовом файле всегда имеется так называемый курсор или указатель который стоит на определенном символе.
Помимо текстовых переменных вводимых программистом но языке Pascal имеются также стандартные файловые переменные текстового типа: Input и Output. Стандартная текстовая переменная Input представляет собой доступный только для чтения файл, связанный со стандартным файлом ввода операционной системы. Стандартная текстовая переменная Output – это доступный только для записи файл, связанный со стандартным файлом вывода. Обычно стандартным файлом ввода-вывода является внешнее устройство.
Под обработкой текстовых файлов можно понять считывание информации со входного файла, изменение информации и записи этой информации на выходной файл. Запись не читанных со входного файла текстовых данных на выходной файл является видоизменением текстового файла, но не подпадает под понятие обработка текстового файла.
Типизированные и нетипизированные файлы в языке Турбо Паскаль.
Турбо Паскаль поддерживает три файловых типа:
– типизированные файлы (задаются предложением File of . . .);
– текстовые файлы (определяются типом Text);
– нетипизированные файлы (определяются типом File).
Типизированные файлы состоят из машинных представлений чисел, символов и структур, из них построенных. Они хранят данные в том же виде, что и память ЭВМ. Посредством типизированных файлов можно осуществлять обмен данными только между дисками и рабочей памятью программы, но нельзя, например, напрямую вывести данные на экран.
Нетипизированные файлы также состоят из машинных представлений данных. Отличие их от типизированных файлов в том, что последние имеют дело только с данными заранее объявленного типа, а нетипизированные – с произвольными наборами байтов, независимо от их структуры и природы. Нетипизированные файлы – это низкоуровневый канал ввода–вывода для доступа к любым файлам с любым типом.
Типизированный, или компонентный, файл – это файл с объявленым типом его компонентов, т.е. файл с наборами данных одной и той же структуры.
Компонент может иметь любой ординарный или структурированный тип, предопределенный или построенный программистом. Запрещено лишь объявлять файлы файлов и файлы объектов, а также файлы структурированных компонентов (массивов, записей и др.), содержащих те же файлы или объекты.
При написании программ необязательно определять специальные файловые типы. Можно сразу описывать файловые переменные:
Var Fr : File Of Real; Fd : File Of Zap;
Длина любого компонента типизированного файла строго постоянна, что дает возможность организовать прямой доступ к каждому из них.
Типовые структуры многопроцессорных систем.
Многопроцессорные системы (МПС) строятся при объединении нескольких процессоров. В качестве единого ресурса они имеют оперативную память (ООП). Параллельная работа процессоров и использование ООП обеспечивается под управлением единой операционной системы.
По типу ЭВМ или процессоров, используемых для построения ВС, различают однородные и неоднородные системы. Однородные системы предполагают объединение однотипных ЭВМ (процессоров), неоднородные – разнотипных. В однородных системах значительно упрощается разработка и обслуживание технических и программных средств. В них обеспечивается возможность стандартизации и унификации соединений и процедур взаимодействия элементов системы.
По степени территориальной разобщенности вычислительных модулей ВС делятся на системы совмещенного и распределенного типов. Многопроцессорные системы относятся к системам совмещенного типа. Более того, учитывая успехи микроэлектроники, это совмещение может быть очень глубоким.
По методам управления элементами ВС различают централизованные, децентрализованные и со смешанным управлением. Помимо параллельных вычислений, производимых элементами системы, необходимо выделять ресурсы на обеспечение управления этими вычислениями.
По принципу закрепления вычислительных функций за отдельными ЭВМ (процессорами) различают системы с жестким и плавающим закреплением функций. В зависимости от типа ВС следует решать задачи статического или динамического размещения программных модулей и массивов данных, обеспечивая необходимую гибкость системы и надежность ее функционирования.
По режиму работы ВС различают системы, работающие в оперативном и неоперативном временных режимах. Первые, как правило, используют режим реального времени. Этот режим характеризуется жесткими ограничениями на время решения задач в системе и предполагает высокую степень автоматизации процедур ввода-вывода и обработки данных.
Типы зависимостей атрибутов в отношениях.
Основные зависимости: функциональные, транзитивные и многозначные. Понятие функциональной зависимости является базовым, т.к. на его основе строятся другие отношения. Атрибут В функционально зависит от атрибута А, если каждому значению атрибута А в точности соответствует значение атрибута В.
Наличие функциональной зависимости в отношении определяется природой вещей, информация о которых представлена картежами отношений.
Частичной зависимостью называется зависимость не ключевого атрибута от части составного ключа.
Транзитивная зависимость — это зависимость между неключевыми атрибутами.
Многозначная зависимость — это разновидность функциональной зависимости.. В отношении R атрибут В многозначно зависит от атрибута А, если каждому значению А соответствует множество значений В, несвязанных с другими атрибутами из R.
Взаимно независимые атрибуты. 2 и более атрибута называются взаимно независимыми, если не один из них не является функционально зависимым от других атрибутов.
Требования к ОС. Классификация ОС.
Сегодня к ОС предъявляется множество требований. Главными из них, конечно же, являются выполнение функций эффективного управления ресурсами вычислительной системы и обеспечение удобного интерфейса для пользователя и прикладных программ. Кроме того, можно выделить ряд основных требований, которым должна удовлетворять любая современная ОС.
1) Производительность. ОС должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа.
2) Надежность. Это требование ОС определяется архитектурными решениями, положенными в ее основу, а также качеством реализации, обратно пропорциональным количеству ошибок в комплексе программ, составляющих ОС.
3) Защищенность. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов.
4) Расширяемость. ОС является расширяемой, если в нее можно вносить дополнения и изменения, не нарушая целостности системы.
5) Переносимость. В идеальном случае ОС должна легко переноситься с одного типа аппаратной платформы на другой.
6) Совместимость.
7) Удобство. Средства ОС должны быть простыми и гибкими, а логика ее работы ясна пользователю.
Классификация ОС
1) По количеству одновременно существующих программных процессов ОС делятся на однопрограммные и мультипрограммные.
2) По числу пользователей, осуществляющих доступ к вычислительной системе, различают однопользовательские и многопользовательские
3) По назначению ОС делятся на универсальные и специализированные. Специализированные ОС, как правило, работают с фиксированным набором программ.
4) По способу загрузки можно выделить загружаемые ОС и системы, постоянно находящиеся в памяти вычислительной системы.
5) По особенности области использования ОС подразделяются на системы пакетной обработки, системы разделения времени и системы реального времени.
Трехзвенная модель распределенной системы БД.
С середины 90-х годов признание специалистов получила трехзвенная архитектура, которая, как и двухзвенная, поддерживала концепцию клиент-сервер, но разделила систему по функциональным границам между тремя слоями: логикой представления, бизнес-логикой и логикой доступа к данным. В отличие от двухзвенной архитектуры появляется дополнительное звено — «сервер приложений», целиком, предназначенное для осуществления бизнес-логики.
Именно выделение бизнес-логики в отдельное звено позволяет преодолеть фундаментальные ограничения двухзвенной архитектуры. Клиенты не поддерживают постоянного соединения с базой данных, а обмениваются информацией со средним звеном только тогда, когда это необходимо. В то же время процесс среднего звена поддерживает всего несколько активных соединений с базой данных, но использует их многократно; поэтому процессы в среднем звене могут предоставлять обслуживание теоретически неограниченному числу клиентов. В сравнении со всеми другими моделями трехзвенная архитектура обладает столь многими преимуществами. Но преимущества не даются даром. Разработка прикладных программ, основанных на трехзвенной архитектуре, — более трудное дело, чем для двухзвенной архитектуры или при использовании централизованного подхода. Преодолеть возникающие проблемы помогает программное обеспечение промежуточного слоя.
Клиенты содержат только слой логики представления прикладного ПО, а алгоритмы бизнес-логики и логики доступа к данным перемещены в среднее звено. В этом случае сервер приложений обеспечивает «общее хранилище» бизнес-правил и процедур. Клиенты соединяются с сервером приложений и предоставляют ему данные для обработки.
Управление доступом к передающей среде. Методы и протоколы доступа.
Метод доступа к предающей среде – это совокупность правил, по которым узлы сети получают доступ к ресурсу. Иначе: это способ «захвата» передающей среды, способ определения того, какая из рабочих станций сети может следующей использовать ресурсы сети.
Методы доступа к передающей среде реализуются протоколами передачи данных (ППД) нижнего уровня (протоколами управления каналом). ППД нижнего уровня – это совокупность процедур, выполняемых на нижних уровнях модели по управлению потоками данных между рабочими станциями сети на одном физическом канале связи.
Методы доступа к передающей среде и соответствующие ППД нижнего уровня могут быть разделены на следующие классы :
- методы, основанные на резервировании времени,
- селективные методы,
- методы, основанные на соперничестве;
- кольцевые методы,
Все ППД делятся на два класса: ППД типа первичный/вторичные и одноранговые ППД. Первые из них предполагают наличие в сети первичного (главного) узла, который управляет всеми остальными (вторичными) узлами, подключенными к каналу, и определяет, когда и какие узлы могут производить обмен данными. В сетях, где реализуются одноранговые (одноуровневые, равноранговые) протоколы, все узлы имеют одинаковый статус.
ППД типа первичный/вторичные могут быть реализованы на основе нескольких технологий, образующих две группы: с опросом и без опроса
Простейшей модификацией ППД типа первичный/вторичные с опросом является протокол, называемый «опрос с остановкой и ожиданием». При его использовании узел после передачи кадра ожидает от адресата подтверждения в правильности его пересылки, что сопряжено с дополнительными затратами времени.
Протоколы типа первичный/вторичные без опроса также получили определенное распространение. К ним относятся:
- запрос передачи/разрешение передачи;
- разрешить/запретить передачу;
- множественный доступ с временным разделением.
Одноранговые протоколы разделяются на две группы: без приоритетов и с учетом приоритетов.
Управление проектами в Delphi.
При старте Delphi автоматически создаёт новый проект. При загрузке другого проекта (нового или имеющегося на диске) открытый ранее проект закрывается. Для создания нового проекта надо выполнить команду File|New|Application, а для загрузки существующего – File|Open Project. Рекомендуется, создав новый прект, сразу сохранить его в отдельной папке и в дальнейшем регулярно выполнять сохранение всех файлов проекта.
Менеджер проекта Project Manager предназначен для управления проектами и составными частями разрабатываемого приложения. Его можно вызвать командой View|Project Manager. Менеджер проектов позволяет работать с группой проектов: можно просматривать, добавлять и удалять проекты и их составные части. Если необходимо одновременно работать с несколькими проектами, то их целесообразно объединить в группу.
Окно менеджера проектов разделено на две части. В верхней части расположены управляющие элементы (раскрывающийся список и кнопки), а в нижней – перечень проектов и модулей с указанием путей к ним. При добавлении и удалении проектов и их составных частей автоматически вносятся изменения в соответствующие файлы.В группе только один проект является активным. Активизировать проект можно выбрав его в раскрывающемся списке или с помощью кнопки Activate.
Некоторые из предусмотренных в менеджере проектов операции можно выполнить другим способом. Так, команда Project|Add to Project добавляет к проекту новую форму, а команда Project|Remove from Project позволяет удалить существующую форму.
Обозреватель проекта Project Browser позволяет перемещаться по иерархии классов, глобальных элементов и модулей проекта. Окно Обозревателя Exploring открывается командой View|Browser. Оно разделено на две части: Inspector pane (Панель просмотра) и Details pane (Детальная панель). Кнопками можно задать один из трёх доступных для просмотра объектов: глобальные элементы Globals, классы Classes или модули Units.
Получить доступ к параметрам обозревателя проекта можно также через окно Environment Options (Параметры среды), в котором параметры обозревателя проекта находятся на вкладке Explorer.
Условные конструкции языка Турбо Паскаль. Примеры.
Условные конструкции.
неполная форма с одним оператором
IF условие THEN оператор;
полная форма с одним оператором
IF условие THEN оператор1 ELSE оператор2;
неполная форма с несколькими операторами
IF условие THEN BEGIN
оператор1;
оператор2;
…
операторN;
END;
полная форма с несколькими операторами
IF условие THEN BEGIN
оператор1;
оператор2;
…
операторN;
END ELSE
BEGIN
оператор1;
оператор2;
…
операторN;
END;
Форма записи чисел в двоичной, восьмеричной и шестнадцатеричной системах счисления.
В двоичной системе счисления числа записываются с помощью двух символов (0 и 1). Чтобы не путать, в какой системе счисления записано число, его снабжают указателем справа внизу. Например, число в десятичной системе 510, в двоичной 1012. Иногда двоичное число обозначают префиксом 0b, например 0b101.
Восьмеричные (octal) числа – каждая тройка бит (разделение начинается с младшего) записывается в виде цифры 0–7, в конце ставится признак «о». То же самое число будет записано как 245о. Восьмеричная система неудобна тем, что байт невозможно разделить поровну.
Шестнадцатеричные (hexadecimal) числа – каждая тетрада представляется одним символом 0...9, А, В, ..., F. Обозначаться такое представление может по-разному, здесь используется только символ «h» после последней шестнадцатеричной цифры. Например, A5h. В текстах программ это же число может обозначаться и как 0хА5, и как 0A5h, в зависимости от синтаксиса языка программирования. Незначащий ноль (0) добавляется слева от старшей шестнадцатеричной цифры, изображаемой буквой, чтобы различать числа и символические имена.
Форма. Управление понятиями формы в Delphi. Примеры.
Форма в Delphi — это синоним окна. В библиотеках для Windows (MFC, OWL) существуют отдельные классы для каждой важной разновидности окон — диалогового окна, клиентских и дочерних окон MDI и так далее. Разработчики VCL пошли по новому пути, объединив в одном классе свойства и методы всех этих разновидностей.
Такая разновидность, как диалоговое окно, не имеет собственного стиля.
У TForm есть методы, которые имеют смысл только для некоторых из стилей FormStyle.
По умолчанию у обычной формы имеются все три пиктограммы — для вызова системного меню, разворачивания и сворачивают окна.
Помимо двух стандартных стилей обрамления (bsNone и bsSingle) у формы есть еще два своих типа (bsSizeable и bsDialog). Эти возможности стандартны для Windows. Особенности реализации здесь заключаются в том, что стиль обрамления может изменяться в процессе выполнения программы.
Каждое окно может находиться в одном из состояний — нормальном, свернутом (минимизированном) и развернутом (максимизированном).
Значение этого свойства можно изменить как на этапе разработки, так и во время исполнения.
Каждая форма может иметь главное и всплывающее меню.
Оно может быть у каждой формы. Для того чтобы не возникало путаницы с несколькими одновременно видимыми меню в одном приложении, у компонентов TMainMenu предусмотрена возможность объединения в одном.
Форма может содержать объекты OLE. Для этого она должна быть зарегистрирована в качестве их приемника.
Характеристика Microsoft SQL Server. Компоненты SQL Server.
Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.
Компоненты SQL Server 2000
Microsoft SQL Server реализован в виде набора служб операционной системы, каждая из которых запускается самостоятельно и отвечает за определенный круг задач. Список служб SQL Server:
1. MSSQLServer; 2. SQLServerAgent; 3. Microsoft Search (MSSearch);
4. Microsoft Distributed Transaction Coordinator (MSDTC).
Реализация в виде служб позволяет SQL Server работать как части операционной системы, иметь собственные права доступа и не зависеть от пользователя, работающего на компьютере в данный момент. Инструменты SQL Server
1. Enterprise Manager. Данный инструмент является базовым при выполнении самых разнообразных задач: управления системой безопасности; создания баз данных и ее объектов; создания и восстановление резервных копий; управления параметрами работы служб; управления подсистемой автоматизации; запуска, останова и приостанова служб; конфигурирования связанных и удаленных серверов.
2. SQL Server Service Manager. Единственной задачей этой утилиты является предоставление пользователю удобного механизма запуска, останова и приостановки служб SQL Server.
3. SQL Server Profiler.– это графический инструмент, с помощью которого администратор может наблюдать за теми или иными аспектами работы SQL Server 2000.
4. Query Analyzer. Этот инструмент предназначен для выполнения запросов и анализа их исполнения.
5. Import and Export Data. Этот инструмент является мастером импорта/экспорта данных.
