Рефераты
 

Операционная система, программное обеспечение ПК

p align="left">Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.

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

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

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

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

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

В 1987г. была выпущена операционная система MINIX (прототип LINUX), она была построена на схеме микро ядра.

В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

Функции операционной системы.

· Управление работой каждого блока ПК и их взаимодействием

· Управление выполнением программ

· Организацию хранения информации во внешней памяти

· Взаимодействие пользователя с компьютером, т.е. поддержку интерфейса пользователя

Ввод-вывод.

В информатике, ввод/вывод (в англ. языке часто используется сокращение I/O) означает взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод -- сигнал или данные, полученные системой, а вывод -- сигнал или данные, посланные ею (или из нее). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод/вывод» означает выполнение операций ввода или вывода. Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши -- специально разработанные компьютерные устройства ввода, а мониторы и принтеры -- компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно.

Принципы аппаратуры ввода-вывода.

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

Шина имеет место для подключения внешних устройств.

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

По функциональному назначению шины бывают: системные, шина КЭШ памяти, шина памяти, шина в/в.

1) Системная шина - предназначена для пересылки информации к центральному процессору и обработки.

2) Шина КЭШ памяти - предназначена для обмена информацией между центральным процессором и КЭШ памятью.

3) Шина памяти используется для обмена информацией между оперативной памятью и центральным процессором

Шина в/в подразделяется на стандартную и локальную.

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

- стандартная шина в/в предназначена для подключения к выше указанным шинам более медленных периферийных устройств (мыши, клавиатура).

Характеристики шины.

1) Разрядность - определяется числом параллельных проводников входящих в нее (первая шина состояла из восьми разрядов)

2) Пропускная способность шины определяется количеством байт информации передаваемые по шине за 1 секунду.

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

Билет № 22 Развитие и основные функции операционных систем. Программные уровни ввода-вывода. Сравнительные возможности операционных систем

Программные уровни ввода-вывода. Сравнительные возможности операционных систем.

Уровни ввода-вывода

Обработчики прерываний

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

Алгоритм:

1. Драйвер начинает операцию ввод-вывод.

2. Драйвер блокирует сам себя,

3. - выполнив на семафоре процедуру down

4. - выполнив на переменной состояния процедуру wait

5. - выполнив на сообщении процедуру receive

6. Происходит прерывание

7. Обработчик прерываний начинает работу

8. Обработчик прерываний может разблокировать драйвер (например, выполнив на семафоре процедуру up)

Логическое расположение драйверов устройств

На самом деле обмен данными между контроллерами и драйверами идет по шине. Драйвера должны взаимодействовать с ОС через стандартные интерфейсы.

Стандартные интерфейсы, которые должны поддерживать драйвера:

· Для блочных устройств

· Для символьных устройств

Раньше для установки ядра приходилось перекомпилировать ядра системы.

Сейчас в основном ОС загружают драйверы. Некоторые драйверы могут быть загружены в горячем режиме.

Функции, которые выполняют драйвера:

· обработка запросов чтения или записи

· инициализация устройства

· управление энергопотреблением устройства

· прогрев устройства (сканера)

· включение устройства или запуска двигателя

Независимое от устройств программное обеспечение ввода-вывода

Функции независимого от устройств программного обеспечения ввода-вывода:

· Единообразный интерфейс для драйверов устройств,

· Буферизация

· Сообщения об ошибках

· Захват и освобождение выделенных устройств (блокирование)

· Размер блока, не зависящий от устройств

Единообразный интерфейс для драйверов устройств

Кроме интерфейса, в него также входят проблемы,

· именование устройств

· защита устройств

Буферизация

Рассмотрим несколько примеров буферизации.

a) Не буферизованный ввод - после ввода каждого символа происходит прерывание

b) Буферизация в пространстве пользователя - приходится держать загруженными необходимые страницы памяти в физической памяти.

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

d) Двойная буферизация в ядре - если один буфер заполнен, и пока он выгружается, символы пишутся во второй буфер.

Сообщения об ошибках

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

Захват и освобождение выделенных устройств

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

Независимый от устройств размер блока

Размер блока должен быть одинаковый для верхних уровней, и не зависеть от устройств (размеров секторов на диске).

Программное обеспечение ввода-вывода пространства пользователя

Функции этого обеспечения:

· Обращение к системным вызовам ввода-вывода (через библиотечные процедуры).

· Форматный ввод-вывод (меняют формат, например, в ASCII)

· Спулинг (для выделенных устройств) - создается процесс (например, демон печати) и каталог спулера.

Обобщение уровней и функций ввода-вывода

Уровни и основные функции системы ввода-вывода

Билет № 23 Состав ОС: внутренние (встроенные) и внешние (программы-утилиты) команды: История операционных систем

История ОС

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

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

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

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

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

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

Состав ОС

Утилиты ОС

Внешние команды (утилиты) содержаться на дисках в виде отдельных файлов, и поэтому командный интерпретатор должен для выполнения такой команды сначала найти ее на диске, ориентируясь на имя команды, совпадающее с именем программного файла. Эти программы выполняют действия обслуживающего характера, например, форматирование дискет, проверку дисков и т.д. и находятся обычно в каталоге DOS или в подкаталоге COMMAND каталога WINDOWS. Остановимся более подробно на утилитах обслуживания жесткого диска.

1. Разбиение физического диска на несколько логических (FDISK).

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

2. Форматирование дисков (FORMAT в DOS и WINDOWS и SFORMAT в Norton Utilites).

Различают форматирование низкого и высокого уровня.

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

При форматировании высокого уровня производится определение на диске двух областей: системной (System) и области данных (Data). В системной области заносятся: Master Boot Record (MBR - Главная загрузочная запись, у дискет отсутствует), Boot Record (BR - Загрузочная запись), две копии File Allocation Table (FAT - Таблица размещения файлов), Root Directory (корневой каталог). Также производится тестирование поверхности диска. Сбойные (например, размагниченные) участки отмечаются в FAT.

При форматировании гибких дисков (дискет) и низкоуровневое и высокоуровневое форматирование проводится одновременно.

Внутренние команды

Внутренние команды наиболее часто используются и поэтому содержатся непосредственно в самом командном интерпретаторе - файле COMMAND.COM и выполняются немедленно. К внутренним командам DOS относятся:

CLS - очистка экрана,

DATE - установка текущей даты,

TIME - установка текущего времени,

DIR - вывод оглавления каталога,

VER - вывод на экран установленной версии DOS,

CD - смена каталога,

COPY - копирование файлов,

DEL - удаление файлов,

REN - переименование файлов,

TYPE - вывод на экран содержимого файла,

VERIFY - проверка правильности операций ввода/вывода информации на дисках,

REM - вводит комментарий в командной строке.

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

При загрузке в ОЗУ командный процессор распадается на две области: резидентную, которая располагается вслед за модулями ОС, и нерезидентную, которая располагается на старших адресах ОЗУ. Резидентная часть содержит подпрограммы стандартной обработки прерываний с десятичными номерами 34 - 36 - теми, которые разработчик прикладной системы может переопределить по-своему. Здесь же находится программа подзагрузки нерезидентной части в ОЗУ. Кроме того, в состав резидентной части входит подпрограмма инициализации, которая обрабатывает файл AUTOEXEC.BAT при запуске машины в MS DOS и файл WIN.INI при запуске машины в WINDOWS. Нерезидентная часть включает программу обработки команд ОС, поступающих с терминала или из командных файлов. В нерезидентную часть входит загрузчик внешних программ, задачей которого является чтение очередной программы с диска в оперативную память, настройка адресов и переход на ее исполнение. Поскольку нерезидентная часть командного процессора располагается на старших адресах оперативной памяти, любая прикладная программа, загружаемая на младшие адреса, может частично или полностью занять и "затереть" эту область памяти. По окончании такой программы управление всегда возвращается в резидентную часть командного процессора, который в этом случае пытается восстановить затертую нерезидентную часть, загружая ее с системного диска.

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

