Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Понятия вычислительного процесса и ресурса. Независимые утилиты примеры


Отдел расследования инцидентов: Наша подборка программ для проведения forensic-расследований

Содержание статьи

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

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

 

Анализ истории и файлов браузера

Вот тебе пример. Хакер полностью отрицает свою причастность ко взлому некоторого онлайн-магазина и уверяет, что вообще незнаком со взломом. Но после первой же экспертизы ему показывают толстый, напечатанный на A4 отчет, в котором зафиксирована история его сетевой активности, включающая запись о посещении того самого злополучного магазина и, что хуже всего, данные из кэша браузера, которые могли там оказаться только по факту доступа пользователя к защищенной части сайта. Факт взлома на лицо. А помимо этого в системе «случайно» обнаружатся авторизированные SSL-сертификаты для каких-нибудь компрометирующих сайтов. Многие из этих данных свободно извлекаются из папок вроде Documents and Settings\user\Local Settings\History\ или Documents and Settings\user\Local Settings\Temporary Internet Files.

Но намного более полный отчет и за очень короткий промежуток времени позволяют составить специализированные утилиты. Для браузера Chrome это ChromeAnalysis (forensic-software.co.uk/chromeanalysis.aspx). На выходе из программы эксперту предоставляется подробная информация об истории посещения сайтов, кукисах, букмарках, скачанных файлах, заполненных формах, сохраненных логинах и т.д. — короче говоря, всему, что удастся выудить из системы в ходе своеобразной рыбалки. От тех же разработчиков есть аналогичная утилита для Firefox — FoxAnalysis (forensic-software.co.uk/foxanalysis.aspx). Если ты думаешь, что кнопка «Удалить все приватные данные» непременно затрет все логи в Firefox, попробуй ее заюзать, и результат тебя удивит. Более универсальной утилитой является Web Historian (www.mandiant.com), поддерживающая сразу Firefox 2/3+, Chrome 3+, Safari 3+ и Internet Explorer вплоть до 8 версии. Одна из приятных опций — произвольные фильтры, позволяющие из огромного массива данных извлечь только то, что тебя интересует. Например, историю загрузок файлов определенного типа (скажем, PDF). Помимо этого в программу встроены инструменты Website Analyzer и Website Profiler. Первый позволяет визуализировать history-данные, превратив скучную таблицу в красивые графики, которые классно дополняют отчет. А Website Profiler генерирует обобщающую карточку для любого домена, отображая все связанные с ним элементы: время посещений, названия страниц, кукисы, закэшированные файлы, данные из форм и т.д. Вся информация хранится во встроенной SQLite-базе данных, что позволяет программе так лихо ею оперировать.

Отличительной чертой всех трех утилит является необходимость в их запуске на целевой системе. И хотя можно произвольно указать файл с историей или папку с профайлами пользователя, это не совсем то, что нужно профессиональной экспертизе. При проведении анализа всегда создается полный образ жестких дисков (об этом ниже) и, чтобы никак не повлиять на целостность данных, работа ведется именно с ними. Коммерческий продукт от Digital Detective (www.digitaldetective.co.uk) также предназначен для анализа файлов браузера, но извлекает данные из образов носителя, а также дампов памяти (в том числе crash-файлов, которые создаются при отказе системы), временных файлов, созданных при переводе компьютера в режим гибернации, точек восстановления и т.д. Другая программа от тех же разработчиков HstEx (уже бесплатная) и вовсе является уникальной, потому как восстанавливает очищенную историю браузера и файлы из кэша, которые были удалены! В качестве исходных данных ей необходим образ диска (в одном из девяти поддерживаемых форматов). Если человек захотел что-то утаить, удалив эти данные, HstEx поможет их извлечь из недр жесткого диска.

Анализ файловой системы Важная часть любого forensic-исследования — создание и анализ образов жестких дисков. И если для создания точной копии (обычно это называется raw disk image) вполне достаточно стандартной линуксовой утилиты dd, то для анализа необходимы сложные инструменты.

Одним из самых именитых и распространенных решений является набор утилит The Sleuth Kit («набор следователя»). По сути, это набор консольных программ, с помощью которых можно осуществить самые разные операции для поиска и извлечения данных с исследуемого компьютера. Связка TSK хороша тем, что позволяет получить детальный отчет о системе, выявить любые, в том числе удаленные файлы, выявить скрытые бинарники, скрываемые руткитами, при этом не нарушив целостности системы, что крайне важно для сбора доказательств. TSK сам определяет структуру разделов и извлекает отдельные разделы, чтобы их можно было проанализировать с помощью утилит для анализа файловой системы. Тут надо понимать, что TSK никак не завязан на ту операционную систему, которая использовалась в исследуемом компьютере. Входящие в ее состав утилиты анализируют разделы в файловых системах FAT, NTFS, Ext2/3, UFS, выводят листинги всех каталогов, восстанавливают удаленные файлы, извлекают файлы из скрытых потоков NTFS. Интересной опцией является построение временной диаграммы обращения к файлам, на основе которой можно построить график активности пользователя. Создатели TSK намеренно развивают свое решение как набор консольных утилит.

Отлично понимая, что проводить анализ в таком формате — не самый удобный путь, они предоставляют реализацию графического интерфейса на откуп сторонним разработчикам. В качестве примера они предлагают свой бесплатный Autopsy Forensic Browser — своеобразный браузер по логам The Sleuth. GUI-оболочка позволяет серьезно упростить работу с утилитами из TSK, проверять целостность исходных данных, осуществлять поиск по ключевым словам и т.д. Более удобным инструментом является оболочка PTK (ptk.dflabs.com/ru/index.php). На сайте доступна как бесплатная базовая, так и платная профессиональная версии. Основу программы составляет ядро индексирования, выполняющее различные операции предварительного анализа в моменты получения фрагментов информации об инциденте.

Данные хранятся в MySQL-базе, что позволяет эффективно осуществлять поиск по извлеченным данным. Выбор MySQL не случаен: PTK реализовано как веб-приложение с AJAX-интерфейсом.

 

Исследование образа и поиск данных

Кстати, чтобы, не дай бог, ничего не сбить в системе злоумышленника (чтобы тот не использовал этот факт для своей защиты в суде), компетентные эксперты обязательно сделают точную копию накопителя. И для этого пустят в ход, к примеру, знаменитую утилиту Safeback (forensics-intl.com/safeback.html). В результате будет составлен сжатый файл, в котором и будет сохранена вся инфа с харда (в том числе и с SCSI-винтов). Чтобы заверить подлинность такого образа, программа создает специальный лог-файл, в котором документируется весь процесс копирования, просчитываются контрольные суммы, фиксируются серийные номера накопителей. Еще одним признанным в forensicкругах инструментом является The Forensic Toolkit Imager (FTK Imager). Помимо непосредственно создания образа накопителя, он позволяет позже примонтировать его к системе. Я же лично использую для этих целей программу P2 eXplorer (www.paraben.com/p2-explorer-pro.html).

Эти утилита поддерживает полтора десятка форматов образов и позволяет подключить их к системе, как настоящие физические диски. На деле это означает, что ты можешь натравить на данные любые forensic-утилиты и сохранить целостность доказательств. Образы монтируются не только для того, чтобы просмотреть логические файлы — к системе подключается полный поток данных, в том числе неразмеченное пространство и удаленные данные. Среди поддерживаемых форматов: образы EnCase, SafeBackm, WinImage и Linux DD, а также образ дисков виртуальных машин VMware и VirtualPC.

Получив в системе виртуальный жесткий диск (замечу, не логические диски, а именно весь жесткий диск), можно использовать любые доступные инструменты. В том числе программы для восстановления данных. На страницах журнала мы часто упоминали о программе R-Studio (www.r-studio.com), которая является одной из ведущих разработок в этой отрасли. Но в этих целях вполне можно использовать и бесплатные решения, например, Scalpel (www.digitalforensicssolutions.com/Scalpel). Уникальность программы заключается в том, что она не зависит от файловой системы. «Скальпель» имеет базы сигнатур начала и конца разных форматов и пытается найти такие файлы на диске. Поэтому восстановление возможно как с FATx, NTFS, ext2/3, так и с «голых» (raw) разделов.

 

Продвинутый поиск данных

Образ диска часто создается с помощью программно-аппаратных решений. Стандартом де-факто в мировой практике проведения forensic-расследований является программный комплекс Encase.

