Концепция микроядерной архитектуры

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.06.2011
Размер файла 868,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

40

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

ГОУВПО «Северо-Кавказский государственный технический университет»

Кафедра защиты информации

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

по дисциплине: Безопасность операционных систем

«Концепция микроядерной архитектуры»

Ставрополь, 2011

Содержание

Введение

1. Теоретическая часть

1.1 Ядро и вспомогательные модули ОС

1.2 Ядро в привилегированном режиме

1.3 Многослойная структура ОС

1.4 Аппаратная зависимость и переносимость ОС

1.5 Типовые средства аппаратной поддержки ОС

1.6 Машинно-зависимые компоненты ОС

2. Аналитическая часть

2.1 Общие сведения о матричных принтерах

2.2 Проектирование символов для матричных принтеров

2.3 Проектирование символа «Б»

2.4 Проектирование символа «С»

2.5 Проектирование символа «В»

Заключение

Список используемой литературы

Приложение 1

Приложение 2

Приложение 3

Введение

матричный принтер оперативная память

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

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

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

Целью курсовой работы является ознакомление с приемами управления работой печатающих устройств в MS-DOS.

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

1. Теоретическая часть

1.1 Ядро и вспомогательные модули ОС

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

§ ядро -- модули, выполняющие основные функции ОС;

§ модули, выполняющие вспомогательные функции ОС.

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

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

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

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

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

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

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

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

Некоторая программа может существовать определенное время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является Web-браузер компании Microsoft, который сначала поставлялся как отдельное приложение, затем стал частью операционных систем Windows NT 4.0 и Windows 95/98, а сегодня существует большая вероятность того, что по решению суда этот браузер снова превратится в самостоятельное приложение.

Рисунок 1. Нечеткость границы между ОС и приложениями

Вспомогательные модули ОС обычно подразделяются на следующие группы:

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

§ системные обрабатывающие программы -- текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

§ программы предоставления пользователю дополнительных услуг -- специальный вариант пользовательского интерфейса, калькулятор и даже игры;

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

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

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

Рисунок 2. Взаимодействие между ядром и вспомогательными модулями ОС

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

1.2 Ядро в привилегированном режиме

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

Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы -- пользовательский режим (user mode) и привилегированный режим, который также называют режимом ядра (kernel mode), или режимом супервизора (supervisor mode). Подразумевается, что операционная система или некоторые ее части работают в привилегированном режиме, а приложения -- в пользовательском режиме.

Так как ядро выполняет все основные функции ОС, то чаще всего именно ядро становится той частью ОС, которая работает в привилегированном режиме. Иногда это свойство -- работа в привилегированном режиме -- служит основным определением понятия «ядро».

Рисунок 3. Архитектура операционной системы с ядром в привилегированном режиме

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

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

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

Между количеством уровней привилегий, реализуемых аппаратно, и количеством уровней привилегий, поддерживаемых ОС, нет прямого соответствия. Так, на базе четырех уровней, обеспечиваемых процессорами компании Intel, операционная система OS/2 строит трехуровневую систему привилегий, а операционные системы Windows NT, UNIX и некоторые другие ограничиваются двухуровневой системой.

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

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

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

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

Рисунок 4. Смена режимов при выполнении системного вызова к привилегированному ядру

Архитектура ОС, основанная на привилегированном ядре и приложениях пользовательского режима, стала, по существу, классической. Ее используют многие популярные операционные системы, в том числе многочисленные версии UNIX, VAX VMS, IBM OS/390, OS/2, и с определенными модификациями -- Windows NT.

В некоторых случаях разработчики ОС отступают от этого классического варианта архитектуры, организуя работу ядра и приложений в одном и том же режиме. Так, известная специализированная операционная система NetWare компании Novell использует привилегированный режим процессоров Intel x86/ Pentium как для работы ядра, так и для работы своих специфических приложений -- загружаемых модулей NLM. При таком построении ОС обращения приложений к ядру выполняются быстрее, так как нет переключения режимов, однако при этом отсутствует надежная аппаратная защита памяти, занимаемой модулями ОС, от некорректно работающего приложения. Разработчики NetWare пошли на такое потенциальное снижение надежности своей операционной системы, поскольку ограниченный набор ее специализированных приложений позволяет компенсировать этот архитектурный недостаток за счет тщательной отладки каждого приложения.

Рисунок 5. Упрощенная архитектура операционной системы NetWare

