Linux Kernel
文章平均质量分 65
Linux内核知识
菠萝开方
这个作者很懒,什么都没留下…
展开
-
Linux系统简介
一、实验介绍1.1 实验内容本节主要介绍 Linux 的历史,Linux 与 Windows 的区别等入门知识。如果你已经有过充分的了解,可以跳过本节,直接进入下一个实验。1.2 知识点linux为何物linux历史简介linux重要人物linux与windows的不同如何学习linux二、实验内容linux为何物Linux 就是一个操作系统,就像你多少已经了解的 Wind...转载 2019-12-09 15:35:00 · 80 阅读 · 0 评论 -
Direct I/O 和 Buffered I/O
Page CachePage Cache以物理页为单位对磁盘文件进行缓存。对于Linux等类Unix操作系统,通常会把空闲的内存用作Page Cache,在有内存请求的时候逐步释放缓存。应用层对文件的访问一般有两种方式:mmap 创建直接访问的虚拟地址空间read/write 寻址访问...原创 2021-10-23 16:07:08 · 461 阅读 · 0 评论 -
Linux字符设备和块设备的区别
Linux的字符设备和块设备系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的设备被称作块设备,这些数据片就称作块。最常见的块设备是硬盘,除此以外,还有软盘驱动器、CD-ROM驱动器和闪存等等许多其他块设备。注意,它们都是以安装文件系统的方式使用的——这也是块设备的一般访问方式。另一种基本的设备类型是字符设备。字符设备按照字符流的方式被有序访问,像串口和键盘就都属于字符设备。如果一个硬件设备是以字符流的方式被访问的话,那就应该将它归于字符设备;反过来,如果一个设备是随机(无序的)访问的,转载 2021-04-09 10:18:13 · 244 阅读 · 0 评论 -
使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
实验要求选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/syscall_32.tbl参考视频中的方式使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用仔细分析汇编代码调用系统调用的工作过程,特别是参数的传递的方式等。总结部分需要阐明...原创 2020-01-06 12:21:58 · 236 阅读 · 0 评论 -
Linux内核分析:跟踪分析Linux内核的启动过程
实验要求使用gdb跟踪调试内核从start_kernel到init进程启动,详细分析从start_kernel到init进程启动的过程。实验步骤$ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S # 关于-s和-S选项的说明:# 1. -S# -S freeze CPU at sta...原创 2019-12-10 20:09:40 · 151 阅读 · 0 评论 -
完成一个简单的时间片轮转多道程序内核代码
实验要求完成一个简单的时间片轮转多道程序内核代码,代码见视频中或从mykernel找。仔细分析进程的启动和进程的切换机制,总结部分需要阐明自己对“操作系统是如何工作的”理解。实验步骤使用实验楼的虚拟机打开shell,完成以下指令:# 注意路径是区分大小的# 切换目录至linux源代码所在的目录$ cd ~/LinuxKernel/linux-3.9.4 $ rm -rf myk...原创 2020-01-06 12:21:30 · 241 阅读 · 0 评论 -
通过反汇编一个简单的C程序理解计算机是如何工作的
实验目的:通过反汇编一个C程序,分析汇编代码理解计算机是如何工作的实验步骤1.我们可以先观察一下这个实验平台,在主目录里面,已经原创 2020-01-06 12:20:50 · 131 阅读 · 0 评论