Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.11.2019
Сообщений: 10

Разработать приложение, реализующее мониторинг состояния виртуальной памяти вычислительной системы в ОС Windows

15.01.2020, 08:29. Показов 1702. Ответов 9

Студворк — интернет-сервис помощи студентам
Разработать
приложение, реализующее мониторинг состояния виртуальной памяти вычислительной
системы в ОС Windows.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2020, 08:29
Ответы с готовыми решениями:

Разработать Windows-приложение для реализации простейшей (FAT) виртуальной файловой системы
Подскажите что почитать, что бы реализовать что-нибудь из этого? ну или если у кого есть уже готовое скиньте ком не трудно) 1....

Разработать систему контроля технического состояния узлов и устройств вычислительной системы организации
Помогите пожалуйста! Средствами прикладного программного обеспечения и сопутствующих языков программирования для создания приложения...

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

9
Модератор
10358 / 5644 / 3396
Регистрация: 17.08.2012
Сообщений: 17,217
15.01.2020, 18:17
На паскале мониторить память - идея так себе. Это возможно с помощью сторонних библиотек и всяких там ассемблерных вставок, если только у Вас хорошие познания в ассемблере и организации памяти систем ОС Windows, и Вы хотя бы представляете, как писать драйверы для нулевого кольца.

Windows, они, знаете ли, ещё как весьма разные бывают... Windows от 1.0 до 3.1 WorkGroup, NT, 95, CE, 98, ME, 2000, XP, Vista, 7, 8, 10... Вроде бы, никого крупного не забыл... Во всех желаете мониторить память, или и через одну достаточно?

В любом случае, паскаль - явно не лучший выбор для Вашей задачи.
0
0 / 0 / 0
Регистрация: 21.11.2019
Сообщений: 10
16.01.2020, 08:26  [ТС]
ну, я не знаю, сейчас у нас паскаль и ничего другого мы пока даже не нюхали. хотя, вполне возможно, что преподаватель хочет от нас самостоятельного обучения каких-то языков программирования, потому что уже было задание написать простейший драйвер.

то есть надо его на ассемблере писать, так?
0
445 / 373 / 133
Регистрация: 09.09.2011
Сообщений: 1,343
17.01.2020, 11:41
не очень понятно что понимается под "состояние виртуальной памяти".

возможно что информация есть только в голове вашего преподавателя.

виртуальная память - это некая технология, которая либо есть, либо ее нет. И какого-то состояния у нее нет. Смысл технологии виртуальной памяти заключается в том, что память процесса "выглядит" для него как некий непрерывный диапазон адресов от 0 до максимально возможного адреса к которому сможет обратиться процесс, а при обращении к памяти по этим адресам - операционная система при помощи аппаратного блока процессора транслирует его в реальный адрес. Вот и вся суть технологии. Где здесь состояние?
0
Модератор
10358 / 5644 / 3396
Регистрация: 17.08.2012
Сообщений: 17,217
18.01.2020, 15:24
Чуть доступнее насчёт технологий (ликбез):

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

Слово "виртуальный" в данном случае используется не в значении "кажущийся", а в значении "искусственно созданный, но неотличимый от реального".

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

Kitayets, состояние (всей) виртуальной памяти - это (вся) информация изо (всех) дескрипторов сегментов памяти, указанных в таблицах GDT, LDT и IDT.

Добавлено через 19 минут
beefbaby, полагаю, писать нужно будет в основном на C++, поскольку большинство библиотек из SDK, как, впрочем, и большинство из хотя бы упоминающихся в MSDN библиотек и программ, написаны на C++, а некоторые не только "написаны на C++", но и "написаны для C++".

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

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

Есть ещё вариант: возможно преподаватель имеет ввиду программу мониторинга состояния модели виртуальной памяти. Однако, указано конкретно: "вычислительной системы в ОС Windows", а не какой-то там отвлечённой модели, поэтому вряд ли.

Вы учитесь на системного программиста? Тогда почему Вам сначала не преподали C++, макроассемблер для платформы X86 и аппаратное обеспечение компьютеров на базе процессоров Intel семейства X86?
0
0 / 0 / 0
Регистрация: 21.11.2019
Сообщений: 10
19.01.2020, 19:13  [ТС]
нет, у нас специальность техник-программист (колледж) и специализация "компьютерная графика". я вообще иногда не понимаю чего она от нас хочет.
0
Модератор
10358 / 5644 / 3396
Регистрация: 17.08.2012
Сообщений: 17,217
20.01.2020, 14:47
Понятно. Тогда для начала лучше изучить ассемблер и аппаратную часть компьютера. Далее - читайте про работу в виртуальном защищённом режиме, про CR0..CR4, GDT и LDT, и так далее, про всякие там сегменты и гранулярность... Там уже всё будет понятно.

Как пример того, с чем Вам придётся иметь дело: http://saukpgp.ru/sauk/Base_UM... 6/gl6.html
1
445 / 373 / 133
Регистрация: 09.09.2011
Сообщений: 1,343
20.01.2020, 21:18
лучше попросить, преподавателя подробнее объяснить задание. какие входные данные, какие выходные, какие ограничения. попросить ссылки на учебные материалы по теме.

В реальности задача может быть гораздо проще, просто не корректное использование терминологии.
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
27.01.2020, 13:02
https://docs.microsoft.com/en-... morystatus
На PascalAbc.Net:

Добавлено через 16 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses System.Diagnostics,crt;
type
  MemoryStatus=record
     dwLength:Integer;
     dwMemoryLoad:Integer;
     dwTotalPhys:longword;
     dwAvailPhys:longword;
     dwTotalPageFile:longword;
     dwAvailPageFile:longword;
     dwTotalVirtual:longword;
     dwAvailVirtual:longword;
   end;  
  procedure GlobalMemoryStatus(var lpBuffer:MemoryStatus); external 'kernel32.dll' name 'GlobalMemoryStatus';
 
  var memStatus:MemoryStatus;  
begin
  loop 100 do begin
    clrscr;
            GlobalMemoryStatus(memStatus);
            writeln('Используемая память', memStatus.dwMemoryLoad.ToString()+' %');
            writeln('Общая память файлов подкачки', memStatus.dwTotalPageFile);
            writeln('Свободная память файлов подкачки', memStatus.dwAvailPageFile);
            writeln('Общая виртуальная память', memStatus.dwTotalVirtual);
            writeln('Свободная виртуальная память', memStatus.dwAvailVirtual);
 sleep(1000);
 end;
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
28.01.2020, 20:14
Joy,
On computers with more than 4 GB of memory, the MEMORYSTATUS structure can return incorrect information, reporting a value of –1 to indicate an overflow. If your application is at risk for this behavior, use the GlobalMemoryStatusEx function instead of the GlobalMemoryStatus function.
Так что лучше сразу по расширенному сценарию:
https://docs.microsoft.com/ru-... rystatusex
https://docs.microsoft.com/ru-... rystatusex

Добавлено через 24 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses Windows;
type
  TMemoryStatusEx = record
    dwLength: DWord;
    dwMemoryLoad: DWord;
    ullTotalPhys: uInt64;
    ullAvailPhys: uInt64;
    ullTotalPageFile: uInt64;
    ullAvailPageFile: uInt64;
    ullTotalVirtual: uInt64;
    ullAvailVirtual: uInt64;
    ullAvailExtendedVirtual: uInt64;
  end;
 
function GlobalMemoryStatusEx(var Buffer: TMemoryStatusEx): Boolean;
stdcall; external 'kernel32' name 'GlobalMemoryStatusEx';
 
const W=40; WV=15;
var
  MemSt: TMemoryStatusEx;
  i: Integer;
begin
  WriteLn('Ctrl+C для завершения...'); WriteLn;
  while True do with MemSt do begin
    dwLength:=SizeOf(MemSt);
    GlobalMemoryStatusEx(MemSt);
    WriteLn('всего':W+WV,' / доступно');
    WriteLn('Использование памяти: '  :W, dwMemoryLoad, ' %');
    WriteLn('Физическая память: '     :W, ullTotalPhys    :WV, ' / ', ullAvailPhys:WV);
    WriteLn('Память файлов подкачки: ':W, ullTotalPageFile:WV, ' / ', ullAvailPageFile:WV);
    WriteLn('Виртуальная память: '    :W, ullTotalVirtual :WV, ' / ', ullAvailVirtual:WV);
    Sleep(3000);
  end; 
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2020, 20:14
Помогаю со студенческими работами здесь

Разработать приложение реализующее «Редактор формул» на языке С++
Добрый день друзья,выручайте студента. Надо разработать приложение реализующее «Редактор формул» на языке С++, с помощью функций WinAPI.

Программа реализующая мониторинг оперативной и виртуальной памяти
Написать программу которая реализует мониторинг оперативной и виртуальной памяти то есть сколько всего памяти той и той сколько...

Разработать Delphi-приложение, реализующее операции над содержимым файла
Привет всем! Я новичок. Очень нужна помощь. Нужно создать приложение для работы с текстовым файлом символьного типа. Необходимо выполнить...

Разработать модель вычислительной системы
Вычислительная система включает три ЭВМ. В систему в среднем через 30 с поступают задания, которые попадают в очередь на обработку к первой...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru