操作系统
2022-12-26 17:53:01 5 举报
操作系统
作者其他创作
大纲/内容
D
6
150
用户空间 3G
2
1
页表:Page Table
外设总线(Peripheral Bus)
I
16
Q6
调度scheduled
空间越来越大速度越来越慢
C
3
B和C到达
内部结构(internal structure)
虚拟地址空间
程序计数器
虚拟内存:将主存扩大到磁盘中
硬件系统:CPU、存储器、总线、IO设备
i
4
当前进程
foo
网络栈Network Stack
1. I/O操作
page 0
操作系统
平均访问延迟
-
接口(interface)
时间片
用户接口程序:Shell 或 GUI
二级页表
read()
抢占式最短任务优先算法(PSJF)
87
39
专有的
A
47
64KB
0KB
read
Q2
32位操作系统
inode table
数据寄存器Data Register
5
0
用户进程
物理内存(页帧:Frame)
001
2nsec
其他程序运行所需信息
bar.txt
页表的一页
PFN
110
4G
I/O总线(I/O Bus)
用户态
内核态
寄存器
inode
命令寄存器Command Register
I/O设备系统架构
显卡
进程A
86
键盘
CPU
Max
内存管理Memory Management
进程表项3
操作系统通过维护进程表实现进程的状态模型
56
I/O操作过程
畅通
48
进程表项N
运行
100
网卡
c
程序代码
进程B
内核空间 1G
Linux层次概述
物理内存
鼠标
10nsec
CPU时间轴
堆
页表项(PTE)
进程C
40
120
15
root
inode table
内核空间
内存
frame 0
201
从0到最大存储位置的列表max = \b用户空间虚拟内存大小
B
未分配
硬件
Q5
......
磁盘
多级反馈队列(MLFQ)
早期操作系统直接使用物理内存
bar
TASK_SIZE
50
硬件中断
32
上下文切换
目录树结构
file & directory
进程表项2
内存总线(Memory Bus)
文件系统在磁盘中的数据结构
10msec
Linux将虚拟地址空间划分为两个部分,分别称为内核空间和用户空间。32位处理器只有4G虚拟内存寻址空间。3G分配给用户空间,1G分配给内核空间每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用单独的地址空间
虚拟内存(页:Page)
data region
ima.jpg
63
512KB
320KB
23
软件
write
256KB
低优先级
20
15KB
有效位
d
S
8
55
MMU负责映射
堆栈指针
13
7
进程三态
地址空间逻辑结构Address Space
主存
35
进程表项1
448KB
栈
进程表(Process Table)数据/链表结构
Q3
主存:内存
10
foo.txt
VFS(虚拟文件系统)Virtual File System
状态寄存器Status Register
阻塞
设备驱动程序Device Drivers
并发
204
4. 中断处理程序唤醒用户进程继续执行
16KB
1KB
已打开文件状态
1nsec
进程
取消调度descheduled
系统调用System Call
文件读取磁盘操作时间线
DMA操作时间线
页目录项(PDE)
dir
DMA
最短任务优先算法(SJF)
bardata[0]
max
用户空间
384KB
虚拟化
设备特定芯片
open(\"/foo/bar\")
2. 时钟中断,挂起
30
未分配内存
12
31
inumber
硬件系统:CPU、存储器、总线、IO设备、网卡
应用程序
128KB
进程管理Process Management
持久化
或
页目录
3. 执行完成发布硬件中断指令
data block
上层应用:浏览器、Word、Excel等
PIO操作时间线
辅存:磁盘等
bardata[1]
就绪
5G
/
192KB
高优先级
文件系统File Management
Q1
如:PCI总线
I/O设备
高速缓存:L1/L2/L3
24
2KB
Q4
0 条评论
下一页