Ее, в частности, используют государственные структуры во многих странах мира. Решение работает под виндой и может опционально использовать для создания образа накопителя устройства FastBlok, реализующую функцию быстрого копирования дисков с блокировкой записи. А собственный формат образов накопителей — Encase (LEF или E01) — является общепризнанным, поэтому часто обрабатывается другими программами forensic-направленности (в том числе P2 eXplorer). Самая же важная функция этого продукта — выполнение поиска данных по ключевым словам на логическом и физическом уровнях, в том числе среди удаленной и остаточной информации.

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

Для обучения работы с Encase компания-разработчик проводит специальные курсы и сертификацию. Это не самый простой инструмент; более доступным решением считается продукт Forencis Toolkit (www.accessdata.com). Основная фишка FTK — это максимально быстрая работа с прикладным уровнем системы. Она гораздо проще Encase и предусматривает сразу несколько вариантов просмотра образа диска.

К примеру, можно выбрать в меню программы пункт «Электронные таблицы», и FTK тут же выведет список всех найденных xls-файлов с подобных описанием и указанием месторасположения. Аналогичным образом легко отыскиваются базы данных, графические файлы и сообщения электронной почты. Достаточно кликнуть на PST-файл Outlook — и FTK раскодирует все его содержимое, в том числе посланную почту, журнальные записи, задачи, календарь и удаленные документы. На борту программы присутствует база ключевых слов, по которым осуществляется поиск компрометирующей информации. Примеры слов из этой базы: «cc», «tan»,» pass».

 

Полезные тулкиты

Помимо оффлайн-тестирования, когда эксперт имеет дело с накопителями данных, существуют различные методики для live-исследования системы. Перечислять утилиты, которые могут быть полезны для анализа Windows-системы и составления комплексного отчета, можно очень долго. Но делать этого не нужно, потому что многие из признанных утилит, которые могут быть так или иначе полезны, собраны в одном комплексном пакете WinTaylor (www.caine-live.net). Подробная информация обо всех ActiveX-компонентах, истории браузера, дамп памяти и отчет о сетевой активности, отчеты о системе, созданные Windows Forensic Toolches и Nigilan 32, логи утилит Марка Руссиновича — все это аккумулируется в итоговом отчете WinTaylor. Любую из утилит ты можешь запустить отдельно. Хочешь получить данные обо всех флешках, которые когда-либо были подключены к системе? Нет проблем — запусти утилиту USBDeview, входящую в набор.

Утилита Memoryze не входит в WinTaylor, но определенно заслуживает внимания. Как называют программу сами разработчики, — это бесплатное решение, которое помогает следователям находить «зло» в памяти. Отсюда становится понятна основная задача программы — создание и анализ дампа оперативной памяти, а также исследование содержимого оперативки на живой системе. Среди фич Memoryze: создание полного дампа системной памяти, запись адресного пространства любого приложения на диск (в том числе загруженных DLL, EXE, кучи и стека), создание образа загруженных драйверов, а также полный репорт по запущенным процессам (используемые ими файлы, ключи реестра и т.д.).

Тут надо сказать, что те же самые разработчики занимаются разработкой и специального LiveCD-дистрибутива, который включает утилиты для forensic-анализа, но уже под Linux. Дистрибутив называется CAINE (Computer Aided INvestigative Environment) и доступен для загрузки с того же сайта. В качестве альтернативы подобному решению можно также попробовать Orion Live CD (sourceforge.net/projects/orionlivecd).

 

Forensic телефона

В завершение хочу заметить, что область Forensic не всегда распространяется только на анализ компьютеров и ноутбуков. Областью исследования могут стать любые девайсы, которые имеют встроенную память, например, сотовый телефон. В расследовании используются свои узкоспециализированные средства, учитывающие специфику разных моделей мобильных устройств. Одним из таких решений является модуль The Cellebrite UFED Physical Pro (а также его аналог — Mobile Phone Examiner), который поддерживает более 3000 тысяч мобильных устройств, а также разных GPS-девайсов.

Что он позволяет извлечь? Очень многое. Возможности не ограничиваются извлечением содержимого внутренней памяти телефона, SMS или истории звонков. Принадлежность к forensic-утилитам «обязывает» такие решения извлекать также и удаленные из внутренней памяти данные, коды разблокировки устройства, информацию с SIM-карты или, например, очищенную историю звонков. С появлением новых мобильных платформ, обеспечивать универсальность инструмента становится все сложнее, но UFED поддерживает практически все, включая последние версии Android и прошивок iPhone.

