Теория операционных систем

         

Теория операционных систем

Выбор типа операционной системы часто представляет собой нетривиальную задачу. Некоторые приложения накладывают жесткие требования, которым удовлетворяет только небольшое количество систем. Например, задачи управления промышленным или исследовательским оборудованием в режиме жесткого реального времени вынуждают нас делать выбор между специализированными ОС реального времени и некоторыми ОС общего назначения, такими как Unix System V Release 4 (хотя Unix SVR4 теоретически способна обеспечивать гарантированное время реакции, системы этого семейства имеют ряд недостатков с точки зрения задач РВ, поэтому чаще всего предпочтительными оказываются специализированные ОС -- QNX, VxWorks, OS-9 и т. д.). Другие приложения, например серверы баз данных, просто требуют высокой надежности и производительности, что отсекает системы класса ДОС и MS Windows.
Наконец, некоторые задачи, такие как автоматизация конторской работы в небольших организациях, не предъявляют высоких требований к надежности, производительности и времени реакции системы, что предоставляет широкий выбор между различными ДОС, MS Windows, Mac OS и многими системами общего назначения. При этом технические параметры системы перестают играть роль, и в игру вступают другие факторы. На заре развития персональной техники таким фактором была стоимость аппаратного обеспечения, вынуждавшая делать выбор в пользу ДОС и, позднее, MS Windows.

Введение
Здесь под ОС мы будем подразумевать системы "общего назначения", т. е. рассчитанные на интерактивную работу одного или нескольких пользователей в режиме разделения времени, при не очень жестких требованиях ко времени реакции системы на внешние события. Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных программ и пользователей. Обычно подобные системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся такие широко распространенные системы, как Windows 2000, системы семейства Unix.

Представление данных в вычислительных системах
Из курсов компьютерного ликбеза известно, что современные компьютеры оперируют числовыми данными в двоичной системе счисления, а нечисловые данные (текст, звук, изображение) так или иначе переводят в цифровую форму (оцифровывают). В силу аппаратных ограничений процессор оперирует числами фиксированной разрядности. Количество двоичных разрядов основного арифметико-логического устройства (АЛУ) называют разрядностью процессора (впрочем, ниже мы увидим примеры, когда под разрядностью процессора подразумевается и нечто другое). Процессоры современных систем коллективного пользования (z90, UltraSPARC, Alpha) имеют 64-разрядные АЛУ, хотя в эксплуатации остается еще довольно много 32-разрядных систем, таких, как System/390. Персональные компьютеры (х86, PowerPC) и серверы рабочих групп имеют 32-разрядные процессоры. Процессоры меньшей разрядности — 16-, 8- и даже 4-разрядные — широко используются во встраиваемых приложениях.

Машинные языки
Процессоры, которые могут исполнять программы на одном и том же машинном языке, называются бинарно-совместимыми. Отношение бинарной совместимости не всегда симметрично: например, более новый процессор может иметь дополнительные команды — тогда он будет бинарно-совместим с более старым процессором того же семе,йства, но не наоборот. Нередко бывает и так, что более новый процессор имеет совсем другую систему команд, но умеет исполнять программы на машинном языке старого процессора в так называемом режиме совместимости — например, все процессоры семейства х86 могут исполнять программы для Intel 8086 и 80286. Некоторые ОС для х8б даже предоставляют возможность собрать единую программу из модулей, использующих разные системы команд. Еще более обширны семейства процессоров, совместимые между собой по языку ассемблера.

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

Управление оперативной памятью
Основной ресурс системы, распределением которого занимается ОС — это оперативная память. Поэтому организация памяти оказывает большое влияние на структуру и возможности ОС. В настоящее время сложилась даже более интересная ситsssуация — переносимая операционная система UNIX, рассчитанная на машины со страничным диспетчером памяти, произвела жесткий отбор, и теперь практически все машины общего назначения, начиная от х86 и заканчивая суперкомпьютерами или, скажем процессором Alpha, имеют именно такую организацию адресного пространства.

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

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

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

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

