Linux内核基本概念


视频笔记,视频地址:
https://www.bilibili.com/video/BV1XW41127Lq?p=7

物理地址&虚拟地址

地址转换

内核使用的是虚拟地址,CPU使用和访问的是物理地址。

所以虚拟地址要最终转换成物理地址

页表

做映射,物理地址的映射

页表存在内存中

一般来说,页的大小是4K,所以页表的大小就是所有需要访问的物理地址/4K

假设 内存大小是 4G

页表大小:102410241024*1024 / 4096 /1024 /1024 = 1M ??

4096 M / 4K ?

内存的属性

可读、可写,可执行。 方便实现对内存的安全访问

根据内存中存放程序、数据等,来分配权限

内存管理

以页(4k byte)为单位进行管理

分配内存举例

系统调用

内核态 用户态

两个状态是隔离的。

系统调用是用户使用内核函数(API)的媒介

具体实现

通过一个exception,使得应用程序陷入内核中执行

内核线程

内核只有线程,没有进程

因为代码空间只有一份,所有只有线程,没有进程

线程的task_struct

一个数据结构,放了内核线程的所有关键信息和特征

线程的调度

三种调度方式

SCHED_RR 时间片轮转,优先级一样

SCHED_PRI 线程之间有相对优先级,优先级高的先运行

SCHED_RT 实时进程 ,优先级最高

调度的时机:

1.时钟中断发生时

2.Linux发生内核态和用户态切换时

3.Linux执行完信号时

进程间同步和通信方式

中断

中断的硬件概念

一个外部的电平信号

中断处理的上半部

需要Linux内核暂时中断响应其他外部中断信号

一定是处理关键的,同时能够迅速完成的程序段。另外这个程序段一定是不能等待其他条件发生

中断处理的下半部

1.上半部中来不及处理的比较长的程序段

2.需要等待其他程序运行结果或者需要等待获取其他资源的程序段

时钟和定时器管理

时钟的硬件概念

时钟从硬件上讲是一种产生定时中断的电路

RTC和system timer

RTC — 实时计数器

设置定时中断,延迟处理

微秒级延迟

system timer

很多情况用作为延迟和计算相对时间的

tick&jiffies

tick: 时钟中断的周期

假设系统时钟是100M,那么大致的tick值是10ms

jiffies:是一个全局变量

如果是64位系统,它就是64位的变量,记录了从上电开始,所经历的tick数

文件系统概述

虚拟文件系统(VFS)

是Linux内核为了屏蔽物理文件系统的差异,所产生的一个中间层

主要的物理文件系统(ext4, yaffs2)

ext4

最大特点是有完善的日志。(什么时候进行读写,哪个扇区。。。

yaffs2

比较适合在nan flash部署的文件系统

ubifs、btfs

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值