По современным представлениям ОС должна уметь делать следующее.
Обеспечивать загрузку пользовательских программ в оперативную память и их исполнение (этот пункт не относится к ОС, предназначенным для прошивки в ПЗУ).
Обеспечивать управление памятью. В простейшем случае это указание единственной загруженной программе адреса, на котором кончается память, доступная для использования, и начинается память, занятая системой. В многопроцессных системах это сложная задача управления системными ресурсами.
Обеспечивать работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски, флэш-память и т. д. Как правило, ОС управляет свободным пространством на этих носителях и структурирует пользовательские данные в виде файловых систем.
Предоставлять более или менее стандартизованный доступ к различным периферийным устройствам, таким как терминалы, модемы, печатающие устройства или двигатели, поворачивающие рулевые плоскости истребителя.
Предоставлять некоторый пользовательский интерфейс. Слово некоторый здесь сказано не случайно — часть систем ограничивается командной строкой, в то время как другие на 90% состоят из интерфейсной подсистемы. Встраиваемые системы часто не имеют никакого пользовательского интерфейса.
Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа — дисковая операционная система MS DOS.
Более развитые ОС предоставляют также следующие возможности:
параллельное (или псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач;
организацию взаимодействия задач друг с другом;
организацию межмашинного взаимодействия и разделения ресурсов;
защиту системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ;
аутентификацию (проверку того, что пользователь является тем, за кого он себя выдает), авторизацию (проверка, что тот, за кого себя выдает пользователь, имеет право выполнять ту или иную операцию) и другие средства обеспечения безопасности.
Одной из наиболее сложных систем сегодня являются открытые системы связи OSI (Open System Interconnection). OSI представляет собой достаточно формализованную стандартную архитектуру управления межкомпьютерными коммуникациями. Для описания этой системы была разработана абстрактный синтаксис нотаций ASN.1 (Abstract Syntax Notation; См. A Layman’s Guide to a Subset of ASN.1, BER, and DER. Burton S. Kaliski Jr., RSA Data Security, Inc. Redwood City, CA, 1991). ASN.1 является формальным языком, который обладает двумя основными чертами.
Используемая в документах нотация легко читаема и понимаема, а в компактном кодовом представлении информация может использоваться коммуникационными протоколами. Неотъемлемой частью ASN.1 являются базовые правила кодирования BER (Basic Encoding Rules), которые позволяют определить большое разнообразие типов данных. BER описывает то, как представить или закодировать любую величину в рамках стандарта ASN.1. Практически все величины здесь представляются в виде последовательности 8-битных октетов. Восьмой бит октета всегда считается самым старшим. BER позволяет закодировать величину более чем одним способом. Имеется также поднабор правил кодирования DER (Distinguished Encoding Rules, описаны в документе Х.509), которые определяют однозначные способы кодирования величин ASN.1.
Из-за обилия особенностей и функций Director MX может сначала вас испугать.
Нам не хочется перегружать вас всеми подробностями сразу. Поэтому мы начнем со знакомства с наиболее практическими и наиболее распространенными сторонами Director MX, используемыми для создания реальных программ.
С помощью этой книги вы имеете возможность изучить Director MX интуитивным методом, одновременно практикуясь в применении некоторых приемов и быстрых переходов, обычно используемых в Director MX разработчиками реальных приложений. Каждая глава строится на основе предыдущих глав и добавляет новые возможности Director MX в ваш творческий набор инструментов.
Педагогические приемы, используемые в главах этой книги, основаны на понятии «обучение через действие». Эти методы являются синтезом многолетнего опыта авторов по преподаванию мультимедийного программного обеспечения в качестве провайдеров учебных услуг компании Macromedia (Macromedia Training Providers).
Буквы ХР в названии новой версии популярной операционной системы Windows являются частью английского слова eXPerience, которое переводится как жизненный опыт, знания. При создании операционной системы Windows XP использован многолетний опыт разработчиков самых популярных компьютерных программ и систем, а также знания, накопленные в результате общения с многочисленными пользователями. Без сомнения, новая версия Windows является значительным шагом вперед, по сравнению с предыдущими версиями.
Операционная система является необходимой компонентой любого компьютера и представляет собой набор программ, предназначенных для управления компьютером, хранения информации и организации работы всех подключенных к нему устройств. В настоящее время Windows - самая распространенная операционная система для персональных компьютеров. Среди достоинств, определяющих популярность Windows, можно выделить удобный, интуитивно понятный, графический интерфейс, параллельную работу множества программ и автоматическую настройку нового оборудования.
Любому пользователю компьютера в идеале хочется мгновенно перекачивать из Интернета на свой ПК все, что заблагорассудится. Телефонный модем позволяет делать это со скоростью около 10 Кб/c, выделенная линия – в несколько сотен Кб/с и только широкополосный доступ позволяет приблизиться к вожделенным Мб/с, которые дают надеяться на просмотр кинофильмов и прочих мультимедийных удовольствий.
Широкополосным доступом в Интернет можно пользоваться уже несколько лет, но он пока недоступен большинству пользователей. На конец 2002 года во всем мире (по данным InStat/MDR) есть около 46 млн. пользователей, больше всего их в США, но и здесь - лишь 17% домов имеют такую возможность. Что же мешает активному распространению широкополосного доступа? Проблема в том, что способы доведения такого доступа до пользователей - DSL или кабельное соединение - имеют ограниченные возможности, поскольку не всегда у пользователей есть кабельное или DSL-оборудование, а кроме того, эти услуги недешевы. Чаще всего они доступны лишь в центрах крупных городов. Корпорация Intel активно работает над новой беспроводной технологией, которая может стать реальной заменой DSL и кабелю и решить проблему «последней мили» в больших городах.
Стандарт беспроводной связи IEEE 802.16 изначально был задуман для организации работы беспроводных сетей на больших городских территориях, он еще называется IEEE WirelessMAN (Metropolitan area network - сеть для городских регионов). Именно этот беспроводной широкополосный доступ и может стать столь необходимым средством “последней мили” в крупных городах.
Успех любого начинания в какой-либо сфере деятельности зависит от многих факторов. В их числе – умение юридически правильно, надлежащим образом представить информацию в письменном виде, т. е. правильно составить и оформить документ. Однако это лишь одна из проблем, возникающих перед любой организацией при работе с документами.
Сфера деятельности человека, связанная с разработкой и оформлением документов и технологией работы с ними, называется делопроизводством (документоведением, документационным обеспечением управления).
Практически ни одна технологическая функция управления, связанная с использованием информации, подготовкой и принятием решения, не обходится без ее документирования, процесса создания, оформления исполнения и хранения исполненных документов. В ежедневной практической деятельности руководителям организаций, их структурных подразделений, работникам служб делопроизводства приходится решать огромный комплекс вопросов, связанных с разработкой и изданием документов, регламентирующих управленческую и хозяйственную деятельность организации, регистрацией входящих, исходящих и внутренних документов, формированием их в дела, определением сроков хранения, передачей в архив или оформлением для уничтожения.
Эта книга представляет собой введение в программирование интерактивной трехмерной компьютерной графики с использованием DirectX9.0, в котором основное ударение делается на разработку игр. Прочитав ее, вы изучите основы Direct3D, после чего сможете перейти к изучению и применению более сложных технологий. Раз вы держите в руках эту книгу, у вас есть начальное представление о том, что представляет собой DirectX. С точки зрения разработчика DirectX - это набор API (интерфейсов программирования приложений) для разработки мультимедйных приложений на платформе Windows. В этой книге мы сосредоточимся на ограниченном подмножестве DirectX, называемом Direct3D. Как видно из названия, Direct3D - это API, используемый для разработки приложений с трехмерной графикой.
Книга разделена на четыре части. В первой части исследуются математические инструменты, применяемые в остальных частях книги. Во второй части объясняются базовые технологии трехмерной графики, такие как освещение, текстурирование, альфа-смешивание и работа с трафаретами. Третья часть посвящена использованию Direct3D для реализации различных более интересных техник и приложений, таких как выбор объектов, визуализация ландшафтов, системы частиц, настраиваемая виртуальная камера, а также загрузка и визуализация трехмерных моделей (X-файлов). Темой четвертой части являются вершинные и пиксельные шейдеры, включая каркасы эффектов и новый (появившийся в DirectX 9.0) высокоуровневый язык шейдеров. Настоящее и будущее трехмерных игр неразрывно связано с использованием шейдеров, и, посвящая им целую часть, мы хотели получить книгу, соответствующую современному состоянию дел в программировании графики.
Почему вас могло бы заинтересовать программирование на языке ассемблера? Cегодня повсюду используются такие языки высокого уровня как Бэйсик, Фортран и Паскаль . Возможно, вы уже знакомы по крайней мере с одним языком высокого уровня. Если вы постоянно пльзуютесь персональным компьютером IBM, то вы знаете, что интерпритатор Бэйсика является частью системы. Зачем же возиться еще с одним языком программирования, тем более с таким, который сулит определенные трудности? Очевидно, даже располагая современными могучими языками, вы все еще нуждаетесь в ассемблере из-за его
эффективности и точности.
Ассемблерные программы могут быть очень эффективными. Из программистов, с равными навыками и способностями, работающий на языке ассемблера создаст программу более компактную и быстродействущую, чем такая же программа, написанная на языке высокого уровня. Это так практически для всех небольших или средних программ. К сожалению, по мере возрастания размеров, программы на языке ассемблера теряют часть своих преимуществ. Это происходит из-за необходимого в ассемблерной программе внимания к деалям. Как вы увидите, язык ассемблера требует от вас планирования каждого действия компьютера. В небольших программах это позволяет оптимизировать работу программы с аппаратными средствами. В больших же
программах огромное количество деталей может помешать вам эффективно работать над самой программой, даже если отдельные компоненты
программы окажутся очень неплохими. Безусловно, программирование на языке ассемблера отвечает потребностям не каждой программы.
Несчастье приходит к людям нежданно-негаданно, внезапно: пожар, ураган, наводнение, взрыв на предприятии, заражение территории радиоактивными веществами, разлив и испарение различных ядов, дорожно-транспортные аварии, а также другие катастрофы и стихийные бедствия. В результате подобных чрезвычайных ситуаций люди могут получить тяжелые травмы, острые отравления, ожоги.
Конечно, на помощь помчатся пожарные, машины скорой медицинской помощи и вслед за ними профессионалы-спасатели. Но это будет потом. А пока многие пострадавшие, в особенности с артериальным кровотечением, остановкой дыхания, в горящей одежде нуждаются в сиюминутной помощи. И если безотлагательно не остановить кровотечение, не устранить удушье, не восстановить дыхание и работу сердца, не потушить одежду, пострадавший может погибнуть, так и не дождавшись прибытия бригады экстренной медицинской помощи, какой бы в идеале скорой она ни оказалась.
В таких обстоятельствах, когда вопрос жизни и смерти решается в буквальном смысле – секундами, минутами, на помощь должны прийти МЫ – именно те, кто оказался рядом, живой, здоровый, может быть даже легко пострадавший, но не утративший способности мыслить и действовать. Успех будет сопутствовать лишь тому, кто знает, как оказать первую помощь пострадавшему, кто владеет соответствующими практическими навыками, у кого подручные средства мгновенно превращаются в необходимые медицинские: галстук или носовой платок становятся закруткой для остановки артериального кровотечения, женская косынка для наложения повязки на рану, валяющаяся рядом палка или зонтик заменяет шину для обездвижения руки или ноги при переломах костей конечности.
Настоящая инструкция устанавливает единую систему делопроизводства в университете и составлена в соответствии с Примерной инструкцией по делопроизводству в высшем учебном заведении, утверждённой приказом Министерства образования РФ от 24.07.2000 № 2286.
Настоящая книга является с одной стороны, подробным справочником по Visual Basic for Applications (VBA), а с другой стороны, самоучителем по составлению и разработке приложений, написанных на этом языке. Это уникальное сочетание, которое, следуя рекламному подходу, можно назвать "два в одном", обеспечивает большую гибкость при решении читателем своих собственных задач. Самоучитель на большом количестве примеров умело и доступно обучает, как можно быстро и эффективно решать разнообразные задачи. В справочнике приводится подробное описание возможностей VBA, имея такие сведения под рукой у читателя исчезнет необходимость бегать по магазинам в поиске дополнительной литературы при написании самостоятельных приложений, что несомненно сбережет время и кошелек.
Самоучитель состоит из уроков. В каждом из уроков разрабатывается пример пользовательского приложения и дается подробный анализ. Тексты всех программ снабжены доскональными комментариями. Можно сказать, что все рассматриваемые программы разложены буквально по маленьким разжеванным кусочкам, которые читателю только и остается проглотить. По завершению урока предлагается самостоятельное задание, выполнение которого поможет лучше закрепить разобранный материал.
С помощью VBA можно легко и быстро создавать пользовательские приложения, используя единую для всех офисных программ среду и язык. Научившись разрабатывать приложения для одной офисной программы, например Excel (которой, как наиболее популярной офисной программе, в основном и посвящена данная книга), можно создавать приложения и для других офисных программ, например Access. Внимательно читая эту книгу, можно стать искусным разработчиком и научиться пользоваться мощными средствами разработки приложений Excel для того, чтобы конструировать эффективные и применимые к реальной жизни приложения. Кроме того, по своей структуре, интерфейсу и синтаксису VBA образует ядро Visual Basic. Поэтому тот, кто изучит программирование на VBA очень быстро может освоить и Visual Basic.
Турбо Ассемблер работает на компьютерах семейства IBM PC, включая модели XT, AT и PS/2, а также на полностью совместимых с ними компьютерах. Для работы Турбо Ассемблера требуется операци- онная система MS-DOS (версии 2.0 или более поздняя) и не менее 256К оперативной памяти.
Турбо Ассемблер генерирует инструкции процессоров 8086, 80186, 80286, 80386 и i486, а также инструкции с плавающей точкой для арифметических сопроцессоров 8087, 80287 и 80387. (Подробнее об инструкциях процессором семейства 80х86/80х87 рассказывается в книгах фирмы Intel.)
LightWave - это мощная программа для 3D-моделирования, анимации и визуализации. Данный продукт может применяться в самых разнообразных областях: от создания высококачественных изображений для полиграфии до выполнения всевозможных спецэффектов в кино и телевидении. Используя широчайший набор инструментов моделирования и анимации, предоставляемых пакетом LightWave, можно в мельчайших подробностях воссоздать тонущий «Титаник» или оживить героя видеоигры. Непревзойденное фотографическое качество получаемых изображений многие считают промышленным стандартом.
Впервые этот материал по переплетно-рёставрационным работам был опубликован в газете «Книжное обозрение». Публикация представляла собой обобщение практического опыта большого числа переплетчиков-любителей с разных концов пашей страны. Учтя критические замечания читателей и их пожелания, авторы переработали ранее опубликованные материалы и предлагают читателям, желающим самостоятельно освоить переплетное дело, этот труд.
Этот диск был задуман как руководство для самостоятельного изучения языка C/C++ в контексте его применения в среде Windows. Известно, какое значение приобретает сегодня объектно-ориентированное программирование, учитывая возрастающие требования к качеству, надежности и пользовательскому интерфейсу приложений. Сложность и объем программ все время растут. В свете этого объектно-ориентированные языки, и прежде всего C++, становятся едва ли не единственным средством решения встающих перед программистом задач, и потому знание таких языков программирования представляется сегодня совершенно необходимым, если вы хотите писать программы, отвечающие современным требованиям.
Последнее не обязательно означает, что вы являетесь профессионалом, пишущим приложения на продажу. Вы можете быть любителем, программирующим пока в свободное время ради собственного удовольствия или для решения каких-либо личных, домашних задач. Или, может быть, вы занимаетесь научно-техническими расчетами, обработкой данных и т. п. Конечно, часто для этого достаточно примитивной DOS и традиционных языков, таких, как Pascal или даже BASIC, однако обидно писать программы с минимальным пользовательским интерфейсом, ориентированным на командную строку, когда у вас есть 32-битная операционная система Windows и превосходные средства разработки приложений для нее, позволяющие создавать программы профессионального качества. А если вы уже программировали для Windows, то и сами прекрасно понимаете, зачем вам нужен объектно-ориентированный C++...