Загружаемые модулем COMMAND.COM пользовательские (прикладные) программы и программы-оболочки (типа NORTON COMMANDER, DOS NAVIGATOR или PC TOOLS), обеспечивающие более удобный и наглядный способ общения с ПК, выполняют все необходимые графические, текстовые и расчетные работы, а также реализуют утилиты MS DOS, WINDOWS или Нортона.

Файлы IO.SYS, MSDOS.SYS и COMMAND.COM, программа-загрузчик ОС Boot Record и BIOS, входящие в базовое программное обеспечение (операционную систему) ПК, составляют минимально необходимый набор программ для работы компьютера. Диск, который содержит набор этих программ (за исключением BIOS, которая "вшита" в микросхему на Материнской плате), называется загрузочным или системным. С такого диска можно запустить (загрузить) компьютер в случае выхода из строя жесткого диска с операционной системой.

Билет № 24 История операционных систем. Структура операционной системы MS Windows

История ОС

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

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

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

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

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

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

Структура операционной системы MS Windows.

Общая структура приложения Windows

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

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

Как уже отмечалось выше, приложение Windows содержит, по крайней мере, два принципиально важных модуля:

Функция WinMain();

Функция WndProc().

Функция WinMain

Подобно функции main обычной программы на Си, функция WinMain обязана присутствовать в каждом приложении Windows. Функции WinMain передается управление в начальный момент загрузки приложения. Перечислим действия, выполняемые WinMain:

регистрация класса окна приложения и другие инициализации;

создание главного окна приложения и, возможно, других, подчиненных окон;

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

завершение работы приложения при извлечении из очереди сообщения WM_QUIT.

Шаблон функции WinMain выглядит так:

int PASCAL WinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow)

HANDLE hInstance; // дескриптор текущей копии

HANDLE hPrevInstance; // предыдущая копия

LPSTR lpCmdLine; // указатель на командную строку

int nCmdShow; // флаг “окно_открыто/окно_закрыто

{ }

Функция WinMain имеет четыре параметра. Первый параметр - hInstance - является дескриптором копии приложения. Это число однозначно определяет каждую копию приложения, исполняемую под Windows. Можно одновременно выполнять несколько копий одного приложения, при этом каждой копии будет соответствовать уникальный индекс.

Второй параметр - hPrevInstance - является дескриптором, определяющим копию данного приложения, которая была последней активной копией. Если параметр hPrevInstance равен нулю, других копий этого приложения не существует.

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

Четвертый параметр - nCmdShow - определяет, как приложение первоначально отображается на дисплее: пиктограммой (nCmdShow = SW_SHOWMINNOACTIVE) или в виде открытого окна (nCmdShow = SW_SHOWNORMAL).

Работа с копиями приложения

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

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

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

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

Если по логике программы запуск двух ее копий нежелателен или не допустим, то можно запретить запуск второй копии, поместив в функцию WinMain проверку:

if (hPrevInstance) return NULL;

Билет № 25 Программирование в MS Windows: Программный интерфейс Win32 API

Программирование -- создание компьютерных программ с помощью языков программирования.

В общем смысле слова, программирование - формализация/формулизация предопределенного/предсказуемого состояния, по реакции на событие, реализуемого средствами математики или естественных наук.

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

Программирование включает в себя:

Анализ

Проектирование -- разработка комплекса алгоритмов

Кодирование и компиляцию -- написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора

Тестирование и отладку -- выявление и устранение ошибок в программах

Испытания и сдачу программ

Сопровождение

