实习笔记——操作系统

这篇博客详细介绍了操作系统的各个核心概念,包括进程管理、内存管理、设备管理和死锁处理。在进程管理中,讨论了进程与线程的区别、状态转换、调度算法等;内存管理涵盖了虚拟内存、分页系统和页面置换算法;设备管理则关注磁盘结构和调度策略;最后,解释了链接过程,包括静态链接和动态链接。此外,还深入探讨了各种调度算法如FCFS、SSTF和银行家算法,以及死锁的预防和避免策略。
摘要由CSDN通过智能技术生成

Part 1 概述

基本特征:并发 共享 虚拟 异步
基本功能:进程管理 内存管理 文件管理 设备管理
系统调用:如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成。
大内核:大内核是将操作系统功能作为一个紧密结合的整体放到内核。
微内核:由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。
中断分类:外中断 异常 陷入

Part 2 进程管理

一、进程与线程

进程:进程是资源分配的基本单位。
进程控制块 (Process Control Block, PCB) :描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对 PCB 的操作。
线程:线程是独立调度的基本单位。一个进程中可以有多个线程,它们共享进程资源。
区别:拥有资源/调度/系统开销/通信

二、进程状态的切换

进程状态:就绪 运行 阻塞 (created)(terminated)

  1. 只有就绪态和运行态可以相互转换,其它的都是单向转换。就绪状态的进程通过调度算法从而获得 CPU 时间,转为运行状态;而运行状态的进程,在分配给它的 CPU 时间片用完之后就会转为就绪状态,等待下一次调度。
  2. 阻塞状态是缺少需要的资源从而由运行状态转换而来,但是该资源不包括 CPU 时间,缺少 CPU 时间会从运行态转换为就绪态。

三、进程调度算法

1.批处理系统

批处理系统没有太多的用户操作,在该系统中,调度算法目标是保证吞吐量和周转时间(从提交到终止的时间)。
1.1先来先服务 first-come first-serverd(FCFS)
非抢占式的调度算法,按照请求的顺序进行调度。
有利于长作业,但不利于短作业,因为短作业必须一直等待前面的长作业执行完毕才能执行,而长作业又需要执行很长时间,造成了短作业等待时间过长。

1.2 短作业优先 shortest job first(SJF)
非抢占式的调度算法,按估计运行时间最短的顺序进行调度。
长作业有可能会饿死,处于一直等待短作业执行完毕的状态。因为如果一直有短作业到来,那么长作业永远得不到调度。

1.3 最短剩余时间优先 shortest remaining time next(SRTN)
最短作业优先的抢占式版本,按剩余运行时间的顺序进行调度。 当一个新的作业到达时,其整个运行时间与当前进程的剩余时间作比较。如果新的进程需要的时间更少,则挂起当前进程,运行新的进程。否则新的进程等待。

2.交互式系统

交互式系统有大量的用户交互操作,在该系统中调度算法的目标是快速地进行响应。
2.1 时间片轮转
时间片轮转算法的效率和时间片的大小有很大关系:切换进程需要时间/实施性

2.2 优先级调度
为每个进程分配一个优先级,按优先级进行调度。

2.3 多级反馈队列
可以将这种调度算法看成是时间片轮转调度算法和优先级调度算法的结合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值