zoukankan      html  css  js  c++  java
  • 【原】Linux内核面试题集锦

    1. 内核编程与在用户层编程有什么区别?
      1)内核编程时既不能访问C库也不能访问标准的C头文件。
      2)内核编程时必须使用GNU C。
      3)内核编程时缺乏像用户空间那样的内存保护机制。
      4)内核编程时难以执行浮点运算。
      5)内核给每个进程只有一个很小的定长堆栈。内核栈的大小一般是两页,意味着32位机的内核栈是8KB。
      6)由于内核支持异步中断、抢占和SMP,因此必须时刻注意同步和并发。
      7)要考虑可移植性的重要性。
    2. 什么是“写时拷贝”技术?
      写时拷贝是一种可以推迟甚至免除拷贝数据的技术,fork时内核并不复制整个进程地址空间,而是让父进程和子进程共享同一个拷贝。只有在需要写入的时候,数据才会被复制,从而使各个进程拥有各自的拷贝。
    3. kmalloc 和vmalloc的区别?
      vmalloc分配的内存虚拟地址是连续的,而物理地址则无须连续。kmalloc确保两个地址都是连续的。
  • 相关阅读:
    字符串-回文-Manacher算法
    字符串匹配 扩展KMP BM&Sunday
    字符串匹配-KMP
    最长上升子序列
    nginx编译安装
    nginx命令介绍
    ftp服务
    pika消息中间件模块
    multiprocessing多进程模块
    iptables详解
  • 原文地址:https://www.cnblogs.com/xmuliushuo/p/3296006.html
Copyright © 2011-2022 走看看