Объем оперативной памяти, доступный операционной системе, можно определить, прочитав содержимое слова данных BIOS по адресу (0040:0013). Это слово можно получить с помощью функции int peek (unsigned int segment, unsigned int offset). Возвращаемое функцией peek значение будет соответствовать объему оперативной памяти в килобайтах.
Определение типа адаптера дисплея.
Программе пользователя может оказаться необходима информация о том, будет ли она работать в системе с монохромным адаптером, с цветной графической картой или с EGA, а также информация о наличии второго адаптера. Необходимые данные можно определить, прочитав содержимое ячейки данных BIOS по адресу (0040:0087) с помощью функции peek.
Она возвращает следующую информацию:
0 — адаптер EGA отсутствует, в противном случае:
бит 0 — если 1, то установлена символьно-цифровая эмуляция курсора;
бит 1 — если 1, то EGA присоединен к монохромному дисплею;
бит 2 — если 0, то можно записывать в видео RAM, 1 — ожидание доступа к дисплею;
Как Узнать, Какая Оперативная Память Стоит на Компьютере | Какой Тип DDR Оперативки Установлен.
бит 3 — если 1, то EGA не активен;
бит 5,6 — размер видеопамяти (число 64 Кб сегментов, уменьшенное на 1),
если 11, то EGA RAM 256K или более;
бит 7 — если 1, то сохраняется содержимое видеобуфера при смене видеорежима.
Битовое представление величины можно получить с помощью функции itoa, опреде-ленной в файле stdlib.h. Выделение отдельных битов можно произвести с помощью операции логического умножения.
Дополнительную информацию получим при ревизии периферийных устройств.
Ревизия периферийных устройств.
Информация о флагах оборудования хранится в ячейке BIOS с адресом (0040:0010). Содержимое ячейки:
бит 0 — если 1, то есть НГМД;
бит 1 — если 1, то есть математический сопроцессор;
биты 2,3 — если 11, то базовая память 640К (АТ не использует);
биты 4,5 — активный видеоадаптер:
10 — цветной 80*25,
01 — цветной 40*25,
биты 6,7 — число НГМД уменьшенное на 1: 00 — 1 НГМД, 01 — 2 НГМД;
биты 9,10,11 — число последовательных портов;
бит 12 — если 1, то есть игровой порт;
биты 14,15 — число параллельных портов.
В языке Си есть стандартная функция функция, возвращающая слово, хранящееся по адресу 0040:0010. Это функция: int biosequip ( void ) .
Еще раз отметим, что мы рассмотрели только малую часть системных ресурсов. Более подробно Вы можете ознакомиться с этим вопросом в специальной литературе.
Домашнее задание.
1. Повторить двоичную, восьмеричную и шестнадцатеричную системы счисления.
2. Составить краткий конспект лабораторной работы.
3. Подготовить программу, которая определяла-бы ресурсы вычислительной системы (вывод информации на экран).
ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ.
1. Получить у преподователя допуск к лабораторной работе.
2. Отладить программу на ЭВМ.
3. Результаты выполнения программы занести в конспект и показать преподавателю.
Как узнать, какая оперативная память установлена в компьютере Windows 10?
4. Перезагрузить компьютер и записать в конспект информацию о системных ресурсах, выдаваемую при загрузке. Сравнить с полученнуми в работе данными.
5. Защитить лабораторную работу.
ЛАБОРАТОРНАЯ РАБОТА 2
Построение пользовательских оболочек
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
При построении пользовательских оболочек необходимо уметь реализовать ситуацию, когда «главная» (или управляющая) программа может вызывать другие программы, а по их завершении оставлять управление за собой, не передавая ОС. В этом случае главная (или вызывающая) программа называется «родительской», а вызываемая — «дочерней». В общем случае для реализации процедуры вызова необходимо решить следующие вопросы:
1. Подготовить место в памяти для размещения «дочерней» программы.
2. Обеспечить сохранение состояния «родительской программы».
3. Загрузить в память «дочернюю» программу и передать ей управление.
4. По завершении «дочерней» программы передать управление вызывающей программе.
Заметим, что «родительская» программа может быть выгружена из памяти, освободив ее для «дочерней» программы, а может оставаться в памяти, и тогда для «дочерней» программы останется только свободное место.
Операционная система MS DOS воспринимает в качестве исполняемых программ файлы двух типов: .ЕХЕ и .СОМ. Программы типа СОМ являются односегментными — команды, данные и стек располагаются в единственном сегменте и не могут превышать 64 Кбайт. Они хранятся на диске в виде абсолютного образа памяти и в процессе загрузки практически не изменяются.
Программы типа .ЕХЕ могут включать любое число сегментов и их суммарный размер ничем не ограничен. Однако, чтобы загрузить их в память необходимо проделать довольно большую работу. Исходные данные для загрузчика хранятся в специальной системной области — заголовке, который есть у всех ЕХЕ-программ.
Любая программа содержит системную таблицу — префикс программного сегмента (PSP), имеющую длину 256 байт. В СОМ-программах место под PSP надо резервировать, а к ЕХЕ-программам он “пристраивается ” в процессе загрузки. Содержимое PSP может использоваться как самой программой, так и DOS. Некоторые данные хранящиеся в PSP:
— вектора прерываний по завершению программы, по критической ошибке, по /C;
— адрес блока памяти с окружением процесса;
— дисковая область передачи данных и др.
Под окружением процесса понимается некоторый набор системных установок, храня-щийся в виде символьных строк формата: переменная = значение. Например:
и другие задаваемые командой SET.
С помощью хвоста командной строки запускаемой программе часто передаются ключи, имена входных и выходных файлов. Например в команде ARJ.EXE A DATA.TXT DAT1.ARJ в хвост будут включены данные выделенные жирным.
В языке Си имеется несколько операторов, позволяющих вызывать программы EXE и COM, а также использовать команды MS-DOS из программы. В приведенном ниже примере для вызова программ и команд DOS используется оператор system (name), который оставляет вызывающюю программу резидентной. Оператор perror печатает сообщение об ошибках при загрузке «дочерней» программы.
При использовании стандартных операторов Си вопросы 1-4 решаются автоматически.
Более подробно они будут рассмотрены на лекциях. Полезно также изучить соответству-ющие разделы книги Р.Джордейна.
Источник: studfile.net
Определение типа памяти SSD
Для определения данных о железе в SSD’шниках есть софт от Вадима Очкина, который элементарно ищется, ни на какие обменники по одноразовым ссылкам за ним лезть не нужно, все есть на сайтах типа usbdev.ru, flashboot.ru и greenflash.su Единственная беда с этим софтом- под каждый ssd’шный контроллер его нужно отдельно подбирать (вдобавок подобные утилиты есть не под все контроллеры в принципе). Может повезет и они подойдут: http://vlo.name:3000/ssdtool/ https://www.usbdev.ru/files/smi/smiflashid/ Как вариант, можно у самого Очкина поспрашивать про SSD, он на ixbt в SSDшной теме под ником VLO постоянно общается: https://forum.ixbt.com/topic.cgi?id=11:49168
Одним из немногих способов точно определить тип памяти на SSD является программа Phison Flash ID, Silicon Motion Flash ID и SandForce Flash ID. Данная утилита создана участником конференции overclokers, с ником «vlo». Как не сложно догадаться, эта программа делится на три разновидности, для трех разных контроллеров. Поэтому, вначале вам надо узнать какой контроллер используется на вашем диске.
Далее, определив контроллер, и если он является одним из трех представленных, скачайте пакет с утилитой и распакуйте его. Для удобства, в дальнейшем лучше это сделать в корневой директории любого вашего диска.
Как определить контроллер SSD
А вот уже это можно сделать при помощи сайта производителя, а в запущенных случаях – гугла. Как правило, для каждой серии дисков производитель использует свой контроллер, поэтому тут ошибки вряд ли случатся. Основных производителей контроллеров не так много, помимо уже указанных Phison, SandForce, Silicon Motion, вы можете встретить Indilinx, Jmicron, Samsung и Marvell и некоторые другие. Но указанные три, составляют чуть ли не «большую половину» рынка.
Как определить память SSD
Подготовка диска
Я буду показывать, как все работает на примере диска Transcend NTS820. Для того чтобы утилита смогла считать данные, вы должны удалить все разделы на диске. Поэтому если это совсем новый диск, который вы только поставили в систему, то не создавайте пока разделы. Если они были созданы, то их или его надо будет временно удалить.
Phison Flash ID
Phison Flash ID_NVME
Silicon Motion Flash ID
Silicon Motion Flash ID_NVME
SandForce Flash ID
Запуск через проводник Windows (вывод информации только в ТХТ файл)
Распакуйте файлы в папку и мышкой запустите требуемый файл от администратора. В нашем случае диск построен на базе контроллера Silicon Motion и запускной файл «smi_flash_id_ata.exe», для подключенных к SATA устройствам.
Перейдите в консоли в нужную папку. Например, если папка с утилитой у вас лежит в корне диска «C», то наберите команду (без кавычек) «cd C:smi_flash_id» далее, оказавшись в папке, запускаете нужный файл командой по имени файла, то есть, просто «smi_flash_id_ata.exe».
Утилита выводит в окне (также записывает в текстовый файл в своей директории) всю необходимую информацию. Нас, прежде всего, интересует, что она говорит прямым текстом, например, чипы Micron MLC с плотностью 256 Гбит. Именно для этого диска, как раз была заявлена память класса TLC.
Вы также можете дополнительно проверить память TLC или MLC записью крупного файла, особенно, если ваш диск имеет объем 120 – 240 Гбайт. Возьмите файл ~ в 20 — 30 ГБ, и скиньте его на этот диск (файл должен быть один, не папка с кучей разносортных файлов). Посмотрите, что будет со скоростью через какое-то время.
Утилита не работает с NVMe контроллерами, даже совместимых марок, пользуйтесь для работы с ними специальной версии flash_id-NVME
Источник: igorkot.ru
Как определить тип памяти на компьютере
Современные микросхемы памяти для использования в персональных компьютерах помещаются наборами из нескольких штук на текстолитовых планках длиной немного больше 133 миллиметров. Количество микросхем определяет суммарную емкость каждой такой планки, а кроме этого параметра важным является и тип используемых микросхем — от него зависит скорость, с которой информация может быть считана или записана в оперативную память. Тип памяти можно узнать из нанесенных на планки информационных наклеек, но не всегда пользователь имеет доступ к компьютерному «железу». Получить нужную информацию можно и программными методами.
Статьи по теме:
- Как определить тип памяти на компьютере
- Как узнать тип оперативной памяти
- Как найти оперативную память в своем компьютере
Инструкция
Лучше всего подойдут для определения типа установленных микросхем памяти специализированные программы, предназначенные для сбора и систематизации данных о компьютерном «железе». Наиболее распространенными приложениями этого типа являются CPU-Z (http://cpuid.com/softwares/cpu-z.html) и AIDA64 (http://aida64.com/downloads). Первая из программ является полностью бесплатной, а вторая имеет более широкие возможности и не ограничивается только пассивным сбором информации. Выберите наиболее устраивающее вас приложение, загрузите его, установите и запустите.
Если вы решили использовать CPU-Z, то перейдите на вкладку Memory интерфейса приложения. Тип памяти вы найдете в верхней секции (General), в поле Type, а строкой ниже (в поле Size) можно узнать суммарный объем всех установленных в компьютер микросхем памяти. Всего на этой вкладке размещено больше полутора десятка полей, отображающих в режиме реального времени информацию, которая относится к микросхемам памяти.
Если же установлена программа AIDA64, в левой колонке найдите раздел «Компьютер» и кликните подраздел «Суммарная информация». В правой колонке, в поле «Системная память», вы увидите доступный объем оперативной памяти и ее тип. В следующих нескольких строках приведена более подробная информация раздельно для каждого слота памяти материнской платы — тут указаны не только тип, тайминги и скорость, но и производитель чипов.
Если воспользоваться прикладными программами нет возможности, то можно попытаться определить тип памяти с помощью встроенных компонентов ОС Windows. Нажмите сочетание клавиши Win + R, в диалоге запуска программ наберите powershell и кликните кнопку OK. Откроется интерфейс с командной строкой, в которую вам следует ввести gwmi Win32_PhysicalMemory | ft DeviceLocator, MemoryType -a. В результате ее выполнения будет выведена небольшая табличка, количество строк в которой будет соответствовать числу используемых компьютером слотов памяти. В колонку MemoryType каждой строки будет помещен код типа памяти — числу 22 соответствует DDR-3, числу 21 — DDR-2, а числу 20 — DDR.
Источник: www.kakprosto.ru