![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux_OS
文章平均质量分 57
totfly
这个作者很懒,什么都没留下…
展开
-
Linuxs中常用的数据结构
Linuxs是单内核宏内核:把所有东西都集成到内核里,优点:高效 缺点:稳定性差微内核:内核中只有基本的调度,内存管理等,其他的都是作为用户态守护进程进行运行,模块化程度高,优点:超级稳定 可以kill掉驱动进程 缺点:效率低,进程间同喜消耗资源Linux是单内核结构:吸收了微内核的优点可以进行模块化设计,支持动态加载内核模块,同时吸收了宏内核的优点把关键模块集中在内核中比较高效Linux内核编程例子#include <linux/module.h>#include <原创 2021-09-15 21:21:36 · 655 阅读 · 0 评论 -
Linux高速缓冲区介绍
Linux高速缓冲区用户和磁盘之间还隔着高速缓冲区高速缓冲区位置代码段 | tss段|高速缓冲区|用户内存高速缓冲区的管理要素:映射关系(内存与块设备磁盘之间的映射关系)应用程序与高速缓冲区的交互API磁盘与高速缓冲区的交互API高速缓冲区的管理系统(循环链表+哈希表+单链表)文件系统-高速缓冲区:首先我们为什么需要高速缓冲区而不是直接访问块设备中的数据。这是因为,IO设备和内存之间的读写速度不匹配而且有一点数据需要写入或者读出磁盘就访问磁盘,磁盘很快就会损坏,而高速缓冲原创 2021-09-08 23:44:37 · 631 阅读 · 1 评论 -
Linux文件系统盘片解析
Linux对于文件系统的支持层解析Linux中使用文件系统都分几个部分有关于Linux中高速缓冲区的管理程序 分页机制 每页4KB 每个程序不是所有页都读入高速缓冲区,如果执行中出现没有加入高速缓冲区的页,会触发缺页中断文件系统的底层通用函数(对于硬盘的读写 分配 释放等,对于目录的几点管理 inode 内存与磁盘的映射)对于文件数据进行读写操作模块(VFS:虚拟文件系统 硬件驱动和文件系统的关系 pipe 块设备的读取)文件系统与其他程序的接口实现(fopen 关闭原创 2021-09-08 23:26:57 · 119 阅读 · 0 评论 -
Linux文件系统运行流程解析
文件系统解析uboot启动的时候给内核传递了一个参数,是以tagglist进行的,需要内核进行解析内核启动文件系统后,文件系统的工作流程:参数的接收参数的解析参数的应用在整个文件系统中,都需要什么组件文件系统的初始化流程打开 /etc/inittab,解析初始化文件如果没有inittab,就创建一下参数传入的方法:用户根据自定义/etc/inittab配置文件,在init_main函数中进行了文件的读取,并且根据文件的每一项参数,创建init_action结构体节点原创 2021-09-08 22:28:33 · 179 阅读 · 0 评论 -
Linux文件系统概述
Linux 文件系统是磁盘管理的目录是linux中操作所有硬件设备的方式系统的功能机制学习作用:文件系统也叫应用程序,写应用程序的时候不仅要存在文件系统中并且还要使用文件系统中的诸多功能大多数嵌入式公司都在做文件系统,比如说 系统界面 系统的开机画面 系统ROM 系统的功能 预装的软件等等文件系统包含哪些重要部分标准库,glibc,OpenGL, media Framework配置文件 /etc/init.d/rcS 开机自运行程序 开机界面原创 2021-09-08 00:43:49 · 77 阅读 · 0 评论 -
Linux中的信号 SIGNAL
进程间通信常用以下几种方式信号信号量消息队列共享内存信号量(semaphore)和信号(signal)是完全不同的东西信号量:用来同步和互斥,PV操作,进程间通信用有名信号量,一个进程内通信用无名信号量信号:类似于DOS下的中断,Linux中有31必须要记住的通用信号,是一种简单的进程间通信的方式Linu信号SIGHUPSIGINTSIGQUITSIGILLSIGTRAPSIGPIPESIGCHLDSIGTTOU…什么是信号,有什么作用是一.原创 2021-09-07 23:56:15 · 161 阅读 · 0 评论 -
Linux中Kbuild makefile说明
Linux中Kbuild makefile说明obj-y +=xxx.o该模块编译到zImageobj-m +=xxx.o该模块不会编译到zImage但会生成一个独立的xxx.ko 静态编译(CONFIGTEST)是一个整体,(CONFIG_TEST) 是一个整体,(CONFIGTEST)是一个整体,(xxx)表示引用变量 xxx比如定义 CONFIG_TEST=y(CONFIGTEST)就是yobj−(CONFIG_TEST)就是y obj-(CONFIGTEST)就是yob原创 2021-09-07 22:39:26 · 509 阅读 · 0 评论 -
Linux 3.4内核启动流程
Linux 3.4内核启动流程内核如何进行多平台的适配,在内核中如何认识这些板子?内核启动的整体流程认识一种高效的编程结构(代码段,严格控制每一个对象每一个类的位置)内核启动时进入保护模式后首先运行的是head.s...原创 2021-09-07 20:07:15 · 84 阅读 · 0 评论 -
Linux 操作系统的引导
Linux 操作系统的引导Linux是如何从硬盘中读出的Linux在启动的时候是如何拿到硬件参数的Linux在初始运行中都做了什么由PC机的BIOS(0xFFFF0是BIOS存储的总线地址)把bootsect.s从固定地址(0x7c00)拿到内存中的某个固定地址(0x90000),并且进行了一系列的硬件初始化和参数设置bootsect.s磁盘引导块程序,在磁盘的第一个扇区中的程序(0磁道 0磁头 1扇区) 大小512字节 地址0x90000 - 0x90200作用:首先将后续的se原创 2021-09-06 22:43:18 · 78 阅读 · 0 评论 -
Linux系统的进程管理
系统的进程管理:系统的进程的运转方式系统时间:(jiffies 系统滴答)CPU内部有一个RTC(定时器),会在上电的时候调用mktime函数算出从1970年的1月1日0时开始到当前开机点所过的秒数 给mktime传递的参数是从rtc芯片中读出,转化为时间存入全局变量中,并且会为jiffies所用1个jiffies 系统滴答是10ms,每隔10ms会引发一个定时器中断,这个中断中进行以下操作:执行timer_interrupt进行了jiffies的自加call do_timer调原创 2021-09-06 00:05:41 · 67 阅读 · 0 评论 -
linux中断的那些事
源码在线查看网站:https://lxr.missinglinkelectronics.com/中断都有哪些:硬件的中断响应 ---->内核驱动中的中断系统调用的函数响应 (sys call)----->系统调用自定义中断 ---->软件的软中断模式信号中断(kill -signalnum) ---->信号和进程有很大的关系 了解信号的使用,创建等系统的异常和错误 —> 系统的异常获取 了解系统异常的作用Linux的中断机制硬件中断原创 2021-09-05 21:54:12 · 59 阅读 · 0 评论 -
用户态 ==> 内核态说明
用户态 ==> 内核态用户态申请外部资源时进入内核态的三种场景系统调用中断异常读写文件 open / read / write申请内存 malloc 1. brk 2. mmap 缺页中断(异常)系统调用分为:进程 exit fork文件 chmod chown openfopen 是库函数 open是系统调用 前者封装了后者设备 read write ioctl信息 getxxx原创 2021-09-05 20:05:54 · 58 阅读 · 0 评论 -
Arch Linux 内核非官方版本介绍
Arch Linux 内核非官方版本介绍:https://wiki.archlinux.org/title/Kernel#Major_patchsets原创 2021-09-03 00:54:16 · 216 阅读 · 0 评论 -
linux进程调度算法介绍
linux源码网站:https://elixir.bootlin.com/linux/latest/source威斯康辛大学OS课程:https://pages.cs.wisc.edu/~remzi/OSTEP/github上的教程:https://zorrozou.github.io/调度算法FIFO 先进先出谁先到谁先执行SJF ==> shorest job firs谁的进程时间短,谁先被调度STCF ==> shorest time-to-completion原创 2021-09-01 22:29:50 · 115 阅读 · 0 评论