11.虚拟内存
1. 什么是虚拟内存?解决了什么问题? 虚拟内存是操作系统内存管理的一种技术,每个进程启动时,操作系统会提供一个独立的虚拟地址空间,这个地址空间是连续的,进程可以很方便的访问内存,这里的内存指的是访问虚拟内存。 虚拟内存的目的,一是方便进程进行内存的访问,二是可以使有限的物理内存运行一个比它大很多的…
Writing topic
沿着这个关键词,继续往里看。
1. 什么是虚拟内存?解决了什么问题? 虚拟内存是操作系统内存管理的一种技术,每个进程启动时,操作系统会提供一个独立的虚拟地址空间,这个地址空间是连续的,进程可以很方便的访问内存,这里的内存指的是访问虚拟内存。 虚拟内存的目的,一是方便进程进行内存的访问,二是可以使有限的物理内存运行一个比它大很多的…
进程间8种通信方式详解 进程通信: 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。 1 匿名管道通信…
Linux系统之进程状态 D:uninterruptible sleep (usually IO) R:running or runnable (on run queue) S:interruptible sleep (waiting for an event to complete) T:stop…
select、poll和epoll区别 select单个进程可监视的fd数量受到限制,epoll和select都可实现同时监听多个I/O事件的状态。 select 基于轮训机制 epoll基于操作系统支持的I/O通知机制 epoll支持水平触发和边沿触发两种模式。 1 select select本质…
在看《Java并发编程的艺术》线程池这一块时,提到了要合理地配置线程池,要分析任务特性。任务的性质:CPU密集型、IO密集型和混合型。 CPU密集型和IO密集型 CPU密集型也是指计算密集型,大部分时间用来做计算逻辑判断等CPU动作的程序称为CPU密集型任务。该类型的任务需要进行大量的计算,主要消耗…
进程调度算法 先来先服务调度算法 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用F…
死锁概念,死锁产生的四个必要条件,如何避免和预防死锁 一、死锁概念 死锁是指两个或多个进程在执行的过程中,因为竞争资源而造成互相等待的现象,若无外力作用,它们都无法推进下去。- 1.在等待对方时占有不可抢占的资源- 举个例子,假设有P1,P2两个进程,都需要A和B两个资源,两个都等待另一个资源而不肯…
页面置换算法 地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移除内存,以便为即将调入的页面让出空间。而用来选择淘汰那一页的规则叫做页面置换算法。 最佳置换算法(OPT)(理想置换算法) 这是一种理想情况下的页面置换算法,但实…
IO IO (Input/Output,输入/输出)即数据的读取(接收)或写入(发送)操作,通常用户进程中的一个完整IO分为两阶段:用户进程空间 – 内核空间、内核空间 – 设备空间(磁盘、网络等)。IO有内存IO、网络IO和磁盘IO三种,通常我们说的IO指的是后两者。 LINUX中进程无法直接操作…
进程与线程 进程 程序与进程 进程是计算机中处于运行中程序的实体。程序本身只是指令、数据及其组织形式的描述,进程才是程序(指令和数据)的真正运行实例。 进程结构一般由3部分组成: 代码段、数据段和堆栈段 。代码段用于存放程序代码数据,数个进程可以共享同一个代码段。数据段存放程序的全局变量、常量和静态…