В одном режиме работают также ядро и приложения тех операционных систем, которые разработаны для процессоров, вообще не поддерживающих привилегированного режима работы. Наиболее популярным процессором такого типа был процессор Intel 8088/86, послуживший основой для персональных компьютеров компании IBM. Операционная система MS-DOS, разработанная компанией Microsoft для этих компьютеров, состояла из двух модулей msdos.sys и io.sys, составлявших ядро системы (хотя название «ядро» для этих модулей не употреблялось, по своей сути они им являлись), к которым с системными вызовами обращались командный интерпретатор command.com, системные утилиты и приложения. Архитектура MS-DOS соответствует архитектуре ОС. Некорректно написанные приложения вполне могли разрушить основные модули MS-DOS, что иногда и происходило, но область использования MS-DOS (и многих подобных ей ранних операционных систем для персональных компьютеров, таких как MSX, СР/М) и не предъявляла высоких требований к надежности ОС.

1.3 Многослойная структура ОС

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

Рисунок 6. Трехслойная схема вычислительной системы

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

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

Рисунок 7. Концепция многослойного взаимодействия

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

Ядро может состоять из следующих слоев:

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

§ Машинно-зависимые компоненты ОС. Этот слой образуют программные модули, в которых отражается специфика аппаратной платформы компьютера. В идеале этот слой полностью экранирует вышележащие слои ядра от особенностей аппаратуры. Это позволяет разрабатывать вышележащие слои на основе машинно-независимых модулей, существующих в единственном экземпляре для всех типов аппаратных платформ, поддерживаемых данной ОС. Примером экранирующего слоя может служить слой HAL операционной системы Windows NT.

§ Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра, такие как программное переключение контекстов процессов, диспетчеризацию прерываний, перемещение страниц из памяти на диск и обратно и т. п. Модули данного слоя не принимают решений о распределении ресурсов -- они только отрабатывают принятые «наверху» решения, что и дает повод называть их исполнительными механизмами для модулей верхних слоев. Например, решение о том, что в данный момент нужно прервать выполнение текущего процесса А и начать выполнение процесса В, принимается менеджером процессов на вышележащем слое, а слою базовых механизмов передается только директива о том, что нужно выполнить переключение с контекста текущего процесса на контекст процесса В.

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

§ Интерфейс системных вызовов. Этот слой является самым верхним слоем ядра и взаимодействует непосредственно с приложениями и системными утилитами, образуя прикладной программный интерфейс операционной системы. Функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам системы в удобной и компактной форме, без указания деталей их физического расположения. Например, в операционной системе UNIX с помощью системного вызова fd = open("/doc/a.txt", 0_RDONLY) приложение открывает файл a.txt, хранящийся в каталоге /doc, а с помощью системного вызова read(fd, buffer, count) читает из этого файла в область своего адресного пространства, имеющую имя buffer, некоторое количество байт. Для осуществления таких комплексных действий системные вызовы обычно обращаются за помощью к функциям слоя менеджеров ресурсов, причем для выполнения одного системного вызова может понадобиться несколько таких обращений.

Рисунок 8. Многослойная структура ядра ОС

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

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

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

Выбор количества слоев ядра является ответственным и сложным делом: увеличение числа слоев ведет к некоторому замедлению работы ядра за счет дополнительных накладных расходов на межслойное взаимодействие, а уменьшение числа слоев ухудшает расширяемость и логичность системы. Обычно операционные системы, прошедшие долгий путь эволюционного развития, например многие версии UNIX, имеют неупорядоченное ядро с небольшим числом четко выделенных слоев, а у сравнительно «молодых» операционных систем, таких как Windows NT, ядро разделено на большее число слоев и их взаимодействие формализовано в гораздо большей степени.

1.4 Аппаратная зависимость и переносимость ОС

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

1.5 Типовые средства аппаратной поддержки ОС

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

§ средства поддержки привилегированного режима;

§ средства трансляции адресов;

§ средства переключения процессов;

§ система прерываний;

§ системный таймер;

§ средства защиты областей памяти.

Средства поддержки привилегированного режима обычно основаны на системном регистре процессора, часто называемом «словом состояния» машины или процессора. Этот регистр содержит некоторые признаки, определяющие режимы работы процессора, в том числе и признак текущего режима привилегий. Смена режима привилегий выполняется за счет изменения слова состояния машины в результате прерывания или выполнения привилегированной команды. Число градаций привилегированности может быть разным у разных типов процессоров, наиболее часто используются два уровня (ядро-пользователь) или четыре (например, ядро-супервизор-выполнение- пользователь у платформы VAX или 0-1-2-3 у процессоров Intel x86/Pentium). В обязанности средств поддержки привилегированного режима входит выполнение проверки допустимости выполнения активной программой инструкций процессора при текущем уровне привилегированности.

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

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

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

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

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

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

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

