大学操作系统的基础知识
1-介绍
王道考研操作系统学习笔记,只记录重点
2-操作系统的概念,功能,和目标
1-程序接口(允许用户通过程序间接使用)=系统调用=广义指令
操作系统也是软件
3-操作系统的特征
4-操作系统的发展与分类
1-手工操作阶段,用纸带机输入输出,人机速度矛盾(取纸带太慢),用户独占全机,一台机子只能一个人用。
2-单道批处理系统,引入脱机输入输出技术(用磁带比纸带快),并监督程序控制输入输出(操作系统雏形),但是内存还是只能运行一道程序,cpu利用率还是很低
3-多道批操作系统,操作系统正式算诞生,多道程序可以并发执行,共享计算机资源,资源利用率大幅度提升,但是没有人机交互功能(只能等待计算机的结果,无法自己取消调试等)
4-分时操作系统,可以多个用户使用,也能人机交互(给各种用户轮流分配时间,如50ms),缺点是太公平太平均分配,如果有紧急任务,照样需要等待。
5-实时操作系统,可以优先响应紧急任务,又分为软实时系统(运行少量时间违规,如售票系统偶尔出错无关紧要),和硬实时系统(必须严格按照规定时间完成,如导弹系统,自动驾驶系统,差1ms就性命攸关)
5-操作系统的运行机制与体系结构
1-指令为计算机能读懂的命令,如二进制0011100等
2-原语是不可中断的,要运行到底。
3-OS就是操作系统的意思 operating system
6中断和异常
发生中断就意味着需要操作系统介入,开展管理工作(进程一时间片完成,进行进程二)。
系统调用是内中断信号(系统调用是需要在核心态实现)
I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如Linux系统 [1] ,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,异步I/O),Memory-Mapped I/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中可以按情况选择不同的I/O方式。
7系统调用
比如打印机,为什么两个人同时打印,不会混淆,因为打印这种指令只能通过系统调用,系统调用又被操作系统管理,有条不紊的执行
应用程序可以直接进行系统调用,但是比较麻烦,通常使用C库函数去调用,因为函数中封装了调用的方法
系统调用只能在处理器核心态进行
有的库函数比如获取绝对值不需要系统调用,但是创造一个文件夹这种函数就需要系统调用。
write(“abc”)看似我们一条语句就能写入adb,其实是语言函数帮我们封装了一系列操作
这里的int x 指令不是整型,二十系统根据int的值选择相应功能
8进程
8.1进程的定义
程序就是一个指令序列
为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消
8.2进程的组成
进程实体是整个进程的东西,是静态的,进程是动态的。
进程由pcb和程序段和数据段组成
打开任务管理器可以看到每个程序打开后,其进程都会被分配一个pid进程标识符 5
8.3进程的组织方式
索引和链接相似,就是把不同状态的进程建立了索引表。
8.4进程的特征
动态性是进程的最基本特征,进程与程序的概念完全不同。
进程是系统资源分配调度的独立单位
进程的结构性就是程序段,数据段,pcb
8.5进程的五种状态
运行态,就绪态,阻塞态,创建态,终止态
就绪态不能直接转换为阻塞态,阻塞态也不能直接转换成运行态
8.6进程的控制
进程的转换就是运行态,就绪态,阻塞态,创造态,终止态间的转换。
通过原语进行进程控制
关中断指令执行后,再有中断指令会暂时不处理,等开中断指令后再处理。
任务管理器删除进程就是一直外界干预
一共有创建原语,阻塞原语,唤醒原语,撤销原语
阻塞原语与唤醒原语必须成对使用,且因何事阻塞就应由何事唤醒
8.7进程的通信
9线程的概念与多线程模型
线程的实现方式
用户可以看到,所以是不透明的,对操作系统是透明的,用户级线程就是用户可以看到的线程
10处理机的调度
高级调度
中级调度
七状态模型
低级调度
三种调度的对比与联系
总结*
资料
1-王道考研https://www.bilibili.com/video/BV1YE411D7nH?p=2
2-csdn的笔记https://blog.csdn.net/weixin_43914604/article/details/104415990