快捷搜索: 王者荣耀 脱发

找工作之操作系统复习

1、进程和线程的区别 进程是程序的执行过程,它是申请资源的基本单位;线程是进程的一个执行单元,是CPU执行的基本单位。 1)进程间相互独立,同一进程的各线程间共享进程中的资源。某进程内的线程在其它进程不可见; 2)调度和切换:线程上下文切换比进程上下文切换要快得多; 3)线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制 线程执行开销小,但不利于资源的管理和保护;而进程正相反。 2、死锁的必要条件 怎么处理 1)循环等待 2)不可抢占 3)资源互斥 4)占有并等待 处理死锁的策略: 1)死锁的预防 破坏四个条件 资源静态分配 2) 死锁的避免 如银行家算法,而是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。 3)死锁的检测和恢复 4)忽略该问题 如鸵鸟算法,用于当死锁真正发生且影响系统正常运行时,手动干预,重新启动 3、同步和互斥 一个进程在某一点等待另一个进程提供信息,两进程存在直接的制约关系; 互斥:争用资源 存在进程-资源-进程的关系; 4、Window内存管理方式:段存储,页存储,段页存储 页存储:用户程序地址空间划分划分为大小相等的部分─页,内存空间按页大小划分为大小相等的区域,称为内存块。CPU取到逻辑地址,划分为页号和页内地址;用页号查页表,得到页框号,再与页内偏移合并成物理地址。不会产生碎片。 段存储:用户程序地址空间:按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名。会产生碎片。 段页存储:对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段,段表,页表。 5、进程的几种状态 运行态:进程占用CPU,并在CPU上运行; 就绪态:进程已经具备运行条件,但是CPU还没有分配过来; 阻塞态:进程因等待某件事发生而暂时不能运行; 运行->就绪:这是有调度引起的,主要是进程占用CPU的时间过长 就绪->运行:运行的进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU 运行->阻塞:发生了I/O请求或等待某件事的发生 OS尚未完成服务;对资源的访问无法进行;初始化I/O且必须等待结果;等待某进程提供输入 阻塞->就绪:进程所等待的事件发生,就进入就绪队列 这里回顾下进程的调度: FCFS:对短进程不利 非抢占 对短进程不利,对I/O密集型的进程不利 Round Robin:抢占 轮转法 SPN(shortest process next) :非抢占 mim[s] 对长进程不利 SRT(shortest Remaining Time) 抢占 min[s-e] 对长进程不利 HRRN 非抢占 max((w+s)/s) 很好的平衡 其中w 花费的等待时间 ;s 进程的总服务时间;e 到现在为止花费的执行时间。 6、虚拟内存 匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。 虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。它的工作过程包括6个步骤: ①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。 ②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。 ③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。 ④从地址变换表读出与逻辑组号a对应的物理组号a。 ⑤从物理组号a和组内字节地址b得到物理地址。 ⑥根据物理地址从主存中存取必要的信息。 LFU:最近一段时间使用次数最小 LRU:最近一段时间最久没有使用过的页面进行置换

经验分享 程序员 微信小程序 职场和发展