LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

LinuxKernel操作系统,,内存管理模块异常和中断管理进程

2023年2月27日 372点热度

LinuxKernel操作系统(OS)的概念一个系统管理程序,管理计算机的资源,给用户一个使用这种资源的平台一个服务程序,操作系统都是为用户应用程序服务的linux操作系统结构,服务的方法是通过系统调用systemcallLinux是一个多任务,跨平台的现代操作系统为何要有操作系统多任务的要求统一的服务插口linux操作系统结构,合理使用资源,如显存管理并发时对资源使用冲突减轻开发的难度安全性的要求网路(TCP/IP)的使用GUI的使用要求应用程序移植性的要求用户操作的便捷性操作系统的组成进程管理模块显存管理模块文件系统管理模块设备管理模块异常和中断管理模块网路合同模块进程管理进程(process)的概念系统的第一个进程Init用户进程怎么运行和退出记录进程的信息,进程控制块PCB系统调度,不同的系统有不同的策略用户进程步入系统的惟一途径,systemcall显存管理显存是系统资源的一种显存的分类SRAM,SDRAM,FB,Registers,外设片上显存化学显存的管理虚拟显存的管理,内核空间与用户空间内核与用户显存的分配显存碎片的形成和防止文件系统管理永久性储存设备,disk,flash,sd,cf分区、格式化及文件一个简单的文件系统的事例系统看储存地址是线性进程看待文件的统一化和具象化设备管理HAL层的概念,开放性的理念设备的驱动系统要记录和管理设备的存在安全使用设备设备是一种特殊的文件进程怎样使用设备,open/close,read/write,ioctl历史1991年由当时的英国中学生linustorvalds编撰并以GNUGPL的形式发布到Internet上,称为0.11版1994年,出1.0.0版本1996年,出2.0版本1999年,出2.2版本2001年,出2.4版本2003年,出2.6版本,至今都稳定在该版本的特性支持好多的体系结构,如X86,Arm,Mips等等,有极强的平台可伸缩性OpenSource(GNUGPL)设备独立性,系统把所有外部设备统一当成成文件来看待及操作系统软件层次结构中处理器的运行LinuxKernel初始化完毕后,程序运行在以下的上下文空间中:1)运行于用户空间linux定时器,执行用户程序2)运行于内核空间,处于当前进程的上下文3)运行于中断,处于中断上下文,与进程无关,由于中断的不可预知()文件的执行举例用户进程在用户空间,使用C库fread()读文件Fread()调用read()系统调用,步入系统空间,执行系统代码系统按照文件对储存设备进行数据恳求,在数据没打算就绪是让出CPU使其他进程运行。

linux操作系统结构_linux 系统 操作日志_linux操作系统简介

储存设备数据打算就绪,向CPU发出中断恳求,CPU响应步入中断上下文,并唤起该文件的读进程在某时刻,读文件的进程再度运行,取到数据,返回用户空间获取Linux内核源代码从官方网站获取:,主要是X86平台的版本以BSP包的形式获取,主要在嵌入式的平台上用的方法补丁,从版本2.6.20升级到2.6.21#cd到2.6.20linux目录#patch–p1patch-2.6.21内核源码目录结构内核配置与编译交叉编译器:运行在一种体系的CPU(一般是X86)的编译器,对其编译的程序形成另外一种体系(如ARM/MIPS)的指令的编译器叫交叉编安装ARM交叉编译器#tarxzvfcrass-3.3.2.tgz把解开的目录的bin/目录的绝对路径降低到环境变量$PATH内核配置与编译安装ARMLinux2.6源码包#tarxzvfgec_linux-2.6.8.1.tgz内核配置与编译内核配置系统:配置命令#makeconfig(基于文本的最为传统的配置界面,不推荐使用)#makemenuconfig(基于文本菜单的配置界面,字符终端下推荐使用)#makexconfig(基于图形窗口模式的配置界面linux 安装,Xwindow下推荐使)#makegconfig(基于gtk的图形配置界面)这种命令形成的配置选项给用户,用户选择->退出->保存后形成.config文件,文件中包含有各类选择了的配置选项,以供Makefile使用,Makefile在会依照.config的选项来形成autoconf.h,autoconf.h是以C语言的方式定义的各编译选项,供kernel的源文件include内核配置与编译选择相应的配置时,有三种选择,它们分别代表的涵义如下:Y--将该功能编译进内核N--不将该功能编译进内核M--将该功能编译成模块,可以在须要时动态插入到内核中makexconfig,使用键盘就可以选择对应的选项。

