硬件概述|操作系统概述硬件设备I/O 设备
组成部分:==I/O 设备控制器 + I/O 设备==
I/O 结构模式:
同步 I/O 结构:==进程== 必须等待 I/O 完成后才可以继续执行(进程进入 ==等待== 状态)
注:处理器并不会等待 I/O 完成 -> 处理器执行另外的程序
异步 I/O 结构:==进程== 不需要等待 I/O 完成而是由处理器继续执行剩下的代码
注:进程可以申请多个 ...
Read more
操作系统-操作系统历史|操作系统概述操作系统发展第一代计算机
计算机构成:电子管
操作系统:电子管计算机没有操作系统
程序执行过程
程序员将程序写在纸上并将其制成穿孔卡片(Job)
操作员将穿孔卡片放入计算机中执行程序等待输出结果
注:穿孔卡片就称为作业(Job),也就是程序;为了方便之后都称作程序
问题:没有操作系统的情况下每次只能够执行一次作业 -> 效率非常低下
语言:机器语言(二进制)
第二代计算机 ...
Read more
系统调用|操作系统概述系统调用
定义:系统调用是进程调用操作系统提供的服务的接口
注:系统调用的实现通常使用 汇编语言 或者 C/C++ 编写
类型:(1) 进程管理 (2) 文件管理 (3) I/O 管理 (4) 信息维护 (5) 进程通信 (6) 保护
执行过程:
进程 传递 系统调用需要的 参数
进程执行陷入指令从用户态切换到内核态
操作系统根据 系统调用接口 查找相应的系统调用
操作系统执行系统调用的 ...
Read more
操作系统-操作系统结构|操作系统概述操作系统结构简单结构
定义:没有 ==模块化== 的设计,利用最小的空间尽可能提供操作系统所有功能
优点 & 缺点:
优点:操作系统所有功能之间可以 ==任意== 通信 -> 效率相对较高
缺点:(1) 操作系统理解维护非常困难 (2) 单个功能的崩溃会影响整个操作系统
细节:
早期的 MS-DOS 操作系统就是采用 ==简单结构== -> 没有明确的区分功能的接口和层次
...
Read more
中断机制|操作系统概述中断机制
中断定义:[处理器暂停当前正在执行的进程,并将当前进程保存在上下文中,转而恢复其他新的进程的并执行的过程]{.red}
[注:上下文采用进程控制块实现]{.red}
中断处理程序:用于处理各种中断的程序
[注:中断处理程序都是存放在内存中的]{.red}
中断向量:各种设备的中断处理程序的地址数组
中断过程:
进程使用 [系统调用]{.blue} 获取操作系统提供的服务 ...
Read more
调度算法|操作系统进程调度算法
调度算法:调度程序针对不同的应用场景(操作系统)采用不同的调度算法去调度进程
调度算法并不影响进程在处理器中的执行时间,仅影响进程在队列中的等待时间
调度单位:线程是最小的调度单位;但是为了方便起见仍然使用进程的概念来描述调度的过程
调度时机 & 方式
调度时机:
初始态 -> 就绪态:
条件:进程获得相应的资源
描述:调度程序将进程从 ==作业队列==(磁盘 ...
Read more
线程概述|操作系统进程线程概述[牢记:单个处理器仅可以运行一个单线程进程或者一个线程]{.red}
线程概念
线程引入:
问题:多个用户向网站的服务器发出请求,仅具有单个处理请求的程序的服务器效率显然是非常低的
改善方案 V1:
服务器在接收到多个用户的请求时 [创建多个进程]{.blue} 用于处理多个用户的需求
并利用 [上下文切换]{.blue} 交替执行多个进程
方案问题:
进程的 [创建]{.re ...
Read more
面向对象|Java面向对象概述
历史:
面向对象编程(object-oriented *programming: oop)取代 面向过程编程(结构化)
注:面向对象是一种思想而不是技术:Java 是面向对象的语言但是不代表不能按照面向过程的思想写代码,C 是面向过程的语言同样不代表不能按照面向对象的思想写代码
==程序 = 算法 + 数据结构==(Pascal 语言的设计者 Niklaus Wirth 提出 ...
Read more