网上linux实验平台,Linux操作系统实验教程

第一部分 Linux操作系统基本原理.

第1章 Linux操作系统简介

1.1 Linux的渊源和发展简史

1.2 Linux的基本特性

1.3 Linux内核的开发模式与内核版本号

1.4 Linux发行版介绍

1.5 Linux内核源代码组织结构

1.6 学习Linux的辅助软件介绍

第2章 Linux的进程管理

2.1 进程与进程描述符

2.2 进程状态及切换时机

2.2.1 Linux的进程状态

2.2.2 进程的切换时机

2.3 进程的调度算法

2.4 进程的创建与消亡

第3章 Linux的存储器管理

3.1 物理内存的管理

3.1.1 页帧与区域

3.1.2 伙伴算法

3.1.3 slab分配器

3.2 进程地址空间的管理

3.2.1 页表机制

3.2.2 vm_area_struct结构

3.2.3 进程地址空间的相关系统调用

3.2.4 页面异常的处理

第4章 Linux的文件系统

4.1 VFS

4.1.1 VFS的作用

4.1.2 进程描述符中与文件系统相关的成员

4.1.3 VFS的文件模型

4.1.4 文件系统的注册与安装

4.1.5 各种对象的操作接口

4.2 EXT2文件系统

4.2.1 EXT2在磁盘上的物理布局

4.2.2 主要的数据结构及其基本操作

4.2.3 磁盘块的分配与释放

4.3 主要文件系统的系统调用处理流程

4.3.1 文件的open操作

4.3.2 文件的read操作

第5章 Linux的设备管理

5.1 设备文件的概念

5.2 设备模型基础

5.3 相关数据结构

5.3.1 字符设备管理

5.3.2 块设备管理

5.3.3 buffer

5.3.4 设备请求队列和I/O调度算法

5.4 块设备文件的open和read操作

5.4.1 块设备驱动程序组成

5.4.2 open函数

5.4.3 read函数

第6章 中断、异常及系统调用

6.1 中断和异常的基本知识

6.2 异常处理函数

6.3 系统调用

6.4 中断的处理

6.4.1 中断控制器

6.4.2 管理中断的数据结构

6.4.3 中断的处理过程

6.5 软中断

第7章 Sys V进程间通信

7.1 共有的特性

7.2 信号量

7.3 消息队列

7.4 共享内存

第二部分 基于Linux操作系统的实验

第8章 用户态编程实验

8.1 实验1——bash脚本编程

8.1.1 实验内容

8.1.2 bash脚本编程简介

8.1.2.1 注释和简单命令

8.1.2.2 环境变量

8.1.2.3 控制结构

8.1.2.4 函数

8.1.3 实验指南

8.2 实验2——观察Linux行为

8.2.1 实验内容

8.2.2 proc文件系统简介

8.2.3 实验指南

8.2.3.1 Linux环境下C语言编程环境简介

8.2.3.2 实验程序框架

8.3 实验3——实现Linux命令解释器..

8.3.1 实验内容

8.3.2 myshell的语法

8.3.3 myshell的程序框架

8.3.4 myshell命令行的语法分析

8.3.5 简单命令的执行

8.3.6 myshell的Makefile

8.3.7 实验指南

第9章 内核编程基础实验

9.1 实验4——内核模块

9.1.1 实验内容

9.1.2 Linux内核模块简介

9.1.3 内核符号表

9.1.4 内核模块编程介绍

9.1.4.1 内核模块实例

9.1.4.2 模块编程的基本知识

9.1.4.3 Makefile介绍

9.1.5 实验指南

9.1.6 测试

9.2 实验5——proc文件系统编程

9.2.1 实验内容

9.2.2 proc文件系统编程简介

9.2.2.1 proc文件系统编程示例

9.2.2.2 proc文件系统的核心数据结构

9.2.2.3 proc文件系统编程接口

9.2.3 实验指南

9.3 实验6——编译内核及增加Linux系统调用

9.3.1 实验内容

9.3.2 Fedora下编译内核

9.3.2.1 第1步——下载内核

9.3.2.2 第2步——生成内核配置文件.config

9.3.2.3 第3步——编译和安装新的内核

9.3.3 添加psta系统调用

9.3.4 测试新增系统调用psta

9.3.5 noexec系统调用的实现

第10章 内核编程综合实验

10.1 实验7——进程隐藏

10.1.1 实验内容

10.1.2 背景知识介绍

10.1.3 proc文件系统实现简介

10.1.4 实验指南

10.1.4.1 功能⑴的实现

10.1.4.2 功能(5)的实现

10.1.4.3 功能(7)的实现

10.2 实验8——字符设备驱动开发

10.2.1 实验内容

10.2.2 字符设备驱动开发介绍

10.2.2.1 测试字符设备

10.2.2.2 描述设备的数据结构

10.2.2.3 设备号的操作

10.2.2.4 字符设备的注册与注销

10.2.2.5 文件操作集

10.2.2.6 同步

10.2.3 字符设备chatdev的实现

10.2.4 聊天程序chat的实现

10.3 实验9——naive文件系统的设计与实现

10.3.1 实验内容

10.3.2 项目的准备工作及建议

10.3.3 实验指南

10.3.3.1 第1步——创建设备

10.3.3.2 第2步——格式化分区

10.3.3.3 第3步——定义并注册naive文件系统

10.3.3.4 第4步——安装/卸载文件系统分区

10.3.3.5 第5步——显示根目录的内容

10.3.3.6 第6步——在根目录下创建内容为空的文件

10.3.3.7 第7步——写文件和读文件

10.3.3.8 第8步——删除文件

10.3.3.9 第9步——创建目录

10.3.3.10 第10步——删除目录

10.4 实验10——块设备驱动开发

10.4.1 实验内容

10.4.2 实验基础和思路

10.4.2.1 参考驱动程序1——块设备驱动程序sbull

10.4.2.2 参考驱动程序2——USB字符设备驱动程序usb-skeleton

10.4.3 U盘驱动的帮助函数

10.4.3.1 函数原型及其使用

10.4.3.2 工作原理和过程

10.4.4 实验指南

第三部分 Linux环境下的操作及常用命令和函数

附录A Linux常用命令

A.1 用户终端命令

A.2 vi编辑器的用法

附录B Linux常用函数

B.1 进程管理函数

B.2 文件管理函数

B.3 进程间通信

B.4 多线程库

附录C 内核配置文件的生成

C.1 配置文件初步生成

C.2 修改内核配置文件

C.3 内核编译选项介绍

参考文献...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

詹金斯的Maven报告

代码质量是一个敏感的话题。 它会影响您的维护成本以及客户满意度。 更不用说您的开发人员使用代码的动力。 谁想要修复难看的代码,对吗? 讨论代码质量总是需要事实和数字! 因此,这是一个简短的教程,介绍如何创建一些…

python实现矩阵叉乘_矩阵乘法的纯Python实现 | 离开Python库!!

点击关注我哦一篇文章带你了解矩阵乘法的纯Python实现在《这篇文章》中,我们有简单提到“矩阵乘法”的相关知识,如果你不记得了,可以复习一下这张图片。想起来了没?本篇文章将深入探讨在没有机器学习库的情况下如何从零实现矩阵乘…

Github Actions:再次改变软件开发

本文转自 FEPulse 公众号(微信搜索 FEPulse,精选国内外最新前端资讯,为你把握前端脉搏)。 Github Actions 是 GitHub Universe 大会上发布的,被 Github 主管 Sam Lambert 称为“再次改变软件开发”的一款重磅功能&…

为别人软件加入广告或者密码(特别思路)

洪雨的的这款软件比较奇特,是忽然想到一个思路,然后实现了一下。 exe文件都有一个很有趣的地方,只要内部完整,就可以运行。比如一个exe文件,我们运行的时候,电脑知道他是exe所以可以直接运行。假如洪雨将它…

c free语言自定义函数,C 语言free函数的工作原理

今天在网上看到了这样一个问题,“如果malloc 了一块字符串的内存,然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉。”这个问题,以前的确没有仔细想过。当然,我觉得是肯定会释放掉的&…

Django 错误跳转页面

原网站:https://blog.csdn.net/goupper1991/article/details/50736826 django404,500错误自定义页面: 将 改为 1.修改settings文件DEBUG FalseALLOWED_HOSTS [127.0.0.1, localhost]或者ALLOWED_HOSTS [*]2.配置urls文件from django.conf.…

ElasticSearch-Hadoop:从Hadoop到ElasticSearch的产品视图计数索引和客户顶部搜索查询...

这篇文章涵盖了如何使用ElasticSearch-Hadoop从Hadoop系统读取数据并在ElasticSearch中对其进行索引。 它涵盖的功能是在最近n天中为每个客户的产品浏览量计数和热门搜索查询编制索引。 分析的数据可以进一步在网站上使用,以显示最近浏览过的客户,产品浏…

伸缩轨道_深度解析——伸缩喷漆房为什么这么受欢迎!

伸缩式喷漆房是一种环保喷漆设备,它可以在使用时,自动展开形成封闭或半封闭的环保喷漆房,不使用时收缩合拢到一处的特殊环保喷漆房设备,由于伸缩式喷漆房外观大方、简单实用且投资费用低,它在现代涂装应用中越发广泛。…

snippet,让你编码效率翻倍

为什么谈到Snippet 今天下午在用vscode做小程序的时候,发现很不方便,因为商店里提供的代码片段极为有限,而且平时几乎每天都需要用到代码片段,所以就在思考他们是怎么做到给别人提供代码的,我可以自定义代码片段吗。然…

键盘keydown值表

键盘名称键值(keycode)键盘名称键值(keycode)BackSpace8Tab9Clear12Enter13Shift_L16Control_L17Alt_L18Pause19Caps_Lock20Escape27Space32Prior33Next34End35Home36Left37Up38Right39Down40Select41Print42Execute43Insert45Del…

c语言算ex自定义函数,用C语言写定积分的通用函数:sin(x),cos(x),eX.

/************************************************************//*sin,cos,exp函数已经存在于系统的数学函数库中,程序开头需要定义math头文件*//************************************************************/#include/****************主函数****************…

day12-HTML基础之DOM操作

DOM(Document Object Model 文档对象模型) 一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象。可以通过dom对象中js提供的方法,找到html的各个标签。通过找到标签就可以…

小程序源码 租房管理系统_如何通过租房小程序开发快速引流

租房市场在整个房产市场占据了极大一部分市场份额,而随着租售同权政策的提出、房价的不断提升,租房市场份额将进一步扩大。合肥小程序开发智速新媒体公司传统的租房方式不管是出租方还是租房客户,彼此之间的消息不对等、沟通困难等因素导致房…

REST 101开发人员专用

本地代码执行 诸如C之类的高级语言中的函数将被汇编为Assembly中的过程 。 它们增加了一个间接级别,使我们不必考虑内存地址。 诸如Java之类的面向对象语言中的方法和多态性增加了另一种间接性 ,使我们不必考虑一组相似功能的特定变体。 尽管有这些间…

一个基于Bmob的OPPO锁屏壁纸小程序,写过之后发现...好像没什么卵用...一脸懵逼

小程序之前写的,也就前段时间,毛毛糙糙的写了第一版... 因为使用OPPO手机,所以有个锁屏杂志的东西,里面的图片每天都是由OPPO官方的人进行精选然后推送给用户的,图片菲菲菲菲菲常漂亮,看到网上很多人提取不…

SQLAlchemy 操作数据库

SQLAlchemy 操作数据库 SQLAlchemy为Python提供了不同数据库的统一接口,采用ORM的方式操作数据库,简洁优雅 一、安装 直接通过pip安装即可 pip install sqlalchemy 二、连接数据库 这里用小巧的sqlite来做测试 from sqlalchemy import create_engine# 创…

e会学上的c语言答案,e会学刷课脚本_e会学代刷

e会学刷课脚本_e会学代刷2020-06-17 04:10:15【刷课平台】【在线刷课】68在Excel 2010中,假定一个单元格的地址表示为$D25,则该单元格的行地址为( )。A、DB、25C、30D、45正确答案: B69在自定义序列对话框中输入新序列时,序列内容间用什么分隔。( )A、中文逗号B、回…

贝塞尔曲线理解与应用

贝塞尔曲线并非是由贝塞尔发明的,但是是因为他把这个东西应用到当时的汽车领域而闻名的,所以取名为贝塞尔曲线。 在我看来,用简单的话来理解一下贝塞尔曲线,他是通过少量几个点,使用一套公式,生成一条平滑曲…

数据结构 算法与应用C 语言描述答案,数据结构算法与应用-C语言描述.pdf

下载下载第1 6章 回 溯寻找问题的解的一种可靠的方法是首先列出所有候选解,然后依次检查每一个,在检查完所有或部分候选解后,即可找到所需要的解。理论上,当候选解数量有限并且通过检查所有或部分候选解能够得到所需解时&#xff…

云服务器布置_【阿里云ECS】(一)云服务器上安装RStudio-server

【阿里云ECS】(一)云服务器上安装RStudio-server最近注册了阿里云个人版,打算研究研究shiny部署问题。进了阿里云ECS因为是Ubuntu16.04的对于安装R和RStudio还是要学习实践一下的。第一步,安装R语言。我们使用apt的方式进行安装,步…