Linux内存分页及虚拟地址到物理地址的计算
发表于|更新于|笔记
|浏览量:
前言
- MMU(内存管理单元): MMU的主要作用是地址的转换,将虚拟地址转换为物理地址。不连续的物理地址也可以映射为连续的虚拟地址。
- 待续。。。
文章作者: Billy
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Billy 的博客!
相关推荐

2024-09-20
1Panel面板容器无法使用localhost、127.0.0.1配置链接的问题说明及解决办法
报错现象:安装图床应用时无法连接数据库,但是MySQL进程无报错mysql:报错信息一览 SQLSTATE[HY000] [2002] Connection refused 当使用PHP 运行环境/容器安装的应用时,即从1panel应用商店安装(自行安装的应用使用localhost连接不受影响)MySQL报错 SQLSTATE[HY000] [2002] Connection refused (SQL: SHOW FULL TABLES WHERE table_type = ‘BASE TABLE’) 使用localhost 报错无法链接redis、mysql。 使用127.0.0.1报错无法链接redis、mysql。 主要原因:1panel的运行环境为docker创建的容器,故此我们无法通过localhost、127.0.0.1进行直接访问和使用mysql、redis、memache等服务。 这是由于docker每个容器都是单独的一个ip造成的,故此每个容器环境中的127.0.0.1和localhost都是独立的,就相当于两个世界那样,完全无法...

2024-09-20
操作系统知识梳理
耗时20天,终于学完啦,顺便写了1.4w字的笔记,坚持互联网开源精神,分享出来 操作系统 1.1_1 操作系统的概念、功能和目标 作为用户和计算机硬件之间的接口 提供的功能命令接口(联机命令接口|脱机命令接口)程序接口GUI(图形用户界面win|ios|andrio)目标方便用户使用 1.1_2 操作系统的特征 并发|并行 并发:多个事件交替发生(宏观同时发生、微观交替进行) 并行:多个事件同时发生 共享 两种资源共享方式 互斥共享方式:一个时间段内只允许一个进程访问该资源同时共享方式:允许一个时间段内由多个进程“同时”对它们进行访问虚拟 概念:把一个物理上的实体变为若干个逻辑上的对应物 空分复用计数时分复用计数异步 概念:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。只有系统拥有并发性,才有可能导致异步性。 1.1_3 操作系统的发展与分类 OS的发展与分类 手工操作阶段纸带机(用户独占全机、人机速度矛盾)批处理阶段——dan’dao单道批处理系统(外围机——磁带)多道批处理系统(操作系统开始出现...

2024-09-20
Linux内核态赋予进程root权限
一、Linux中进程的用户管理在Linux中,每个进程都拥有真实用户ID (==uid==)和真实组ID (==gid==),有效用户ID (==euid==)和有效组ID (==egid==),保存的设置用户ID (==suid==)和保存的设置组ID (==sgid==),另外地,还有文件系统用户ID (==fsuid==)和文件系统组ID (==fsgid==)。 (1) 真实用户、组 (uid/gid):指的是进程的实际所有者和所属组,一般就是执行此进程的用户。 (2) 有效用户、组 (euid/egid):用来判断进程执行各种操作的权限。 (3) 保存的设置用户、组 (suid/sgid):是有效用户、组的副本,主要用来还原...

2024-09-20
20240320-配置GitHub-SSH默认使用443端口
配置GitHub SSH默认使用443端口1.测试443端口是否可用首先测试一下使用443端口进行GitHub SSH连接: 1ssh -T -p 443 git@ssh.github.com 如果一切正常,那么你应该得到如下输出: Hi UserName! You’ve successfully authenticated, but GitHub does not provide shell access. 2.配置SSH使用443端口SSH客户端配置文件 12# 全局配置文件:/etc/ssh/ssh_config# 用户配置文件:~/.ssh/config # 如果不存在则创建 在你的SSH客户端配置文件中增加以下内容: 1234Host github.com Hostname ssh.github.com Port 443 User git 再次测试是否有效: 1ssh -T git@github.com 或拉取仓库: 1git clone git@github.com:UserName/RepoName.git

2024-09-20
安装x11vnc远程桌面
打开终端并输入以下命令以安装x11vnc:1sudo apt-get install x11vnc 安装完成后,输入以下命令以生成密码文件: 1sudo x11vnc -storepasswd /etc/x11vnc.pass 该命令将提示您输入密码,然后将密码保存在/etc/x11vnc.pass文件中。 创建一个systemd服务文件,以便在系统启动时自动启动x11vnc1sudo nano /etc/systemd/system/x11vnc.service 将以下内容复制并粘贴到文件中: 12345678910[Unit]Description=Start x11vnc at startup.After=lightdm.service # 或 display-manager.service[Service]Type=simpleExecStart=/usr/bin/x11vnc -auth guess -forever -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -sha...

2024-09-20
20240328-Debian12根分区扩容记录
[!WARNING] 以下操作可能会导致包括但不仅限于数据丢失、无法启动等问题,严重时您可能需要重装系统,如要继续,请确保已做好数据备份等准备工作。 Debian12根分区扩容记录前言情况是这样的,有一台Debian12的机器,磁盘分区信息如下: 12345678root@xxx:~# df -ThFilesystem Type Size Used Avail Use% Mounted onudev devtmpfs 3.8G 0 3.8G 0% /devtmpfs tmpfs 775M 488K 775M 1% /run/dev/vda1 ext4 19G 1.1G 17G 7% /tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shmtmpfs tmpfs 5.0M 0 5.0M 0% /run/locktmpfs tmpfs 77...