页表、地址重定位、地址保护的名词解释
页表、地址重定位、地址保护的名词解释
页表:
我的解答: 页表是一种特殊的数据结构,放在系统空间的页表区,存放逻辑页与物理页帧的对应关系。 每一个进程都拥有一个自己的页表,PCB表中有指针指向页表。
老师的解答: 反映程序的逻辑页号和内存的物理块号映射关系的表。
地址重定位:
我的解答: 地址重定位指把目标程序中的逻辑地址转换成主存空间的物理地址。 其计算方法为:物理地址(PA)= 块号×页长+页内地址。
老师的解答: 把用户空间的逻辑地址转换成实际主存空间的物理地址的过程。
地址保护:
我的解答: 保护模式同实模式的根本区别是进程内存受保护与否。可寻址空间的区别只是这一原因的果。实模式将整个物理内存看成分段的区域,程序代码和数据位于不同区域,系统程序和用户程序没有区别对待,而且每一个指针都是指向"实在"的物理地址。这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序区域,并改变了值,那么对于这个被修改的系统程序或用户程序,其后果就很可能是灾难性的。为了克服这种低劣的内存管理方式,处理器厂商开发出保护模式。这样,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问。
老师的解答: 对用户程序、操作系统等地址空间的管理,防止程序间的代码保护。
每天一道算法题
给定一个长度为 n 的整数序列,请出最长的不包含重复的数的连续区间,输出它的长度。
输入格式 第一行包含整数 n。
第二行包含 n 个整数(均在 0∼105 范围内),表示整数序列。
输出格式 共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。
数据范围 1≤n≤105 输入样例: 5 1 2 2 5 输出样例:
提交代码
代码语言:javascript代码运行次数:0运行复制#include<bits/stdc++.h>
using namespace std;
ct int = 100010;
int a[], s[];
int n, res;
int main()
{
cin >> n;
for (int i = 0; i < n; ++ i) cin >> a[i];
for (int i = 0, j = 0; i < n; ++ i)
{
s[a[i]] ++; // 记录下a[i]出现的次数
while(s[a[i]] > 1) // 一点碰见两个重复的元素后
{
s[a[j]] --; // 这里要主要的一点是这个算法是没有回溯的
// 不要被for循环里面的条件误导以为会回溯、
// 现在遇到两个相同的元素了
// !!! 现在是这个算法最厉害的地方
// 这个j代表的是 j可以到达最左的地方 所以在j左边的
// 元素的个数就需要都-- 这点很妙
// 每次求的是 j到i之间的符合条件的最大值
j ++; // 然后j++
}
res = max(res, i - j + 1); // 这个res的含义是 在i这个位置、
// 可以达到的符合题目条件的最大长度
}
cout << res;
return 0;
}
代码语言:javascript代码运行次数:0运行复制import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws IOException{
Scanner in = new Scanner(System.in);
int n = ();
int [] a = new int [n + 10];
int [] s = new int [n + 10];
int res = 0;
for (int i = 0; i < n; ++ i) a[i] = ();
for (int i = 0, j = 0; i < n; ++ i)
{
s[a[i]] ++;
while(s[a[i]] > 1)
{
s[a[j]] --;
j ++;
}
res = (res, i - j + 1);
}
println(res);
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:202-02-2,如有侵权请联系 cloudcommunity@tencent 删除系统指针程序内存算法 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 19 条评论) |
本站网友 在美 | 6分钟前 发表 |
res; int main() { cin >> n; for (int i = 0; i < n; ++ i) cin >> a[i]; for (int i = 0 | |
本站网友 一枝一叶一世界 | 2分钟前 发表 |
输入格式 第一行包含整数 n | |
本站网友 互联 | 12分钟前 发表 |
地址重定位 | |
本站网友 英威达 | 4分钟前 发表 |
j = 0; i < n; ++ i) { s[a[i]] ++; // 记录下a[i]出现的次数 while(s[a[i]] > 1) // 一点碰见两个重复的元素后 { s[a[j]] --; // 这里要主要的一点是这个算法是没有回溯的 // 不要被for循环里面的条件误导以为会回溯 | |
本站网友 屠戮之刃哪里爆 | 24分钟前 发表 |
// 现在遇到两个相同的元素了 // !!! 现在是这个算法最厉害的地方 // 这个j代表的是 j可以到达最左的地方 所以在j左边的 // 元素的个数就需要都-- 这点很妙 // 每次求的是 j到i之间的符合条件的最大值 j ++; // 然后j++ } res = max(res | |
本站网友 young样 | 4分钟前 发表 |
请出最长的不包含重复的数的连续区间 | |
本站网友 random函数 | 23分钟前 发表 |
每天一道算法题最长连续不重复子序列给定一个长度为 n 的整数序列 | |
本站网友 康欣胶囊 | 19分钟前 发表 |
s[]; int n | |
本站网友 崔宝印 | 11分钟前 发表 |
其计算方法为:物理地址(PA)= 块号×页长+页内地址 | |
本站网友 太原房屋出租信息 | 26分钟前 发表 |
i - j + 1); // 这个res的含义是 在i这个位置 | |
本站网友 感染2013 | 22分钟前 发表 |
为了克服这种低劣的内存管理方式 | |
本站网友 上海消费 | 21分钟前 发表 |
j = 0; i < n; ++ i) { s[a[i]] ++; while(s[a[i]] > 1) { s[a[j]] --; j ++; } res = (res | |
本站网友 牙齿美白秘方 | 30分钟前 发表 |
放在系统空间的页表区 | |
本站网友 油漆工的徒弟叫啥 | 17分钟前 发表 |
为了克服这种低劣的内存管理方式 | |
本站网友 最大的货轮 | 2分钟前 发表 |
操作系统等地址空间的管理 | |
本站网友 海西新闻 | 9分钟前 发表 |
那么对于这个被修改的系统程序或用户程序 | |
本站网友 女生殖 | 3分钟前 发表 |
并改变了值 | |
本站网友 美国聊天室 | 4分钟前 发表 |
用户程序的一个指针如果指向了系统程序区域或其他用户程序区域 |