首页 > 系统相关 >Linux----内核运行

Linux----内核运行

时间:2023-09-25 09:33:27浏览次数:35  
标签:初始化 系统 用户 ---- 内核 Linux 进程 加载

内核运行的过程

启动阶段:

当计算机启动时,通常从硬盘、固态硬盘或其他存储设备中加载引导加载程序(Boot Loader)的第一部分。这个引导加载程序负责加载操作系统内核。

加载内核:

引导加载程序会从存储设备中加载操作系统内核的镜像文件,通常是一个称为vmlinuxz或bzImage的文件。这个内核镜像包含了操作系统的核心组件。

3初始化内核:

一旦内核加载到内存中,引导加载程序将控制权交给内核。内核开始执行,并进行初始化。这个初始化过程包括:

  • 初始化内存管理,建立虚拟内存映射。
  • 初始化处理器和其他硬件设备。
  • 建立进程管理机制,创建第一个用户空间进程(通常是init或systemd)。
  • 设置系统调用接口,使用户空间程序可以与内核进行通信。
  • 启动调度器,开始管理和调度进程。

用户空间启动:

初始化完成后,内核会启动用户空间进程,这些进程负责提供计算机的各种服务和用户界面。用户空间的第一个进程通常是init或systemd,它会进一步启动其他系统服务。

用户空间与内核空间通信

用户空间可以通过系统调用向内核发出请求,请求执行各种操作,如文件读写、网络通信、进程创建等。内核会响应这些请求,并根据需要执行相应的操作。

进程管理

内核负责管理多个进程的创建、调度、终止和资源分配。它维护进程表、调度队列和进程状态信息。

资源管理

内核管理计算机的硬件资源,包括内存、CPU、硬盘、网络接口等。它分配和释放这些资源,确保它们被合理使用。

系统服务:

内核提供各种系统服务,如文件系统、网络协议栈、设备驱动程序等,以便用户空间进程可以访问和使用这些服务。

中断和异常处理

内核负责处理各种中断和异常,包括硬件中断、系统调用、页面错误等。它确保及时响应这些事件,以维护系统的稳定性。

关机和重启

最终,内核还负责处理关机和重启操作,以确保系统能够正确地关闭和重启系统

标签:初始化,系统,用户,----,内核,Linux,进程,加载
From: https://www.cnblogs.com/doubleconquer/p/17727177.html

相关文章

  • Ubuntu18.04编译安装Ffmpeg6.0
    本文仅使用Ffmpeg来推RTSP流,其他用途请谨慎参考。1、安装基础库apt-getinstallyasmapt-getinstalllibsdl1.2-devapt-getinstalllibstdl2-devapt-getinstallbuild-essentialaptinstalllibspeex-dev2、安装pkg-configaptintallpkg-config设置环境变量(如果不知......
  • 每日一库:使用Viper处理Go应用程序的配置
    在开发Go应用程序时,处理配置是一个常见的需求。配置可能来自于配置文件、环境变量、命令行参数等等。Viper是一个强大的库,可以帮助我们处理这些配置。什么是Viper?Viper是一个应用程序配置解决方案,用于Go应用程序。它支持JSON、TOML、YAML、HCL、envfile和Javaproperties配置文......
  • 新零售SaaS架构:面向中小连锁的SaaS系统整体规划
    零售企业的发展路径零售企业的发展路径一般可分为以下几个阶段:单店经营阶段:企业在一个地区或城市开设单个门店。这时,企业需要把精力放在了解当地市场和顾客需求上,这是积累经验和品牌知名度的重要环节。为了在市场中建立竞争力,企业需要不断提升产品和服务的质量,比如探索新的零......
  • 头歌-01线性表
    第一题/*************************************************************date:April2017copyright:ZhuEnDONOTdistributethiscodewithoutmypermission.**************************************************************///顺序表操作实现文件///......
  • Linux笔记(1)
    文件操作命令1.创建文件命令:touch-创建文件touch命令主要用于创建普通文件,用法为 touchtest.txt2.查看文件命令:cat-查看文件内容cat命令主要用于查看内容较少的文件,用法为cat路径 命令:more-查看文件内容more命令主要用于查看内容多的文件,可以......
  • 甘特图的这些新玩法,你都知道吗?
    摘要:本文由葡萄城技术团队于博客园发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言甘特图是项目管理、生产排程、节点管理中非常常见的一个功能。那么,有没有一种方法能够帮助将甘特图引入到系统中,让数据的进度、排程数据的......
  • 2023-09-22-周六
    1),呃....呃....呃....好像这一天也没干啥哈....还是慢吞吞的复习以前的笔记2),感觉这一天真没干什么,,,突然想起来了,,,晚上很晚的时候,我想入门一下安卓逆向然后我开始入门安卓开发了,,,然后就是b站找教程,,,然后是恶心的配环境现在突然想起tyj说过的一句话:"我最喜欢去研......
  • 头歌-01链表及其使用
    第一题#include"linearList.h"node*insertTail(node*h,node*t){//请在此添加代码,补全函数insertTail/**********Begin*********/if(h==NULL){t->next=NULL;returnt;}node*p=h;while(p->next){......
  • docker部署开发环境
    version:'3'services:mysql:image:mysql:5.6container_name:mysqlhostname:mysqlrestart:alwaysports:-3306:3306networks:-devvolumes:-./mysql/conf:/etc/mysql/conf.d-./mysql/da......
  • Kafka一些命令操作和调优
      #创建Topic:kafka-topics.sh--create--zookeeperlocalhost:2181--replication-factor3--partitions3--topictest #Topic分区扩容kafka-topics.sh--zookeeperlocalhost:2181--alter--topictest--partitions4 #删除Topic:kafka-topics.sh......