自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小段孩

m0_38099380

  • 博客(9)
  • 资源 (6)
  • 收藏
  • 关注

原创 Linux设备驱动开发之硬件基础

中央处理器的体系结构中央处理器的体系结构可以分为两种:冯诺依曼结构、哈佛结构。采用冯诺依曼结构的中央处理器有intel公司的中央处理器、arm家族的arm7、mips公司的mips等处理器。采用哈佛结构的有avr、arm9、arm10、arm11、cortexA系列等。冯诺依曼结构冯诺依曼结构也称普林斯顿结构,是一种将存储指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存...

2019-04-28 22:20:18 1117

原创 操作系统之建立proc文件系统实验

实验目的在linux-0.11内核中添加proc文件系统实验过程编写文件// oslab/linux-0.11/fs/namei.c@ -441,7 +441,7 @@ int sys_mknod(const char * filename, int mode, int dev) return -ENOSPC; } inode->i_mode = mode;- if...

2019-04-18 01:06:13 916

原创 操作系统之生磁盘的使用二

C-SCAN磁盘调度(电梯算法)上节我们已经知道了通过传递block这个参数就可以在磁盘中指定的一些扇区进行读写操作。现在我们考虑一种情况,一个操作系统中会有多个进程使用到磁盘,如何保证这些进程使用磁盘既准确又快速?那么就要引出我们的磁盘调度算法了,这里我们介绍操作系统中正在使用的调度算法,就是C-SCAN磁盘调度算法,也被称作电梯算法。我们都知道电梯在运行的时候有上升和下降2种逻辑情况。当电...

2019-04-14 12:44:38 231

原创 操作系统之生磁盘的使用一

磁盘的使用一什么磁盘简单来说,就是信息的载体。磁盘利用了电流的磁效应,对一些电信号进行磁化,保存在磁盘中,用来表示一些信息。那么磁盘的结构又是怎样的呢?上面这张图是磁盘的示意图。磁盘中有一个概念:盘面。盘面可以理解为磁盘内部中有很多叠加在一起的盘面,磁盘的信息就存储在这些盘面上。那每张盘面都有什么结构呢?从上面这张图可以看出每个盘面上都有磁道、扇区这2个概念。先从磁道说起,每个盘面上...

2019-04-13 21:49:08 599

原创 操作系统之字符显示的控制实验

实验目的按下F12,后面终端显示键盘的字符全部用’*'代替;再次按下F2,后面终端显示键盘的字符又恢复正常。实验过程编写press_f12_handle函数// linux-0.11/kernel/chr_drv/tty_io.cint switch_show_char_flag = 0;void press_f12_handle(void){ if (switch_show_ch...

2019-04-11 22:20:50 1332

原创 操作系统之键盘捕捉

linux下挂载键盘试想一下,当按下键盘上某个字符时,操作系统是怎样获取到这个字符的呢?然后又怎样回显到终端的呢?按下键盘触发键盘中断void main(void){ ... tty_init(); ...}void tty_init(void){ rs_init(); con_init();}void con_init(void){ ... // 设置键盘中断处...

2019-04-11 00:19:43 1118

原创 操作系统之打印Hello World

调用printf// linux-0.11/init/main.cstatic int printf(const char *fmt, ...){ va_list args; int i; va_start(args, fmt); // 核心代码,再调用write write(1,printbuf,i=vsprintf(printbuf, fmt, args)); va_end...

2019-04-09 23:23:09 880

原创 操作系统之内核栈的切换实验

实验内容现在的Linux 0.11采用TSS和一条指令就能完成任务切换,虽然简单,但这指令的执行时间却很长,在实现任务切换时大概需要 200 多个时钟周期。而通过堆栈实现任务切换可能要更快,而且采用堆栈的切换还可以使用指令流水的并行优化技术,同时又使得CPU的设计变得简单。所以无论是 Linux还是 Windows,进程/线程的切换都没有使用 Intel 提供的这种TSS切换手段,而都是通过堆栈...

2019-04-07 18:44:26 556

原创 操作系统之地址映射与共享实验

实验内容1、用Bochs调试工具跟踪Linux 0.11的地址翻译(地址映射)过程,了解IA-32和Linux 0.11的内存理机制。2、在Ubuntu上编写多进程的生产者—消费者程序,用共享内存做缓冲。3、在信号量实验的基础上,为Linux 0.11增加共享内存功能,并将生产者—消费者程序移植到Linux 0.11。跟踪地址翻译过程1、编写view-memory.c文件:#inclu...

2019-04-05 12:55:13 1918

使用QEMU搭建ARM64实验环境.pdf

使用QEMU搭建ARM64实验环境

2021-08-13

Gitlab备份、迁移和恢复.pdf

基于ubuntu下的gitlab备份、迁移、恢复

2021-02-26

基于A33下tina3.5系统基础上搭建嵌入式QT开发环境上.pdf

基于A33下tina3.5系统基础上搭建嵌入式QT开发环境上.pdf

2020-01-20

基于A33的GDB+KGDB内核调试环境搭建.pdf

基于A33的GDB+KGDB内核调试环境搭建,此种是以串口方法进行搭建kgdb调试环境的,如果通过网络的话,需要使用到其他的模块

2020-01-16

linux驱动实战之平台设备总线_v1.2

linux驱动实战之平台设备总线_v1.2 啦啦啦啦啦啦啦啦啦啦啦了

2017-10-24

信盈达c++培训资料

信盈达c++培训资料,讲解基础,快速入门篇章。了撒啦啦啦啦啦阿拉啦啊

2017-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除