Внешние устройства
Все без исключения прилохсения вычислительных систем, так или иначе, связаны с использованием внешних, или периферийных устройств. Даже чисто вычислительные задачи нуждаются в устройствах для ввода исходных данных и вывода результата. Без преувеличения можно сказать, что процессор, не имеющий никаких внешних устройств, абсолютно бесполезен. У вычислительных систем первых поколений набор периферийных устройств часто исчерпывался упомянутыми устройствами для ввода исходных данных и вывода результата вычислений, поэтому до сих пор модули ОС, работающие с периферией, называют подсистемой ввода-вывода (input/output subsystem).

Драйверы внешних устройств
Драйвер (driver) представляет собой специализированный программный модуль, управляющий внешним устройством. Слово driver происходит от глагола to drive (вести) и переводится с английского языка как извозчик или шофер: тот, кто ведет транспортное средство. Драйверы обеспечивают единый интерфейс для доступа к различным устройствам, тем самым устраняя зависимость пользовательских программ и ядра ОС от особенностей аппаратуры. Драйвер не обязательно должен управлять каким-либо физическим устройством. Многие ОС предоставляют также драйверы виртуальных устройств или псевдоустройств — объектов, которые ведут себя аналогично устройству ввода-вывода, но не соответствуют никакому физическому устройству.

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

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

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

Операционные системы - статьи

Anjuta 1.2.2 — среда разработки на C/C++ и других языках для среды GNOME.
Glade 2.5.0 — инструмент проектирования интерфейсов программы для LibGlade или использования отдельно.
LibGlade 2.4.0 — библиотека для создания виджетов на GTK, описываемых файлом Glade, и некоторые полезные функции.
Опционально рекомендую установить DevHelp — это справочная система с модулями для разных средств. Необходимо установить модуль с GTK2.0 API. Чаще всего он идет в комплекте с самой программой.

Об инструментах
Выбираем создание нового, появится визард создания проекта. Жмем Forward и попадаем в выбор типа проекта (Project Type). Выбираем GNOME 2.0 Project, если нам нужна поддежка GNOME-расширений, и GTK 2.0 Project— если нет. Выбираем GNOME 2.0 Project. Жмем Forward— пишем Basic Information о проекте: Название, Версия, Автор, Project Target— это как будет называться executable-файл вашего проекта.

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

QNX Neutrino. "Крепкий орешек" v.6.2.1
QNX - компания легендарная и во многом загадочная, как, впрочем, и сама система. Загадочная, потому что продукция этой компании, операционная система QNX, использовалась и используется в самых критических и стратегических областях, таких как аэрокосмическая промышленность, энергетика, в том числе и ядерная, а также (насколько об этом можно судить) в военных разработках. Легендарной же QNX можно назвать хотя бы по той простой причине, что в течение двадцати лет у этой системы реального времени нет и никогда не было сколько-нибудь значительного конкурента. Все эти встроенные Linux и DOS, не говоря о Windows, даже и не приближались к лидеру в плане надежности кода и устойчивости интерфейсов.

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

Разработка ОС реального времени для цифрового сигнального процессора
В статье рассматривается задача построения операционной системы реального времени (ОСРВ) для цифрового сигнального процессора. Описывается конкретная реализация ОСРВ MicroDSP-RTOS, разработанная в ИСП РАН. Рассматривается архитектура ОС и предоставляемые функции. Кроме того, описываются доработки в инструментарии кросс-разработки MetaDSP для обеспечения эффективной разработки и отладки многозадачных приложений под платформу MicroDSP-RTOS.

Семь вещей, которые нужно знать о VMWare и VirtualPC
Типичным вопросом, который задают тысячи (а не задают, но мучаются им, миллионы) пользователей, программистов и администраторов, звучит примерно так: "Я не против попробовать Linux (FreeBSD, Plan9, Solaris, QNX), хотел бы поставить его на свой компьютер, испытать в работе. Но для этого нужно как-то разбить свой жесткий диск, установить менеджер загрузки, перегружать все время компьютер… А как быть с сетью? - у меня дома нет сети, как мне освоить все сетевые возможности?" - ну и так далее.