Извлеченные данные представляются в удобном для просмотра и поиска виде, хотя в сложных случаях никто не мешает тебе ковыряться с дампами в hex-виде.

 

Links

Классный блог по тематике digital forensic: blogs.sans.org/computer-forensics

xakep.ru

Утилиты

╙ЄшышЄ√

Утилиты для Windows NT

Дополнительные утилиты от Microsoft...

...и других разработчиков

 

Примочки от Microsoft

Windows NT Server 4.0 Resource Kit     Сегодня в Интернете при известном старании можно отыскать сотни утилит, делающих работу администратора Windows NT более продуктивной. Большинство из них либо наделяют вас дополнительными возможностями, либо дублируют уже имеющиеся стандартные утилиты NT, но обеспечивают при этом дополнительный уровень сервиса.     Однако, прежде чем забираться в дебри всемирной паутины полезно взглянуть на то, что "лежит под ногами". Я имею в виду Windows NT 4.0 Resource Kit. Удивительно, но факт: многие администраторы зачатую знакомы лишь "надводной частью айсберга", т.е. лишь с теми компонентами, которые попадают при установки в меню Start / Programs / Resource Kit 4.0. Это составляет всего лишь около 20% программ, входящих в пакет.     Большинство "неизвестных" программ представляют собой утилиты командной строки, которые способны весьма существенно облегчить вашу жизнь. Более того, на мой взгляд, без некоторых из них вообще трудно обойтись. Грамотное применение средств из Resource Kit позволяет в значительной степени компенсировать, например, такой "врожденный" недостаток Windows NT, как бедность возможностей работы с командной строкой, по сравнению, например, с Unix.     Так что, господа, советую детально познакомиться с этим в высшей степени интересным пакетом, хотя это и потребует немало времени (около 180 утилит!).

 

Service Pack 3, 4     Ситуация с SP во многом похожа на описанную выше. То, что этот пакет затыкает дыры посредством замены старых файлов новыми версиями знают все. Гораздо менее известен тот факт, что SP предоставляет администратору несколько весьма интересных возможностей. В самом SP можно найти лишь краткое упоминание о них в Readme.txt и ссылки на статьи в Knowledge Base. Однако на внимательное чтение текстового файла длиной 1200 строк у большинства людей терпения, по видимому, не хватает, а лазить по Knowledge Base в поисках нужной информации готовы вообще единицы. Поэтому зачастую знакомство с SP начинается с его установки и, в большинстве случаев, на том и заканчивается.     А зря! Большинство упомянутых новшеств так или иначе касаются безопасности NT и позволяют при соответствующей настройке практически полностью избавиться от сколь ни будь существенных дыр в защите. Если вам все же лень тратить время на поиск и перевод информации из Knowledge Base, рекомендую приобрести книгу под редакцией В.С.Люцарева Безопасность компьютерных сетей на основе Windows NT, однако возможности SP4 в нее попасть не успели. Совсем занятые (или ленивые ?) могут познакомится с малоизвестными возможностями SP прямо здесь.     При этом не надо забывать, что установка любого SP не только решает многие проблемы, но и порождает новые. Здесь вы можете познакомиться с наиболее существенными из тех, что появились с выходом SP4. Там же - советы как со всем этим бороться.

 

RegClean 4.1a Microsoft RegCleanПодобных утилит, выполняющих чистку реестра, существует великое множество. Отличительной чертой RegClean от Microsoft является абсолютная бесплатность и исключительная простота использования. Утилита работает с Windows 95, Windows NT 3.51 и выше.     При работе удаленные части реестра сохраняются в виде файлов *.reg и при необходимости легко возвращаются на место.     Как и всегда перед выполнением подобных операций рекомендуется создавать резервную копию реестра. Перед началом работы также не помешает прочитать ReadMe.txt. Более подробно о RegClean можно прочитать в статье Q147769 из Microsoft Knowledge Base.

 

Network Monitor Network MonitorЛучшая, на мой взгляд, программа в своем классе. Поможет выявить и локализовать практически любую проблему, связанную с функционированием сети. Не только "ловит" все пакеты, проходящие по сети, но и дает их детальную расшифровку в удобной для дальнейшего анализа форме. Кроме того, позволяет редактировать пакеты и отправлять их.     Полная версия программы поставляется вместе с MS System Management Server. Версия из состава Windows NT позволяет производить захват и анализ только тех пакетов, которые исходят от- или адресованы тому компьютеру, на котором запущен Network Monitor.   Однако, немногие знают, что если удалить или переименовать файл default.cf, то вы получите возможность захватывать и некоторые "чужие" пакеты.    Не стоит забывать и о том, что счетчики, позволяющие оценить параметры загрузки сети, появляются в Performance Monitor только после установки Network Monitor Agent.

