操作系统
文章平均质量分 92
zhangyang249
少年易学老难成,一寸光阴不可轻。
未觉池塘春草梦,阶前梧叶已秋声。
//书山有路勤为径,学海无涯苦作舟//
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
十、硬盘驱动程序
硬盘分区表创建磁盘分区表文件系统是运行在操作系统中的软件模块,是操作系统中提供的一套管理磁盘文件读写方法和数据组织、储存形式。因此文件系统是程序。它的管理对象是文件,管辖范围是分区,因此文件系统是建立在分区的基础上,每个分区都可以有不同的文件系统。扇区:是硬盘读写的基本单位,扇区从1开始编号,大小字节数=256*N,N一般为2,因此扇区大小为512字节。磁道:是扇区的载体,从0开始原创 2017-12-02 08:54:24 · 4288 阅读 · 0 评论 -
九、完善堆内系统调用:Linux系统调用、printf的内部实现、malloc的内部实现
系统调用原创 2017-12-02 08:54:06 · 1936 阅读 · 0 评论 -
八、用户进程:TSS、用户进程的创建、用户进程的执行(通过调度函数)
用户进程原创 2017-12-02 08:53:52 · 2047 阅读 · 1 评论 -
七、输入输出系统:用锁实现输出、编写键盘驱动程序、环形输入缓冲区
锁多线程调度中出现了字符乱象,本质是访问公共资源需要很多步操作,但是这些操作不具备原子性,它被任务调度器给断开了,从而让其他线程有机会去破坏显存和光标寄存器这两类公共资源。公共资源:公共内存、公共文件、公共硬件等,我们这里的是显存和光标寄存器临界区:各个任务中访问公共资源的指令代码组成的区域就是临界区,,强调一下,临界区是指程序中那些访问公共资源的代码,即临界区是指令代码。互斥:指原创 2017-12-02 08:53:37 · 826 阅读 · 0 评论 -
六、线程的代码实现:pcb栈、线程栈、PCB初始化、中断处理函数、调度函数->多线程调度
线程原创 2017-11-30 21:17:23 · 3973 阅读 · 0 评论 -
二、进入保护模式--内核加载器LOADER:实模式下内存容量检测、开启保护模式、开启分页模式、加载kernel到内存缓冲区、加载kernel到内存(内存复制函数)->kernel
开始进入保护模式:原创 2017-11-30 21:15:03 · 1657 阅读 · 0 评论 -
--------------------------------开始动手自己写一个简易的操作系统-----------------------------------------0
之前一直看了操作系统,决定深不可测,于是想看看内部原理一探究竟,将几个月来忙了好多事情,最有意义的事情莫过于用汇编和c语言实现了一个简易的操作系统,让我从本质上对内核线程、用户进程、特权级变换、任务调度、锁、信号量等等有了本质的了解。下面我会把之间遇到了各自困难记录下来以供位复习,当然也会贴上代码同大家一同分享。首先说明一下工作环境:操作系统:centos7虚拟机:boch原创 2017-10-04 15:43:26 · 947 阅读 · 0 评论 -
五、内存管理系统:makefile、整页分配
makefile原创 2017-11-30 21:16:10 · 745 阅读 · 0 评论 -
四,中断:中断程序(汇编和C语言)、idt、IDTR、8259A、8253以及发生中断时候的压栈细节和特权级保护
中断系统原创 2017-11-30 21:15:43 · 4022 阅读 · 0 评论 -
三、完善内核功能:添加字符、字符串、整数打印功能
在内核中实现打印功能原创 2017-11-30 21:13:31 · 757 阅读 · 0 评论 -
一、开机进入实模式--BIOS->MBR(硬盘扇区复制函数)->LOADER
说明:记录的大部分是我掌握不熟悉的内容,所以知识点不是那么全面。原创 2017-10-04 16:09:25 · 4606 阅读 · 0 评论 -
十一、文件系统
inode、间接块索引表、文件控制块FCB硬盘读写单位是扇区,因此一个块是由多个扇区组成的,块大小是扇区大小的整数倍。块是文件系统的读写单位,因此文件至少要占一个块,当文件体积大于一个块时,文件要拆分为多个块来存储。文件组织形式是对各个文件而言的,UNIX操作系统中的索引结构-inode。采用索引结构的文件系统,文件中的块依然可以分散到不连续的零散空间中,保留了磁盘高利用率的优点,更重要的原创 2017-12-02 09:08:01 · 2922 阅读 · 1 评论
分享