Файловая система и менеджер томов Veritas
Если вы системный администратор и занимаетесь поиском работы (в США), то вы наверняка обратили внимание на то, как часто сейчас требуются системные администраторы со знанием технологий комании Veritas и, особенно, файловой системы (Veritas File System - VxFS) и менеджера томов Veritas (Veritas Volume Manager – VxVM).

Ваш билет до Windows 2000
Разумеется, Windows 2000 значительно отличается в лучшую сторону от Windows NT 4.0 с точки зрения аппаратной и программной совместимости, но она не может сравниться с Windows 98 по простоте. Те, кто поторопится с модернизацией, возможно, будут проклинать все на свете, оставшись без необходимых программ, устройств или данных. Секрет успеха заключается в предварительной домашней подготовке - исследовании совместимости машины. И обязательно оставьте себе возможность вернуться к Windows 9x или NT на случай, если медовый месяц с Windows 2000 окажется кислым, как незрелое яблоко.

Что значит "редактировать файл MYCONF"?
Если вы разрабатываете новую программу и хотите, чтобы она принесла максимально возможную пользу обществу, лучший способ достичь этого - включить ее в свободное ПО, которое каждый может повторно распространять и изменять согласно данным условиям.

Почему GNU будет совместима с Unix
Unix не является моим идеалом системы, но он не так уж плох. Его основные черты, по-видимому, будут полезны, я надеюсь что смогу восполнить пробелы Unix без того, чтобы разрушить его основу. А система, совместимая с Unix, может быть удобна для освоения многим людям.

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

Пространства имен WMI
WMI называет пространство имен корневого каталога root. Все варианты установки WMI имеют четыре предопределенных пространства имен, которые постоянно находятся ниже корня: CIMV2, Default, Security и WMI. Некоторые из этих пространств имен имеют внутри себя другие пространства. Например, CIMV2 включает пространства имен Applications и ms_409, как подпространства имен. Провайдеры иногда определяют свои собственные пространства имен; встречаются пространства имен WMI (которые определяет провайдер WMI драйверов устройств Windows) ниже корня Windows 2000. В отличие от пространства имен файловой системы, которая включает иерархию каталогов и файлов, у пространства имен WMI - только один уровень в глубину.

Основы операционных систем

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

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

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

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

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

Interleaving, race condition и взаимоисключения
Давайте временно отвлечемся от операционных систем, процессов и нитей исполнения и поговорим о некоторых "активностях". Под активностями мы будем понимать последовательное выполнение ряда действий, направленных на достижение определенной цели. Активности могут иметь место в программном и техническом обеспечении, в обычной деятельности людей и животных. Мы будем разбивать активности на некоторые неделимые, или атомарные, операции.

Концепция семафоров
Одним из первых механизмов, предложенных для синхронизации поведения процессов, стали семафоры, концепцию которых описал Дейкстра (Dijkstra) в 1965 году.

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

Физическая организация памяти компьютера
Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ, в процессе выполнения должны (по крайней мере частично) находиться в оперативной памяти. Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память (storage, memory) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память была самым дорогим ресурсом.

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

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

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

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

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

Для чего компьютеры объединяют в сети
Одной из главных причин стала необходимость совместного использования ресурсов (как физических, так и информационных). Если в организации имеется несколько компьютеров и эпизодически возникает потребность в печати какого-нибудь текста, то не имеет смысла покупать принтер для каждого компьютера. Гораздо выгоднее иметь один сетевой принтер для всех вычислительных машин. Аналогичная ситуация может возникать и с файлами данных. Зачем держать одинаковые файлы данных на всех компьютерах, поддерживая их когерентность, если можно хранить файл на одной машине, обеспечив к нему сетевой доступ со всех остальных?Второй причиной следует считать возможность ускорения вычислений. Здесь сетевые объединения машин успешно конкурируют с многопроцессорными вычислительными комплексами. Многопроцессорные системы, не затрагивая по существу строение операционных систем, требуют достаточно серьезных изменений на уровне hardware, что очень сильно повышает их стоимость.

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

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

Операционные системы и программное обеспечение на платформе zSeries

