Операционные системы
Функции операционных систем и история их развития. Подходы к обеспечению информационной безопасности. Однозадачные и многозадачные, однопользовательские и многопользовательские, однопроцессорные и многопроцессорные, локальные и сетевые системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.01.2012 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Не секрет, что в то время ОС CP/M производства Digital Research являлась чуть ли не единственной операционной системой для 8-разрядных микрокомпьютеров, своего рода стандартом де-факто. Следуя за технологическим прогрессом, Digital Research усиленно работает над новой, 16-разрядной версией своей ОС (CP/M-86), предназначенной для использования в компьютерах на основе процессора 8086. Становится понятно, почему Digital Research заинтересовалась разработкой SCP. Однако Брок сотрудничать отказывается. Между тем выход CP/M-86 намечен на конец 1979 г.
Но даже к апрелю 1980 г. CP/M-86 так и не выходит -- Брок сильно обеспокоен. И действительно, кто купит компьютеры, пусть даже с новым 8086, но без набора программного обеспечения? Думается, только либо разработчики, либо энтузиасты, желающие быть всегда на гребне технологической волны. Патерсон предлагает Броку написать собственную операционную систему, не дожидаясь, пока Гари Килдалл закончит свою CP/M-86.
Итак, наш герой чувствует, что сможет проделать аналогичную работу и в отношении 8086, причем уверен, что его ОС (далее по тексту DOS -- Disk Operating System, дисковая операционная система) окажется много лучше CP/M. План Тима состоял из двух этапов. Первым делом Патерсон предполагает создание «быстрой и грязной» (quick and dirty) DOS -- для того чтобы немедленно заполнить недостающее звено в цепи продаж компьютеров на базе 8086. Далее планировалась тщательная отладка (так никогда, к сожалению, и не реализованная) готовой DOS, которая затем должна была явиться в двух версиях: одно- и многопользовательской. Брок соглашается.
Патерсон выбрал верную стратегию для разработки DOS. В первую очередь была поставлена цель максимально облегчить написание ПО сторонними программистами в окружении DOS, а также упростить процесс переноса на другие платформы. Дело в том, что программы для 8-разрядной CP/M не могли непосредственно исполняться 16-разрядным 8086, их следовало немного переработать с учетом схемы адресации данных, поддерживаемой новым процессором. А поскольку CP/M лидировала в качестве операционной системы на микрокомпьютере, под нее были написаны тысячи программ, которые и требовалось перенести в среду DOS. Для этого Тим решил добиться совместимости с уже существующей 8-разрядной CP/M на уровне API-интерфейса. Это значительно облегчило программирование в DOS: все выглядело так, будто вы пишете под старой доброй CP/M.
Во-вторых, желая наделить свою операционную систему максимальной эффективностью и быстродействием, он пишет ее на чистом ассемблере.
В период с апреля по июль 1980 г. Патерсон тратит почти половину своего времени на создание QDOS. И уже в августе QDOS 0.11 начала продаваться в комплекте с компьютерами производства SCP на основе Intel 8086. Брок вновь связывается с Microsoft и предлагает ей заняться адаптированием существующего ПО под окружение QDOS. Гейтс выражает готовность, но... только за деньги.
В декабре 1980 г. Патерсон выпускает новую версию QDOS под маркой 86-DOS 0.33. Именно ее исходные тексты (порядка 4 тыс. ассемблерных строк) в последующем и приобретает Microsoft.
Гениальный Гейтс. Время MS-DOS
Некоторое время спустя Microsoft все же заключает с SCP сделку: Гейтс единоразово выплачивает Броку сумму в 10 тыс. долл. за право продажи 86-DOS и по 15 тыс. долл. за каждого OEM-партнера (Original Equipment Manufacturer, изготовитель комплексного оборудования), согласившегося купить 86-DOS. При этом, разумеется, Билл не раскрывает (это было условием сделки) того, что уже имеющимся партнером выступает сама IBM. В итоге удовлетворенные стороны подписывают необходимые бумаги: Брок получает вожделенные 25 тыс. долл., Microsoft -- 86-DOS.
Между тем, зная, что IBM сильно заинтересована в скорейшем получении ОС для разрабатываемого ею персонального компьютера IBM PC, а договориться с Килдаллом ей так и не удалось, Microsoft разрабатывает гениальный план.
В апреле 1981 г. Тим Патерсон покидает Seattle Computer Products (успев выпустить, кстати, 86-DOS 1.0), а в мае по приглашению Гейтса устраивается на работу в Microsoft. В этом Билл заинтересован, как никто другой: ведь необходимо избежать возможных скандалов вокруг авторских прав на 86-DOS, а также облегчить труд Microsoft по адаптации этой ОС под запросы IBM. До невозможности удивленный и даже рассерженный тем фактом, что заказчиком операционной системы выступает IBM, Патерсон все же продолжает работу над 86-DOS под крылом заботливого Гейтса.
В самом напряженном темпе, чрезвычайно эффективно используя отпущенное время, Патерсон перерабатывает 86-DOS под требования IBM. Разумеется, сроки поджимают -- Тим не успевает до конца выполнить все поставленные условия. В июле он передает то, что имелось на тот день, -- местами недоработанную MS-DOS 1.0. Голубой гигант изменяет название операционной системы на PC-DOS 1.0 и начинает ее поставки вместе со своим IBM PC.
Напомним, что Гейтс приобрел исходные тексты 86-DOS 0.33, хотя в апреле 1981 г. Патерсон выпустил 86-DOS 1.0. Понятно, что MS-DOS 1.0, полученная в результате переработки Патерсоном 86-DOS 0.3, уже не могла служить камнем преткновения для выяснения, кому же принадлежат авторские права на DOS -- Броку (Seattle Computer Products) или Гейтсу (Microsoft).
Когда Гари Килдалл увидел PC-DOS, то высказался примерно так: «Я был сильно поражен потрясающей схожестью между PC-DOS и СР/М. Я был вне себя от злости на IBM и Microsoft. Все, кто хоть немного разбирался в компьютерах, могли убедиться, что даже команды этих операционных систем были одинаковыми. Это было просто невероятно!»
Возмущенный Килдалл выразил свое недоумение по поводу того, что такой гигант, как IBM, умудрился сделать подобное. Однако все-таки не решился предпринимать какие-либо судебные меры в отношении корпорации -- как из-за своего склада характера, так и по причине поступившего от IBM предложения. Компания посулила в качестве компенсации включить только что созданную Килдаллом 16-разрядную версию ОС (CP/M-86) в состав ПО, поставляемого с IBM PC. Но все оказалось еще хуже, чем хотелось несчастному Килдаллу.
Одна из первых версий MS-DOS 1.0
Так, при приобретении IBM PC покупателю предлагалось выбрать из трех ОС: PC-DOS, CP/M-86 и P-System UCSD (ОС с интегрированным языком Паскаль). Благодаря тому что PC-DOS оказалась самой дешевой, выбор потребителя пал именно на нее -- наметилась тенденция комплектовать все последующие компьютеры IBM PC только PC-DOS.
Что касается коммерческого видения DOS, до определенных пор для Microsoft эта ОС представлялась исключительно как вотчина IBM -- Гейтс уделял много времени рынку языков программирования. Однако уже в 1982 г. Microsoft решает выйти на коммерческую арену операционных систем, заинтересовав ею и своих OEM-партнеров. Тогда же она проводит политику перехода с CP/M-версий своих продуктов (тех же языков программирования) исключительно на их DOS-реализации. Подобный шаг значительно ослабил лидирующие позиции Digital Research в монополии де-факто на операционные системы для микрокомпьютеров.
Необходимо понимать, почему Microsoft удалось пойти собственным путем вразрез с планами IBM, начав собственную кампанию по продаже MS-DOS. Во-первых, сразу после получения вожделенной MS-DOS 1.0 для своего персонального компьютера IBM, конечно же, проводит ее ревизию и, обнаружив порядка 300 ошибок, переписывает неверные участки, попутно переименовав в PC-DOS. По причине этой вынужденной модификации первоначальной версии MS-DOS и IBM, и Microsoft обладают авторскими правами на данную операционную систему.
Во-вторых, Гейтсу, уверенному в будущем MS-DOS, удалось убедить IBM не заключать с ним исключительного лицензионного соглашения по передаче всех прав на DOS, а также уговорить корпорацию продавать ПК отдельно от операционной системы. По условиям контракта Microsoft получала некоторый процент с каждого проданного IBM PC. Забавно, но нынешние менеджеры изучают детали этого договора в качестве примера катастрофической ошибки со стороны IBM.
Правильная маркетинговая политика Microsoft вкупе с успехом IBM PC послужили созданию прочного 15-летнего фундамента для DOS. В течение этого срока, вплоть до прихода на рынок Windows 95, DOS непрестанно развивалась, совершенствовалась и впитывала лучшие разработки третьих фирм, оставаясь при этом, конечно же, доминирующей ОС в нише персональных компьютеров. Учитывая плановую стратегию перехода из 16-разрядного мира DOS в сферу 32-разрядных Windows 95 и Windows NT, как относительно перспективных операционных сред, Microsoft постепенно прекратила обновления и реализацию MS-DOS.
На сегодняшний день можно смело утверждать, что эпоха DOS завершилась. Путь DOS -- это путь любой мало-мальски успешной разработки в золотом веке персональных компьютеров. Опыт ее распространения -- это опыт своевременной и верной маркетинговой политики в отношении перспективных бизнес-решений. Итоги ее эпохи -- это поколение программистов на IBM PC -- коммерчески наиболее удачной модели персонального компьютера.
Windows
Microsoft Windows -- семейство проприетарных операционных систем корпорации Майкрософт (Microsoft), ориентированных на применение графического интерфейса при управлении. Изначально были всего лишь графическими надстройками для MS-DOS.
В настоящее время под управлением операционных систем семейства Windows, по данным ресурса Netmarketshare (Net Applications) на 2009 год, работает около 89 % персональных компьютеров.
Операционные системы Windows работают на платформах x86, x86-64, IA-64, ARM. Существовали также версии для DEC Alpha, MIPS, PowerPC и SPARC.
История Windows
История Windows берет свое начало в 1986 году, когда появилась первая версия системы. Она представляла собой набор программ, расширяющих возможности существующих операционных систем для большего удобства в работе. Через несколько лет вышла вторая версия, но особой популярности система Windows не завоевала. Однако в 1990 году вышла новая версия - Windows 3.0, которая стала использоваться на многих персональных компьютерах. Популярность новой версии Windows объяснялась несколькими причинами. Графический интерфейс позволяет работать с объектами вашего компьютера не с помощью команд, а с помощью наглядных и понятных действий над значками, обозначающими эти объекты. Возможность одновременной работы с несколькими программами значительно повысила удобство и эффективность работы. Кроме того, удобство и легкость написания программ для Windows привели к появлению все больше разнообразных программ, работающих под управлением Windows. Наконец, лучше была организована работа с разнообразным компьютерным оборудованием, что также определило популярность системы. Последующие версии Windows были направлены на повышение надежности, а также поддержку средств мультимедиа (версия 3.1) и работу в компьютерных сетях (версия 3.11).
Параллельно с разработкой Windows компания Microsoft в 1988 году начала работу над новой операционной системой, названной Windows NT. Перед новой системой были поставлены задачи существенного повышения надежности и эффективной поддержки сетевой работы. При этом интерфейс системы не должен был отличаться от интерфейса Windows 3.0. Интересно, что самой распространенной версией Windows NT также стала третья версия. В 1992 году появилась версия Windows NT 3.0, а в 1994 году - Windows NT 3.5.
Процесс развития операционных систем не стоит на месте, и в 1995 появилась система Windows 95, ставшая новым этапом в истории Windows. По сравнению с Windows 3.1 значительно изменился интерфейс, выросла скорость работы программ. Одной из новых возможностей Windows 95 была возможность автоматической настройки дополнительного оборудования компьютера для работы без конфликтов друг с другом. Другой важной особенностью системы стала возможность работы с Интернетом без использования дополнительных программ.
Интерфейс Windows 95 стал основным для всего семейства Windows, и в 1996 появляется переработанная версия Windows NT 4.0, имеющая такой же интерфейс, как и Windows 95. Продолжением развития Windows 95 стала операционная система, появившаяся в 1998 году. При сохранившемся интерфейсе внутренняя структура была значительно переработана. Много внимания было уделено работе с Интернетом, а также поддержке современных протоколов передачи информации - стандартов, обеспечивающих обмен информацией между различными устройствами. Кроме того, особенностью Windows 98 является возможность работы с несколькими мониторами.
Следующим этапом в развитии Windows стало появление Windows 2000 и Windows Me (Millennium Edition - редакция тысячелетия). Система Windows 2000 разработана на основе Windows NT и унаследовала от нее высокую надежность и защищенность информации от постороннего вмешательства. Операционная система Windows Me стала наследницей Windows 98, но приобрела многие новые возможности. Прежде всего, это улучшенная работа со средствами мультимедиа, возможность записывать не только аудио, но и видеоинформацию, мощные средства восстановления информации после сбоев и многое другое. Постепенно разница между разными системами Windows стирается, и новая операционная система Windows XP предназначена для замены как Windows 2000, так и Windows Me.
Управление памятью в Windows
Каждому процессу в Win32 доступно линейное 4-гигабайтное (2^32 = 4 294 967 296) виртуальное адресное пространство. Обычно верхняя половина этого пространства резервируется за операционной системой, а вторая половина доступна процессу.
Виртуальное адресное пространство процесса доступно всем потокам этого процесса. Иными словами, все потоки одного процесса выполняются в едином адресном пространстве.
С другой стороны, механизм виртуальной памяти позволяет изолировать процессы друг от друга. Потоки одного процесса не могут ссылаться на адресное пространство другого процесса.
Виртуальная память может вовсе не соответствовать структуре физической памяти. Диспетчер памяти транслирует виртуальные адреса на физические, по которым реально хранятся данные. Поскольку далеко не всякий компьютер в состоянии выделить по 4 Гбайт физической памяти на каждый процесс, используется механизм подкачки (swapping). Когда оперативной памяти не хватает, операционная система перемещает часть содержимого памяти на диск, в файл (swap file или page file), освобождая, таким образом, физическую память для других процессов. Когда поток обращается к странице виртуальной памяти, записанной на диск, диспетчер виртуальной памяти загружает эту информацию с диска обратно в память.
Планирование потоков
Чтобы все потоки работали, операционная система отводит каждому из них определенное процессорное время. Тем самым создается иллюзия одновременного выполнения потоков (разумеется, для многопроцессорных компьютеров возможен истинный параллелизм). В Windows реализована система вытесняющего планирования на основе приоритетов, в которой всегда выполняется поток с наибольшим приоритетом, готовый к выполнению. Выбранный для выполнения поток работает в течение некоторого периода, называемого квантом. Квант определяет, сколько времени будет выполняться поток, пока операционная система не прервет его. По окончании кванта операционная система проверяет, готов ли к выполнению другой поток с таким же (или большим) уровнем приоритета. Если таких потоков не оказалось, текущему потоку выделяется еще один квант. Однако поток может не полностью использовать свой квант. Как только другой поток с более высоким приоритетом готов к выполнению, текущий поток вытесняется, даже если его квант еще не истек.
Квант не измеряется в каких бы то ни было единицах времени, а выражается целым числом. Для каждого потока хранится текущее значение его кванта. Когда потоку выделяется квант процессорного времени, это значит, что его квант устанавливается в начальное значение. Оно зависит от операционной системы. Например, для Win2000 Professional начальное значение кванта равно 6, а для Win2000 Server - 36.
Это значение можно изменить вызвав Control Panel - > System -> Advanced -> Performance options. Значение "Applications" - как для Win2000 Professional; "Background Services" - как для Win2000 Server.
Или напрямую в ключе реестра HKLM Win32PrioritySeparation.
Всякий раз, когда возникает прерывание от таймера, из кванта потока вычитается 3, и так до тех пор, пока он не достигнет нуля. Частота срабатывания таймера зависит от аппаратной платформы. Например, для большинства однопроцессорных x86 систем он составляет 10мс, а на большинстве многопроцессорных x86 систем - 15мс.
В любом случае операционная система должна определить, какой поток выполнять следующим. Выбрав новый поток, операционная система переключает контекст. Эта операция заключается в сохранении параметров выполняемого потока (регистры процессора, указатели на стек ядра и пользовательский стек, указатель на адресное пространство, в котором выполняется поток и др.), и загрузке аналогичных параметров для другого потока, после чего начинается выполнение нового потока.
Планирование в Windows осуществляется на уровне потоков, а не процессов. Это кажется понятным, так как сами процессы не выполняются, а лишь предоставляют ресурсы и контекст для выполнения потоков. Поэтому при планировании потоков, система не обращает внимания на то, какому процессу они принадлежат. Например, если процесс А имеет 10 готовых к выполнению потоков, а процесс Б - два, и все 12 потоков имеют одинаковый приоритет, каждый из потоков получит 1/12 процессорного времени.
Приоритеты
В Windows существует 32 уровня приоритета, от 0 до 31. Они группируются так: 31 - 16 уровни реального времени; 15 - 1 динамические уровни; 0 - системный уровень, зарезервированный для потока обнуления страниц (zero-page thread).
При создании процесса, ему назначается один из шести классов приоритетов:
Real time class (значение 24),
High class (значение 13),
Above normal class (значение 10),
Normal class (значение 8),
Below normal class (значение 6),
и Idle class (значение 4).
В Windows NT/2000/XP можно посмотреть приоритет процесса в Task Manager.
Above normal и Below normal появились начиная с Win2000.
Приоритет каждого потока (базовый приоритет потока) складывается из приоритета его процесса и относительного приоритета самого потока. Есть семь относительных приоритетов потоков:
Normal: такой же как и у процесса;
Above normal: +1 к приоритету процесса;
Below normal: -1;
Highest: +2;
Lowest: -2;
Time critical: устанавливает базовый приоритет потока для Real time класса в 31, для остальных классов в 15.
Idle: устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1
Привязка к процессорам
Если операционная система выполняется на машине, где установлено более одного процессора, то по умолчанию, поток выполняется на любом доступном процессоре. Однако в некоторых случаях, набор процессоров, на которых поток может работать, может быть ограничен. Это явление называется привязкой к процессорам (processor affinity). Можно изменить привязку к процессорам программно, через Win32-функции планирования.
Создание процессов
Создание Win32 процесса осуществляется вызовом одной из таких функций, как CreateProcess, CreateProcessAsUser (для Win NT/2000) и CreateProcessWithLogonW (начиная с Win2000) и происходит в несколько этапов:
- Открывается файл образа (EXE), который будет выполняться в процессе. Если исполняемый файл не является Win32 приложением, то ищется образ поддержки (support image) для запуска этой программы. Например, если исполняется файл с расширением.bat, запускается cmd.exe и т.п.
В WinNT/2000 для отладки программ реализовано следующее. CreateProcess, найдя исполняемый Win32 файл, ищет в SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Option раздел с именем и расширением запускаемого файла, затем ищет в нем параметр Debugger, и если строка не пуста, запускает то, что в ней написано вместо данной программы.
- Создается объект Win32 "процесс".
- Создается первичный поток (стек, контекст и объект "поток").
- Подсистема Win32 уведомляется о создании нового процесса и потока.
- Начинается выполнение первичного потока.
- В контексте нового процесса и потока инициализируется адресное пространство (например, загружаются требуемые DLL) и начинается выполнение программы.
Пример создания процесса calc.exe:
#include <windows.h>
int main(int argc, char* argv[])
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if(!CreateProcess(NULL, "c:/windows/calc.exe", NULL, NULL, FALSE,
0, NULL, NULL, &si, &pi))
return 0;
// Close process and thread handles.
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
Завершение процессов
Процесс завершается если:
- Входная функция первичного потока возвратила управление.
- Один из потоков процесса вызвал функцию ExitProcess.
- Поток другого процесса вызвал функцию TerminateProcess.
Когда процесс завершается, все User- и GDI-объекты, созданные процессом, уничтожаются, объекты ядра закрываются (если их не использует другой процесс), адресное пространство процесса уничтожается.
Создание потоков
Первичный поток создается автоматически при создании процесса. Остальные потоки создаются функциями CreateThread и CreateRemoteThread (только в Win NT/2000/XP).
Завершение потоков
Поток завершается если
- Функция потока возвращает управление.
- Поток самоуничтожается, вызвав ExitThread.
- Другой поток данного или стороннего процесса вызывает TerminateThread.
- Завершается процесс, содержащий данный поток.
История Mac OS X
В IT индустрии далеко не последнюю роль здесь сыграла компания Apple.
История компании Apple началась тридцать лет назад, когда два друга Стив Джобс и Стив Возняк решили основать собственную компанию по производству и выпуску компьютеров. Официально Apple была основана 1 апреля 1976 года, и именно тогда на рынке появился собранный вручную компьютер Apple Computer I - за десять месяцев было собрано и продано 175 штук по цене 666,66 долларов. По сути дела, Apple I представлял собой материнскую плату без корпуса, клавиатуры, звука и графики.
В феврале 1977 года президентом Apple становится Майкл Скотт. Существенным шагом вперед стал выпуск в апреле этого же года Apple Computer II - первый персональный компьютер с цветной графикой. Здесь была поддержка вывода на экран различных цветов, разработаны команды для работы со звуком и, следовательно, имелся встроенный динамик и клавиатура, появилась возможность оперативной смены изображения на дисплее, был блок питания и т.д. Вся эта «начинка» была упакована в специально разработанный литой пластиковый корпус, что очень выгодно отличало новый Apple от других компьютеров, имевших вид неуклюжих ящиков из листового металла. Тогда же появился известный теперь всему миру логотип - надкушенное разноцветное яблоко - созданный рекламным агентством Regis McKenna.
В мае 1979 года сотрудник Apple Джеф Раскин начал работать над новым компьютером «все в одном», который был ориентирован на рядового пользователя. Именно этот период и можно назвать началом рождения первого Macintosh.
В 1983 году Apple выпустил Lisa - первый персональный компьютер с графическим пользовательским интерфейсом, названный так в честь дочери Джобса. Но из-за довольно высокой цены и ограниченного набора приложений эта модель не получила широкого распространения. Хотя с коммерческой точки зрения Lisa была полным провалом, тем не менее, ее выпуск не прошел зря - использованная здесь операционная система Lisa 7/7 имела оконный интерфейс, буфер, который позволял передавать данные между приложениями и многое другое.
Самый первый свой Macintosh компания Apple официально представила 22 января 1984 года рекламным роликом «1984», основанным на сюжете книги Д. Оруэлла. Этот клип был назван рекламным клипом десятилетия, получил гран-при в Каннах и по сей день считается в истории рекламы одним из самых оригинальных. Это событие стало значимой вехой в истории персональных компьютеров. С появлением Macintosh в корне изменилось представление людей о компьютерах, и были заложены те основы, которые в дальнейшем стали использовать все компьютерные фирмы. В сентябре этого же года Apple начинает продавать компьютеры Macintosh 512K по цене 2495 долларов.
Шли годы и, естественно, что компьютерная отрасль тоже не стояла на месте. В течение всего времени совершенствования компьютеров Macintosh развивалась и их операционная система Mac OS (System), то есть расширялись новые возможности, менялись ее отдельные элементы и внедрялись новые технологии. Когда Mac OS была впервые представлена в 1984 году, то для того времени она являла собой совершенство современного программирования.
Система с самого начала разрабатывалась с расчетом на то, чтобы любой пользователь, не имея нужной квалификации, впервые сев за компьютер, мог, сразу же через несколько минут начать работать на нем, не вникая в технические параметры. Операционные системы для других платформ, которые появились несколько лет спустя, предлагали такие вещи, как защищенная память и многозадачность, что в конечном итоге давало лучший пользовательский опыт. Apple не встраивала этих вещей в Mac OS потому, что микропроцессоры, которые были доступны во время разработки Mac OS, не были достаточно мощными. Но течением времени Mac OS обрастала дополнительной функциональностью, и при этом оставалась наиболее легкой в изучении и использовании. Удобство и простота работы в этой системе были одними из главных целей ее создателей, и внутренняя логика взаимодействия отдельных частей операционной системы была в первую очередь подчинена этим требованиям.
Когда перед Apple встал вопрос о разработке операционной системы нового поколения, то, взвесив все «за» и «против» компания в качестве основы для новой Mac OS решила воспользоваться разработками фирмы NeXT, которая использовала операционные системы под общим назва¬нием UNIX. Именно система OpenStep (NeXTStep) стала основой для построения новой Mac OS. Разработчикам новой Mac OS надо было обеспечить плавный переход от старой системы к новой так, чтобы пользователи могли по-прежнему работать с большим количеством уже имеющихся программ, пока не будут созданы более мощные и удобные. Так появилась новая система Mac OS X.
Структура Mac OS X
Наиболее удачным описанием общей концепции Mac OS X считается представление операционной системы в виде некоторой многоуровневой структуры, в которой каждый уровень имеет свое назначение и свой круг решаемых задач.
Mac OS X состоит из нескольких частей, вложенных одна в другую. На самом верху - новый пользовательский интерфейс Aqua. Под ним - слой поддержки прикладных программ: окружения Classic, Carbon, Cocoa, Java. Еще глубже - графика и мультимедиа: Quartz, OpenGL, QuickTime. И, наконец, в самой глубине - главный двигатель системы, ядро Darwin.
Ядро Darwin
В основе операционной системы Mac OS X находится ядро Darwin. Чтобы ускорить ввод продукта и повысить его качество компания Apple при разработке Darwin, открыла доступ к исходным кодам для всех желающих. Модули ядра Darwin были полностью открыты и доступны для рограммистов-разработчиков, вплоть до исходных текстов. Таким образом, над разработкой и реализацией Darwin трудилось огромное количество людей - свыше 100 тыс. человек.
Центральной частью Darwin является микроядро Mach 3, пришедшее в Mac OS из системы NextStep/OpenStep. Оно отвечает за самые базовые особенности поведения операционных систем более высокого уровня. Преимущество этой микроядерной архитектуры перед архитектурой с монолитным ядром состоит в том, что все базовые функции ядра выполняются в виде небольшой компоненты, которая работает в привилегированном режиме, остальные функции системы оформлены в виде подключаемых модулей и работают в обычном, пользовательском, режиме. Таким образом, значительно повышается надежность, стало довольно легко модифицировать ключевые компоненты ОС и т.д.
Забегая вперед, можно сказать, что в результате, в 2001 году после пяти лет выхода различных ядер (Rhapsody, Darwin) и получилась Mac OS X 10.0 (Cheetah) - на базе микроядра Mach, позаимствованного из NeXT OS и BSD, с системой эмуляции старых Mac OS Classic, рядом новых технологий, направленных на то, чтобы новая ОС от Apple соответствовала требованиям времени. В 2001 году вышли Mac OS X 10.1 (Puma), в 2002 году - Mac OS X 10.2 (Jaguar), в 2003 - Mac OS X 10.3 (Panther), в 2005 - Mac OS X 10.4 (Tiger). Mac OS X 10.4
Итак, на самом нижнем уровне расположено открытое интегрированное ядро, которое называется Darwin.Компьютерный термин «ядро» обычно означает небольшую, как правило, монолитную часть системы, в обязанности которой входит выполнение минимальных базовых функций для поддержки всех основных сервисов операционной системы. В Mac OS X понятие ядра существенно расширено. Под ядром в Маc OS X подразумеваются все программные модули, исполняемые в адресном пространстве ядра. Darwin объединяет в себе несколько технологий, основные из которых:
микроядро Mach 3.0;
сервисы операционной системы на базе BSD 4.4-Lite;
быстрые, основанные на сложившихся стандартах сетевые модули;
система ввода-вывода (I/O Kit);
поддержка различных файловых систем.
Микроядро Mach
Микроядро Mach(разработка Carnegie-Mellon University) является основой всего ядра Darwin, так как выполняет все критически важные функции операционной системы. Оно управляет загрузкой процессора, создает расписания и отслеживает их выполнение, распределяет память и обеспечивает ее защиту, формирует централизованную инфраструктуру системных сообщений для других уровней операционной системы.
Защита памяти. Mach заботится о том, чтобы никакая программа не смогла записать какие-либо данные в адресное пространство другой программы или системы. Поэтому сбои и нарушения в работе прикладной программы не приводят к краху всей системы: достаточно отключить программу, вызвавшую сбой, и продолжить работу.
Вытесняющая многозадачность. В современных системах множество задач разделяют ресурсы процессора. Mach контролирует загрузку процессора, составляет расписания, устанавливает приоритеты задач, чтобы обеспечить максимальную эффективность работы процессора и предоставить всем задачам необходимое процессорное время.
Виртуальная память. Каждой задаче в Mac OS X выделяется свое виртуальное адресное пространство объемом до 4 Гбайт. Но реальное выполнение любой задачи возможно только в истинной физической памяти - оперативной памяти компьютера. Mach осуществляет выделение задачам пространства физической памяти и преобразование виртуальных адресов в адреса физической памяти. Обычно только один фрагмент программы или данных, находящихся в виртуальном адресном пространстве задачи, загружен в физическую память. Если требуется другой фрагмент, он загружается в память с носителя данных, обычно с магнитного диска, вытесняя предыдущий фрагмент. Mach контролирует загрузку и освобождение памяти, обеспечивая эффективную работу многих задач одновременно.
Режим реального времени. Для процессов, требующих быстрой реакции, Mach обеспечивает доступ к ресурсам процессора за минимальное время.
Система BSD
Тесно интегрированная с микроядром Mach, система BSD в Mac OS X является несколько видоизмененной версией операционной системы BSD 4.4-Lite (Berkeley Software Distribution, разработка University of California at Berkeley). Версия BSD ядра Darwin осуществляет в Mac OS X поддержку различных файловых систем и сетевых технологий. Кроме того, BSD отвечает:
за систему безопасности, идентификацию и права пользователей,
преобразование вызовов из уровня программ на уровень системы,
BSD-модель процессов,
реализацию механизма BSD sockets,
реализацию так называемых нитей процессов (POSIX threads),
Application Program Interface (API) ядра.
Система ввода-вывода
Система ввода-вывода (I/O Kit) построена на объектно-ориентированной модели и соответствующих библиотеках. Она поддерживает множество устройств различного типа, облегчает написание драйверов, является модульной и расширяемой системой. Важнейшие ее черты:
истинный режим plug-and-play,
динамическое управление устройствами (горячее подключение),
динамическая загрузка драйверов по мере необходимости,
управление энергопотреблением как для портативных, так и для настольных компьютеров,
многопроцессорная обработка.
На уровне пользователя программной основой сетевых и коммуникационных средств Mac OS X является технология OpenTransport.OpenTransport Mac OS X поддерживает большинство функций, имевшихся еще в Mac OS 8 и 9, хотя кое-что пришлось изменить. Для работы в сети в Mac OS X имеется:
стек протоколов ТСРДР от BSD 4.4,
поддержка IP и AppleTalk,
поддержка нескольких IP-адресов при одном сетевом интерфейсе (multihoming),
маршрутизация (routing),
многоадресная передача одних и тех же данных нескольким адресатам -- multicast,
реализация AppleTalk на базе технологии socket,
поддержка Mac OS Classic,
набор модулей для работы с сетью (OpenTransport), переписанный для работы в окружении Carbon.
Mac OS X поддерживает следующие типы сетевых сред:
Ethernet-10/100Base-T;
Ethernet-1000Base-T;
Jumbo Frame;
Последовательная передача;
Беспроводная передача.
Mac OS X поддерживает следующие стандартные сетевые протоколы:
TCP/IP, UDP/IP;
PPP;
PAP;
HTTP;
FTR;
DNS;
SLP;
DHCP и BOOTP;
Для добавления новых сетевых технологий без необходимости перекомпиляции ядра предусмотрен механизм сетевых расширений ядра -- Network Kernel Extensions. Этот механизм позволяет не только добавлять отдельные сетевые модули, но и полный набор (стек) новых протоколов, которые динамически загружаются в ядро или выгружаются из ядра по мере необходимости.
Используемая литература
Эндрю Стюарт Таненбаум, Modern Operating Systems, ISBN 0-13-031358-0
Эндрю Стюарт Таненбаум, Operating Systems: Design and Implementation, ISBN 0-13-638677-6
http://www.wikipedia.org/
http://education.aspu.ru
http://www.intuit.ru
Размещено на Allbest.ru
Подобные документы
Эволюция и классификация ОС. Сетевые операционные системы. Управление памятью. Современные концепции и технологии проектирования операционных систем. Семейство операционных систем UNIX. Сетевые продукты фирмы Novell. Сетевые ОС компании Microsoft.
творческая работа [286,2 K], добавлен 07.11.2007История появления первых операционных систем, мультипрограммные операционные системы для мэйнфреймов. Первые локальные и глобальные сети. Развитие операционных систем в 80-е годы. Построение двумерных графиков в MathCAD, решение систем уравнений.
контрольная работа [559,1 K], добавлен 11.06.2014Понятие операционной системы. История ее создания и развития. Разновидности современных операционных систем. Основные функции ОС общего и специального назначения. Вычислительные и операционные системы, их функции. Генерация операционной системы.
курсовая работа [46,8 K], добавлен 18.06.2009Назначение и функции операционных систем компьютера. Аппаратные и программные ресурсы ЭВМ. Пакетные ОС. Системы с разделением времени: Multics, Unix. Многозадачные ОС для ПК с графическим интерфейсом: Windows, Linux, Macintosh. ОС для мобильных устройств.
курсовая работа [53,4 K], добавлен 05.12.2014Характеристика, функции, типы, виды и состав операционных систем. Первая коммерческая система unix system. Операционные системы, основанные на графическом интерфейсе, пи–система, семейство unix. История и основные предпосылки появления ОС Windows.
курсовая работа [66,9 K], добавлен 18.01.2011Основные классификации операционных систем. Операционные системы семейства OS/2, UNIX, Linux и Windows. Разграничение прав доступа и многопользовательский режим работы. Пользовательский интерфейс и сетевые операции. Управление оперативной памятью.
реферат [22,8 K], добавлен 11.05.2011Однопроцессорные вычислительные системы не справляются с решением военно-прикладных задач в реальном времени, поэтому для повышения производительности вычислительных систем военного назначения используются многопроцессорные вычислительные системы (МВС).
реферат [70,1 K], добавлен 30.05.2008Особенности современного этапа развития операционных систем. Назначение операционных систем, их основные типы. Операционные системы мини-компьютеров. Принцип работы матричного принтера, проектирование и воспроизведение произвольных символов для них.
курсовая работа [258,2 K], добавлен 23.06.2011Операционные системы пакетной обработки, разделения времени, реального времени. Особенности алгоритмов управления ресурсами. Поддержка многопользовательского режима. Вытесняющая и невытесняющая многозадачность. Операционные системы и глобальные сети.
реферат [55,0 K], добавлен 11.12.2011Важность операционной системы для мобильных устройств. Популярность операционных систем. Доля LINUX на рынке операционных систем. История OS Symbian, BlackBerry OS, Palm OS. Отличия смартфона от обычного мобильного телефона. Учет ограничений по памяти.
презентация [477,3 K], добавлен 01.12.2015