Linux0.11 根文件系统挂载(四)
系列文章目录
Linux 0.11启动过程分析(一)
Linux 0.11 fork 函数(二)
Linux0.11 缺页处理(三)
Linux0.11 根文件系统挂载(四)
文章目录
- 系列文章目录
- 一、起源
- 二、系统调用
- 1、引入库
- 2、读入数据
- 三、补充配置
- 1、空格
- 2、文字颜色
- 3、文字大小
- 4、字体
- 5、背景色
- 6、文章转载
- 7、代码片
- 总结
一、起源
在init/main.c文件中有init函数,其开头有如下代码:
static inline _syscall1(int, setup, void *, BIOS)
void init(void) {
int pid, i;
setup((void *)&drive_info);
//...
}
// 而_syscall1 在include/unistd.h中,定义为:
#define __NR_setup 0 /* used only by init, to get system going */
#define _syscall1(type,name,atype,a) \
type name(atype a) \
{ \
long __res; \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "0" (__NR_##name),"b" ((long)(a))); \
if (__res >= 0) \
return (type) __res; \
errno = -__res; \
return -1; \
}
在 init 函数中,setup 函数实现了根文件系统挂载功能。setup 函数由宏 _syscall1(int, setup, void *, BIOS) 定义,其展开后为(可参考:Linux 0.11 fork 函数(二) ):
// __NR_##name 展开后为 __NR_setup, 而其又是一个宏定义,值为0
#define __NR_setup 0 /* used only by init, to get system going */
// 展开后
static inline int setup(void* BIOS) {
long __res;
__asm__ volatile ("int $0x80"
: "=a" (__res)
: "0" (0),"b" ((long)(a)));
if (__res >= 0)
return (type) __res;
errno = -__res;
return -1;
}
二、系统调用
setup 函数是个系统调用,其响应函数 system_call 函数定义在 kernel/system_call.s 文件中。其最后会调用 sys_setup 函数。
1、引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2、读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
三、补充配置
1、空格
  为“全角空格”
  为“全角空格”
为“不换行空格”
2、文字颜色
浅红色文字:<font color="#dd0000">浅红色文字:</font><br />
深红色文字:<font color="#660000">深红色文字</font><br />
浅绿色文字:<font color="#00dd00">浅绿色文字</font><br />
深绿色文字:<font color="#006600">深绿色文字</font><br />
浅蓝色文字:<font color="#0000dd">浅蓝色文字</font><br />
深蓝色文字:<font color="#000066">深蓝色文字</font><br />
浅黄色文字:<font color="#dddd00">浅黄色文字</font><br />
深黄色文字:<font color="#666600">深黄色文字</font><br />
浅青色文字:<font color="#00dddd">浅青色文字</font><br />
深青色文字:<font color="#006666">深青色文字</font><br />
浅紫色文字:<font color="#dd00dd">浅紫色文字</font><br />
深紫色文字:<font color="#660066">深紫色文字</font><br />
3、文字大小
size为1:<font size="1">size为1</font><br />
size为2:<font size="2">size为2</font><br />
size为3:<font size="3">size为3</font><br />
size为4:<font size="4">size为4</font><br />
size为10:<font size="10">size为10</font><br />
4、字体
<font face="黑体">我是黑体字</font>
<font face="宋体">我是宋体字</font>
<font face="微软雅黑">我是微软雅黑字</font>
<font face="fantasy">我是fantasy字</font>
<font face="Helvetica">我是Helvetica字</font>
5、背景色
<table>
<tr>
<td bgcolor=#FF00FF>背景色的设置是按照十六进制颜色值:#7FFFD4</td> </tr>
</table>
<table>
<tr>
<td bgcolor=#FF83FA>背景色的设置是按照十六进制颜色值:#FF83FA
</td>
</tr>
</table>
<table>
<tr>
<td bgcolor=#D1EEEE>背景色的设置是按照十六进制颜色值:#D1EEEE
</td>
</tr>
</table>
<table>
<tr>
<td bgcolor=#C0FF3E>背景色的设置是按照十六进制颜色值:#C0FF3E
</td>
</tr>
</table>
<table>
<tr>
<td bgcolor=#54FF9F>背景色的设置是按照十六进制颜色值:#54FF9F
</td>
</tr>
</table>
<table>
<tr>
<td bgcolor=DarkSeaGreen>这里的背景色是:DarkSeaGreen,此处输入任意想输入的内容
</td>
</tr>
</table>
6、文章转载
文章作者(任意想输入的汉字), <a href="转载文章的网址">转载文章的名称</a>
7、代码片
名称 | 关键字 | 调用的js | 说明 |
---|---|---|---|
AppleScript | applescript | shBrushAppleScript.js | |
ActionScript 3.0 | actionscript3 , as3 | shBrushAS3.js | |
Shell | bash , shell | shBrushBash.js | |
ColdFusion | coldfusion , cf | shBrushColdFusion.js | |
C | cpp , c | shBrushCpp.js | |
C# | c# , c-sharp , csharp | shBrushCSharp.js | |
CSS | css | shBrushCss.js | |
Delphi | delphi , pascal , pas | shBrushDelphi.js | |
diff&patch | diff patch | shBrushDiff.js | 用代码版本库时,遇到代码冲突,其语法就是这个 |
Erlang | erl , erlang | shBrushErlang.js | |
Groovy | groovy | shBrushGroovy.js | |
Java | java | shBrushJava.js | |
JavaFX | jfx , javafx | shBrushJavaFX.js | |
JavaScript | js , jscript , javascript | shBrushJScript.js | |
Perl | perl , pl , Perl | shBrushPerl.js | |
PHP | php | shBrushPhp.js | |
text | text , plain | shBrushPlain.js | 就是普通文本 |
Python | py , python | shBrushPython.js | |
Ruby | ruby , rails , ror , rb | shBrushRuby.js | |
SASS&SCSS | sass , scss | shBrushSass.js | |
Scala | scala | shBrushScala.js | |
SQL | sql | shBrushSql.js | |
Visual Basic | vb , vbnet | shBrushVb.js | |
XML | xml , xhtml , xslt , html | shBrushXml.js | |
Objective C | objc , obj-c | shBrushObjectiveC.js | |
F# | f# f-sharp , fsharp | shBrushFSharp.js | |
xpp | xpp , dynamics-xpp | shBrushDynamics.js | |
R | r , s , splus | shBrushR.js | |
matlab | matlab | shBrushMatlab.js | |
swift | swift | shBrushSwift.js | |
GO | go , golang | shBrushGo.js |
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。