当前位置: 首页 > news >正文

操作系统|day4.Linux、Linux内核、Linux负载、Linux文件存储

文章目录

  • Linux
    • Linux内核
      • 定义
      • 功能
    • Linux负载
      • 定义
    • Linux文件存储
      • 链接
        • 分类
        • 区别
        • 使用场景
      • 拷贝

Linux

Linux内核

定义

内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

功能

  1. 内存管理

追踪记录有多少内存存储了什么以及存储在哪里

  1. 进程管理

确定哪些进程可以使用中央处理器(CPU)、何时使用以及持续多长时间

  1. 设备驱动程序

充当硬件与进程之间的调解程序/解释程序

  1. 系统调用和安全防护

从流程接受服务请求

  1. 内核态

内核态其实从本质上说就是内核,它是一种特殊的软件程序,控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用程序运行。

系统调用:

系统调用是操作系统的最小功能单位。根据不同的应用场景,不同的Linux发行版本提供的系统调用数量也不尽相同,大致在240-350之间。这些系统调用组成了用户态跟内核态交互的基本接口。

  1. 用户态

用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O。内核必须提供一组通用的访问接口,这些接口就叫系统调用。(用户态调用内核态的接口)

用户态到内核态切换

  1. 系统调用:

系统调用本身就是中断,但是是软件中断,跟硬中断不同。

  1. 异常

如果当前进程运行在用户态,如果这个时候发生了异常事件,就会触发切换。例如:缺页异常(中断)。

  1. 外设中断

当外设完成用户的请求时,会向CPU发送中断信号。

总的来说都是中断

Linux负载

定义

负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。

系统的负载采用的是指数移动平均

Linux文件存储

链接

分类
  1. 软链接

软链接相当于建立了一个新的快捷方式文件,该文件有自己的名称和inode以及物理存储的文件数据,文件数据里记录着如何跳转的设置数据,访问该快捷文件会被重新定向到原始文件,删除原始文件,软链文件失效;

  1. 硬链接

硬链接相当于为当前文件名对应的文件再建立了一个文件别名,别名对应的inode以及物理数据都是一样的,一旦建立,我们甚至根本无法区分谁是原始文件的原始名称,删除文件的其中一个名称,文件不会丢失,除非把所有的名称都删除。

图示

在这里插入图片描述

区别
  1. 软链接可以为文件和目录(哪怕是不存在的)创建链接;硬链接只能为文件创建链接。
  2. 软链接可以跨文件系统;硬链接必须是同一个文件系统
  3. 硬链接因为只是文件的一个别名,所以不重复占用内存;软链接因为只是一个访问文件的快捷方式文件,文件内只包含快捷指向信息,所以占用很小的内存。
  4. 软链接的文件权限和源文件可以不一样;硬链接文件权限肯定是一样的,因为他们本来就是一个文件的不同名称而已。
使用场景

一般比较重要的文件我们担心文件被误删除且传统复制备份方式占用double数量的空间会造成浪费,可以使用硬链做备份来解决;

软链接一般被用来设置可执行文件的快捷方式的路径。

inode: inode是文件系统中存储文件元信息的区域,中文叫节点索引,每个节点索引包含了文件的创建者,大小,日期等等。可以通过ls -i file 命令查看inode的值。

拷贝

  1. 浅拷贝

浅拷贝只是对指针的拷贝,拷贝后两个指针指向同一个内存空间;

  1. 深拷贝

深拷贝不断对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同的地址空间。(相当于复制文件)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java Bean Validation 注解:@NotEmpty、@NotBlank 和 @NotNull 的区别
  • 笔面试编程题总结
  • 详解pd.pivot_table
  • 计算机网络——网络层(多协议标签交换MPLS、软件定义网络SDN)
  • SQL Server端口设置完整详细步骤
  • 900565Z error Failed opening bolt
  • C# 设计模式之装饰器模式
  • 在Linux中宏观的看待线程
  • leetcode17. 电话号码的字母组合,dfs深度优先搜索
  • JC/T 2436-2018 木塑家具板材检测
  • Java 中的 ArrayList 和 LinkedList 在性能上有什么不同?
  • Linux安装Java(JKD)
  • 边缘计算×AI:绘制未来实时智能的宏伟蓝图
  • 智能化的Facebook未来:AI如何重塑社交网络的面貌?
  • Docker-数据卷指令
  • 【Amaple教程】5. 插件
  • Android组件 - 收藏集 - 掘金
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java Agent 学习笔记
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript异步流程控制的前世今生
  • magento2项目上线注意事项
  • PAT A1092
  • PermissionScope Swift4 兼容问题
  • PHP CLI应用的调试原理
  • Python十分钟制作属于你自己的个性logo
  • STAR法则
  • 阿里云Kubernetes容器服务上体验Knative
  • 第2章 网络文档
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 移动端唤起键盘时取消position:fixed定位
  • 阿里云API、SDK和CLI应用实践方案
  • ​如何使用QGIS制作三维建筑
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #includecmath
  • (3) cmake编译多个cpp文件
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (二)JAVA使用POI操作excel
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)ssm高校实验室 毕业设计 800008
  • (九)c52学习之旅-定时器
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (面试必看!)锁策略
  • (数据结构)顺序表的定义
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)JAVA中的堆栈
  • (转)大道至简,职场上做人做事做管理
  • (转)四层和七层负载均衡的区别
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别