Skip to content

Commit b7ce663

Browse files
author
deployBot
committed
Deploy at Fri May 31 10:46:38 UTC 2024
1 parent 37f8fe0 commit b7ce663

7 files changed

+13
-13
lines changed

Diff for: _sources/labs/kernel_api.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ printk
122122
内存分配
123123
--------
124124

125-
在 Linux 内核中,只能分配驻留内存。要想分配驻留内存,可以使用 :c:func:`kmalloc` 调用。下面是一个典型的 :c:func:`kmalloc` 调用示例:
125+
在 Linux 中,常驻内存只能使用 :c:func:`kmalloc` 调用来分配。下面是一个典型的 :c:func:`kmalloc` 调用示例:
126126

127127
.. code-block:: c
128128

Diff for: _sources/labs/networking.rst.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ socket 相关操作包括:
6666

6767
这些调用的参数如下:
6868

69-
* ``net`` (如果存在)用作对所使用的网络命名空间的引用;通常我们会使用 ``init_net`` 进行初始化;
70-
* ``family`` 表示在信息传输中使用的协议族;它们通常以 ``PF_``(协议族)字符串开头;表示所使用的协议族的常量可以在 :file:`linux/socket.h` 中找到,其中最常用的是 ``PF_INET``用于 TCP/IP 协议;
71-
* ``type`` 是 socket 的类型;用于此参数的常量可以在 :file:`linux/net.h` 中找到,其中最常用的是 ``SOCK_STREAM`` (用于基于连接的源到目的地通信)以及 ``SOCK_DGRAM`` (用于无连接通信);
69+
* ``net`` (如果存在) 用作对所使用的网络命名空间的引用;通常我们会使用 ``init_net`` 进行初始化;
70+
* ``family`` 表示在信息传输中使用的协议族;它们通常以 ``PF_`` (协议族) 字符串开头;表示所使用的协议族的常量可以在 :file:`linux/socket.h` 中找到,其中最常用的是 ``PF_INET``, 用于 TCP/IP 协议;
71+
* ``type`` 是 socket 的类型;用于此参数的常量可以在 :file:`linux/net.h` 中找到,其中最常用的是 ``SOCK_STREAM`` (用于基于连接的源到目的地通信) 以及 ``SOCK_DGRAM`` (用于无连接通信);
7272
* ``protocol`` 表示使用的协议,与 ``type`` 参数密切相关;用于此参数的常量可以在 :file:`linux/in.h` 中找到,其中最常用的是 ``IPPROTO_TCP`` (用于 TCP), ``IPPROTO_UDP`` (用于 UDP)。
7373

7474
要在内核空间中创建 TCP socket,你需要调用:

Diff for: labs/kernel_api.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ <h3>printk<a class="headerlink" href="#printk" title="永久链接至标题">¶<
255255
</div>
256256
<div class="section" id="section-8">
257257
<h3>内存分配<a class="headerlink" href="#section-8" title="永久链接至标题"></a></h3>
258-
<p>在 Linux 内核中,只能分配驻留内存。要想分配驻留内存,可以使用 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用。下面是一个典型的 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用示例:</p>
258+
<p>在 Linux 中,常驻内存只能使用 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用来分配。下面是一个典型的 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用示例:</p>
259259
<div class="highlight-c"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;linux/slab.h&gt;</span><span class="cp"></span>
260260

261261
<span class="n">string</span> <span class="o">=</span> <span class="n">kmalloc</span> <span class="p">(</span><span class="n">string_len</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GFP_KERNEL</span><span class="p">);</span>

Diff for: labs/networking.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,9 @@ <h5>创建<a class="headerlink" href="#section-5" title="永久链接至标题">
210210
<p>这些调用的参数如下:</p>
211211
<blockquote>
212212
<div><ul class="simple">
213-
<li><code class="docutils literal"><span class="pre">net</span></code> (如果存在)用作对所使用的网络命名空间的引用;通常我们会使用 <code class="docutils literal"><span class="pre">init_net</span></code> 进行初始化;</li>
214-
<li><code class="docutils literal"><span class="pre">family</span></code> 表示在信息传输中使用的协议族;它们通常以 <code class="docutils literal"><span class="pre">PF_``(协议族)字符串开头;表示所使用的协议族的常量可以在</span> <span class="pre">:file:`linux/socket.h`</span> <span class="pre">中找到,其中最常用的是</span> <span class="pre">``PF_INET</span></code>用于 TCP/IP 协议;</li>
215-
<li><code class="docutils literal"><span class="pre">type</span></code> 是 socket 的类型;用于此参数的常量可以在 <code class="file docutils literal"><span class="pre">linux/net.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">SOCK_STREAM</span></code> (用于基于连接的源到目的地通信)以及 <code class="docutils literal"><span class="pre">SOCK_DGRAM</span></code> (用于无连接通信);</li>
213+
<li><code class="docutils literal"><span class="pre">net</span></code> (如果存在) 用作对所使用的网络命名空间的引用;通常我们会使用 <code class="docutils literal"><span class="pre">init_net</span></code> 进行初始化;</li>
214+
<li><code class="docutils literal"><span class="pre">family</span></code> 表示在信息传输中使用的协议族;它们通常以 <code class="docutils literal"><span class="pre">PF_</span></code> (协议族) 字符串开头;表示所使用的协议族的常量可以在 <code class="file docutils literal"><span class="pre">linux/socket.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">PF_INET</span></code>, 用于 TCP/IP 协议;</li>
215+
<li><code class="docutils literal"><span class="pre">type</span></code> 是 socket 的类型;用于此参数的常量可以在 <code class="file docutils literal"><span class="pre">linux/net.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">SOCK_STREAM</span></code> (用于基于连接的源到目的地通信) 以及 <code class="docutils literal"><span class="pre">SOCK_DGRAM</span></code> (用于无连接通信);</li>
216216
<li><code class="docutils literal"><span class="pre">protocol</span></code> 表示使用的协议,与 <code class="docutils literal"><span class="pre">type</span></code> 参数密切相关;用于此参数的常量可以在 <code class="file docutils literal"><span class="pre">linux/in.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">IPPROTO_TCP</span></code> (用于 TCP), <code class="docutils literal"><span class="pre">IPPROTO_UDP</span></code> (用于 UDP)。</li>
217217
</ul>
218218
</div></blockquote>