1.6 Машинно-зависимые компоненты ОС

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

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

Объем машинно-зависимых компонентов ОС зависит от того, насколько велики отличия в аппаратных платформах, для которых разрабатывается ОС. Например, ОС, построенная на 32-битовых адресах, для переноса на машину с 16-битовыми адресами должна быть практически переписана заново. Одно из наиболее очевидных отличий -- несовпадение системы команд процессоров -- преодолевается достаточно просто. Операционная система программируется на языке высокого уровня, а затем соответствующим компилятором вырабатывается код для конкретного типа процессора. Однако во многих случаях различия в организации аппаратуры компьютера лежат гораздо глубже и преодолеть их таким образом не удается. Например, однопроцессорный и двухпроцессорный компьютеры требуют применения в ОС совершенно разных алгоритмов распределения процессорного времени. Аналогично отсутствие аппаратной поддержки виртуальной памяти приводит к принципиальному различию в реализации подсистемы управления памятью. В таких случаях не обойтись без внесения в код операционной системы специфики аппаратной платформы, для которой эта ОС предназначается.

Для уменьшения количества машинно-зависимых модулей производители операционных систем обычно ограничивают универсальность машинно-независимых модулей. Это означает, что их независимость носит условный характер и распространяется только на несколько типов процессоров и созданных на основе этих процессоров аппаратных платформ. По этому пути пошли, например, разработчики ОС Windows NT, ограничив количество типов процессоров для своей системы четырьмя и поставляя различные варианты кодов ядра для однопроцессорных и многопроцессорных компьютеров.

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

Для компьютеров на основе процессоров Intel x86/Pentium разработка экранирующего машинно-зависимого слоя ОС несколько упрощается за счет встроенной в постоянную память компьютера базовой системы ввода-вывода -- BIOS. BIOS содержит драйверы для всех устройств, входящих в базовую конфигурацию компьютера: жестких и гибких дисков, клавиатуры, дисплея и т. д. Эти драйверы выполняют весьма примитивные операции с управляемыми устройствами, например чтение группы секторов данных с определенной дорожки диска, но за счет этих операций экранируются различия аппаратных платформ персональных компьютеров и серверов на процессорах Intel разных производителей. Разработчики операционной системы могут пользоваться слоем драйверов BIOS как частью машинно-зависимого слоя ОС, а могут и заменить все или часть драйверов BIOS компонентами ОС.

2. Аналитическая часть

2.1 Общие сведения о матричных принтерах

Матричный принтер (Dot-Matrix-Printer) -- старейший из ныне применяемых типов принтеров, был изобретён в 1964 году корпорацией Seiko Epson..

Принцип работы матричного принтера следующий. Изображение формируется с помощью печатающей головки, которая представляет собой один или два ряда вертикально расположенных тонких иголок (игольчатая матрица), приводимых в действие электромагнитами. Головка устанавливается на ракетке и передвигается построчно вдоль листа, при этом иголки в нужный момент времени ударяют через красящую ленту по бумаге, формируя точечное изображение. Этот тип принтеров называется SIDM (англ. Serial Impact Dot Matrix -- последовательные ударно-матричные принтеры).

Существуют принтеры с 9, 12, 14, 18 и 24 иголками в головке. Основное распространение получили 9-ти (дешевые модели) и 24-х игольчатые принтеры. Качество печати и скорость графической печати зависят от числа иголок: больше иголок -- больше точек. Качество печати в 9-ти игольчатых принтерах улучшается при печати информации не в один, а в два или четыре прохода печатающей головки вдоль печатаемой строки. Более качественная и быстрая печать обеспечивается 24-игольчатыми принтерами, называемыми LQ (англ. Letter Quality -- качество пишущей машинки). Однако эти принтеры не только более дорогостоящи, но и менее надежны, а также замена вышедших из строя печатающих головок представляет определенные трудности.

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