Утилиты независимых разработчиков

    Утилит для ОС Windows в Интернет лежит такое множество, что даже простое перечисление оных представляется мне делом совершенно бесперспективным. При желании вы сами можете ознакомится со всем их многообразием посетив с десяток сайтов, список которых можно найти на страничке Ссылки. Краткое описание множества утилит можно найти на сайте Microsoft по адресу www.microsoft.com/ntserver/nts/exec/vendors/freeshare.       Я же приведу лишь краткое описание некоторых, наиболее интересных, на мой взгляд, утилит, с которыми я имел дело лично. Учитывая российскую специфику рассматриваются только freeware и shareware утилиты.

 

Regmon for Windows NT (freeware) RegMon from SysinternalsОчень полезная и простая программка. Позволяет отслеживать любые обращения к реестру в реальном времени. Выводится информация о том, какое приложение обратилось к реестру, к какому конкретно разделу и переменной и с какой целью. Возможности фильтрации событий и сохранение результатов в виде файла. Поставляется с исходными текстами.

 

Filemon for Windows NT (freeware) Filemon from SysinternalsАналогична предыдущей. Позволяет отслеживать любую активность на уровне файловой системы.Поставляется с исходными текстами.

 

Diskmon for Windows NT (freeware) Diskmon from SysinternalsАналогична предыдушей. Позволяет отслеживать любую активность, связанную с обращениями к жестким дискам. Текущая версия не работает с NT 5.0 Beta 1,2.

 

NewSID (freeware) Программа, позволяющая изменить идентификатор безопасности компьютера (SID). Весьма полезна при клонировании Windows NT и переносе BDC в другой домен без переустановки системы. Поставляется с исходными текстами и подробным изложением принципа работы.

 

NTFSFlp (freeware) Занятная (но не более того) утилитка, которая позволяет форматировать и читать гибкие диски в формате NTFS. Если вы решите воспользоваться ей, то учтите, что на 1.44Mb дискете после форматирования в NTFS останется не более 1Mb свободного пространства. Microsoft рекомендует использовать NTFS для томов объемом более 400Mb.

 

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

 

Legion (shareware) LegionСканер ресурсов, предоставленных в общее пользование (shared) для IP-сетей класса C. Выдает список хостов в сети, на которых функционирует служба Server, вместе со списком их ресурсов.

 

PageDefrag (freeware) PageDefragПрограмма выполняет дефрагментацию paging-файлов и файлов реестра (SAM, SYSTEM, SECURITY, SOFTWARE, DEFAULT). Большинство других дефрагментаторов этого делать не могут. Показывает количество фрагментов в том или ином файле. Является прекрасным дополнением к классическим дефрагментаторам.

 

Pinger (freeware) PingerПростая программа с приятным интерфейсом для обнаружения активных хостов в IP-сетях класса C. Определяет IP-адрес и имя хоста. Пользоваться ей много удобнее чем утилитой ping из комплекта Windows NT.

 

PMon (freeware) NTPMonОтслеживает активность на уровне процессов. Результаты могут быть сохранены в файле.

 

SPCheck (shareware)SPCheckService Pack and Hotfix Query - маленькая и приятная утилитка, которая позволяет получить сведения о установленных на NT-компьютерах вашей сети SP и hot fixes не сходя с рабочего места. Генерация отчетов. Установка и удаление заплаток.

Undelete for Windows NT (freeware)UndeleteУтилита, заменяющая Recycle Bin. Выполняет все то же самое + позволяет восстанавливать файлы удаленные любым способом (например, из командной строки, из MS-DOS-программы и т.п.). Имеется возможность задать фильтры, в соответствии с которыми файлы с указанными расширениями будут (или не будут) помещаться в корзину. Поставляется с исходными текстами и пояснениями принципов работы. Текущая версия некорректно работает под NT 5.0 Beta 2.

 

wwwinnt.narod.ru

Понятия вычислительного процесса и ресурса

Понятие «вычислительный процесс»(или просто –«процесс») является одним из основных при рассмотрении операционных систем. Как понятие процесс яв­ляется определенным видом абстракции, и мы будем придерживаться следующе­го неформального определения, приведенного в работе [37]. Последовательный процесс (иногда называемый«задачей»1) – это выполнение отдельной программы с её данными на последовательном процессоре. Концептуально процессор рас­сматривается в двух аспектах: во-первых, он является носителем данных и, во-вторых, он (одновременно) выполняет операции, связанные с их обработкой.

В качестве примеров можно назвать следующие процессы (задачи): прикладные программы пользователей, утилиты и другие системные обрабатывающие про­граммы. Процессами могут быть редактирование какого-либо текста, трансляция исходной программы, её компоновка, исполнение. Причем трансляция какой-ни­будь исходной программы является одним процессом, а трансляция следующей исходной программы – другим процессом, поскольку, хотя транслятор как объ­единение программных модулей здесь выступает как одна и та же программа, но данные, которые он обрабатывает, являются разными.

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

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

Рис. 1.1.Классификация ресурсов

При разработке первых систем ресурсами считались процессорное время, память, каналы ввода/вывода и периферийные устройства [49, 89]. Однако очень скоро понятие ресурса стало гораздо более универсальным и общим. Различного рода программные и информационные ресурсы также могут быть определены для сис­темы как объекты, которые могут разделяться и распределяться и доступ к кото­рым необходимо соответствующим образом контролировать. В настоящее время понятие ресурса превратилось в абстрактную структуру с целым рядом атрибу­тов, характеризующих способы доступа к этой структуре и её физическое пред­ставление в системе. Более того, помимо системных ресурсов, о которых мы сейчас говорили, как ресурс стали толковать и такие объекты, как сообщения и синхросигналы, которыми обмениваются задачи.

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

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

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

Рис. 1.2.Пример выполнения двух программ: а – однопрограммный режим;

б – мультипрограммный режим

Как мы уже отмечали, операционная система поддерживает мультипрограмми­рование(многопроцессность) и старается эффективно использовать ресурсы пу­тём организации к ним очерёдей запросов, составляемых тем или иным способом. Это требование достигается поддерживанием в памяти более одного процесса, ожидающего процессор, и более одного процесса, готового использовать другие ресурсы, как только последние станут доступными. Общая схема выделения ре­сурсов такова. При необходимости использовать какой-либо ресурс (оператив­ную память, устройство ввода/вывода, массив данных и т. п.) задача обращается к супервизору операционной системы – её центральному управляющему моду­лю, который может состоять из нескольких модулей, например: супервизор вво­да/вывода, супервизор прерываний, супервизор программ, диспетчер задач и т. д. – посредством специальных вызовов (команд, директив) и сообщает о своём тре­бовании. При этом указывается вид ресурса и, если надо, его объём (например, количество адресуемых ячеек оперативной памяти, количество дорожек или сек­торов на системном диске, устройство печати и объём выводимых данных и т. п.).

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

Ресурс может быть выделен задаче, обратившейся к супервизору с соответствую­щим запросом, если:

 он свободен и в системе нет запросов от задач более высокого приоритета к этому же ресурсу;

 текущий запрос и ранее выданные запросы допускают совместное использо­вание ресурсов;

 ресурс используется задачей низшего приоритета и может быть временно ото­бран (разделяемый ресурс).

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

После окончания работы с ресурсом задача опять с помощью специального вы­зова супервизора (посредством соответствующей директивы) сообщает операци­онной системе об отказе от ресурса, или операционная система забирает ресурс сама, если управление возвращается супервизору после выполнения какой-либо системной функции. Супервизор операционной системы, получив управление по этому обращению, освобождает ресурс и проверяет, имеется ли очередь к освободившемуся ресурсу. Если очередь есть – в зависимости от принятой дисциплины обслуживания(правила обслуживания)1и приоритетов заявок он выводит из состояния ожидания задачу, ждущую ресурс, и переводит её в состояние го­товности к выполнению. После этого управление либо передаётся данной задаче, либо возвращается той, которая только что освободила ресурс.

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

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

При организации управления ресурсами всегда требуется принять решение о том, что в данной ситуации выгоднее: быстро обслуживать отдельные наиболее важ­ные запросы, предоставлять всем процессам равные возможности либо обслужи­вать максимально возможное количество процессов и наиболее полно использо­вать ресурсы [37].

studfiles.net


 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..