01 入学测验:你究竟对Linux操作系统了解多少?

unpreview
限量发售中,仅限5000份,3大体系,22个模块,定位工作中80%的高频问题。

精选留言(15)
  • 龍蝦 👍(156) 💬(3)

    记得刚开始学习 Linux,遇到问题会请教同组的高手,等他敲完命令解决问题退出后,我会用 history 回顾下他敲过的命令,重新理一遍解决问题的步骤。

    2019-03-27

  • 不专注的linuxer 👍(15) 💬(2)

    老师以后的更新中会不会加入一些实际动手操作的内容,感觉动手操作一遍比看10遍都有用,希望老师多增加一些动手操作的内容

    2019-03-27

  • 。茹 👍(14) 💬(1)

    突然发现好慌,全不会。。。

    2019-03-27

  • 嘉木 👍(6) 💬(1)

    专栏看了一半多,回过头再来看一看,感觉会的东西多了一些,不过之前好像没有留答案,应该是当时会的太少了。专栏里边有部分看了又忘了,到时候看看笔记接着二刷吧 1、A.B.C.D make install/rpm/yum和解压安装都试过 2、 初始化几篇没有捋清,只是过了一遍知道有保护模式和实模式,具体表示啥不记得了。。 3、B.D 0号是个表头、1号是用户态祖先、2号是内核态祖先。ps查看进程,内核态进程带[],用户态不带[],前面会显示父进程 4、A.C sysenter/systemcall没啥印象 5、C.D A.所有的task_struct放在一个链表,task_struct表示线程,也包括主线程,通过成员变量的tid/gid来区分 B.TASK_RUNNING状态的进程表示可以被调度了,只有这个标识位被置位了,才有可能在调度的时机调用schedule真正运行,所以也可能处于就绪状态 C.task_struct里面有子进程和亲属进程链表 D.用户态使用用户栈,进到内核态要保存用户栈到pt_regs变量,然后使用内核栈。通过task_struct->thread_info - 一个固定大小 可以定位到内核栈地址(好像是这样?不太记得了) 6、A.C 普通进程用CFS,实时进程用CRQ,FIFO的不记得了,这个先进先出没啥紧急的应该是可以优先级低的使用吧,还有个Deadline? 7、B.C.D 进程的代码放在用户态进程空间的代码段(.rodata放常量/.txt放代码), 往上还有数据段(.data已经初始化的全局变量/.bss未初始化的全局变量)、堆(往上增加、线程栈也在这里面)、共享段、用户栈、内核空间(也有专门放内核代码和数据的段、以及内核栈) 同个系统下每个进程的内核栈起始地址是一样的 8、B.C.D A.物理内存模型:节点-区域-页-小块,每页4k,但是大页怎么说呢,不过大页也是由4k的页组成的 B.内核和用户使用的页是分开的 C.这里访问页指的是从拿到一个虚拟地址到访问物理地址的过程吧,要经过TLB、高速缓存、多级页表和最后的页,如果访问的地址已经被TLB缓存了、访问的地址已经被缓存了,那么访问的速度就会快一些 D.每个页由多个链表分别维护大小为2的n次幂大小的小块 9、A.C.D task_struct->file_struct->fd_array[文件描述符],fd_array每一项都指向一个struct file,file又指向inode, file是打开才会有,而inode是每个文件都有,无论打开否 file里面有打开次数,不同进程可能指向同一个file(如父子进程),也可能指向同一个inode的不同file 10、A.B.C.D dentry的内容不记得了 11、A.B.D 一切皆文件;字符设备不使用缓存 12、B.D 这部分还没看。内核只实现了一部分;相同机器的进程可以通过unix socket通信,是基于文件的

    2019-08-13

  • BELIEVE 👍(5) 💬(1)

    就会第一题,看来成长空间巨大,哈

    2019-04-09

  • Alex 👍(4) 💬(1)

    看完Unix环境高级编程第三版,这些问题都有答案。 当然一般来说我也不记得答案,都是现翻书,哈哈。

    2019-03-27

  • mh 👍(3) 💬(1)

    我以为我会玩Linux了,各种命令玩的都很溜,看到大牛出的题我知道这个课程买对了

    2019-03-27

  • No 👍(2) 💬(1)

    以前以为学了如何敲命令知道那个命令干嘛的能配个LAMP啥的配配服务就算懂LINUX了,现在看如果面试是这种原理题我估计就挂了,看来那些东西不能叫懂GNU/LINUX操作系统。

    2020-06-09

  • Seventy、 👍(2) 💬(1)

    看到那么多跟我一样只会第一题的,我就放心啦

    2019-05-18

  • 龙坤 👍(2) 💬(1)

    留下疑问,学完后回来考核自己: 1. 不同Linux系统安装软件的方式 2. 一台装有Linux操作系统的主机,上电后的一切软硬件初始化动作和加载过程?什么是实模式? 3. Linux内核初始化过程?创建进程的大概步骤?0/1/2号进程的含义?什么叫用户态和内核态? 4. 触发系统调用指令的过程? 5. 内核的进程管理过程?什么叫链表?进程状态有哪几种?父子进程如何通信?用户态和内核态如何切换? 6. 进程的调度过程?有哪些调度策略?进程被分为多少种类? 7. 进程的内存管理过程?用户栈和内核栈是什么? 8. 物理内存管理过程?物理内存的段、页是什么? 9. 文件描述符是什么?file链表和inode怎么解释? 10. 文件系统、虚拟文件系统和网络文件系统如何理解?文件系统在操作系统中的使用过程? 11. 输入输出设备在Linux操作系统以何种方式体现?什么叫块设备、字符设备? 12. 七层网络通信在Linux操作系统中如何体现?什么叫套接字?Socket通信应用到Linux操作系统的什么原理以及它的通信过程?

    2019-04-20

  • 做一个积极的跳蚤 👍(1) 💬(1)

    很多题都比较模糊,感觉是也不敢肯定,还是基础知识不扎实,基本靠感觉来猜了

    2020-06-11

  • silencedoctor 👍(1) 💬(1)

    老师我想问一下task_struct中的vm_area_struct是用红黑树和链表存储的,一份数据2种存储方式,红黑树不论是插入,删除和遍历都比链表效率高。我个人感觉是为了使用LRU页面置换算法才引入链表的,请问这样的理解对么。引入链表是否还有别的理由呢。

    2019-03-27

  • 湮汐 👍(0) 💬(1)

    没几个会,很多题目都看不懂。虽然有点害怕,但是也觉得太多东西要学了!

    2020-05-23

  • Cubat 👍(0) 💬(1)

    当做完几道题发现自己都是ABCD全选的时候,我就觉得自己还有很大的提升空间...

    2020-05-21

  • -W.LI- 👍(0) 💬(1)

    哈哈哈,网络协议没看完这次要坚持

    2019-08-06