操作系统
CarmenIsOK
这个作者很懒,什么都没留下…
展开
-
死锁
死锁的必要条件 互斥条件:资源是独占且排他使用,进程互斥使用资源,及任意时刻一个资源只能给一个进程使用。 不可剥夺条件:进程所获得的资源在未使用完毕之前,不被其他进程强行剥夺,而只能由获得该资源的进程资源释放。 请求和保持条件:进程每次申请它所需要的一部分资源,在申请新的资源的同时,继续占用已分配到的资源。 循环等待条件:在发生死锁时必然存在一个进程等待队列{P1,P2,…,Pn},其中P1等待...原创 2019-08-10 10:06:54 · 141 阅读 · 0 评论 -
进程管理
一、进程与线程 1、进程 进程是资源分配的基本单位。进程是一段程序执行的过程。 进程是一个实体。每个进程都有它自己的地址空间。 进程是一个“执行中的程序”。 程序:程序是指令和数据的有序集合。本身没有运行的含义,是一个静态的概念。 2、线程 线程是独立调度的基本单位 一个进程中可以有很多个线程,它们共享进程资源。 QQ和浏览器是两个进程,浏览器进程有很多线程,例如HTTP请求线程,事件响应线程...原创 2019-08-10 11:22:38 · 130 阅读 · 0 评论 -
内存管理
虚拟内存 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。 为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块成为一页。这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存中。当程序引用到不再物理内存的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败的指...原创 2019-08-11 10:53:38 · 176 阅读 · 0 评论 -
动态链接和静态链接
静态链接的问题 当静态库更新时那么整个程序都要重新链接; 对于printf这种标准函数库,如果每个程序都要代码,这将会极大的浪费资源。 动态链接 在给定的文件系统中一个库只有一个文件,所有引用该库的可执行目标文件都共享这个文件,它不会被复制到引用它的可执行文件中; 在内存中,一个共享库的 .text 节(已编译程序的机器代码)的一个副本可以被不同的正在运行的进程共享。 区别 静态链接方式...原创 2019-08-11 11:08:55 · 129 阅读 · 0 评论