z/OS представляет собой новейшую операционную систему, спроектированную и разработанную для серверов zSeries с учетом перехода на 64-разрядную архитектуру. Как представитель семейства MVS, z/OS унаследовала основные конструктивные элементы своей предшественницы OS/390, сохранив и развив ее базовые возможности. Поэтому рассмотрение архитектуры z/OS целесообразно начать с исторического обзора, раскрывающего особенности технологии MVS и основные этапы совершенствования ОС вместе с совершенствованием аппаратной платформы
Однако в начале введем несколько важнейших понятий, которые помогут сориентироваться тем читателям, которые только начинают знакомиться с мэйнфреймами IBM.

Эволюция z/OS
Пакетное задание (batch job) - внешняя единица работы z/OS. Выглядит как текст, написанный на специальном языке управления заданиями JCL (Job Control Language), в котором указано, какие программы (загрузочные модули), в какой последовательности и с какими данными должны быть исполнены в рамках задания. Задания формируются и направляются в систему пользователями через терминальные устройства, консоли, ранее запущенные программы и т.п.

Элементы z/OS
Базовые элементы (base elements) являются необходимой и неотъемлемой частью программного обеспечения z/OS, поскольку служат для поддержки наиболее важных функций и сервисов системы. К ним относятся средства управления аппаратными ресурсами, средства управления данными, пользовательские и программные интерфейсы, поддержка коммуникаций и др. Базовые элементы всегда включаются в установочный пакет z/OS.

Управление памятью
Управление основной памятью в z/OS базируется на концепции виртуальной памяти, основные принципы которой были изложены при рассмотрении эволюции системы в п. 5.1.1. Важно подчеркнуть, что в z/OS фактически сохранена архитектура, реализованная в MVS/ESA и развитая в дальнейшем в OS/390. Конечно, расширение разрядности адреса (и, следовательно, объема адресного пространства) не могло не привести к целому ряду нововведений, о которых далее и пойдет речь. Но начнем, однако, с общих понятий и терминов, принятых в MVS, OS/390 и z/OS и необходимых для понимания механизмов управления памятью

Средства управления данными в z/OS (DFSMS)
Управление данными в z/OS заключается в организации идентификации, хранения, каталогизации, поиска данных различного назначения (в том числе и программ), которые применяются для системных и пользовательских нужд. Основной единицей управления является набор данных (data set), определяемый как именованая совокупность связанных элементов данных, размещаемых во внешней памяти или иных устройствах.

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

Элементы z/OS UNIX
Системные сервисы UNIX, получившие в новейших версиях название z/OS UNIX, являются неотъемлемым компонентом z/OS, превратившим ее в открытую операционную систему [19], [20]. Начиная с версии OS/390 V1R2 реализована полная поддержка стандартов POSIX (Portable Operating System Interfaces Unix) и XPG 4.2 (X/Open Portability Guide), принятых многими разработчиками UNIX-систем. Таким образом, в z/OS UNIX реализовано два открытых системных интерфейса:

Утилита работы со списком наборов данных (Dslist)
Работа пользователей операционной системы z/OS, как правило, осуществляется в режиме удаленного доступа через специальные терминалы или рабочие станции, подключенные к мэйнфрейму при помощи сетевых коммуникаций. Сегодня в качестве рабочих станций чаще всего используются персональные компьютеры (ПК), работающие под управлением операционных систем Windows или UNIX (Linux). В этом случае для взаимодействия с мэйнфреймом используются специальные программы эмуляции терминала, которые устанавливают связь с одним из приложений, выполняющимся на мэйнфрейме, воспроизводят на экране ПК исходящие от него сообщения и передают ему управляющие воздействия пользователя, вводимые с клавиатуры.


Базовые средства создания программ
Исходный модуль, содержащий текст программы на одном из поддерживаемых языков программирования, может быть создан средствами TSO/ISPF/UNIX shell или подготовлен, а затем импортирован с рабочей станции. Для размещения исходного модуля может быть использован последовательный или библиотечный (PDS, PDSE) набор данных или файл z/OS UNIX. Компиляция исходного текста программы осуществляется встроенным языковым компилятором или ассемблером. z/OS включает как новые 64-разрядные компиляторы для таких языков, как, например, С/С++ и Cobol, так и множество старых версий.

