-
请求调页(请求页面调度)原理及性能详解
所属栏目:[安全] 日期:2020-12-25 热度:120
想一想,如何从磁盘加载可执行程序到内存。 一种选择是在程序执行时将整个程序加载到物理内存,这种方法的问题是最初可能不需要整个程序都处于内存。假设程序开始时带有一组用户可选的选项。加载整个程序会导致所有选项的执行代码都加载到内存中,而不管这些[详细]
-
逻辑地址空间和物理地址空间
所属栏目:[安全] 日期:2020-12-25 热度:170
CPU 生成的地址通常称为 逻辑地址 ,而内存单元看到的地址(即加载到内存地址寄存器的地址)通常称为 物理地址 。 编译时和加载时的地址绑定方法生成相同的逻辑地址和物理地址。然而,执行时的地址绑定方案生成不同的逻辑地址和物理地址。在这种情况下,我们[详细]
-
写时复制技术(详解版)
所属栏目:[安全] 日期:2020-12-25 热度:122
我们知道了一个进程如何采用请求调页,仅调入包括第一条指令的页面,从而能够很 快开始执行。然而,通过系统调用 fork() 的进程创建最初可以通过使用类似于页面共享的技术,绕过请求调页的需要。这种技术提供了快速的进程创建,并最小化必须分配给新创建进程[详细]
-
磁盘调度算法详解
所属栏目:[安全] 日期:2020-12-25 热度:188
操作系统的职责之一是有效使用硬件。对于磁盘驱动器,满足这个要求具有较快的访问速度和较宽的磁盘带宽。 对于磁盘,访问时间包括两个主要部分: 寻道时间 :是磁臂移动磁头到包含目标扇区的柱面的时间; 旋转延迟 :是磁盘旋转目标扇区到磁头下的额外时间;[详细]
-
如何伪造DNS响应?
所属栏目:[安全] 日期:2020-12-25 热度:135
在中间人攻击中,当用户访问特定的网站,可以通过伪造 DNS 响应,将用户引导到一个虚假的网站。netwox 工具提供的编号为 105 的模块,可以用来伪造 DNS 响应包。 【实例】已知主机 A 的 IP 地址为 192.168.59.133,主机 B 的 IP 地址为 192.168.59.135。下面[详细]
-
DHCP报文格式和类型
所属栏目:[安全] 日期:2020-12-25 热度:157
DHCP 协议提供了多种类型的报文,但是基本格式是相同的,不同类型的报文只是报文中的某些字段值不同。 DHCP 报文的基本格式如图所示。 上图中每个字段含义如下: op:报文的操作类型。分为请求报文和响应报文。客户端发送给服务器的包为请求报文,值为 1;服[详细]
-
获取DHCP服务器的配置信息
所属栏目:[安全] 日期:2020-12-25 热度:166
如果客户端有了 IP 地址,将不再发送 DHCP Discover 包。这时,如果要获取网络内 DHCP 服务器信息,可以使用 netwox 提供的编号为 179 的模块来实现。该模块通过向 DHCP 服务器广播发送一个 DHCP INFORM 包,以获取相关的配置参数。 DHCP 服务器接收到该数据[详细]
-
多处理器调度完全攻略
所属栏目:[安全] 日期:2020-12-25 热度:159
迄今为止,我们主要集中讨论单处理器系统的 CPU 调度问题。如果有多个 CPU,则负载分配成为可能,但是调度问题就相应地更为复杂。许多可能的方法都已试过,但与单处理器调度一样,没有最好的解决方案。 多处理器调度的方法 对于多处理器系统,CPU 调度的一种[详细]
-
什么是管程,管程机制及其使用方法详解
所属栏目:[安全] 日期:2020-12-25 热度:110
虽然信号量提供了一种方便且有效的进程同步机制,但是它们的使用错误可能导致难以检测的时序错误,因为这些错误只有在特定执行顺序时才会出现,而这些顺序并不总是出现。 为了处理这种错误,研究人员开发了一些高级语言工具,一种重要的、高级的同步工具,即[详细]
-
什么是虚拟内存,虚拟内存及其作用详解
所属栏目:[安全] 日期:2020-12-25 热度:57
前面介绍了计算机系统的各种内存管理策略,例如分页,分段等,所有这些策略都有相同的目标,就是同时将多个进程保存在内存中,以便允许多道程序。然而,这些策略都倾向于要求每个进程在执行之前应完全处于内存中。 虚拟内存技术 允许执行进程不必完全处于内存[详细]
-
内存分页机制完全攻略
所属栏目:[安全] 日期:2020-12-25 热度:183
分段允许进程的物理地址空间是非连续的。分页是提供这种优势的另一种内存管理方案。然而,分页避免了外部碎片和紧缩,而分段不可以。 不仅如此,分页还避免了将不同大小的内存块匹配到交换空间的问题,在分页引入之前采用的内存管理方案都有这个问题。由于比[详细]
-
连续分配、链接分配和索引分配详解
所属栏目:[安全] 日期:2020-12-25 热度:140
磁盘直接访问的特点在文件实现时提供了灵活性。在几乎每种情况下,很多文件都是存储在同一个磁盘上的。主要的问题是,如何为这些文件分配空间,以便有效使用磁盘空间和快速访问文件。 磁盘空间分配的主要常用方法有三个: 连续分配 、 链接分配 和 索引分配[详细]
-
连续内存分配及其方式详解
所属栏目:[安全] 日期:2020-12-25 热度:92
内存应容纳操作系统和各种用户进程,因此应该尽可能有效地分配内存。本节介绍一种早期方法: 连续内存分配 。 内存通常分为两个区域:一个用于驻留操作系统,另一个用于用户进程。操作系统可以放在低内存,也可放在高内存,这取决与中断向量的位置。由于中断[详细]
-
伙伴系统和slab内存分配机制详解
所属栏目:[安全] 日期:2020-12-25 热度:117
当在用户模式下运行进程请求额外内存时,从内核维护的空闲页帧列表上分配页面。这个列表通常使用页面置换算法来填充,如前所述,它很可能包含散布在物理内存中的空闲页面。也要记住,如果用户进程请求单个字节内存,那么就会导致内部碎片,因为进程会得到整个[详细]
-
页面置换算法及其优缺点详解
所属栏目:[安全] 日期:2020-12-25 热度:147
本节,讨论几种页面置换算法。为此,假设有 3 个帧并且引用串为: 7,1,2,3,4,7,1 FIFO页面置换 FIFO 算法是最简单的页面置换算法。FIFO 页面置换算法为每个页面记录了调到内存的时间,当必须置换页面时会选择最旧的页面。 注意,并不需要记录调入页面的确切时[详细]
-
什么是内存交换
所属栏目:[安全] 日期:2020-12-25 热度:183
进程必须在内存中以便执行。不过,进程可以暂时从内存交换到备份存储,当再次执行时再调回到内存中(图 1)。交换有可能让所有进程的总的物理地址空间超过真实系统的物理地址空间,从而增加了系统的多道程序程度。 图 1 使用磁盘作为存储仓库的两个进程的交换[详细]
-
Linux进程调度策略(CFS调度)详解
所属栏目:[安全] 日期:2020-12-24 热度:66
Linux 进程调度 有一个有趣历史。在 2.5 版本之前,Linux 内核采用传统 UNIX 调度算法。然而,由于这个算法并没有考虑 SMP 系统,因此它并不足够支持 SMP 系统。此外,当有大量的可运行进程时,系统性能表现欠佳。 在内核 V2.5 中,调度程序进行了大改,采用[详细]
-
哲学家就餐问题分析(含解决方案)
所属栏目:[安全] 日期:2020-12-24 热度:121
假设有 5 个哲学家,他们的生活只是思考和吃饭。这些哲学家共用一个圆桌,每位都有一把椅子。在桌子中央有一碗米饭,在桌子上放着 5 根筷子(图 1 )。 图 1 就餐哲学家的情景 当一位哲学家思考时,他与其他同事不交流。时而,他会感到饥饿,并试图拿起与他相[详细]
-
什么是CPU调度,CPU调度完全攻略
所属栏目:[安全] 日期:2020-12-24 热度:50
CPU调度 是多道程序操作系统的基[详细]
-
什么是死锁,死锁的原因及解决办法(含四个必要条件)
所属栏目:[安全] 日期:2020-12-24 热度:103
在多道程序环境中,多个进程可以竞争有限数量的资源。当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其他等待进程占有,那么该等待进程有可能再也无法改变状态。这种情况称为 死锁 。 或许,死锁的最好例[详细]
-
多级队列调度算法(含实例分析)
所属栏目:[安全] 日期:2020-12-24 热度:150
在进程容易分成不同组的情况下,可以有另一类调度算法。例如,进程通常分为前台进程(或交互进程)和后台进程(或批处理进程)。这两种类型的进程具有不同的响应时间要求,进而也有不同调度需要。另外,与后台进程相比,前台进程可能要有更高的优先级(外部定[详细]
-
CPU调度准则(完整版)
所属栏目:[安全] 日期:2020-12-24 热度:143
不同的 CPU 调度算法具有不同属性,选择一个特定算法会对某些进程更为有利。为了选择算法以便用于特定情景,我们必须考虑各个算法的属性。 为了比较 CPU 调度算法,可以采用许多比较准则。选择哪些特征来比较,对于确定哪种算法是最好的有本质上的区别。这些[详细]
-
多级反馈队列调度算法详解
所属栏目:[安全] 日期:2020-12-24 热度:169
通常在使用多级队列调度算法时,进程进入系统时被永久地分配到某个队列。例如,如果前台和后台进程分别具有单独队列,那么进程并不从一个队列移到另一个队列,这是因为进程不会改变前台或后台的性质。这种设置的优点是调度开销低,缺点是不够灵活。 相反, 多[详细]
-
优先级调度算法及其优缺点
所属栏目:[安全] 日期:2020-12-24 热度:192
SJF?算法是通用优先级调度算法的一个特例。每个进程都有一个优先级与其关联,而具有最高优先级的进程会分配到 CPU。具有相同优先级的进程按 FCFS 顺序调度。SJF 算法是一个简单的优先级算法,其优先级(p)为下次(预测的)CPU 执行的倒数。CPU 执行越长,则[详细]
-
互斥锁的原理及作用
所属栏目:[安全] 日期:2020-12-24 热度:95
操作系统设计人员构建软件工具,以解决临界区问题,最简单的工具就是 互斥锁(mutex lock) 。我们采用互斥锁保护临界区,从而防止竞争条件。 也就是说,一个进程在进入临界区时应得到锁;它在退出临界区时释放锁。函数 acquire() 获取锁,而函数 release()[详细]