Где находится операционная система в оперативной памяти
Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера — центральным процессором, памятью, вводом-выводом. Это программы общего пользования, которые предназначены для всех пользователей компьютера. Системное программное обеспечение разрабатывается так, чтобы компьютер мог эффективно выполнять прикладные программы.
Cреди десятков тысяч системных программ особое место занимают операционные системы, которые обеспечивают управление ресурсами компьютера с целью их эффективного использования.
Важными классами системных программ являются также программы вспомогательного назначения — утилиты (лат. utilitas — польза). Они либо расширяют и дополняют соответствующие возможности операционной системы, либо решают самостоятельные важные задачи.Кратко опишем некоторые разновидности утилит:
· программы контроля,тестирования и диагностики, которые используются для проверки правильности функционирования устройств компьютера и для обнаружения неисправностей в процессе эксплуатации; указывают причину и место неисправности;
· программы-драйверы, которые расширяют возможности операционной системы по управлению устройствами ввода-вывода, оперативной памятью и т.д.; с помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся;
· программы-упаковщики (архиваторы), которы
Операционная система — это комплекс взаимосвязанных системных программ, назначение которого — организовать взаимодействие пользователя с компьютером и выполнение всех других программ.Операционная система выполняет роль связующего звена между аппаратурой компьютера, с одной стороны, и выполняемыми программами, а также пользователем, с другой стороны.
Операционная система обычно хранится во внешней памяти компьютера — на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ.
Этот процесс называется загрузкой операционной системы.
В функции операционной системы входит:
· осуществление диалога с пользователем;
· ввод-вывод и управление данными;
· планирование и организация процесса обработки программ;
· распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);
· запуск программ на выполнение;
· всевозможные вспомогательные операции обслуживания;
· передача информации между различными внутренними устройствами;
· программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).
Операционную систему можно назвать программным продолжением устройства управления компьютера. Операционная система скрывает от пользователя сложные ненужные подробности взаимодействия с аппаратурой, образуя прослойку между ними. В результате этого люди освобождаются от очень трудоёмкой работы по организации взаимодействия с аппаратурой компьютера. В зависимости от количества одновременно обрабатываемых задач и числа пользователей, которых могут обслуживать ОС, различают следующие основные классы операционных систем:
1. однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;
2. однопользовательские многозадачные, которые обеспечивают одному пользователю параллельную обработку нескольких задач. Например, к одному компьютеру можно подключить несколько принтеров, каждый из которых будет работать на "свою" задачу;
3. многопользовательские многозадачные, позволяющие на одном компьютере запускать несколько задач нескольким пользователям. Эти ОС очень сложны и требуют значительных машинных ресурсов.
В различных моделях компьютеров используют операционные системы с разной архитектурой и возможностями. Для их работы требуются разные ресурсы. Они предоставляют разную степень сервиса для программирования и работы с готовыми программами.
Операционная система для персонального компьютера, ориентированного на профессиональное применение, должна содержать следующие основные компоненты:
· программы управления вводом/выводом;
· программы, управляющие файловой системой и планирующие задания для компьютера;
· процессор командного языка, который принимает, анализирует и выполняет команды, адресованные операционной системе.
Каждая операционная система имеет свой командный язык, который позволяет пользователю выполнять те или иные действия:
· обращаться к каталогу;
· выполнять разметку внешних носителей;
Анализ и исполнение команд пользователя, включая загрузку готовых программ из файлов в оперативную память и их запуск, осуществляет командный процессор операционной системы.
Для управления внешними устройствами компьютера используются специальные системные программы — драйверы. Драйверы стандартных устройств образуют в совокупности базовую систему ввода-вывода (BIOS), которая обычно заносится в постоянное ЗУ компьютера.
К файловой системе имеет доступ также и любая прикладная программа, для чего во всех языках программирования имеются специальные процедуры. Понятие файла может быть обращено на любой источник или потребитель информации в машине, например, в качестве файла для программы могут выступать принтер, дисплей, клавиатура и др.
Операционная система MS DOS (Microsoft Disk Operating System) — самая распространенная ОС на 16-разрядных персональных компьютерах. Она состоит из следующих основных модулей:
Базовая система ввода/вывода (BIOS) выполняет наиболее простые и универсальные услуги операционной системы, связанные с осуществлением ввода-вывода. В функции BIOS входит также автоматическое тестирование основных аппаратных компонентов (оперативной памяти и др.) при включении машины и вызов блока начальной загрузки DOS.
Блок начальной загрузки (или просто загрузчик) — это очень короткая программа, единственная функция которой заключается в считывании с диска в оперативную память двух других частей DOS — модуля расширения базовой системы ввода/вывода и модуля обработки прерываний.
Модуль расширения базовой системы ввода/вывода дает возможность использования дополнительных драйверов, обслуживающих новые внешние устройства, а также драйверов для нестандартного обслуживания внешних устройств.
Модуль обработки прерываний реализует основные высокоуровневые услуги DOS, поэтому его и называют основным.
Командный процессор DOS обрабатывает команды, вводимые пользователем.
Утилиты DOS — это программы, поставляемые вместе с операционной системой в виде отдельных файлов. Они выполняют действия обслуживающего характера, например, разметку дискет, проверку дисков и т.д.
Каждый из указанных модулей выполняет определенную часть функций, возложенных на ОС. Места постоянного размещения этих модулей различны. Так, базовая система ввода/вывода находится в постоянном запоминающем устройстве (ПЗУ), а не на дисках, как все остальные модули.
Оболочки —это программы, созданные для упрощения работы со сложными программными системами, такими, например, как DOS. Они преобразуют неудобный командный пользовательский интерфейс в дружественный графический интерфейс или интерфейс типа "меню". Оболочки предоставляют пользователю удобный доступ к файлам и обширные сервисные услуги. В начале 90-х годов во всем мире огромную популярность приобрела графическая оболочка Windows, преимущество которой состоит в том, что она облегчает использование компьютера, и её графический интерфейс вместо набора сложных команд с клавиатуры позволяет выбирать их мышью из меню практически мгновенно. Операционная среда Windows реализует все свойства, необходимые для производительной работы пользователя, в том числе — многозадачный режим. В настоящее время большинство компьютеров в мире работают под управлением той или иной версии операционной среды Windows фирмы Microsoft.
Windows представляет собой универсальную высокопроизводительную многозадачную и многопотоковую ОС с графическим интерфейсом и расширенными сетевыми возможностями. Windows — интегрированная среда, обеспечивающая эффективный обмен информацией между отдельными программами и предоставляющая пользователю широкие возможности работы с мультимедиа, обработки текстовой, графической. звуковой и видеоинформации. Интегрированность подразумевает также совместное использование ресурсов компьютера всеми программами. Эта операционная система обеспечивает работу пользователя в сети, предоставляя встроенные средства поддержки для обмена файлами и меры по их защите, возможность совместного использования принтеров, факсов и других общих ресурсов. Пользовательский интерфейс Windows прост и удобен.
Операционная система Unix была создана в Bell Telephone Laboratories. Unix — многозадачная операционная система, способная обеспечить одновременную работу очень большого количество пользователей. Ядро ОС Unix написано на языке высокого уровня C и имеет только около 10 процентов кода на ассемблере. Это позволяет за считанные месяцы переносить ОС Unix на другие аппаратные платформы и достаточно легко вносить в нее серьезные изменения и дополнения. UNIX является первой действительно переносимой операционной системой. В многочисленные существующие версии UNIX постоянно вносятся изменения. С одной стороны, это расширяет возможности системы, делает ее мощнее и надежнее, с другой — ведет к появлению различий между существующими версиями. В связи с этим возникает необходимость стандартизации различных свойств системы. Наличие стандартов облегчает переносимость приложений между различными версиями UNIX и защищает как пользователей, так и производителей программного обеспечения. Поэтому в 80-х годах разработан ряд стандартов, оказывающих влияние на развитие UNIX. Сейчас существуют десятки операционных систем, которые можно объединить под общим названием UNIX. В основном, это коммерческие версии, выпущенные производителями аппаратных платформ для компьютеров своего производства.
Начало созданию системы Linux положено в 1991 г. финским студентом Линусом Торвальдсом (Linus Torvalds). В сентябре 1991 года он распространил по e-mail первый прототип своей операционной системы, и призвал откликнуться на его работу всех, кому она нравится или нет. С этого момента многие программисты стали поддерживать Linux, добавляя драйверы устройств, разрабатывая разные продвинутые приложения и др. Атмосфера работы энтузиастов над полезным проектом, а также свободное распространение и использование исходных текстов стали основой феномена Linux. В настоящее время Linux — очень мощная система, но самое замечательное то, что она бесплатная (free).
Линус Торвальдс разработал не саму операционную систему, а только ее ядро, подключив уже имеющиеся компоненты. Сторонние компании, увидев хорошие перспективы для развития своего бизнеса, довольно скоро стали насыщать ОС утилитами и прикладным ПО. Недостаток такого подхода — отсутствие унифицированной и продуманной процедуры установки системы, и это до сих пор является одним из главных сдерживающих факторов для более широкого распространения Linux.
В наш век мы все любим скорость. Мы любим быстрый транспорт, быстрые службы доставки, скоростной интернет. И, разумеется, быстрые компьютеры. У нас есть шестое чувство, которым мы детектируем милли/микросекундные задержки. Частенько появляется желание что-нибудь да разогнать.
Но что же разгонять? Что тормозит нам работу и создает дискомфорт? Наши процессоры работают на многогигагерцовых частотах, гоняют электроны на релятивистских скоростях. Не отстают от них и память с шинами передачи данных. Но как только дело касается периферии… здесь притаился неторопливый макромир. Это не электронами жонглировать. Будьте добры дождаться, пока диск в DVD-приводе раскрутится, пока придет очередной байт из порта ввода/вывода, пока HDD подведет свою считывающую головку в нужное место пластины. Ну ладно, DVD и COMпортами мы пользуемся нечасто(если вообще пользуемся), а вот HDD… У нас на нем все-таки ОС лежит, а в ней многие тысячи файлов, и кто знает, в какой момент они могут понадобиться. То лог записать, то dll подгрузить, то шрифт, то реестр, то еще что-то. А на некоторых HDD множество одновременных обращений может приводить к хабраэффектусущественному падению скорости работы — наблюдаю такое на своих WD Green.
Казалось бы, тут нам должны помочь команда славных защитников вселенной по имени Файловый Кэш, Prefetch, Superfetch, и их помощник ReadyBoost. Да, они помогают, но частенько бывает, что и промахиваются — и тогда приходится наблюдать курсор ожидания.
Но что это? Я слышу в зале шум, там скандируют — SSD! SSD! Что тут сказать, SSD — однозначно круто. 200-300мб/с и даже выше, практически мгновенный доступ, никакого шума… ну просто чудеса. Но про SSD и так написана куча тем, а раз уж разгонять… может, есть чего побыстрее? Хм. Есть у нас что-нибудь быстрее флеш-памяти в SSD? SSD подороже? Raid0 из SSD? А еще быстрее? RevoDrive? О! DDR3! (Кто там крикнул «L1 cache»? Юморист!)
Мы знаем про RAM-диски, иногда используем их как временное хранилище — чтоб быстрей работало. Так что если взять да и переместить всю систему в RAM? Должно работать намного быстрее любого SSD, и уж подавно быстрее HDD, не так ли? Или файловый кэш и так должен давать нам похожий эффект? Возможно, разницы и не будет заметно. Ну так почему бы не попробовать? В моем компьютере 16 гб ОЗУ, хватает на все и еще остается. Неплохо бы задействовать то самое оставшееся. Поехали!
0) Чеклист:
— 16 гб RAM, или больше. Хотя можно попробовать и на 8. А вот 4 хватит разве что для XP.
— Grub4Dos
— Wincontig
— BootIce
— Partition Wizard или что-то подобное для клонирования разделов,
— драйвер Firadisk
— дистрибутив Windows x64 (можно и x86, но свободной памяти будет не более 3.5гб). Я проверял на WinXP(x86), Win7, Win8. Весьма желательны «облегченные» версии, ведь память ОЗУ не резиновая.
— установленная и работающая Win7 (или Win8)
1) Внимание! если у вас несколько жестких дисков — во избежание проблем делайте все последующее на HDD, отличном от системного. Системный вообще лучше не трогать и по возможности отключить, а Win7 установить для опытов на другой диск. Мне не известна ваша конфигурация, какие-то действия могут поломать вам загрузку. Неплохо бы предварительно запастись восстановительным LiveCD/USB, или хотя бы установочным диском Windows а также хотя бы примерно понимать, что делаете и как вернуть все назад. Для уверенности можно сначала провести опыт на виртуальной машине.
Сначала немного теории. Grub4Dos — это менеджер загрузки, для организации мультизагрузочных систем. Среди всего прочего — может создавать виртуальные устройства и работать с ними так же как и с обычными дисками. Виртуальный диск может быть смонтирован на файл, или же в память. При монтировании в память содержимое файла-источника копируется в память и дальнейшая работа ведется уже оттуда. Как источник можно использовать файлы .ima (образы дискет), .iso (образы CD/DVD) а также .img (RAW образы HDD). Родные для Win7 файлы .vhd (фиксированного размера, не динамические и не дифференциальные) представляют собой те же .img, но с небольшим заголовком и их тоже можно подключать.
Созданные при помощи Grub4Dos виртуальные диски доступны в реальном режиме. Windows же увидит их только при наличии специального драйвера. Такие драйверы существуют — это Firadisk (работает с дисками в памяти) и WinVBlock (работает с образами в файлах). При наличии в ОС нужного драйвера она сможет работать с дисками, созданными в Grub4Dos. К сожалению, драйверы не подписаны и для их работы в x64 системе нужно отключить проверку подписей драйверов. Таким образом, ход действий: готовим VHD с установленной Windows, где отключаем проверку подписей, устанавливаем Firadisk, затем подгружаем VHD еще до загрузки Windows через Grub4Dos и вперед.
Сначала установим на нашу машину Grub4dos. Запускаем BootIce, выбираем диск, с которого будем грузиться, ставим Grub4dos в MBR, кладем в корень любого раздела файлы grldr и menu.lst.
В menu.lst пишем:
Команда «find --set-root» выполняет поиск указанного файла и делает первый раздел, где этот файл был найден, текущим. Поэтому проверьте, не лежат ли у вас лишние файлы bootmgr на других разделах. Если вам известно, что системный диск — это hd0, можно написать прямо — chainloader (hd0,0)/bootmgr
Далее через управление компьютером-управление дисковыми устройствами создаем в корне нашего рабочего раздела файл VHD фиксированного размера гигабайт этак на 10 (можно и больше, чтобы хватило для установки), форматируем в NTFS, отключаем диск и дефрагментируем его файл при помощи Wincontig.
Сейчас надо из этого VHD получить образ диска с готовой к работе Windows, драйверами для вашего оборудования и поддержкой загрузки из VHD. Этого можно добиться разными способами.
Способ 1, рекомендуемый. Для Win7 редакций Корпоративная и Максимальная, и для Win8. Установка системы в VHD штатными средствами.
После загрузки инсталлятора жмем Shift-F10, и выполняем:
где «D:\win7.vhd» — путь к файлу VHD. Буквы дисков могут отличаться от вашей основной системы, их можно посмотреть запустив, к примеру notepad и открыв в нем диалог выбора файла.
Продолжаем, VHD появится в списке устройств для установки. После установки в вашем загрузочном меню Windows появится новая запись и окажется по умолчанию. Это и есть загрузка в VHD.
Способ 2. Для всех систем. Установка в отдельный раздел на диске. Устанавливаем Windows туда стандартно, и в самом конце после всей подготовки клонируем раздел в VHD.
Способ 3. Для всех систем. Устанавливаем систему в VHD на виртуальной машине, проделываем всю подготовку, а затем грузимся с этого VHD на реальном железе. Есть вероятность возникновения проблем с драйверами оборудования при переносе на реальное железо. Лучше перед переносом выполнить sysprep.
Способ 4. Для WinXP. Используем драйвер WinVBlock.
В menu.lst добавляем вот такие три записи.
Что здесь делается:
-подключается winxp.vhd как жесткий диск (файл VHD обязательно нужно дефрагментировать при помощи WinContig, иначе Grub4Dos откажется его подключать)
-подключается образ дискеты winvblock.ima с драйверами WinVBlock, грузится в память.
-подключается образ установочного CD xp.iso, грузится в память.
-записей для установки две, т.к. установка WinXP состоит из 2х стадий — текстовый и графический режим. Сначала выбираем TXT, при второй загрузке — GUI. Разница лишь в том, откуда грузимся — с CD или HDD.
-нажимать F6 и выбирать драйвер не нужно, интегрировать в дистрибутив тоже, достаточно иметь его на образе дискеты.
-после установки в Grub4Dos выбираем Boot и загружаемся в систему, которая установилась в VHD.
Для Win7, а тем более для x64 редакций это так просто не сработает. Нужна особая, уличная магия.
Впрочем, у меня так и не получилось заставить WinVBlock работать с Win7. Может, у вас получится.
Cпособ 5. Для Win7 любых редакций. Используем VBoot. Это тоже драйвер, позволяющий грузиться в VHD. Он подписан и позволяет устанавливать x64 системы. К сожалению, платный, но доступна демо-версия, которой для установки достаточно.
Выставляем время на 2011 год. (иначе при загрузке получите BSOD)
В корень диска кладем папку VBoot, vbootldr и vbooldr.mbr.
В vboot\grub\grub.cfg ищем записи Windows 7 VHD и Windows 7 Install и меняем на вот такие:
Метку раздела, на котором лежат файлы win7.vhd и win7.iso (дистрибутив Win7) — меняем на SYS (хотя не важно какую, лишь бы совпадало). У меня Vboot почему-то не хочет распознавать пути вида (hd0,1). Еще можно обращаться по UUID, но метки проще.
В menu.lst добавляем запись:
Перезагрузка. В Grub4Dos идем в Vboot, а в нем — в Windows 7 Install. После загрузки инсталлятора жмем shift-F10, запускаем notepad, открываем диалог выбора файлов и смотрим, на какой букве находится диск с Vboot. Допустим, это D:. Возвращаемся в командную строку и пишем для 64-битных редакций — или для 32-битных Это установит драйвер Vboot и примонтирует виртуальные устройства. Затем продолжаем установку на появившийся в списке устройств VHD, и грузимся через запись Windows 7 VHD. После окончательной настройки (см. ниже) удаляем Vboot командой vbootctl uninstall и тогда можно вернуть время на текущее.
И вот Windows установлена и загрузилась.
Во первых, проверим через Bootice, не снес ли нам установщик Grub4Dos из MBR. Если снес — снова ставим.
Во вторых, проверим, есть ли на системном разделе загрузчик Windows — файл bootmgr и папка Boot (в случае Win7/8). Они имеют атрибуты скрытых и системных, включите их отображение. Если нет — значит установщик увидел этот загрузчик где-то еще и добавил опцию своей загрузки туда, или же создал скрытый 100мб раздел и разместил все там. Это не дело, загрузчик на системном разделе нам нужен. Поэтому создаем его:
И отключаем в нем проверку подписей драйверов:
В действующем загрузчике тоже отключаем:
Перезагрузка для включения тестового режима и устанавливаем драйвер Firadisk: hdwwiz (hdwwiz.cpl в XP), установка вручную, все устройства, установить с диска и выбираем .inf файл.
Теперь ужимаем VHD до приемлимого размера (я добавил пару гб на всякий случай, получилось 6). Кстати, а как определить доступный размер? На экране меню Grub4Dos в верхней строке есть строка вроде Mem: /639K/13582M/512M.
Это доступные области памяти, в которые он может загрузить образ. Но он может загружать образ только целиком в одну область, так что размер нового VHD не должен превышать самое большое значение из этой строки, иначе получите ошибку.
Грузимся в предыдущую Win, монтируем win7.vhd, создаем еще один vhd уже конечного размера и копируем один в другой через редактор разделов вроде Partition Expert. (Если вы решили последовать способу установки 2 — сейчас самое время склонировать ваш системный раздел в VHD) Заменим прежний файл на новый, опять дефрагментируем через Wincontig. Попробуем загрузиться в новый VHD. Проблем возникнуть не должно.
Можно вместо всего этого использовать специальную программу для урезания и сжатия уже установленной Win7 — VHD_W7_Compact. Заявляется, что может урезать до 600мб.
5) Пора таки загрузиться из RAM! Добавим в menu.lst еще несколько строчек:
(для XP вместо /bootmgr пишем /ntldr)
И наконец загружаемся, выбрав Boot Win7 from RAM.
Минуту-две VHD копируется в память, несколько секунд загрузки и… появляется рабочий стол. Ура, семерка работает без использования HDD, причем вроде неплохо работает.
Можно еще добавить хитрый способ загрузки Win7 напрямую из VHD с сохранением изменений:
Чтобы это работало — в .inf файле Firadisk нужно заменить «LoadOrderGroup = Boot Bus Extender» на «LoadOrderGroup = SCSI miniport».
Здесь Firadisk заставляем работать с образом не в памяти, а на диске. Оно заметно тормозит, так что лучше все же применять способ установки 1 с родным VHD boot.
Вот тут есть еще одна статья о загрузке Win7 из RAM.
Ну а c линуксами можно попробовать вот так.
Я использую такую конфигурацию на домашнем компьютере с прошлой осени, уже более полугода. Попробую упорядочить субъективные впечатления:
Плюсы:
+ Действительно, работает быстренько. Программы из памяти запускаются мгновенно (что очевидно). По стабильности работы нареканий нет — компьютер работает неделями и месяцами.
+ Нет лишних звуков от HDD.
+ Понятия «износ», «количество циклов чтения/записи» — для RAM несущественны.
+ Побочный плюс — получилась неизменяемая, неубиваемая система. Можно одноразово ставить всякие кривые программы (к примеру, для восстановления USB flash — они обычно ставят свои драйверы, которые потом трудно выковырять) не рискуя что-либо испортить. Перезагрузка и как ничего и не было.
+ Побочный плюс — VHD это круто. Никаких больше разделов диска, просто файлы, которые элементарно копируются/перемещаются/удаляются/бэкапятся без всяких акронисов/парагонов/gparted-ов.
Минусы:
— Честно говоря, разницы с хорошим SSD по скорости не заметно. В обоих случаях придраться к быстродействию негде.
— Конечно же, тратится драгоценная память. Вынь да положь 6-8 гигабайт. В моем случае остатка в 10гб мне хватает, а если будет мало — можно и в режиме VHD загрузиться.
— 6-8 гб для Windows 7 — все же очень мало. Одни обновления Windows Update быстро съедят все место. А еще захочется установить любимые программы… кому-то и 100гб системного раздела может быть мало (а некоторые пропагандируют вообще не разбивать диски на разделы). В моем случае я разместил на системном разделе только самые востребованные программы, а все остальное в виде portable версий держу на HDD. Все-таки это домашний компьютер, на нем нет жадных до памяти и места на системном диске монстров вроде SQL Server, Visual Studio, Adobe CS, MS Office (хватает и портабельного LibreOffiсe). Пока все хорошо.
— temp приходится переносить на другой диск. Некоторые инсталлеры никого не спрашивая распаковываются именно туда и свободного места может не хватить.
— Приходится отключать проверку подписей драйверов. Тут уж ничего не поделать.
— У неубиваемости есть другая сторона. Для каждого изменения в настройках, для каждого обновления, для каждой установки программы/драйвера для постоянного использования необходимо перезагружаться в режим работы с VHD — иначе все будет потеряно при перезагрузке. Если какая-то ваша программа хранит что-то свое в профиле (например, игры держат там сохранения) — то и профиль желательно переносить на другой раздел.
— Загрузка 6-8гб в память занимает много времени — не похвастаешься 10 секундной загрузкой.
— По понятным причинам невозможно использовать гибернацию. Но в обычный сон система уходит и нормально просыпается.
Но я снова слышу крики в зале. «И чего только не придумают, лишь бы SSD не покупать!», «Да это ж бред, выкидывать столько памяти за просто так!», «Какие-то левые кривые дрова ставить?», «Не нужно!». Согласен. Рекомендовать такой подход я не буду. Это скорее занятный эксперимент, чем рабочее решение. Спасибо за внимание, теперь можно постить картинки с хлебными троллейбусами.
P.S. Большая благодарность разработчикам Firadisk и WinVBlock — karyonix и Shao Miller, а также форуму reboot.pro.
Есть ли способ увидеть содержимое оперативной памяти? От первого байта до последнего. Хотелось бы посмотреть, где в оперативной памяти находится ОС и все запущенные на ней процессы. Это возможно?
Структура операционной системы компьютера:
- Ядро ОС – преобразует команды программ в машинные коды, понятные компьютеру.
- Драйверы – программы, предназначенные для взаимодействия компьютера с аппаратными устройствами.
- Интерфейс – программная оболочка для общения пользователя с компьютером.
Выполнение любой работы на компьютере, как правило, сопряжено с обменом файлами устройств между собой. За работу с файлами отвечает группа программ ОС, называемая файловой системой.
За работу с запросами пользователя отвечает часть ОС – командный процессор. Операционная система должна выполнить любые команды пользователя, оперирующие файлами, будь то команды перемещения, удаления, копирования, либо команды обмена файлами между устройствами.
Все устройства компьютера подсоединяются к нему через системную шину. Это и монитор, и клавиатура, и принтер, и дисководы, и различного рода манипуляторы, и другие. Для управления работой всего многообразия устройств современного компьютера для каждого устройства создаются специальные программы, понимающие как команды устройства, так команды процессора, – драйверы.
Пользовательский интерфейс современных ОС является графическим. Это позволяет пользователю вводить команды, указывая при помощи графических манипуляторов (например, мышью) на требуемый объект на экране, не прибегая к вводу команд с клавиатуры.
Неотъемлемой частью операционной системы являются утилиты, или служебные сервисные программы – программы обслуживания дисков, программы-архиваторы, программы работы в сетях и т.д.
К услугам пользователя предоставлена справочная система ОС, которая даёт возможность получения сведений как о работе операционной системы, так и по каждой её части.
Среду Windows отличали следующие особенности:
- Многозадачность.
- Единый программный интерфейс.
- Единый интерфейс пользователя.
- Графический интерфейс пользователя.
- Единый аппаратно-программный интерфейс.
Неграфические операционные системы компьютера
Дальнейшее развитие операционных систем полностью связано с развитием аппаратного обеспечения. Появлялись новые съёмные устройства хранения информации – гибкие диски, жёсткие диски. Объёмы жёстких дисков позволяли теперь хранить тысячи файлов, что, безусловно, усложняло операционные системы. Для облегчения поиска файлов в них появились инструменты создания на дисках каталогов файлов и средства обслуживания этих каталогов. Таким образом создавалась файловая система ОС. И операционная система стала ответственной как за её создания, так и за обслуживание. С увеличением объёмов жёстких дисков в разы, были разработаны средства ОС, позволяющие делить физические жёсткие диски на логические диски меньших объёмов. Для более эффективной работы с огромными объёмами хранимой информации.
Увеличение объёмов обрабатываемой информации заставляло увеличивать и оперативную память компьютера. А так же рабочие характеристики процессоров, и операционные системы для работы со всё более мощными устройствами и всё более производительными процессорами.
Получившие широкое распространение в начале 80 – 90-х годах персональные компьютеры IBM PC были оснащены операционной системой MS DOS (версии MS DOS 1.0 – MS DOS 6.22)
2 ответа 2
В Windows к содержимому физической памяти можно получить доступ через объект \Device\PhysicalMemory в диспетчере объектов. Для этого требуется доступ к системе на уровне ядра, а это значит, что для доступа к этому объекту вам потребуется установить программу, скорее всего, драйвер режима ядра.
В Linux к содержимому физической памяти можно получить прямой доступ в виде двоичных данных, прочитав /dev/mem как root . Смотрите Что такое /dev /mem? и справочную страницу mem(4) для более подробной информации.
Я не уверен, почему вам нужно определить, где операционная система и процессы расположены в физической памяти, хотя .
Вы могли бы использовать отладчик ядра, который позволял бы получать доступ к "сырой" памяти, как SoftICE для Windows. Вы также можете настроить GDB для работы в качестве отладчика для ядра Linux. Если виртуальная машина является опцией, некоторые программы виртуализации поддерживают сохранение состояния машины (включая ОЗУ) на диск, который затем можно проанализировать. Следует отметить, однако, что большинство "современных" операционных систем используют рандомизацию размещения адресного пространства (ASLR). Настоящая карта физической памяти системы специально фрагментирована, чтобы помочь смягчить различные проблемы безопасности и эксплойты (например , переполнение буфера стека/кучи ).
Однако для данной программы, работающей в современной операционной системе, вы можете получить логическую карту памяти для данного процесса / потока - при условии, что у вас есть соответствующие символы отладки и отладчик. Если вам нужен общий вид, если программное / аппаратное обеспечение использует виртуальную память, ситуация становится значительно более сложной. Опять же, хотя, если вы буквально хотите, что только в оперативной памяти, см. Первый абзац.
«Операционная система компьютера» В составе каждого компьютера различают две необходимые для его работы части: h ardware – аппаратное обеспечение (АО), или «железо» и s oftware – программное обеспечение (ПО), или программы и данные.
Чтобы не нагружать пользователя проблемами, как организовать работу процессора с АО и ПО. На каждом компьютере имеется операционная система, представляющая собой большой комплекс программ, которые реализуют согласованную работу всех составляющих частей компьютера.
Помимо осуществления взаимодействия аппаратного и программного обеспечения, ОС реализует согласованную работу пользователя и с программами, и с аппаратными устройствами.
Компьютеры без операционных систем
Изначально в 70 – 80-ые годы на персональных компьютерах не было операционных систем. Постоянное запоминающее устройство (ПЗУ) персональных компьютеров содержало некий простой язык программирования, например Бэйсик. И в момент загрузки процессор получал к нему доступ. Пользователь вводил команды с клавиатуры, язык программирования принимал их и выполнял. Это воспринималось некоторыми пользователями как работа с операционной системой.
При подключении к ПК магнитофона была возможность загрузки с него какой-нибудь программы, отключающей ПЗУ и берущей на себя управление компьютером аналогично игровым приставкам.
Первые дисковые операционные системы компьютера
С появлением устройств прямого доступа – дисководов – и подключением их к компьютеру процедура загрузки программ с их использованием потребовала существенного изменения. Магнитофон является устройством последовательного доступа, и поиск необходимой для загрузки программы заключался в перематывании кассеты. Для поиска требуемой программы на диске необходимо знать точный её адрес – номер дорожки и номер сектора на этой дорожке.
Для решения этой проблемы была создана программа которая преобразовывала имя файла программы её адрес на диске. Это давало возможность загрузки необходимых программ (файлов), используя их название. Программу нарекли дисковой операционной системой.
Впоследствии программу «научили» не только загрузке файлов в ПК, но и записи их на диск. А так же удалению с диска и копированию их с одного диска на другой. Автоматизация этих процессов устранила множество потенциальных ошибок и избавил от хранения информации о файлах на бумаге.
Графические операционные системы компьютера
К разработке графической операционной системы для ПК типа IВМ РС компания Microsoft приступила в 1981 году, и новая графическая ОС появилась в 1995 году, заменив МS-DOS с последней графической оболочкой Windows 3.11. Графическую операционную систему назвали Microsoft Windows 95.
Далее последовали всё более и более совершенствующиеся графические ОС Windows. Такие как Windows 98, NT, ME, 2000, XP, 7, 8.
В настоящее время новые аппаратные средства при их изготовлении производителями остаются совместимыми с Windows. И их установка на компьютер обеспечивает нормальную работу всех остальных устройств компьютера и всех программ. Компания Windows разработала plud-and-play стандарт устройств, автоматически подключающихся к компьютеру. Операционная система самостоятельно распознаёт все установленные устройства и начинает с ними работать.
ОС Windows получили наибольшее распространение на рынке графических операционных систем для компьютеров, совместимых с ПК типа IBM PC.
Элементы интерфейса Windows:
Рабочий стол.
Очень удачное название. Появляется сразу после загрузки ОС. Экран, на котором, как на столе, расположены в виде значков (иконок) инструменты управления и программы.
Значки.
Значки соответствуют реальным объектам Windows – программам, документам, устройствам. Запуск/открытие производится двойным щелчком кнопки мыши по значку либо щелчком правой кнопки мыши и последующим выбором в появившемся контекстном меню строки Открыть. Программы могут находиться как на Рабочем столе, так и на диске. Если программы находятся на диске, на Рабочем столе они представлены ярлыком.
Ярлыки.
Ярлык программы – это только указатель (адрес) места на диске, где программа хранится. Запуск программы производится двойным щелчком кнопки мыши по ярлыку либо щелчком правой кнопки мыши и выбором в появившемся контекстном меню строки Открыть. Ярлык имеет тот же вид, что и значок, обозначающий саму программу, но отличается от него небольшой стрелочкой внизу слева.
Панель задач.
Самая нижняя широкая строка экрана. Содержит:
- кнопку Пуск,
- кнопки открытых окон,
- индикаторы,
- часы.
Окно.
Окно – Основной интерфейс Windows, в его честь названа сама система. Соответствует активной программе, открытому документу, активному диалогу и служит для работы с ними.
Файлы операционной системы хранятся во внешней, долговременной памяти (на жестком, гибком или лазерном диске). Однако программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы операционной системы необходимо загрузить в оперативную память.
Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным.
После включения компьютера производится загрузка операционной системы с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки. Однако для того чтобы компьютер выполнял какую-нибудь программу, эта программа должна уже находиться в оперативной памяти. Разрешение этого противоречия состоит в последовательной, поэтапной загрузке операционной системы.
1. Процессор обращается в ПЗУ для считывания информации о конфигурации системы, BIOS загружается в оперативную память. Этот этап выполняется автоматически.
3.После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам (гибким, жестким, CD-ROM) и поиск на определенном месте (в первом, так называемом загрузочном секторе диска) наличия специальной программы Master Boot (программы-загрузчика операционной системы).
4.Если диск системный и программа-загрузчикоказывается на месте, то она загружается в оперативную память и ей передается управление работой компьютера. Программа ищет файлы операционной системы на системном диске и загружает их в оперативную память в качестве программных модулей.
После окончания загрузки операционной системы управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы к вводу команд. Приглашение представляет собой последовательность символов, сообщающих о текущем диске и каталоге. Например, если загрузка операционной системы была произведена с диска С:, а операционная система была установлена в каталог WINDOWS, то появится приглашение:
В случае загрузки графического интерфейса операционной системы команды могут вводиться с помощью мыши.
Операционные системы компании Microsoft:
DOS (Disk Operating System). Пользовательский интерфейс – командная строка. Команды вводятся с клавиатуры в специальной строке – командной строке.
Windows 3.1 и 3.11 – Графическая оболочка, расширяющая возможности DOS.
У всех дальнейших операционных систем интерфейс графический.
Семейство Windows-98 / NT / ME / 2000 / XP/ 7/ 8.
Программы-оболочки
В течение 15 лет MS DOS была вне конкуренции. Столь продолжительный период работы с системой привёл к необходимости её усовершенствования или замены. Дело в том, что интерфейс работы с пользователем системы MS DOS командный, не графический. Усложнение аппаратных устройств, появление совершенно новых устройств приводило к увеличению команд операционной системы. А это очень нагружало пользователя запоминанием ещё большего числа команд со всеми необходимыми параметрами. Кроме того, ввод каждой команды требовал большого внимания, а, стало быть, и напряжения, и увеличения вероятности ошибки.
Назрела необходимость в разработке более удобного интерфейса пользователя. Появляются надстройки – программы-оболочки, запуск которых осуществляла операционная система и передавала им управление для работы с этой ОС.
Наибольшую популярность среди программ-оболочек получила оболочка Norton Commander, разработанная в Америке гениальным программистом Питером Нортоном .
В Norton Commander вся файловая система компьютера отображалась на экране в виде структуры дисков, каталогов и файлов. Работа с файловой структурой выполнялась с помощью меню команд. Которые запускались нажатием определённых клавиш, указанных здесь же для каждой команды. Это избавляло пользователя от запоминания всех команд и их параметров и утомительного ввода этих команд с клавиатуры.
И сейчас ещё пользуются программой Total Commander – современной реализацией Norton Commander. Но, как правило, используются более современные средства.
Графические оболочки
В компьютерах типа IВМ РС невозможно совмещение графического и текстового режимов работы с экраном. Для этого требуется переключение экрана только в один из них. Такой вариант до определённого времени удовлетворял потребности пользователей ПК. А так же предприятия и организации, использовавшие компьютер в служебных целях. Им в полне было достаточно работы в текстовом режиме. С расширением области применения компьютеров, в том числе, и как домашнего ПК. Встала задача создания графической ОС, позволяющей наглядно изображать информацию на экране. А так же управлять ею с помощью устройств-манипуляторов курсором, например, мышью.
Прототипами графической операционной системы были разработанные компанией Microsoft графические оболочки, работающие под управлением МS-DOS. (Windows 1.0, Windows 2.0, Windows 3.0, Windows 3.1, Windows 3.11) и называемые «средой Windows».
Запуск компьютера
Все программы, подлежащие выполнению, должны находиться в оперативной памяти компьютера. После нажатия на кнопку включения компьютера, оперативная память не содержит никакой информации, и поэтому процессор обращается к специальной микросхеме – постоянному запоминающему устройству (ПЗУ) – для чтения команд начального загрузчика – BIOS (Basic Input Output System) .
BIOS начинает проверку исправности всех устройств компьютера, выводя на экран информацию о ходе проверки и подавая звуковой сигнал в случае обнаружения неисправностей. В случае успешной проверки BIOS считывает программу начальной загрузки ОС в оперативную память компьютера.
Загрузка операционной системы компьютера
Для хранения файлов операционной системы используются диски – внешние устройства долговременного хранения информации, встроенные – жёсткие диски, или съёмные – CD, DVD… Такие диски называются системными, и при их отсутствии компьютер не может быть запущен.
После успешной загрузки операционной системы в оперативную память управление передаётся командному процессору. Для ОС с графическим интерфейсом происходит его загрузка в оперативную память, иначе, появляется строка с приглашением ввода команд.
Читайте также: