Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Не могу исправить ошибку(error C2137: empty character constant) https://www.cyberforum.ru/ cpp-beginners/ thread736283.html
задание найти с помощью функции максимальный и минимальный элемент массива размерностью m*n и вывести на экран ошибка одна: error C2137: empty character constant Error executing cl.exe. (в коде помечена так ==> <==) #include<iostream.h> #include<iomanip.h> #include<math.h> #include<time.h>
C++ Дан файл с текстом, нужно вывести каждое слово с новой строчки и посчитать количество символов у каждом слове..
Дан файл с текстом, нужно вывести каждое слово с новой строчки и посчитать количество символов у каждом слове.. #include <iostream> #include <fstream> #include <conio.h> #include <string> using namespace std; int main() {
C++ Из заданной матрицы удалите строку, в которой находится первый отрицательный элемент Люди,очень прошу!помогите написать несколько программа,через неделю зачёт,а я вообще ничего не успеваю... 1.Матрица задается динамически. При работе с матрицами использовать указатели Из заданной матрицы A(N, N) удалите строку, в которой находится первый отрицательный элемент. Элементы матриц просматривайте слева направо и сверху вниз. https://www.cyberforum.ru/ cpp-beginners/ thread736270.html C++ По заданному двумерному массиву сформировать одномерный массив и реализовать указанные преобразования. https://www.cyberforum.ru/ cpp-beginners/ thread736269.html
Люди,очень прошу!помогите написать несколько программа,через неделю зачёт,а я вообще ничего не успеваю... 2.Матрица задается динамически - А(m,n). Тип элементов –целый. По заданному двумерному массиву сформировать одномерный массив и реализовать указанные преобразования. a.Сформировать вектор, k -тый элемент которого равен произведению нечётных элементов k - той строки. b.Найти сумму...
Отсортировать по возрастанию массив 10 целых чисел методом выбора (Borland C++) C++
2. Отсортировать по возрастанию массив 10 целых чисел методом выбора.
C++ Отсортировать линейный массив из 20 действительных чисел методом включения(Borland C++) https://www.cyberforum.ru/ cpp-beginners/ thread736263.html
3. Отсортировать линейный массив из 20 действительных чисел методом включения.
C++ Седловая точка https://www.cyberforum.ru/ cpp-beginners/ thread736261.html
Седловая точка имеет точку S и есть минемальным елементов i-строке и максимальным в j-столбце. Впервые с таким встречаюсь))
C++ Сумму элементов в той строке, в которой нет отрицательных чисел
Сумму елементов в том ряде в котором нету негативних чисел Добавлено через 11 секунд #include<iostream> #include<fstream> #include<Windows.h> using namespace std; void sum(int**,int,int); int main() {
C++ Удалить из каждой четной строки все слова, которые встречаются в предыдущей строке https://www.cyberforum.ru/ cpp-beginners/ thread736257.html
Нужно ввести четное количество строк. Удалить из каждой четной строки все слова, которые встречаются в предыдущей строке. В каждой нечетной строке найти слова, длина которых не превышает N символов (значение N вводят с клавиатуры) и вывести их в алфавитном порядке. с++ Добавлено через 19 часов 54 минуты кто-нибудь может помочь? действительно очень нужно Добавлено через 4 часа 38 минут...
C++ Шифр Гронсфельда (!) Пожалуйста, помогите! Очень срочно :) Написать программу на С++, осуществляющую шифрование и дешифрование каких-либо данных. Тип шифрования – шифр Гронсфельда. Если кому-то поможет, то есть код на Паскале: program Kriptograf; function Shifr ( Kod, K : string ): string; var i,t,d : integer; begin for i :=1 to length (Kod) do begin https://www.cyberforum.ru/ cpp-beginners/ thread736246.html
C++ Помогите, пожалуйста, разобраться с задачей
В окружность радиусом R вписан многоугольник со стороной a. Сто- рона многоугольника с удвоенным числом сторон определяется по формуле A=SQRT(2R^2-2R*SQRT(R*R-A^2/4)).Определить чему равно A, если известны r и a
C++ Подскажите пожалуйста как подключить freeglut к Visual Studio 2012 Подскажите пожалуйста как подключить freeglut к Visual Studio 2012? Хочу начать учить 3d. Поэтому нужно чтобы для всех последующих проектов подключение этой библиотеки - не составляло труда https://www.cyberforum.ru/ cpp-beginners/ thread736236.html
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
22.12.2012, 13:37 0

Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов - C++ - Ответ 3898742

22.12.2012, 13:37. Показов 3152. Ответов 16
Метки (Все метки)

Ответ

Короче вот что-то набросал
C++
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#include <iostream>
 
// следующие typedef'ы лучше реализовать через структуры с битовыми полями
// но для простоты сделаем так
typedef unsigned char byte;
typedef unsigned short word; // при условии, что sizeof(short) == 2
typedef unsigned int dword; // при условии, что sizeof(int) == 4
typedef long long unsigned int qword; //при условии, что sizeof(long long int) == 8;
 
class Page
{
public:
    unsigned char& operator[] (int idx)
    {
        return page[idx];
    }
 
private:
    static const int pageSize = 4 * 1024; // размер страницы 4 КБ (бывают и другие, добавить при необходимости)
    unsigned char page[pageSize];
};
 
class PGEntries
{
public:
    static const int tableSize = 1024; // в случае использования PAE или имитации х86_64 размер будет равен 512
 
    virtual ~PGEntries() {}
 
protected:
   // добавить маски флагов для проверки различных вещей, например разрешение на чтение/запись
};
 
class PTE : public PGEntries
{
public:
    PTE()
    {
        table = new Page*[tableSize];
 
        for (int i = 0; i < tableSize; i++)
        {
            table[i] = new Page;
        }
    }
 
    ~PTE() {/* освободить память */}
 
    Page* operator [] (int idx)
    {
        return table[idx];
    }
 
private:
    Page **table;
    // добавить маски флагов для проверки различных вещей, например разрешение на чтение/запись
    // так же добавить маску флага присутствия страницы в памяти, для имитации исключени Page Fault
};
 
class PDE : public PGEntries
{
public:
    PDE()
    {
        table = new PTE*[tableSize];
 
        for (int i = 0; i < tableSize; i++)
        {
            table[i] = new PTE;
        }
    }
 
    ~PDE() { /* освободить память */}
 
    PTE* operator[] (int idx)
    {
        return table[idx];
    }
 
private:
    PTE **table;
 
    // добавить маски флагов для проверки различных вещей, например разрешение на чтение/запись
};
 
// реализовать при необходимости
// class PDPTE : public PGEntries{};// для имитации использования PAE (PDPTE содержит 4 указателя на PDE (в protected mode) или 512 в х86_64
// class PML4 : public PGEntries{}; // Page Map Level 4 - для имитации пэйджинга x86_64
 
 
class Descriptor {}; // реализовать
class GDT {}; // реализвать
// GDT - global description table - главная табилца дескрипторов
 
typedef int Selector;
 
// на самом деле полный адрес определяется путем сложения базы десктриптора (который опеределяется селектором) плюс адрес
// но уже лень это все реализовывать. Там нужно сделать проверку на лимит и т.д. Так же там есть всякие флаги, которые тоже можно имитировать
class VAddress
{
public:
    VAddress(Selector sel, dword addr)  :  _addr(addr), _sel(sel), PDEmask(0xFFC00000), PTEmask(0x3FF000), pageOffsetMask(0xFFF) {}
    // перегрузить конструктор для 64 битных адресов
 
    int getPDEIndex() const
    {
        return _addr & PDEmask;
    }
 
    int getPTEIndex() const
    {
        return _addr & PTEmask;
    }
 
    int getOffset() const
    {
        return _addr & pageOffsetMask;
    }
 
private:
    Selector _sel;
    dword _addr; // _addr можно сделать как union{qword, dword} для хранения 64 битных адресов
    dword PDEmask;
    dword PTEmask;
    dword pageOffsetMask;
 
    // добавить при необходимости
    // unsigned int PDPTEmask;
    // unsigned int PML4mask;
};
 
class VMemmory
{
public:
    VMemmory(PGEntries *mainTbl) : CR3(mainTbl) {}
 
    // для всех слещующих методов сделать разную реализацию в зависимости от модели paging'а
    // например можно добавить в класс члены bool _paeIsUsed и _pml4IsUsed и инициализировать их в конструкторе
    void setByte (const VAddress &addr, byte val)
    {
        PTE *pte = (*(dynamic_cast<PDE*> (CR3))) [addr.getPDEIndex()];
        Page *page = (*pte)[addr.getPTEIndex()];
        (*page)[addr.getOffset()] = val;
    }
 
    void setWord (const VAddress &addr, word val) { /*реализвать*/}
    void setDword (const VAddress &addr, dword val) { /*реализвать*/}
    void setQword (const VAddress &addr, qword val) { /*реализвать*/}
 
    byte getByte (const VAddress &addr)
    {
        PTE *pte = (*(dynamic_cast<PDE*> (CR3))) [addr.getPDEIndex()];
        Page *page = (*pte)[addr.getPTEIndex()];
 
        return (*page)[addr.getOffset()];
    }
 
    word getWord (const VAddress&) { return 0;/*реализвать*/}
    dword getDword (const VAddress&) { return 0;/*реализвать*/}
    qword getQword (const VAddress&) { return 0;/*реализвать*/}
private:
    PGEntries *CR3; // в процессоре регистр CR3 содержит адрес таблицы верхнего уровня
};
 
int main ()
{
    PDE *pde = new PDE;
    VMemmory mem (pde);
 
    VAddress addr (123 /*это типа селктор, но нужно сделать по другому*/, 0x12345678); // просто для примера
 
    mem.setByte(addr, 0xAB);
 
    std::cout << "Our byte = " << mem.getByte(addr) << std::endl;
 
    return 0;
}
небольшое пояснение - здесь реализовано процентов 10 от того, что реально нужно сделать. Это только самая общая модель (и то не полная без дескрипторов) paging'a. То, что написано в коментариях - это далеко не полный список того, что нужно добавить. Если нужно я могу написать все, что нужно сделать, просто это не пару строк текста, поэтому без надобности писать неохото.

Цитата Сообщение от easybudda Посмотреть сообщение
Я бы значительно дольше провозился
Ага, я что-то про день/полдня неподумав сказал. Реально если делать все как следует, с реализацие всего всего, то пару дней надо (с учетом понимания paging'a). И это только на реализацию модели paging'a, а плюс еще сами задания.

Цитата Сообщение от easybudda Посмотреть сообщение
убивать просто так на это задание целый выходной (а то и два, если сразу не заработает ) - какое-то сомнительное удовольствие...
Да, просидел часа полтора, потом плюнул, даже дескрипторы не стал делать, просто в коментариях отметил

Короче совет - во фриланс! Только вот стоить это будет (как уже писали выше) далеко не 500 рублей.

P.S. не пытайтесь запускать этот код, я там не подумав мапировал все 4 ГБ памяти (как это на самом деле бывает), только вот я эти 4 ГБ из кучи беру, поэтому программа (и ОС) просто зависнут Поэтому нужно подумать - либо обрезать размер памяти, либо мапировать только используемую таблицу -> страницу по запросу.

Вернуться к обсуждению:
Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов C++
1
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2012, 13:37
Готовые ответы и решения:

Физическая память или файл подкачки
Вчера столкнулся с такой проблемой. Начнём с характеристик моего компа. Проццесор Intel core 2...

Файл подкачки
настроил ssd диск с отключением файла подкачки ,в игре world of airplanes вылетает окно что...

Файл подкачки
Добрый день имею 16 гб озу, использую максимум 8-12 гб и то крайне редко, комп используется для...

Файл подкачки
как можно оптимально изменить файл подкачки у меня 3Гб озу какой поставить исходный и максимальный...

16
22.12.2012, 13:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2012, 13:37
Помогаю со студенческими работами здесь

Файл подкачки
Привет:) У меня 2 вопроса: 1. Что такое Файл подкачки? С чем его едят? (простыми словами) 2. Вот...

файлы подкачки
Решил разобрать свой старый комп, который был куплен в далеком 2009, решил оттуда поставить жесткий...

Файл подкачки
Конфигурация компьютера слабоватый Оперативка:512 МБ Проблема: В общем год назад играл Half Life...

Файл подкачки
помогите я захожу в сталкер он пишет:у вас отключен фаил подкачки или нет памяти

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru