Linux内核开发教程:进程、虚拟内存与I O详解.pptx

Linux内核开发教程:进程、虚拟内存与I O详解.pptx

Linux内核?

第二讲进程、虚拟内存以及I/O主讲人:赵亚华章培训网、[]华章培训网

进程第2页一、进程1、进程的概念进程就是一个序列—一个沿着时间发展的序列。当我们规划好一件事,着手去做的那一刻起,一个进程就开始了。2、计算机进程CPU是计算机的核心,在CPU上执行的一个序列就是一个计算机进程。该序列是事先准备好的,就是储存在储存设备上的程序,包括操作系统本身。计算机进程是和用户无关的。

进程第3页3、用户进程由用户指定的需要计算机帮用户完成的一个序列,如计算1+1=2.操作系统进程和用户相关,和CPU无关,用户只关心最终结果,而执行过程并不一定在CPU上。结论:对于用户而言,用户当然希望自己独占计算机资源而不希望和别人分享;对于计算机而言,它当然希望被更充分的使用,而不专属于任何人。这个矛盾由操作系统来解决!

进程第4页4、操作系统进程操作系统进程可以属于不同的用户,然而却可以同时运行于同一个计算机上。对用户而言,操作系统进程创造他独占机器的假象;对计算机而言,操作系统进程则可以多个同时执行。5、多进程操作系统可以同时运行多个进程的操作系统,这一类操作系统必须完成进程间的调度,调度方式最明显的就是分时,也就是将一段时间N分给M个进程,每个进程运行N/M的时间,如果N/M足够小的话,用户是感觉不到存在M个进程的,也就是说,用户被假象欺骗了!

内存第5页二、内存1、为什么需要内存我们使用的计算机都是基于冯.诺依曼模型的,它是将指令和数据存储于一种叫做存储器的介质中,然后顺序取出指令并把它们放在cpu上执行。为了使计算机更有效率,需要将存储器和cpu的距离拉近,为了执行一个指令,cpu直接从“距离更近”的存储器中得到指令,而不是从“冯.诺依曼的”存储器中得到。这个“距离更近”的存储器就是内存。内存是“冯.诺依曼的”存储器的缓存。cpu首先从内存取指令或者数据,失败后方才从“冯.诺依曼”的存储器中取。

内存第6页2、操作系统进程内存操作系统可以让多个进程同时执行。每一个进程都需要一个单独的、独自享用的“距离更近”存储器-物理内存,但是一台计算机只有一套物理内存,不可能为每一个进程都准备一套物理内存用来存放指令和数据。进程独享的内存称为虚拟内存。操作系统必须提供一种机制用来提供多个虚拟内存和一个物理内存之间的映射,流行的做法是“请求调页”,即只有在实际使用该虚拟内存时,才将数据从“冯.诺依曼”的存储器调入物理内存。结论:物理内存是磁盘的缓存。虚拟内存为进程提供了独占物理内存的假象,实际上所有进程公用一个物理内存,用户再一次被假象欺骗。

内存第7页3、欺骗在操作系统中的意义操作系统提供了一个更高层次的计算机模型,可以将一个cpu执行流模拟成多个执行流,并且在这些执行流之间快速切换,使得多个进程可以同时运行。按照冯.诺依曼模型,必须提供前述的两个假象来欺骗用户,才能实现多个进程同时在一个cpu上运行。一台计算机中除了cpu这一个智能设备之外还有别的智能设备,比如网卡,硬盘,usb控制器等,但是所有的指令都是cpu发出的,因此所有的指令分为两类:1.在cpu中完成的指令,比如算术运算;2.在其它智能设备中完成的执行,比如收发数据。

内存第8页cpu和操作系统一起欺骗了进程,使多个进程可以同时运行,每一个进程都是一个执行流。其它的智能设备并没有cpu那样的欺骗能力,因此所有发往其它智能设备的指令或者数据必须由操作系统代劳而不能由进程直接执行,这类指令就是I/O指令。因此操作系统除了进程管理和内存管理之外,还需要第三类管理功能,那就是:I/O管理

I/O第9页三、I/O(InputandOutput)1、I/O指令cpu的能力集中在计算方面,然而对于通信,存储这类任务,它是不能胜任的,因此必然需要引入其它的设备,这些设备和cpu连接在一起。cpu必须能够发出针对这些设备进行操作的指令,这些指令就是I/O指令。2、如何管理I/O操作系统必须可以捕获I/O指令,然后代替进程执行,这种捕获操作可以通过cpu的机制完成。

总结第10页四、总结1、本讲的重要性本讲十分重要,对于后面的课程是一个必要的铺垫。2、Linux操作系统设计Linux内核的设计思想传承于Unix,在进程管理和内存管理方面十分强大,I/O管理方面也越做越好。

感谢您对华章培训网的支持!.

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档