![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux内核
奔跑吧linux内核手顺
孙太忙
stay hungry,stay foolish
展开
-
宿主机和虚拟机可以ping通telnet不通问题排查
问题描述宿主机win10,虚拟机ubuntu20,可以互相ping通,在虚拟机起了一个数据库进程,端口号26257,从宿主机无法访问,telnet不通wireshark抓包分析后,发现错误提示信息:Destination unreachable (Host administratively prohibited)推断是防火墙问题。宿主机防火墙已经关闭,虚拟机需要关闭防火墙。解决办法关闭防火墙。sudo iptables -P INPUT ACCEPTsudo iptables -P FORWA原创 2021-07-30 10:28:27 · 3121 阅读 · 3 评论 -
linux内核学习(3)-内存管理之虚拟内存管理
1.进程地址空间进程地址空间(Process Address Space) 指进程可以寻址的虚拟地址空间进程没有权限寻址内核空间的虚拟地址,只能通过系统调用间接访问用户空间的进程地址空间称为内存区域(memory area)。进程可以通过内核的内存管理机制动态地添加和删除这些内存区域,采用VMA数据结构来描述内存区域包含如下内容:a).代码段映射b).数据段映射c).用户进程的栈:用户空间的最高地址d)MMAP映射区域:mmap系统调用,如映射一个文件的内容到进程地址空间e).堆映射区域原创 2020-07-15 18:54:16 · 216 阅读 · 0 评论 -
linux内核学习(3)-内存管理之物理内存管理
1.物理页面物理内存管理的最小单位是页内核中使用struct page数据结构描述一个物理页面,简化后如下struct page{ unsigned long flags; //标志位集合 atomic_t _count; //内核中引用该页面的次数 atomic_t _mapcount; //内核中引用该页面的次数 unsigned long private; struct address_space *mapping pgoff_t index原创 2020-05-30 15:18:48 · 606 阅读 · 0 评论 -
Linux内核学习(3)-内存管理
1.分页机制虚拟内存通过CPU的硬件单元映射到物理内存中,物理内存也以页为单位进行管理,称为物理页面(Physical Page)或者页帧(Page Frame)。进程虚拟地址空间的页称为虚拟页(Virtual Page)操作系统为了管理这些页帧需要按照物理地址顺序给每个页帧编号,称为页帧号(Page Frame Numeber,PFN)CPU内部负责虚拟页面到物理页面转换的硬件单元称为内存管理单元(Memory Management Unit,MMU)ARM处理器的MMU包括TLB和Table原创 2020-05-25 16:23:52 · 223 阅读 · 0 评论 -
Linux内核学习(2)-系统调用
1. 概念系统调用是内核空间和用户空间的中间层。有如下作用:为用户空间程序提供一层硬件抽象接口保证系统稳定和安全可移植性2.系统调用表Linux的每一个系统调用都存在一个系统调用号,一旦分配不可更改。对于ARM32定义在arch/arm/include/uapi/asm/unistd.h文件中:/* * This file contains the system call numbers. */#define __NR_restart_syscall原创 2020-05-15 18:05:20 · 336 阅读 · 0 评论 -
Linux内核学习(1)-常用GNUC技巧
常用GNU C技巧GNU C对ANSI C进行了扩展,所以GCC有一些扩展的新特性(1)语句表达式括号里的复合语句可以看作一个表达式,并可以使用循环和局部变量等。通常用在宏定义中,可以让宏定义更加安全。#define max(a,b) \({int _a = (a), _b = (b); _a > _b ? _a : _b;})(2) typeof可用来获取类型来构造新的类型typeof (*x) y; //声明y是x指针指向的类型(3)零长数组允许使用变长数组<mm原创 2020-05-11 18:28:48 · 167 阅读 · 0 评论