• Linux Kernel 入门


     Linux Kernel Basics

    How to find your current running version?

    yubao@yubao-ThinkPad-E560:~/MyProjects/Linux/driver/CharacterDeviceDriver$ uname -r
    4.13.0-36-generic

    Major number: 4

    Minor number: 13 (even: stable; odd: experimental)

    Revision number: 0

    Where is the kernel source location?

    unzip tar in /usr/src

    Kernal Space and User Space

    > Kernal space is where the core of the operating system runs and provides its services.

    > Userspace is that set of memory locations in which user processes (i.e., everything other than the kernel) run. A process is an executing instance of a program. One of the roles of the kernel is to manage individual user process within this space and to prevent them from interfering with each other.

    Kernel space can be accessed by user processes only through the use of system calls. System calls are requests in the Unix-like operating system by an active process for a service performed by the kernel, such as input/output or process creation.

    Kernel Modules

    Kernel Modules can be classified into two types:

    > Static modules

    > Dynamic modules

    Static Modules

    These are compiled as a part of the kernel and are available at any time. These make the kernel larger and has the disadvantage of requiring us to rebuild and reboot the kernel every time we want new functionality.

    Dynamic Modules

    These modules are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system.

    Dynamic Modules have the advantage that it uses the Memory more efficiently than the Statically linked drivers.

    Kernal Roles

    > Process management

    The kernel is in charge of creating and destroying processes and handling their connection to the outside world (input and output).

    Communication among different processes (through signals, pipes, or inter-process communication primitives) is basic to the overall system functionality and is also handled

     by the kernel.

    The scheduler, which controls how processes share the CPU, is part of process management.

    > Memory management

    > File Systems

    The kernel builds a structured filesystem on top of unstructured hardware, and the resulting file concept is heavily used throughout the whole system.

    > Device control

    Almost every system operation eventually maps to a physical device. With the exception of the processor, memory, and a very few other entities, any and all device control operations are performed by code that is specific to the device being addressed. That code is called a device driver.

    The kernel must have embedded in it a device driver for every peripheral present on a system., from the hard drive to the keyboard and the tape drive.

    > Networking

    Development package Installation

    dkms - dynamic kernel module support package

    新博客地址:www.ybliu.com
  • 相关阅读:
    libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
    Redis开启远程访问
    Centos7.5 防火墙设置
    Redis和MemCache的区别
    Redis的事务
    Redis持久化——AOF
    Redis持久化——RDB快照
    Redis配置文件介绍
    Redis常见操作命令
    Redis的五大数据类型
  • 原文地址:https://www.cnblogs.com/yubao/p/8542061.html
Copyright © 2020-2023  润新知