makemenuconfig,则须要使用空格键进行选定。假如有不明白的地方,按[shift]+?的组合键来查看说明内核配置与编译配置的原则1)大部份选项可以使用其缺省值或则BSP选用缺省值,只有小部份须要依照用户不同的须要选择。2)将与内核其它部份关系较远且不常常使用的部份功能代码编译成为可加载模块。有利于减少内核的宽度,减少内核消耗的显存;3)不须要的功能就不要选;4)与内核关心紧密并且常常使用的部份功能代码直接编译到内核中。内核配置与编译配置工作过程:Makefile分布在Linux内核源代码中的Makefile,定义Linux内核的编译规则;顶楼目录的Makefile管理整个Linux内核的配置编译。配置工具不同的内核配置方法,通过不同的配置工具完成。script目录下提供了这种配置工具。如menuconfig目标使用mconf。Kconfig文件arch/$(ARCH)/Kconfig文件是主Kconfig文件,主Kconfig文件调用其他目录的Kconfig文件。这种Kconfig文件产生树形关系-->树形菜单。内核配置与编译配置工作过程:当用户执行配置命令,Makefile调用配置工具mconf,mconf从arch/$(ARCH)/Kconfig开始搜索各目录中的Kconfig文件,并按照这种文件形成图形化的配置界面,给用户进行配置Kconfig文件是形成.config文件的输入文件,也就是说.config中的选项是由Kconfig决定的这是Linux2.6内核独有的配置系统用户可以按照须要降低和更改其中的配置选项Linux2.6内核配置与编译配置的注意选项Codematurityleveloptions应当选择incompletecode/drivers这将会在设置界面中显示还在开发或则还没有完成的代码与驱动.由于有许多设备可能必需选择这个选项能够进行配置,实际上它是安全2.6内核配置与编译配置的注意选项Generalsetupanonymousmemory(swap)该选择这个选项将使你的内核支持虚拟显存。

linux操作系统简介_linux操作系统结构_linux 系统 操作日志

Pc上应当选择,而嵌入式上通常不选IPC应当选择为进程提供通讯机制。有些程序只有在选Y的情况下才会运行,这儿一定要选。POSIXMessageQueuesPOSIX的消息队列,它同样是一种IPC,应当选择hot-pluggabledevices支持热拔插的,若是为普通笔记本配置内核,则最好选择Linux2.6内核配置与编译配置的注意选项LoadablemodulesupportEnableloadablemodulesupport应当选择这个选项可以让你的内核支持模块。通常一些不常用到的驱动或特点可以编译为模块以降低内核的容积。Moduleunloading应当选择这个选项可以让你卸载不再使用的模块,倘若不选的话你将不能卸载任何模块Forcedmoduleunloading强行卸载模块,可以把正在使用中的模快卸载掉。做内核开发或则驱动开发的时侯,有一定的用处。但通常用户不应当选择。Linux2.6内核配置与编译配置的注意选项ExecutablefileformatsKernelsupportELFbinaries一定要选DeviceDriversMemoryTechnologyDevices(MTD)储存设备层,大部份的flash芯片驱动都基于MTD。

用于嵌入式系統。BlockdevicesLoopbackdevicesupport可以将一个文件挂成一个文件系统。mountiso文件Linux2.6内核配置与编译配置的注意选项filesystems必须将根文件系统直接编译到内核中。而且在这儿选择系统支持的文件系统。Linux2.6内核配置与编译cd到ARMLinux2.6的安装目录中#make在当前目录上将形成vmlinux即为内核文件#makemodules#makemodules_install将形成在内核代码树中以模块形式编译的模块Linux内核启动流程init/main.cstart_kernel()中断系统初始化trap_init(),init_IRQ()各设备驱动和网路初始化do_basic_setup()构建系统第一个init进程exec(“/sbin/init”,…)