Назначение и возможности z/VM
Операционная система z/VM представляет второе направление операционных систем IBM, ориентированных на платформу zSeries. z/VM построена на основе концепции "виртуальных машин" (Virtual Machine), которая означает, что в рамках одной системы может одновременно функционировать множество виртуальных машин, каждая из которых функционально эквивалентна реальной ЭВМ. Каждая виртуальная машина использует свою часть ресурсов системы (процессорное время, оперативную память, периферийные устройства).

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

Серверы баз данных DB2 UDB: основные особенности
Параллельная обработка на SMP означает, что на машине с SMP UDB будет одновременно выполнять несколько транзакций (операторов SQL) параллельно, автоматически распределяя их между процессорами. Кроме того, UDB может выполнить параллельную обработку одного запроса (оператора SQL), разбивая его на подзадачи и направляя каждую подзадачу на свой процессор. Более того, если данные для оператора SQL распределены на нескольких дисковых подсистемах, то для параллельного извлечения данных в UDB будут использоваться функции параллельного ввода/вывода.

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

Краткая историческая справка
История развития технологий Lotus [6.4] начинается с 80-х годов прошлого столетия, в эпоху появления и развития персональных компьютеров (ПК). Компания Lotus Development Corporation, разрабатывавшая программное обеспечение ПК, выпустила в 1989 году первую версию продукта Lotus Notes, поддерживающего распределенную систему управления документами (совместную работу над документом) с сервером Notes. С 1995 года, когда на сервере были реализованы функции работы с Web-приложениями, он стал называться Domino. К 1996 году компания Lotus продала во всем мире почти 10 млн. лицензий на Lotus Notes. Продуктом заинтересовалась IBM, и в 1996 году она приобрела компанию Lotus.

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

Операционные системы - правила работы

