Skip to content

Commit 6113876

Browse files
committed
📖 主要功能
1 parent 76a48a0 commit 6113876

File tree

1 file changed

+76
-13
lines changed

1 file changed

+76
-13
lines changed

README.md

Lines changed: 76 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,76 @@
88

99
- [参考文献](./docs/others/参考文献.md)
1010

11+
## 主要功能
12+
13+
- 系统引导:
14+
- [x] bootloader
15+
- [x] multiboot2
16+
- 设备驱动:
17+
- [x] PIC 8259 中断控制器
18+
- [x] PIT 8254 定时计数器
19+
- [x] 蜂鸣器
20+
- [x] CMOS 时钟 / 实时时钟
21+
- [x] CRTC 控制台 `0xb8000`
22+
- [x] PS/2 键盘
23+
- [x] 串口设备
24+
- [x] CPU 功能检测
25+
- [x] FPU 浮点处理单元
26+
- [x] IDE 硬盘 (PIO)
27+
- [x] 声霸卡驱动 (🐛 一些情况下播放卡顿)
28+
- [x] 软盘驱动
29+
- [x] PCI 总线枚举
30+
- [x] IDE 硬盘 (UDMA)
31+
- [x] e1000 网卡驱动
32+
- [x] ATAPI 光盘驱动
33+
- [ ] PS/2 鼠标 (🌱 panda)
34+
- [ ] VESA 图形驱动 (🌱 panda)
35+
- [ ] ACPI:控制关机和重启 [@lihanrui2913](https://github.com/lihanrui2913) (🌱 acpi)
36+
- [ ] RTL8139 网卡驱动
37+
- [ ] USB
38+
- 内存管理:
39+
- [x] 保护模式和全局描述符
40+
- [x] **页映射**(核心功能)
41+
- [x] 堆内存管理
42+
- 任务管理:
43+
- [x] **任务调度**(核心功能)
44+
- [x] 同步与互斥 (锁)
45+
- [x] 定时器
46+
- [x] 信号机制
47+
- 用户程序:
48+
- [x] ELF 文件解析
49+
- [x] ELF 文件加载运行
50+
- [ ] 动态链接库
51+
- 系统调用
52+
- 文件系统:
53+
- [x] 管道
54+
- [x] 套接字
55+
- [x] Minix1 文件系统
56+
- [x] ISO9660 文件系统
57+
- 网络协议:
58+
- [x] Ethernet 以太网协议
59+
- [x] ARP 协议
60+
- [x] IPv4 协议
61+
- [x] ICMP 协议
62+
- [x] UDP 协议
63+
- [x] TCP 协议
64+
- [x] DHCP 协议:局域网 IP 地址获取
65+
- [x] DNS 协议:域名解析
66+
- [x] HTTP 协议:简单的 HTTP 服务器
67+
- 开发环境:
68+
- [x] WSL2 [@znyin](https://github.com/znyinyyniu)
69+
- [ ] docker (🌱 docker)
70+
1171
## 使用方法
1272

73+
> 目前不支持 USB 驱动,无法使用 U 盘直接在实体机启动,谨慎测试!
74+
1375
iso 文件的使用参考 [版本 1.0.0](./docs/13%20系统优化/179%20版本%201.0.0.md)
1476

1577
对于 `qemu` 模拟器,需要提前配置 `tap0` 设备,用于网络:
1678

1779
qemu-system-i386 -m 32M -audiodev pa,id=snd -machine pcspk-audiodev=snd -device sb16,audiodev=snd -rtc base=localtime -chardev stdio,mux=on,id=com1 -serial chardev:com1 -netdev tap,id=eth0,ifname=tap0,script=no,downscript=no -device e1000,netdev=eth0 -drive file=onix_1.0.0.iso,media=cdrom,if=ide -boot d
1880

19-
## 开发中的功能
20-
21-
### 硬件驱动
22-
23-
- [ ] ACPI:控制关机和重启 [@lihanrui2913](https://github.com/lihanrui2913)
24-
- [x] 网卡驱动 RTL8139
25-
2681
## Pull Request 约定
2782

2883
1. 确保每个修改的文件都是有意义的,不要添加与系统无关的文件;
@@ -49,11 +104,14 @@ Commit Decription 前面加上 emoji ❤️ 提高阅读性:
49104
- bochs >= 2.7 [^bochs]
50105
- qemu >= 6.2.0 [^qemu]
51106
- gcc >= 11.2.0 [^gcc]
52-
- gdb == 12.1 [^gdb]
53-
- nasm == 2.15.05
54-
- binutils >= 2.38
55-
- vmware >= 16.1
56-
- vscode == 1.74.3
107+
- gdb >= 12.1 [^gdb]
108+
- nasm >= 2.15.05 [^nasm]
109+
- binutils >= 2.38 [^binutils]
110+
- vmware >= 16.1 [^vmware]
111+
- vscode >= 1.74.3 [^vscode]
112+
- ffmpeg >= 6.0 [^ffmpeg]
113+
- python >= 3.6 [^python]
114+
- pyelftools >= 0.29 [^pyelftools]
57115

58116
## Star History
59117

@@ -66,4 +124,9 @@ Commit Decription 前面加上 emoji ❤️ 提高阅读性:
66124
[^gcc]: <https://gcc.gnu.org/>
67125
[^gdb]: <https://www.sourceware.org/gdb/>
68126
[^nasm]: <https://www.nasm.us/>
69-
127+
[^binutils]: <https://www.gnu.org/software/binutils/>
128+
[^vmware]: <https://www.vmware.com/products/workstation-pro.html>
129+
[^vscode]: <https://code.visualstudio.com/>
130+
[^ffmpeg]: <https://ffmpeg.org>
131+
[^python]: <https://www.python.org/>
132+
[^pyelftools]: <https://github.com/eliben/pyelftools>

0 commit comments

Comments
 (0)