操做系统的核心是内核,独立于普通的应用程序,提供操做系统的最基本的功能(进程管理、内存管理、设备驱动程序、文件管理、和网络系统),能够访问受保护的内存空间,也有访问底层硬件设备的全部权限。linux
区分用户态和内核态的缘由:运行在用户态的程序不能访问操做系统内核,保证了内核的安全。给应用程序提供单一简单的接口,使得上层的应用程序不用去关注底层的实现面试
内核态下CPU能够执行任何指令,用户态下CPU只能执行非特权指令。算法
CPU处于内核态,能够随意进入用户态;数组
CPU处于用户态,只能经过软中断方式进入内核态。安全
通常程序开始时都处于用户态,当程序须要系统资源时,经过软中断进入内核态服务器
操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。并发
linux操做系统而言,高位的1G字节为内核空间;低位的3G字节为用户空间。异步
二、进程与线程的区别操作系统
(1)进程:进程是系统进行资源分配和调度的一个独立单位(程序段、相关数据段、PCB)
(2)线程:线程是进程的一个实体,是CPU调度和分配的基本单位。线程不拥有本身的资源,只拥有程序计数器、一组寄存器和栈区),它能够与同属一个进程的其余线程共享进程所拥有的所有资源
(3)关系:一个线程能够建立和销毁另外一个线程,同属进程的多个线程能够并发执行。
同属进程的其余线程共享数据,但拥有本身的栈空间,拥有独立的执行序列
(4)区别:进程和线程是不一样的操做系统资源管理方式。
1)进程独立地址空间,更健壮(一个进程崩溃后不会影响其余进程);线程没有独立的地址空间,一个线程dang掉了整个进程就dang了
2)切换:因此进程切换时消耗资源更大,效率低
对于一些要求同时进行而且又要共享变量的并发操做,只能用线程,不能用进程。
二、
终端用户须要、父进程须要、负荷调节需求、操做系统需求
做为进程独立运行基本单位的标志,可以实现间接运行方式,提供常常管理所须要的信息,提供进程调度所须要的信息,实现与其余进程的同步与通讯
每一个进程中访问临界资源的那段程序称为临界区,每次只容许一个进程进入临界区,进入后不容许其余进程进入。
空闲让进,忙则等待,有限时间,让权等待
低级通讯:效率低,生产者每次只能向一个缓冲池投放一个信息;通讯对用户不透明,隐藏了通讯的具体细节
高级通讯:用户能够利用操做系统所提供的一组通讯命令传送大量数据。通讯过程对用户是透明的。
共享存储器系统、消息传递系统、管道通讯系统、客户机——服务器系统
两个或多个并发进程中,若是每一个进程持有某种资源,却又在等待别的进程释放资源,并且再未改变状态前没法向前推动,那么这一组进程产生了死锁。
Windows提供了3种方式管理内存
有的做业很大,需求空间超过了内存总容量,致使做业不能运行
大量做业要求运行,但内存容量不足,大量的做业停留在外存等待
请求分页存储管理除了要求必定容量的内存和外存,还须要:
在进程运行的过程当中,若所要访问的页面不在内存,就须要将它调入内存,而在哪一个页面调入,须要根据算法而定
使用算法进行置换
计算缺页