Как уже указывалось выше, интерфейс - это, прежде всего, набор правил. Как любые правила, их можно обобщить, собрать в "кодекс", сгруппировать по общему признаку. Таким образом, мы пришли к понятию "вид интерфейса" как объединение по схожести способов взаимодействия человека и компьютеров. Вкратце можно предложить следующую схематическую классификацию различных интерфейсов общения человека и компьютера.
Современными видами интерфейсов являются:
1) Командный интерфейс. Командный интерфейс называется так по тому, что в этом виде интерфейса человек подает "команды" компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.
2) WIMP - интерфейс (Window - окно, Image - образ, Menu - меню, Pointer - указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов - меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредственно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP - интерфейс.
3) SILK - интерфейс (Speech - речь, Image - образ, Language - язык, Knowlege - знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

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

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

Shell и переменные окружения
После загрузки операционная система готова к работе. Под ее управлением можно запускать различные программы системного и прикладного назначения. Большинство пользователей работают с операционной системой не напрямую, а с помощью файловых (типа Norton Commander, Volcov Commander, Far, Dos Navigator и т.п.) или операционных оболочек (типа Windows 3.11, Dos Shell и других.) Но, во-первых, некоторые программы по разным причинам не выполняются при загруженных оболочках. Во-вторых, вследствие большого количества операционных оболочек трудно ориентироваться в них. В-третьих не всегда оболочку можно запустить (например, при временном выходе в операционную систему из выполняемой ей-же программы.) При временном выходе в DOS поверх программы загружается файл Command.com, и оперативной памяти становится недостаточно для работы операционной оболочки.

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

Для чего нужны каталоги
При использовании жестких дисков может возникнуть ситуация, когда создается так много файлов, что возникает затруднения с их подбором и систематизацией [Эско Валтанен]. Этой ситуации не возникало при использовании старых мэйнфреймов, информация для которых хранилась на перфокартах, бумажных и магнитных лентах, и на других съемных носителях. Не было ее и в операционной системе CP/M и ее "наследнице" MS-DOS v. 1.0, данные к которым хранились на тех же съемных носителях - дискетах.

Работа с файлами в Нортон-подобных файловых оболочках
По сравнению с командным интерфейсом в графическом интерфейсе возможностей для показа каталогов гораздо шире. В любой файловой оболочке (а также в окнах операционных систем Microsoft Windows 95/98/2000/NT4, IBM OS/2 Warp, IRIX, Linux и др.) содержатся следующие возможности для отображения каталогов и структуры каталогов:
Вывод содержимого каталога в кратком формате (только имена файлов и их тип.)
Вывод содержимого каталога в полном формате (вывод всех свойств файлов,)
Вывод дерева или ветвей дерева каталогов (не для окон операционных систем).

Просмотр файлов в DOS Shell
Оболочка DOS Shell не случайно рассматривается первой среди всех графических оболочек фирмы Microsoft. Именно здесь зародились все остальные приемы работы и назначения клавиш, используемые в более “молодых” оболочках.
Этот интерфейс предоставляет пользователю наглядный способ работы с операционной системой. Для выбора и ввода команд можно использовать клавиатуру, либо мышь.

Рабочая область WINDOWS 3.11
Рабочей областью в Windows 3.11 обычно является чистый экран серого цвета, на котором отображаются окна или иконы запущенных приложений. Причем одно приложение находится обязательно в рабочей области: оно находится или в виде окна, или в виде иконы -это Менеджер программ Windows (Program Manager).

Литература

Введение в локальные сети

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

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

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

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

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

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

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

Алгоритмы сети Ethernet/Fast Ethernet
В данной главе мы рассмотрим подробнее два основных алгоритма, применяемых в самой распространенной на сегодняшний день сети Ethernet/ Fast Ethernet. Речь идет о методе управления обменом (методе доступа) CSMA/CD и о методе вычисления циклической контрольной суммы пакета CRC. Эти же самые алгоритмы используются во многих других локальных сетях. Например, метод доступа CSMA/CD применяется в сетях IBM PC Network, AT&T Starlan, Corvus Omninet, PC Net, G-Net и др. Что касается алгоритма вычисления циклической контрольной суммы CRC, то он стал фактическим стандартом для любых локальных сетей. Так что все, о чем говорится в данной главе, относится ко многим локальным сетям.

Стандартные сегменты Ethernet и Fast Ethernet
Толстый коаксиальный кабель представляет собой 50-омный кабель диаметром около 1 см и отличается высокой жесткостью. Он имеет два основных типа оболочки: стандартная PVC желтого цвета (например, кабель Belden 9880) и тефлоновая Teflon оранжево-коричневого цвета (например, кабель Belden 89880). Широко распространены толстые кабели типа RG-11 и RG-8 (отличие между ними состоит в том, что у RG-11 посеребрена центральная жила). Толстый кабель - это самая дорогая среда передачи (примерно втрое дороже, чем другие типы). Зато у толстого кабеля лучше помехоустойчивость, меньше затухание и выше механическая прочность.

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

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

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

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

Приложение
Для официальных формулировок характерно использование целого ряда дополнительных терминов, которые сами нуждаются в определении. Поэтому имеют право на существование менее строгие формулировки при условии, что они однозначно и правильно понимаются каждым, кто их использует. К примеру, RS-232C часто называют последовательным интерфейсом и это соответствует действительности, а вот название «последовательный порт» вряд ли следует назвать корректным, так как оно слишком далеко отступает от официальной формулировки.

Графические устройства

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

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

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

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

Цвет на экране
Работа с цветом является неотъемлемой частью любой графической программы. В предыдущей главе мы почти не затрагивали вопросы, связанные с получением нужного цвета изображения. Это делалось не только для упрощения изложения материала. В большинстве случаев в режимах PPG действия, выполняемые при построении изображения, никак не связаны с цветом выводимых точек. Формирование нужных цветов обычно производится до построения изображения, при этом выполняются специфические действия, которые могут не требовать непосредственной работы с видеопамятью.

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

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

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

Рисунки в файлах BMP
В прикладных графических задачах целесообразно работать с файлами BMP и PCX, поскольку хранящееся в них изображение либо не упаковано (BMP), либо распаковывается достаточно просто (PCX). Немаловажен и тот факт, что в этих форматах хранится множество рисунков, предназначенных для оформления рабочей области экрана. Если же выбранный рисунок хранится в файле, имеющем тип (расширение) GIF или JPG, то его можно преобразовать в используемый задачей формат с помощью графического редактора. BMP является основным форматом графических файлов для Windows и ее приложений, поэтому автор счел целесообразным вынести описание работы с ним в данное приложение и обсудить особенности файлов, встречающихся на практике. Имена полей заголовка взяты из справочника Борна

Оперативная память
Оперативная память (ОЗУ, RAM) является одним из важнейших ресурсов персонального компьютера. В англоязычной технической литературе вы можете встретить три термина, характеризующие тип памяти, а именно: conventional memory, extended memory И expanded memory. У современных ПК они относятся к разным частям одного физического устройства и являются характеристиками способа доступа к этим частям. Различие способов доступа к отдельным частям памяти является специфической особенностью (родимым пятном) и одним из существенных недостатков семейства IBM PC. В чем именно оно заключается, описано в данном приложении.

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

Знакомство с Windows

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

Работа с помощью проводника Windows
Проводник в английской версии операционной системы называется Windows Explorer, что можно перевести как “Исследователь Windows”. Действительно, с помощью проводника вы можете исследовать все диски и папки вашего компьютера, а также локальную сеть, к которой подключен ваш компьютер и даже Интернет. Проводник является удобным инструментом для работы с файлами вашего компьютера. При работе с этой программой содержимое вашего компьютера представлено в виде иерархического дерева. При этом вы можете видеть содержимое каждого диска и папки, как на вашем компьютере, так и на тех компьютерах, которые связаны с вашим по компьютерной сети.

Печать из Windows
Хотя еще недавно много говорили о безбумажных технологиях, время показало, что традиционные документы используются так же широко, как ранее. С помощью различных программ создают и редактируют документы, после чего их распечатывают на принтере. Подготовив текстовый документ, бланк, рисунок, график, диаграмму или любой другой документ с помощью какой-то программы, вы можете отправить его на печать. С помощью принтера создается бумажная копия документа. Для печати документа в большинстве программ достаточно нажать кнопку на панели инструментов или выбрать команду меню Файл * Печать (File * Print).

Использование справочной системы
Если при работе с Windows XP у вас возникают какие-либо вопросы или трудности, система поможет вам быстро и легко найти ответы на многие ваши вопросы. Кроме того, что каждая программа обладает своей системой подсказок, существует общее справочное руководство по Windows XP. К этому руководству можно обратиться, выбрав команду главного меню Справка и поддержка (Help and Support). Будет запущена справочная служба операционной системы Windows XP (Рис. 4.1). Появившееся окно напоминает Web-страницу Интернета. Оно красиво оформлено и содержит ссылки на различные темы. Кроме того, предусмотрено поле ввода для поиска справочной информации.

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

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

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

Работа с аудио и видео
Современная работа за компьютером немыслима без средств мультимедиа, поэтому в состав операционной системы Windows ХР включены разнообразные средства для работы со звуком и изображениями. Давайте рассмотрим основные возможности системы по работе с аудио и видео.

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

Игры, поставляемые в составе Windows
Современные компьютерные игры довольно сложны и громоздки, однако в составе Windows есть несколько простых игр, которые помогут вам отвлечься от монотонной работы за компьютером и поднимут вам настроение. Чтобы запустить любую игру, входящую в состав Windows, необходимо выбрать команду главного меню Другие програимы * Стандартные * Игры (More Programs * Accessories * Games) и выбрать одну из игр в открывшемся вспомогательном меню. Для тех, кто любит раскладывать пасьянсы, Windows предлагает несколько игр. Давайте рассмотрим эти игры.

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

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

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

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

Установка системы и ее компонентов
Если Windows XP уже установлена на компьютере, информация данной части вам может и не понадобится. Однако для повышения удобства и эффективности работы с системой желательно изменить настройки, принятые по умолчанию. Поэтому о настройке мы рекомендуем вам прочитать обязательно.

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

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