Для перемещения красящей ленты используется передаточный механизм, использующий движение каретки. За перемещение каретки отвечает шаговой двигатель. Еще один шаговый двигатель отвечает за перемещение бумагоопорного валика. Именно поэтому скорость печати матричных принтеров невысока. В зависимости от выбранного качества печати и модели принтера скорость печати составляет от 10 до 60 секунд на страницу. Скорость печати матричных принтеров измеряется в CPS (англ. characters per second -- символах в секунду).

Матричные принтеры оборудованы внутренней памятью (буфером) для хранения данных, полученных от персонального компьютера. Объем памяти недорогих принтеров составляет от 4 до 64 Кбайт. Хотя существуют модели, имеющие и больший объем памяти (например, Seikosha SP-2415 имеет буфер размером 175 Кбайт).

2.2 Проектирование символов для матричных принтеров

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

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

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

Проектирование и воспроизведение произвольных литер состоит из следующих этапов:

1. Сначала изображается кривая, образующую литеру.

2. Далее рассчитываются данные, необходимые для описания кривой.

3. Затем эти данные посылаются в оперативную память принтера для связи описание символа с определенным кодом.

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

Рассмотрим механизм формирования символов на примере принтера Epson LX1050. Этот матричный принтер имеет печатающую головку с 24 иголками и может воспроизводить символы в нескольких режимах. В каждом из режимов допускается конструирование символов с помощью матриц различной ширины и высоты (таблица 2). Минимальная ширина символов - 5.

Таблица 2 - Таблица соответствия размеров матриц режимам принтера

Режим

Ширина

Высота

Draft

9

24

LQ pica

29

24

LO elite

23

24

LQ semi-.condensed

15

24

LQ proportional

37

24

Draft super subscript

7

16

LQ super subscript

23

16

LQ prop, super subscript

23

16

?

Размер матрицы для воспроизведения символов

Положение иголок для печати символов А

Номера иголок

* * * * * * * * * *

1

* * * * * *

* * * * * * * * * *

2

* * * * * * *

* * * * * * * * * *

3

* * * *

* * * * * * * * * *

4

* * * *

* * * * * * * * * *

5

* * * *

* * * * * * * * * *

6

* * * * * * * * *

* * * * * * * * * *

7

* * * *

* * * * * * * * * *

8

* * * *

* * * * * * * * * *

9

* * * *

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

Номера позиций

Номера позиции

Рисунок 9 - Пример формирования матрицы для печати символа «А»

Символ представляет собой матрицу, в которой темные ячейки соответствуют выпячиваемым иголкам, а светлые - утапливаемым. Такая матрица может быть закодирована. Каждой строке матрицы присвоен номер. Все строки матрицы разбиты на три группы, внутри каждой из которых нумерация повторяется. Каждый столбец матрицы кодируется тремя байтами, соответствующими одной из групп строк. Значение каждого из трех байтов, кодирующих столбец, определяется суммой, присвоенной строкам, на пересечении которых с данным столбцом размещен знак"*" (рисунок 9).

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

При описании символа количество колонок (ml), образующих символ, и общее пространство (m0+ml+m2). занимаемое символом, не должны превышать значений, представленных в таблице 3.

Таблица 3 - Таблица соответствия значения количества колонок и общего пространства режимам принтера

Режим

ml

m0+ml+m2

Draft

9

12

LQ pica

29

36

LO elite

23

30

LQ semi-.condensed

15

24

LQ proportional

37

42

Draft super subscript

7

12

LQ super subscript

23

36

LQ prop, super subscript

23

42

В соответствии с условием поставленной задачи рассматриваемым режимом матричного принтера является Draft super subscript, следовательно, матрица имеет размеры в ширину 7 позиций и в высоту 16 иголок. Ширину отступов от символа слева (m0) и справа (m2) выберем равными одной иголке, общее пространство символа m0+ml+m2=1+7+1=9, что не превышает максимального значения 12.

Чтобы связать описание символа с соответствующим кодом, необходимо послать на принтер набор команд, указывающих режим, номер кода загружаемого символа, три байта общего описания символа (m0, ml, m2) и байты описания столбцов матрицы. Данные операции прослеживаются на примере листингов приложений.

Заданием на курсовую работу было проектирование своих инициалов (Бондарев Сергей Викторович) - т.е. Б, С, В.

Проектирование символа «Б»

1. На клеточном поле 23х24 изображается кривая проектируемого символа, затем на ее основе проектируется матрица (Рисунок 10)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

128

64

32

16

8

4

2

1

128

64

32

16

8

4

2

1

128

64

32

16

8

4

2

1

Рисунок 10- Матрица символа «Б»

