并发:不是在同一个时间段,分成若干段,使多个进程快速交替进行。
2.进程:系统分配资源和调度的一个独立单位,是程序的动态执行。
线程:是进程的一个实体,是CPU调度和分派的基本单位。进程是处于动态条件下由操作系统维护的系统资源管理实体
应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间。
先进先出算法
最高优先级算法
时间片论转算法
多级队列反馈法
产生死锁原因:
(1)系统资源不足
(2)进程运行推进顺序不合适
(3)资源分配不当
产生死锁的四个必要条件
(1)互斥条件:一个资源每次只能被一个进程使用
(2)请求与保持条件:一个进程因请求资源阻塞时,对已获得的资源保持不放。
(3)非抢占条件:进程已获得资源在未使用之前不能强行剥夺
(4)循环等待条件:若干个进程形成一种头尾相接的循环等待资源关系。
进程和线程的管理,存储管理,设备管理,文件管理。
6.线程同步有哪些机制
1)临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。
2)互斥量:为协调共同对一个共享资源的单独访问而设计。只有拥有互斥对象的线程才有权去访问系统的公共资源,因为互斥对象只有一个,所以能够保证资源不会同时被多个线程访问。互斥不仅能实现统一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享。
3)信号量:为控制一个具有有限数量的用户资源而设计。它允许多个现在在同一时刻去访问同一资源,但一般需要限制同一时刻访问此资源的最大线程数目。
4)事件:用来通知线程有一些事件已发生,从而启动后继任务的开始。
临界区和互斥量与信号量的区别:
互斥量和信号量在系统中任何进程里都是可见的;
临界区的作用范围仅限于本进程,其他的进程无法获取该锁;
mutex可以用于进程之间互斥,critical section是线程之间的互斥。
7.分段和分页的区别是什么?
页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的零头,提高内存的利用率,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
8.什么是内存碎片?什么是内碎片?什么是外碎片?
内存碎片是由于多次内存分配造成的,当进行内存分配时,内存格式一般为:(用户使用段)(空白段)(用户使用段),当空白段很小的时候可能不能提供给用户足够需要的空间,可能夹在中间的空白段的不能分配而产生空隙。
内碎片是处于区域内部或页面内部的存储块,占有这些区域或页面的进程并不使用这个存储块,而在进程占有这块存储块时,系统无法利用它,直到进程释放它,或进程结束时,系统才能利用这个存储块。
外部碎片是出于任何已分配区域或页面外部的空闲存储块,这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。