Windows API (application programming interfaces) -- общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows. Для создания программ, использующих Windows API, «Майкрософт» выпускает SDK, который называется Platform SDK и содержит документацию, набор библиотек, утилит и других инструментальных средств.

Интерфейс прикладного программирования (иногда интерфейс программирования приложений) (англ. Application Programming Interface, API [эй-пи-ай])[1] -- набор готовых классов, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.

Библиотека (в программировании, от англ. library) -- сборник подпрограмм или объектов, используемых для разработки программного обеспечения.

В некоторых языках то же, что модуль (программирование), в некоторых -- несколько модулей.

С точки зрения ОС и прикладного ПО библиотеки разделяются на: динамические и статические.

Компоненты Willows API

В Willows API входят 3 основные компоненты:

бинарный интерфейс Willows (Willows Binary Interface)

библиотека Willows (Willows Library)

уровень абстракции платформы Willows (Willows Platform-abstraction Layer

Приложения Win32 взаимодействуют с библиотекой Willows таким же образом как и со средой Windows: вызов функций API, прием сообщений, загрузка ресурсов и даже запуск других приложений Win32. Существующие приложения Win32 и динамические библиотеки (DLLs) для доступа к Win32 API на не-Intel платформах взаимодействуют с бинарным интерфейсом Willows. (Этот интерфейс перенаправляет все запросы Windows API к библиотеке Willows, чтобы дать возможность инородным приложениям достигнуть скорости функционирования как на родной платформе.) Подобным же образом, библиотека Willows взаимодействует с областью драйверов, создавая запросы к графическим, оконным или системным операциям и принимая ответы или асинхронные сообщения.

Билет № 26 Программирование в MS Windows: Реестр MS Windows. Файлы и их характеристики

Реестр

Иерархическая централизованная база данных, используемая в ОС Microsoft Windows 98, Windows CE, Windows NT и Windows 2000 для хранения сведений, необходимых для настройки операционной системы для работы с пользователями, программными продуктами и устройствами.

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

Системный реестр заменяет собой большинство текстовых INI-файлов, которые использовались в Windows 3.x, а также файлы конфигурации MS-DOS, такие как Autoexec.bat и Config.sys. Версии реестра для разных версий операционных систем семейства Windows имеют определенные различия.

Куст реестра - это группа разделов, подразделов и параметров реестра с набором вспомогательных файлов, содержащих резервные копии этих данных. Вспомогательные файлы для всех кустов за исключением HKEY_CURRENT_USER хранятся в системах Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista в папке %SystemRoot%\System32\Config. Вспомогательные файлы для куста HKEY_CURRENT_USER хранятся в папке %SystemRoot%\Profiles\Имя_пользователя. Расширения имен файлов в этих папках указывают на тип содержащихся в них данных. Отсутствие расширения также иногда может указывать на тип содержащихся в файле данных.

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

Билет № 27 Понятие операционной системы. Функции ОС. Состав ОС: внутренние (встроенные) и внешние (программы-утилиты) команды

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

Без Операционной системы ПК функционировать не может.

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

WINDOWS 95, WINDOWS 98, WINDOWS ME, WINDOWS XP.

Состав Операционной системы:

31) Программный модуль, управляющий файлами.

32) Командный процессор (выполняет команды пользователя).

33) Программы, обеспечивающие управление работой различных устройств (ввода, вывода, хранения).

34) Графический модуль.

35) Справочная система.

36) Приложения.

Этапы загрузки Операционной системы:

19) Включение ПК.

20) Процессор обращается к ПЗУ за командами начальной загрузки.

21) Тестирование подключенных устройств.

22) Вывод характеристик найденных устройств.

23) Загружается Операционная система из внешней памяти (HDD) в оперативную.

24) Операционная система готова принимать задания от пользователя (Рабочий Стол).

25) . Функции операционной системы.

Страницы: 1, 2, 3, 4, 5, 6


© 2010 BANKS OF РЕФЕРАТ