
【操作系统】
文章平均质量分 80
xiazdong
ECNU-SEI
展开
-
操作系统总结之进程
这学期学了门操作系统,看到大家上课后感觉很困难,所以想写点整理的东西作为大家帮助总结。进程:a program in execution从前:单进程现在:多进程即通过CPU的多路复用使得同时执行多个进程。进程分为用户进程和系统进程。在进程之前,其实作业才是第一个被提出来的,用于批处理系统中。批处理系统术语:提交作业。分时系统术语:任务。任务和作业都类似于进程。只是称呼不同罢了。进程包括了许多东西,在内存中一个进程有文本段(放代码的地方)、数据(放全局变量)、堆(动态分配)、栈(局部变量、函数参数)、PC。进原创 2011-03-12 00:12:00 · 2677 阅读 · 2 评论 -
操作系统总结之文件系统接口
文件在用户看来是再熟悉不过的名字了。因为能够创建文件,把一些数据放在文件中。文件系统包含了文件和目录。目录用以组织文件,包含了文件的简要信息。放在外存。在计算机中有许多不同的介质,而计算机把这些抽象成一个统一的逻辑单元,再映射到物理设备。文件有很多不同的类型,比如:1.文本文件:由行组成的文件。2.二进制文件。3.源文件。由子程序和函数构成。一个文件有自己的属性:1.文件名,identifier,类型,位置,大小,保护,时间。即最近访问时间,最近修改时间,文件创建时间。这些文件属性都放在目录中。文件有许多操原创 2011-05-15 16:16:00 · 3220 阅读 · 0 评论 -
操作系统之进程同步
进程同步前面我们提到了协作进程,协作进程就是会影响其他进程,对于这种情况,很有可能会同时访问同一变量导致出错。竞争条件:多个进程并发访问同一数据切数据的结果与执行进程先后有关。临界区:临界区只能允许一个进程执行。进程分为进入区,临界区,退出区,剩余区。有空则进,无空则等,有限等待。在执行内核代码时,分为抢占内核和非抢占内核。非抢占内核不用考虑进程同步问题。抢占内核因为允许在内核中执行的进程呗抢占,所以会发生数据不一致。Peterson算法:用于处理临界区问题。do{ flag[i]=true; turn=j原创 2011-03-28 19:18:00 · 6489 阅读 · 2 评论 -
操作系统之线程
多线程多线程流行的原因是因为他能够处理与多进程一样的功能,并且创建线程耗费的时间、资源少,共享进程的资源。多线程有线程ID,PC,寄存器集合,栈组成。共享代码段,文件,数据。模型:1.多对一模型:多个用户线程对应一个内核线程。没有增加并发性。2.一对一模型:创建用户线程的数量有所规定,因为不能创建太多内核线程。3.多对多模型:内核线程数量一定,所以无需考虑用户线程的数量,而且也增加了并发性。java创建线程技术:实现Runnable接口,并实现void run();函数Thread th=new Threa原创 2011-03-26 10:42:00 · 1787 阅读 · 0 评论 -
操作系统之CPU调度
CPU调度回顾多道程序,同时把多个进程导入内存,使得一个进程在CPU中执行I/O时,一个进程用来填补CPU的时间。通常进程都是在CPU区间和I/O区间之间转换。CPU调度程序称为短期调度程序,从内存调度到CPU。在内存中等待的就绪队列的节点是PCB。有许多不同的队列实现方法。抢占调度和非抢占调度:前者为一个进程还没结束之前就被夺取CPU的拥有权,而后者则要一个进程结束或等待I/O才给予其他进程CPU的拥有权。分派程序用来把CPU的拥有权交给短期调度程序选定的进程。每次切换进程时都要使用。分派延迟是分派程序所原创 2011-03-26 19:10:00 · 22551 阅读 · 2 评论 -
操作系统总结之虚存
<br />虚拟内存<br />前一章内存管理介绍了几种技术如分页分段把一个进程分成多个页,分开存放,在PCB中维持一个页表。进程执行的前提是进程的全部页都已经在内存中了。<br />虚拟内存技术就解决了这个问题,不需要一个进程把全部的页都放在内存才能执行。<br />动态载入虽然也解决了这个问题,但是需要程序员完成,非常麻烦。<br />其实我们发现,一个程序包含了很多条件语句还有异常处理等,这些代码肯定要选择执行的。所以全部调入会显得冗余,增加了磁盘到内存的传输时间。并且减少一个进程的空间可以使得内存容原创 2011-05-20 23:56:00 · 4185 阅读 · 0 评论 -
操作系统总结之文件系统实现
<br />文件系统永远在外存中,存储大量数据。<br />文件能够原地改写,即能够读出一块,并修改,再写回。<br />外存和内存的传输的最小单位为block。<br />磁盘是随机存储器。<br />文件系统设计也是分层设计思想。从最底层开始讲起。<br />(1)I/O控制层,包括设备驱动程序(翻译高层命令控制硬件控制器)+中断处理程序。<br />(2)基本文件系统:发送高层命令给设备驱动程序用以对磁盘进行读写。<br />(3)文件组织模块:从逻辑块-->物理块,给基本文件系统使用。<br />(原创 2011-05-29 18:48:00 · 4389 阅读 · 0 评论 -
操作系统之死锁
当A进程需要资源a,但是资源a被其他进程占有,那么A进程进入资源a的等待队列,可能再也无法执行,称为死锁。死锁其实在信号量时已经介绍过,因为信号量是一种逻辑资源,资源分为逻辑和物理。资源类型:内存空间,CPU周期,文件,I/O设备等。资源类型相同的实例都是无区别的。死锁的必要条件:1.互斥。即资源不能被多个进程所占有。这点其实除了只读文件,其他基本都满足。2.占有并等待:A进程占有一些资源,还需要的一些资源被其他进程占有,所以处在等待状态。3.非抢占:资源不能被中途抢占。4.循环等待:{P0,P1,P2..原创 2011-04-12 07:52:00 · 8807 阅读 · 0 评论 -
操作系统之内存管理
在多道程序中,需要从磁盘中同时读入多个进程到内存,我们需要对内存进行管理,使得能够有条理地执行进程。通常指令先要从内存中读入,进行解码,还要从内存中读取操作数,再将结果返回给内存。内存看到的只是地址。一个进程占了一块内存,跨度是一串连续的地址,我们用base register和limit register来限定进程访问的范围。CPU只能访问的存储器是内存和CPU的寄存器,所以如果有指令要访问数据,必须要提前导入到内存。下面会讲到交换方法,和动态载入。Cache:因为访问CPU寄存器必访问内存速度快了很多,所原创 2011-04-14 18:43:00 · 9879 阅读 · 4 评论