操作系统重要知识点

·  ★★★ 进程与线程的本质区别、以及各自的使用场景。


调度:线程是调度和分配的基本单位,同一进程中线程的切换不会引起进程的切换

并发性:进程和线程都可并发执行

拥有资源:进程是拥有资源的一个独立单位,线程自身不拥有系统资源,可以访问其隶属进程的资源

系统开销:进程的撤销或创建的系统开销显著大于线程的创建与撤销,进程切换的开销也远大于线程

应用场景:需要安全稳定时用进程,需要速度时用线程


·  ★☆☆ 进程状态。


      新建、终止、运行、就绪、阻塞


·  ★★★ 进程调度算法的特点以及使用场景。


先来先服务(FCFS、非抢占式)

使用该算法,进程按照它们请求CPU的顺序使用CPU。基本上,有一个就绪进程的单一队列。当第一个作业从外部进入系统,就立即开始并允许运行它所期望的时间。不会中断该作业,因为它需要很长的时间运行。当其也作业进入时,它们就被安排到队列的尾部。当正在运行的进程被阻塞时,队列中的第一个进程就接着运行。在被阻塞的进程变为就绪时,就像一个新来到的作业一样,排到队列未尾。

优点:易于理解并且便于在程序中运用。在这个算法中,一个单链表记录了所有就绪进程。要选取一个进程运行,只要从该队列的头部移走一个进程即可;要添加一个新的作业或阻塞一个进程,只要把该作业或进程附加在相应队列的末尾即可。

缺点:CPU和I/O设备得不到充分利用。

假如,有一个一次运行1秒钟的CPU密集型进程和每个都要进行1000次磁盘读操作的I/O密集型进程存在。CPU密集型进程运行1秒钟,接着I/O密集型进程开始读一个磁盘块,此时它将会被阻塞,加入到队列未尾。CPU密集型进程接着运行,依次循环,这样I/O密集型进程就要要等1000秒钟才能完成操作。如果有一个调度算法每10ms抢占计算密集型进程,那么I/O进程将在10秒钟内完成而不是1000秒钟,而且还不会对计算密集型进程产生多少延迟。

最短作业优先(SJF、非抢占式)

 

最高响应比优先(HRP、非抢占式)

进程开始获取CPU一直运行直到完成或由于某事件被阻塞放弃CPU,运行结束从当前就绪队列选择最高响应比的进程投入运行。

响应比=(响应时间+运行时间)/运行时间

在响应时间固定的情况下,利于短进程。长进程随着等待时间变长,响应比会提高,因此长进程也能在足够长的时间被调度。

优缺点:利用短进程、长进程不会被饿死。

最短剩余时间(SRT、抢占)

使用这个算法,调度程序总是选择剩余运行时间最短的那个进程运行。有关的运行时间必须提前掌握。当一个新的作业到达时,其整个时间同当前进程剩余时间做比较。如果新的进程比当前运行进程需要更少的时间,当前进程就被挂起,而运行新的进程。

优缺点:利于短进程,开销大,不利于长进程。

轮转调度

优先级调度


·  ★☆☆ 线程实现的方式。



·  ★★☆ 协程的作用。



·  ★★☆ 常见进程同步问题。



·  ★★★ 进程通信方法的特点以及使用场景。



·  ★★★ 死锁必要条件、解决死锁策略,能写出和分析死锁的代码,能说明在数据库管理系统或者 Java 中如何解决死锁。



·  ★★★ 虚拟内存的作用,分页系统实现虚拟内存原理。



·  ★★★ 页面置换算法的原理,特别是 LRU 的实现原理,最好能手写,再说明它在 Redis 等作为缓存置换算法。



·  ★★★ 比较分页与分段的区别。



·  ★★★ 分析静态链接的不足,以及动态链接的特点。


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值