一、系统结构由内核、shell、文件系统、应用程序一起组合而成的文件操作系统,它们使得用户可以运行程序、管理文件、资源调度、计算。

1、Linux 内核由如下几部分组成:SCI 层系统调用接口、虚拟文件系统、内存管理、进程管理、设备驱动程序、文件系统和网络管理等

2、Linux shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。

3、Linux 系统能够支持的文件系统非常多,除 Linux 默认文件系统 Ext2、Ext3 和 Ext4 之外,还能支持 fat16、fat32、NTFS。Filesystem Hierarchy Standard(文件系统目录标准)采用树形结构组织文件,定义了系统中每个区域的用途、最小构成的文件和目录。

二、Linux 系统空间逻辑结构划分为两个空间:一部分为核心软件,即是kernel,也称作内核空间,另一部分为普通应用程序,这部分称为用户空间。

1、区分用户空间和内核空间的目的是为确保系统安全。CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。以Intel的CPU为例,CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3, 内核空间级别为“RING0”, 用户空间级别为RING3。

2、处理器总处于以下状态中的一种:

  • 内核态,运行于进程上下文,内核代表进程运行于内核空间;
  • 内核态,运行于中断上下文,内核代表硬件运行于内核空间;
  • 用户态,运行于用户空间。

3、从用户空间到内核空间有两种触发手段:

  • 系统调用:

用户空间的应用程序,通过系统调用,进入内核空间。这个时候用户空间的进程要传递很多变量、参数的值给内核,内核态运行的时候也要保存用户进程的一些寄存器值、变量等。所谓的“进程上下文”,可以看作是用户进程传递给内核的这些参数以及内核要保存的那一整套的变量和寄存器值和当时的环境等。

  • 中断:

硬件通过触发信号,导致内核调用中断处理程序,进入内核空间。例如网卡发送一个数据包或硬盘驱动器提供一次 IO 请求等。这个过程中,硬件的一些变量和参数也要传递给内核,内核通过这些参数进行中断处理。所谓的“中断上下文”,其实也可以看作就是硬件传递过来的这些参数和内核需要保存的一些其他环境(主要是当前被打断执行的进程环境)。

下一篇:Linux 基础—shell 常用命令(二)

参考:

Linux系统结构详解_hguisu的博客-CSDN博客_linux系统

Linux基础—系统结构介绍(一)相关推荐

  1. linux查找目录下含有xx的文件,linux基础命令介绍三:文件搜索及其它

    1.linux中包含大量的文件,对于文件查找,linux提供了find命令. find是一个非常有效的工具,它可以遍历目标目录甚至整个文件系统来查找某些文件或目录: find [path...] [e ...

  2. linux vim编辑文本是 m,linux基础命令介绍四:文本编辑 vim

    本文介绍vim(版本7.4)的一般用法 vim是功能强大的文本编辑器,是vi的增强版. vim [options] [file ..] 使用vim编辑一个文件的最常用命令就是: vim file 其中 ...

  3. Linux基础命令介绍四:文本编辑vim

    本文介绍vim(版本7.4)的一般用法. vim是功能强大的文本编辑器,是vi的增强版. vim [options] [file ..] 使用vim编辑一个文件的最常用命令就是: vim file 其 ...

  4. linux基础命令介绍十四:定时任务

    在计算机的使用过程中,经常会有一些计划中的任务需要在将来的某个时间执行,linux中提供了一些方法来设定定时任务. 1.at 命令at从文件或标准输入中读取命令并在将来的一个时间执行,只执行一次.at ...

  5. Linux基础命令介绍七:网络传输与安全

    本篇接着介绍网络相关命令 1.wget 文件下载工具 wget [option]... [URL]... wget是一个非交互的下载器,支持HTTP, HTTPS和FTP协议,也可以使用代理.所谓'非 ...

  6. linux boot命令用法,Linux基础命令介绍 - 2

    上一篇介绍了两个比较基础的两个命令: pwd cd 其实cd这个命令呢,还有一个比较常用的用法,就是: cd - 这个就是在返回最近一次使用的目录,就像电视机遥控器上的一个功能,切换到上一个节目,也就 ...

  7. linux基础命令介绍十三:启动流程

    固件(firmware)是指设备最底层的,让设备得以运行的程序代码.简单理解就是:固定在硬件上的软件.计算机中的许多设备都拥有固件(如硬盘.鼠标.光驱.U盘等),在计算机启动过程中,最先读取的就是位于 ...

  8. Linux 文件系统结构介绍

    Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?好了,上图简明地阐释了Linux的文件系统的层次关系.当你苦 ...

  9. Linux基础命令介绍十:文本流编辑 sed

    与vim不同,sed是一种非交互式的文本编辑器,同时它又是面向字符流的,每行数据经过sed处理后输出. sed [OPTION]... [script] [file]... sed的工作过程是这样的: ...

最新文章

  1. 我这两年收藏的保姆级深度学习(TF、Pytorch....)资源,并做了学习笔记
  2. arm linux 64位,微软准备让Linux作为64位ARM Hyper-V客户机运行
  3. swift 组件化_打造完备的iOS组件化方案:如何面向接口进行模块解耦?
  4. 8个成语接龙首尾相连_七七八八成语接龙_八开头的成语大全,八结尾的成语接龙...
  5. Cs231n课堂内容记录-Lecture2-Part2 线性分类
  6. C和指针之动态内存分配之编程练习4
  7. hdu5726-GCD-ST表+二分
  8. 逆向生成的Dimac.JMail工程及测试项目
  9. ConsumerCoordinator分析
  10. mysql中数据定义和数据控制语言_MySQL的DDL数据定义语言和DCL数据控制语言
  11. Web开发敏捷之道-应用Rails进行敏捷Web开发(第三版)pdf
  12. java8 时间加一秒_好好讲讲关于Java中的时间处理
  13. NetworkManager 替代工具 wicd
  14. 手把手教你十分钟搞定影视类的微信公众号图文排版!
  15. Echarts世界地图中国分区显示
  16. cfree5.0中文版
  17. 如何设置打开图片的默认方式
  18. android hud软件,手机HUD靠谱软件选哪些?_手机_手机生活应用-中关村在线
  19. 幽默感七个技巧_如何让自己变得幽默-16个聊天幽默技巧
  20. 一招解决python pip install 安装库失败

热门文章

  1. 前端百题斩【011】——通俗易懂的变量对象
  2. 使用网易等网络相册来保存文件
  3. 软引用 SoftReference
  4. 使用Cocos开发一款简单的3D VR抓钱游戏
  5. Shell编程练习 - 系统一键巡检脚本
  6. 1 什么是PyTorch
  7. Android搜索匹配算法,智能拨号匹配算法(三)
  8. nexus(maven仓库)搭建配置maven本地私有仓库
  9. 使用 EasyExcel 读取Excel(两种方式)
  10. word数字批量转为会计计数