linux 系统 操作日志_linux操作系统简介_linux操作系统结构

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 中断服务程序 内存管理 系统配置 编译程序 进程控制块
最后更新:2023年2月27日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
Linux操作系统不仅仅端口-u:仅显示监听套接字(protocol) (知识点)Linux文件权限详解:执行权限 VMware过期Linux系统CentOS7下载安装1.77下载地址 红旗linux操作系统v11.0-红旗操作系统操作系统吗? 5yw红软基地驱动完美支持windows、mac、linux系统 轻松安装ZeroMQ:Ubuntu系统必备的解决方案 怎么在Win7系统虚拟机上安装LinuxUbuntu的技巧?在这里 Linux必备!安装RAR解压器,轻松解压文件! 虚拟机linux系统下载 什么是linuxLinux(/托瓦兹)的Linux内核 文件永久删除还能找回来吗?关于Win和Mac系统的恢复方法 Ubuntu16.04怎样安装系统更新和应用更新16.04 网卡 centos 启动 Linux选择选择时各企业所参考的依据:以下内容和Centos Linux内核内存检测工具系列中的一篇,配置以及典型应用 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 0渗透操作0x02绕过disable_functions插件(组图) 【好玩的网络-第2.5期】分配IP有哪些骚操作?小白保姆级教程 Windows远程连接工具、Ubuntu系统的安装软件及系统 Linux一模一样远程连接编辑的操作图是什么? DRAM中的虚拟地址空间的缓存简化内存管理(组图) 2.5创建和配置虚拟机2.5.1创建虚拟机双击桌面的VMwarePlayer
Linux文件路径查询方法,轻松获取文件位置Linux移植6410:从零开始的挑战!linux php安装 快速掌握Linux下PHP安装,轻松入门流行技术linux patch 文件 解决LinuxPatch文件10大疑难杂症,轻松应对!Ubuntu系统更改IP地址的简易教程,跟随以下步骤即可搞定!高效搭建Linux Android开发环境,轻松提升开发体验轻松掌握:如何查询Linux内核版本?Linux安装Matlab指南,快速掌握安装步骤Ubuntu 16安装网卡驱动教程,轻松解决网络连接问题Linux启动时,不使用图形界面可能更有效率!移植Linux,手机变身“大杀器”!详解8大关键操作Linux更高效,掌握启动终端快捷键!纯Python库实现上面介绍的HTML转换为PDF的软件Fedora 13服务器配置指南:9个实用技巧全解析9种方法轻松获取Linux版本,快速掌握系统信息!博客韦东山freeRTOS系列教程:入门文档教程+进阶视频教程轻松掌握linux ldd命令的技巧,成为高效开发者与管理员Linux VPS安全检测,保障服务器稳定运行!Linux下高效开发必备:配置Tomcat和JDK分析Linux中的I2C驱动程序框架核心结构(i2c-bus结构)
软件介绍deepinlinux最新正版是深度推出的开源操作系统 服务器上安装linux系统的具体操作过程-如何选择系统? Ubuntu QQ2014,让你的Linux智能升级体验 0渗透操作0x02绕过disable_functions插件(组图) 如何在CentOS上执行流行的MySQL数据库服务器的基本安装 2022年最适合旧PC的10款轻量级Linux发行版 MBR方式主引导记录(MBR)代码的扇区方式引导 【1024】后端技术学习路线思维导图,看这一篇就够了! 【Linux基础知识】查看内核版本命令:LinuxAS Linux定时器的使用内核定时器是内核用来控制在未来某个时间点 宝塔安装使用SSH连接工具,Linux服务器连接的基本介绍 为什么我们还要使用一键DD重装/更换系统呢?? KaliLinux安装无线网卡的过程最核心的两步:1 如何在Linux中找到软件包版本的版本? 普联技术有限公司程序的安装包使用方法通过-LINK 使用u盘在IBMx3650服务器上安装linux系统?我猜两种情况 小编:,异常往外发送数据包命令查看发现有程序 RedHatLinux-安装MySQL入门到精通 设置需要执行的脚本新增调度任务可用两种方法介绍 【面试刷图】往期面试题,10篇为一个单位归置
标签聚合
linux脚本 命令 软件 文件目录 linux服务器 linux系统 虚拟机 命令模式 sudo 电脑
书籍
课程
技术群
技术干货大合集↓
  • 2023年3月 / 114篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.