Diff for: searchindex.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: so2/lab10-networking.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ <h5>创建<a class="headerlink" href="#section-4" title="永久链接至标题">
241241
<p>这些调用的参数如下:</p>
242242
<blockquote>
243243
<div><ul class="simple">
244-
<li><code class="docutils literal"><span class="pre">net</span></code> (如果存在)用作对所使用的网络命名空间的引用;通常我们会使用 <code class="docutils literal"><span class="pre">init_net</span></code> 进行初始化;</li>
245-
<li><code class="docutils literal"><span class="pre">family</span></code> 表示在信息传输中使用的协议族;它们通常以 <code class="docutils literal"><span class="pre">PF_``(协议族)字符串开头;表示所使用的协议族的常量可以在</span> <span class="pre">:file:`linux/socket.h`</span> <span class="pre">中找到,其中最常用的是</span> <span class="pre">``PF_INET</span></code>用于 TCP/IP 协议;</li>
246-
<li><code class="docutils literal"><span class="pre">type</span></code> 是 socket 的类型;用于此参数的常量可以在 <code class="file docutils literal"><span class="pre">linux/net.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">SOCK_STREAM</span></code> (用于基于连接的源到目的地通信)以及 <code class="docutils literal"><span class="pre">SOCK_DGRAM</span></code> (用于无连接通信);</li>
244+
<li><code class="docutils literal"><span class="pre">net</span></code> (如果存在) 用作对所使用的网络命名空间的引用;通常我们会使用 <code class="docutils literal"><span class="pre">init_net</span></code> 进行初始化;</li>
245+
<li><code class="docutils literal"><span class="pre">family</span></code> 表示在信息传输中使用的协议族;它们通常以 <code class="docutils literal"><span class="pre">PF_</span></code> (协议族) 字符串开头;表示所使用的协议族的常量可以在 <code class="file docutils literal"><span class="pre">linux/socket.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">PF_INET</span></code>, 用于 TCP/IP 协议;</li>
246+
<li><code class="docutils literal"><span class="pre">type</span></code> 是 socket 的类型;用于此参数的常量可以在 <code class="file docutils literal"><span class="pre">linux/net.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">SOCK_STREAM</span></code> (用于基于连接的源到目的地通信) 以及 <code class="docutils literal"><span class="pre">SOCK_DGRAM</span></code> (用于无连接通信);</li>
247247
<li><code class="docutils literal"><span class="pre">protocol</span></code> 表示使用的协议,与 <code class="docutils literal"><span class="pre">type</span></code> 参数密切相关;用于此参数的常量可以在 <code class="file docutils literal"><span class="pre">linux/in.h</span></code> 中找到,其中最常用的是 <code class="docutils literal"><span class="pre">IPPROTO_TCP</span></code> (用于 TCP), <code class="docutils literal"><span class="pre">IPPROTO_UDP</span></code> (用于 UDP)。</li>
248248
</ul>
249249
</div></blockquote>

Diff for: so2/lab2-kernel-api.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ <h3>printk<a class="headerlink" href="#printk" title="永久链接至标题">¶<
287287
</div>
288288
<div class="section" id="section-8">
289289
<h3>内存分配<a class="headerlink" href="#section-8" title="永久链接至标题"></a></h3>
290-
<p>在 Linux 内核中,只能分配驻留内存。要想分配驻留内存,可以使用 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用。下面是一个典型的 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用示例:</p>
290+
<p>在 Linux 中,常驻内存只能使用 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用来分配。下面是一个典型的 <code class="xref c c-func docutils literal"><span class="pre">kmalloc()</span></code> 调用示例:</p>
291291
<div class="highlight-c"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;linux/slab.h&gt;</span><span class="cp"></span>
292292

293293
<span class="n">string</span> <span class="o">=</span> <span class="n">kmalloc</span> <span class="p">(</span><span class="n">string_len</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GFP_KERNEL</span><span class="p">);</span>

0 commit comments

Comments
 (0)