合集-Linux
摘要:### 是什么 进程页表是用于管理进程虚拟地址空间和物理内存之间映射关系的数据结构。它记录了进程中每个虚拟页对应的物理页的信息。 ### 什么作用 进程使用进程页表的方式是通过虚拟地址访问内存。当进程访问一个虚拟地址时,操作系统会根据进程页表中的映射关系,将虚拟地址转换为物理地址,然后进行内存访问操
阅读全文
摘要:在 Linux 中,文件系统以层次结构的方式组织。整个文件系统由多个目录和文件组成,形成了一个树状结构。Linux 的目录结构是按照功能和用途进行划分的。 以下是 Linux 主要目录的一些常见划分: /:根目录,是整个文件系统的起始点。 /bin:系统可执行的二进制文件(命令)存放目录。 /boo
阅读全文
摘要:在正常情况下,Linux 系统中的不同进程不会分配到相同的虚拟内存地址。这是由于虚拟内存管理机制的设计和实现原则决定的。以下是一些解释: 1 地址空间隔离:每个进程有自己独立的虚拟地址空间,它们在逻辑上是隔离的。这种隔离性是通过使用独立的页表来实现的。每个进程都有自己的页表,用于将虚拟地址映射到不同
阅读全文
摘要:> 总体上,start_kernel() 函数负责初始化和启动内核的各个子系统,创建第一个用户进程,以及进入内核的主循环,从而实现整个内核的启动过程。不同的内核版本和配置可能会有一些细微的差异,但一般都会遵循类似的基本流程。 asmlinkage void __init start_kernel(v
阅读全文
摘要:/proc/sys/kernel目录下的常用文件说明 core_pattern:指定生成core文件的模式。 core_uses_pid:指定是否在core文件名中包含进程ID。 ctrl-alt-del:指定按下Ctrl+Alt+Del时系统的行为。 dmesg_restrict:指定是否限制非特
阅读全文
摘要:操作系统的主循环 Linux 操作系统的主循环是指内核(kernel)的主要执行循环,它负责处理各种系统事件和调度任务。主循环的实现可以因不同的内核版本和配置而有所不同,但通常包括以下几个关键步骤: 1. 事件等待:主循环会通过相应的机制(如中断控制器、系统调用接口)等待各种事件的发生,例如中断、系
阅读全文
摘要:在ubuntu或者centos中,1号**init**进程或者**systemd**为用户进程,它的子进程也为用户进程;2号**kthreadd**进程为内核进程,其子进程也为内核进程。 所以,判断是否为内核进程是看它跟2号进程的关系。此外,0号进程**idle**也是内核进程。 init进程 in
阅读全文
摘要:参考:《openEuler操作系统》 内存管理的目标 1. 多进程并发的如何安全高效的共享内存 2. 提高内存利用率和内存寻址效率 内存管理的技术 1. 引入虚拟内存,使进程对内存地址的访问从直接变为间接,实现了进程地址空间的隔离 2. 引入分页机制,实现细粒度的动态内存分配和管理,有效减少了内存碎
阅读全文
摘要:参考:[搞懂上下文切换](https://www.cnblogs.com/chanshuyi/p/os-context-switch.html) 参考:《openEuler操作系统》 为了实现多个进程的并发执行,各个进程需要以时分复用的方式共享CPU。操作系统利用时钟中断,每隔一个时钟中断周期就中断
阅读全文
摘要:文件及字段说明 这个文件中的内容描述了进程的虚拟内存空间中的不同区域,包括**代码段、数据段、堆、栈以及共享库**等。 每一行都代表了一个内存区域,并包含以下列: 起始地址和结束地址:内存区域在虚拟内存空间中的起始地址和结束地址。 权限:内存区域的访问权限,如读、写、执行等。 偏移量:内存区域相对于
阅读全文
摘要:使用场景 对一组服务进行管理,比如限制资源使用、调整启动顺序和依赖关系。 比如,好几个服务都需要限制内存使用,可以每个服务都加个MemoryLimit=373741824,也可以将这些服务加入到同一个slice,然后,只需要在slice中配置MemoryLimit=373741824。 介绍 sys
阅读全文

浙公网安备 33010602011771号