最近,深入的阅读了《Linux内核设计与实现》这本书,以下是碰到的一些问题,在此和大家进行交流学习。

碰到的问题

1.为什么不要在linux内核中使用浮点数(这个问题由于书上讲的不够明白,所以导致自己不能理解,去参考别的资料才弄懂)

浮点的编码跟整数编码是不一样的,计算时需要专门的寄存器和浮点计算单元来处理,一个浮点运算指令使用的CPU周期也更长。因此对于内核来说就会想尽量回避浮点数运算,譬如说浮点数经过定点整数转换后进行运算,效率会高很多,即使CPU带有浮点数运算部件,一般内核还是要避免直接进行浮点数运算,因为这些部件有可能被用户进程占用了,内核要判断这些浮点数部件是否被占用,保护现场,然后用浮点运算部件计算结果,恢复现场,开销会很大。如果CPU不支持浮点数运算,也就只能软件实现浮点数运算,要是你设计内核的话,相比起多做额外功夫(写浮点数实现代码)并且使得内核的效率不高,大家更加情愿避免这个问题。

2.为什么内核的栈那么小,而用户栈却很大而且还可以动态增长?栈的大小规定为4KB,8KB是否是人为规定?

未解决

3.关于Ubuntu下启用root用户的问题

虽然知道Ubuntu下root账户是默认禁止的,但是一想到要在那么多命令下前面每条加入sudo就不痛快,所以想着启用root账户。 首先设置root密码,利用现有管理员帐户在终端执行命令:

sudo  passwd root

接着输入密码和root密码,重复密码。于是我们就可以通过

su - root

命令来使用root账户登录了(这里需要注意一点的是,带参数-是为了带入登录者的环境变量和工作目录,不带-也是可以的,不过我觉得应该会碰到一些莫名其妙的问题,稳妥起见,我觉得一般加上-或者-l比较好)下面这张图是有无参数的区别:



可以明显看出不带参数-用root登录之后的工作目录仍是之前用户的工作目录。

4.因为刚刚接触内核这一块,从来没有配置过内核,所以也不知道哪些需要用到哪些不用用到,所以下载了最新版本的内核并没有自己去个性化的配置以及编译,而且书上写了Ubuntu的发布版中包含了预编译的内核,那对于我们新手来讲,是否有还需要再编译一遍内核的必要呢?书上讲了三种编译方式,看完了觉得make defconfig是新手最容易上手的创建配置命令,但是这样做了跟用发行版本身的预编译没什么差别,于是便没有再去创建自己的配置而后编译。而且,书上还讲了在内核代码树的根目录下有一个.config的文件,保存了当前的配置信息,那么我觉得随着自己的深入学习以后再来更改,不知道是否可以?进到相关目录查看了下,发现里面有一个Kconfig的文件,里面内容很少,如图



但是好像指向了另一个目录source "arch/$SEARCH/Kconfig",在这里并没有发现$SEARCH文件夹,在arch里直接看到了Kconfig文件



这个文件里内容比较多,应该是配置文件。这里不是很懂,需要老师指导。

20169212《Linux内核原理与分析》第三周作业的更多相关文章

  1. 20169212《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...

  2. 2019-2020-1 20199329《Linux内核原理与分析》第九周作业

    <Linux内核原理与分析>第九周作业 一.本周内容概述: 阐释linux操作系统的整体构架 理解linux系统的一般执行过程和进程调度的时机 理解linux系统的中断和进程上下文切换 二 ...

  3. 2019-2020-1 20199329《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 一.上周问题总结: 未能及时整理笔记 Linux还需要多用 markdown格式不熟练 发布博客时间超过规定期限 二.本周学习内容: <庖丁解 ...

  4. 2019-2020-1 20209313《Linux内核原理与分析》第二周作业

    2019-2020-1 20209313<Linux内核原理与分析>第二周作业 零.总结 阐明自己对"计算机是如何工作的"理解. 一.myod 步骤 复习c文件处理内容 ...

  5. 20169210《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...

  6. 2018-2019-1 20189221 《Linux内核原理与分析》第九周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包 ...

  7. 2017-2018-1 20179215《Linux内核原理与分析》第二周作业

    20179215<Linux内核原理与分析>第二周作业 这一周主要了解了计算机是如何工作的,包括现在存储程序计算机的工作模型.X86汇编指令包括几种内存地址的寻址方式和push.pop.c ...

  8. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  9. 《Linux内核原理与分析》第一周作业 20189210

    实验一 Linux系统简介 这一节主要学习了Linux的历史,Linux有关的重要人物以及学习Linux的方法,Linux和Windows的区别.其中学到了LInux中的应用程序大都为开源自由的软件, ...

  10. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

随机推荐

  1. JQuery + XML作为前后台数据交换格式实践

    JQuery + xml作为前后台数据交换 JQuery提供良好的异步加载接口AJAX,可以局部更新页面数据, http://api.jquery.com/category/ajax/ xml作为一种 ...

  2. Mac OS的phpize空信息解决办法

    Mac下执行phpize 出现以下信息 grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include/ ...

  3. C#扩展特性

    今天跟同事讨论技术,无意发现的C#3.0的一个新特性,高手可以直接忽略. 这个特性叫扩展,我觉得非常的方便所以就记录下来了.以下是我的测试代码: public static class test { ...

  4. ajax获取其他网站接口信息

    MXS&Vincene  ─╄OvЁ  &0000023─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好, ...

  5. dr.wondr博士随笔之三星某古董智能机GTXXXX 的取证恢复一例

    大家好!欢迎来到我dr.wonde博士的微博! 这是dr.wonde的第一篇微博,不足之处,还请见谅. 今天dr.wonde给你们带来不可能的数据恢复任务之三星非智能机古董机GT-E1088C 的恢复 ...

  6. wex5 教程 之 图文讲解 全局可观察变量与登陆状态全局控制

    一 先说说,这两个概念是什么意思 全局可观察变量?没听说过,只听过全局变量,那你out了,因为我要充分发挥绑定技术来控制页面部局,组件的隐藏与显示,文字内容,样式改变.看我博文大家知道,我想用绑定技术 ...

  7. eclipse编辑struts.xml 代码提示

    先确定xml文件 window-preferences-查询catalog 点击add 关于这个Location 先找到你下载的struts压缩包 然后找到 解压这个jar包 你会得到一些dtd文件 ...

  8. Auty自动化测试框架第二篇——读取与执行脚本列表

    [本文出自天外归云的博客园] 在Auty中的文件结构,lib目录下的read_selection.py和execute_selection.py文件:

  9. android小知识之fragment中调用startActivityForResult(Intent intent,int requestcode)所遇到的问题

    大家都知道对于Activity和Fragment都可以注册OnActivityResult()方法,但是要注意几点: a.当activity和fragment都注册了OnActivityResult( ...

  10. jquery之empty()方法详解

    empty()函数用于清空每个匹配元素内的所有内容. empty()函数将会移除每个匹配元素的所有子节点(包括文本节点.注释节点等所有类型的节点). 该函数属于jQuery对象(实例). 语法 jQu ...