2. Каждый столбец матрицы кодируется тремя байтами (таблица 4).

Таблица 4- Значение кодирующих байтов матрицы для символа «Б»

1

2

3

4

5

6

7

8

9

10

11

байт 1

0

0

63

32

32

32

32

32

32

32

32

байт 2

0

0

255

4

4

4

4

4

4

4

4

байт 3

0

0

252

4

4

4

4

4

4

4

4

12

13

14

15

16

17

18

19

20

21

22

23

байт 1

32

32

32

32

32

32

32

32

0

0

0

0

байт 2

4

4

4

4

4

4

4

2

1

0

0

0

байт 3

4

4

4

4

4

4

4

8

16

224

0

0

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

Проектирование символов «С», «В» осуществляется аналогично.

Проектирование символа «С»

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

128

64

32

16

8

4

2

1

128

64

32

16

8

4

2

1

128

64

32

16

8

4

2

1

Рисунок 11- Матрица символа «С»

Таблица 5- Значение кодирующих байтов матрицы для символа «С»

1

2

3

4

5

6

7

8

9

10

11

байт 1

0

0

15

16

32

64

64

64

64

64

64

байт 2

0

0

255

0

0

0

0

0

0

0

0

байт 3

0

0

240

8

4

2

2

2

2

2

2

12

13

14

15

16

17

18

19

20

21

22

23

байт 1

64

64

64

64

64

64

64

64

32

16

12

0

байт 2

0

0

0

0

0

0

0

0

0

0

0

0

байт 3

2

2

2

2

2

2

2

2

4

8

48

0

Листинг третьего этапа проектирования приведен в приложении 2.

Проектирование символа «В»

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

128

64

32

16

8

4

2

1

128

64

32

16

8

4

2

1

128

64

32

16

8

4

2

1

Рисунок 12- Матрица символа «В»

Таблица 6- Значение кодирующих байтов матрицы для символа «В»

1

2

3

4

5

6

7

8

9

10

11

байт 1

0

0

63

32

32

32

32

32

32

32

32

байт 2

0

0

255

16

16

16

16

16

16

16

16

байт 3

0

0

252

4

4

4

4

4

4

4

4

12

13

14

15

16

17

18

19

20

21

22

23

байт 1

32

32

32

32

32

32

32

16

8

7

0

0

байт 2

16

16

16

16

16

16

40

68

130

1

0

0

байт 3

4

4

4

4

4

4

4

8

16

224

0

0

Листинг третьего этапа проектирования приведен в приложении 3.

Заключение

В ходе работы над теоретической частью курсовой работы была изучена соответствующая литература по безопасности и функционированию операционных систем. Особое внимание было уделено функциям подсистемы защиты ОС.

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

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

Список используемой литературы

1. Гайчук Д.В., Подопригора Н.Б. Методические указания к выполнению курсовой работы по дисциплине «Безопасность операционных систем»для студентов специальности 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем», Ставрополь 2006-05-15

2. Современные операционные системы. Э. Таненбаум, 3-е изд. -СПб.: Питер, 2010.

3. Системное программное обеспечение./В.М. Илюшечкин,А.Е. Костин.,2-е, перераб. И доп. - М.: Высш.шк.,1999 г.

4. Девянин П.Н. Теоретические основы компьютерной безопасности - М.: Радио и связь, 2000.

Приложение 1

Листинг вывода на печать символа «Б» на языке QBASIC

1000 LPRINTCHR$(27);"xl";

1010 LPRINT CHR$(27);"&";CHR$(0);CHR$(31);CHRS(31);

1020 RESTORE 1540

1030 FORN=31 TO 31

1040 READ LS :LPRTNT CHR$(LS);

1050 READ CW :LPRTNT CHR$(CW);

1060 READ RS :LPRTNT CHR$(RS);

1070 FOR M=l TOCW*3

1080 READ MM

1090 LPRINT CHR$(MM);

1100 NEXT M

1110 NEXTN

1540 'Symbol'

1550 DATA 1,23,1

1560 DATA 0,0,0, 0,0,0 63,255,252, 21,4,4, 32,4,4,

1570 DATA 32,4,4, 32,4,4, 32,4,4, 32,4,4, 32,4,4,

1580 DATA 32,4,4, 32,4,4, 32,4,4, 32,4,4, 32,4,4,

1590 DATA 32,4,4, 32,4,4, 32,4,4, 32,4,4, 32,2,8,

