关于后端:Linux内核分析与应用

Linux 内核剖析与利用

走马观花,可作抛砖引玉


1.概述

用到的几个命令:

insmod

dmesg
lsmod

章节测试:

局部可参考

<1>. Linux得以风行,是因为遵循了GPL协定,并不是因为遵循POSIX规范 (错)

linux操作系统概述

linux概述

<2>. 从Linux操作系统的整体构造来看,分两大部分,用户空间的应用程序和内核空间的os内核,二者之间是一种c/s构造,os是服务者,应用程序是客户,是一种申请和响应的关系。 (对)

Linux用户空间与内核空间

阮一峰-User space 与 Kernel space

<3>.<font color=”9966ff”>Linux内核提供机制而不是策略,零碎调用是一种策略</font> (错)

对于Unix/Linux的设计有一句通用的格言“提供机制而不是策略”。换句话说,零碎调用形象出了用于实现某种确定目标的函数。至干这些函数怎么用齐全不须要内核去关怀。区别对待机制(mechanism)和策略(policy)是Unix/Linux设计中的一大亮点。大部分的编程问题都能够被切割成两个局部:“须要提供什么性能”(机制)和“怎么实现这些性能”(策略)。

<4>.内核源码中的双向链表和哈希表都相当于内核源码中的根本类型,对其操作只须要调用内核提供的相应API就能够。 (对)

Linux内核中对双向链表的应用,几乎和int型一样频繁

<5>.Linux内核把双链表作为根本类型寄存于types.h文件中,是为了暗藏双链表的指针个性。 (对)

Linux双向链表的定义次要波及到两个文件:

  • include/linux/types.h
  • include/linux/list.h

Linux内核中双向链表的经典实现

<6>. list.h中的list_entry()宏通过一个构造体中字段的地址能够求出该构造体的地址,从而能够拜访构造体的其余成员,是一种逆向思维。 (对)

Linux内核中的list_head构造体以及list_entry宏

<7>.Linux内核是单内核构造,执行效率高,可维护性好 (错)

微内核效率不如单内核,但可维护性要好。minix,qnx,l4,还有谷歌刚推出的fuchsia,均为微内核。linux大多数为单内核

<8>.内核文档中https://www.kernel.org/doc/html/latest/ 只蕴含各个子系统的文档 (错)

<9>.可加装的内核模块在内核运行时候可加载和卸载,是开发一个新的文件系统,驱动程序的根本机制。 (对)

<10>.内核模块的修饰符__init可加可不加,对模块的运行没有什么影响 (错)

linux kernel __init和__exit宏的作用

Linux开发实战指南文档(这篇不错)

<11>.编写Linux内核模块时,不须要独自写一个Makefile文件,间接编译就能够 (错)

<12>.Linux内核模块运行在用户空间 (错)

<13>. 微内核比单内核的效率高 (错)

<14>. Linux内核模块的插入和运行必须用root权限 (对)

<15>. Linux的内核模块不属于Linux的几个子系统 (对)

<16>.Linux在超级计算机,可穿戴设施,嵌入式零碎,挪动终端,桌面等零碎上都能够运行。 (对)

<17>. Linux内核、GNU工具以及其余一些自由软件组成了人们常熟的Linux零碎或者Linux公布版。 (对)

<18>. lisit_entry(ptr,type,member)宏返回的是member的地址
(错)

Linux内核双链表语句list_entry(ptr, type, member)了解了解”)

<19>.list_for_each_saft()宏和list_for_each()宏性能一样,安全性有差别 (对)

<20>. 与体系结构(如x86,ARM等)相干的代码寄存在arch目录下 (对)

<21>. 创立过程属于一种策略而不是机制 (错)

<22>. ( )不属于Linux的子系统 D

  • A.过程治理
  • B.内存治理
  • C.文件系统
  • D.模块

<23>.Linux操作系统遵循( )规范 C

  • A.GUN
  • B.GPL
  • C.POSIX
  • D.MMU

<24>.触摸屏属于( )治理 B

  • A.应用程序
  • B.操作系统
  • C.硬件厂家
  • D.零碎调用

<25>.如果要从磁盘读取一个文件,则次要与( )子系统打交道 C

  • A.内存治理
  • B.过程调度
  • C.文件系统
  • D.网络

<26>. struct list_head 无奈表白( )种数据结构 D

  • A.队和栈
  • B.图
  • C.树
  • D.汇合

深刻了解linux内核list_head的实现

<27>. 谷歌的Fuchsia操作系统属于( )构造 A

  • A.微内核
  • B.单内核
  • C.C/S
  • D.面向对象

本文由mdnice多平台公布

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理