1600 DATA 0,1,16, 0,0,224 0,0,0,

Приложение 2

Листинг вывода на печать символа «С» на языке QBASIC

1000 LPRINTCHR$(27);"xl";

1010 LPRINT CHR$(27);"&";CHR$(0);CHR$(31);CHRS(31);

1020 RESTORE 1540

1030 FORN=31 TO 31

1040 READ LS :LPRTNT CHR$(LS);

1050 READ CW :LPRTNT CHR$(CW);

1060 READ RS :LPRTNT CHR$(RS);

1070 FOR M=l TOCW*3

1080 READ MM

1090 LPRINT CHR$(MM);

1100 NEXT M

1110 NEXTN

1540 'Symbol'

1550 DATA 1,23,1

1560 DATA 0,0,0, 0,0,0, 15,255,240, 16,0,8, 32,0,4,

1570 DATA 64,0,2, 64,0,2, 64,0,2, 64,0,2, 64,0,2,

1580 DATA 64,0,2, 64,0,2, 64,0,2, 64,0,2, 64,0,2,

1590 DATA 64,0,2, 64,0,2, 64,0,2, 64,0,2, 32,0,4

1600 DATA 16,0,8, 12,0,48 0,0,0, 0,0,0

Приложение 3

матричный принтер оперативная память

Листинг вывода на печать символа «В» на языке QBASIC

1000 LPRINTCHR$(27);"xl";

1010 LPRINT CHR$(27);"&";CHR$(0);CHR$(31);CHRS(31);

1020 RESTORE 1540

1030 FORN=31 TO 31

1040 READ LS :LPRTNT CHR$(LS);

1050 READ CW :LPRTNT CHR$(CW);

1060 READ RS :LPRTNT CHR$(RS);

1070 FOR M=l TOCW*3

1080 READ MM

1090 LPRINT CHR$(MM);

1100 NEXT M

1110 NEXTN

1540 'Symbol'

1550 DATA 1,23,1

1560 DATA 0,0,0, 0,0,0 63,255,252, 32,16,4, 32,16,4,

1570 DATA 32,16,4, 32,16,4, 32,16,4, 32,16,4, 32,16,4,

1580 DATA 32,16,4, 32,16,4, 32,16,4, 32,16,4, 32,16,4,

1590 DATA 32,16,4, 32,16,4, 32,40,4, 16,68,8, 8,130,16,

1600 DATA 7,1,224, 0,0,0, 0,0,0,

Размещено на Allbest


Подобные документы

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

    курсовая работа [117,1 K], добавлен 22.06.2011

  • Aрхитектурa оперaционной системы. Многослойная структура вычислительной системы. Структуризaция всех ее модулей нa две группы: ядро и вспомогaтельные модули. Проектировaние символов для мaтричных принтеров на примере проектировaния дaты своего рождения.

    курсовая работа [1,1 M], добавлен 22.06.2011

  • Основные защитные механизмы операционной системы семейства Unix, недостатки ее защитных механизмов. Идентификаторы пользователя и группы пользователей. Защита файлов, контроль доступа, уязвимость паролей. Проектирование символов для матричных принтеров.

    курсовая работа [488,8 K], добавлен 22.06.2011

  • Структурная организация операционной системы на основе различных программных модулей. Функции, выполняемые модулями ядра. Модули операционной системы, оформленные в виде утилит. Ядро в привилегированном режиме. Многослойная структура ядра системы.

    презентация [705,2 K], добавлен 16.01.2012

  • Функции операционной системы, ее задачи по управлению файлами и устройствами. Opгaнизaция устpoйств ввoдa-вывoда. Дeлeниe пpoгpaммнoгo обeспeчeниe ввoдa-вывoдa нa чeтыpe слoя. Аpхитeктуpы фaйлoвых систeм. Проектирование символов для матричных принтеров.

    курсовая работа [655,9 K], добавлен 24.06.2011

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

    реферат [19,6 K], добавлен 10.06.2011

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

    реферат [17,4 K], добавлен 10.02.2012

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

    презентация [809,9 K], добавлен 10.08.2013

  • Организация хранения информации на накопителях. Цели и задачи файловой системы, ее физическая организация и адресация файла. Виды файловых систем. Проектирование символов для матричных принтеров. Приемы управления работой печатающих устройств в MS-DOS.

    курсовая работа [1,7 M], добавлен 22.06.2011

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

    реферат [24,3 K], добавлен 12.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.