Linux(一):Linux基本结构

news2024/11/24 7:56:54

一、Linux系统划分

linux系统分为用户区、内核区
在这里插入图片描述

1.1分区目标

保护数据和硬件安全,对系统进行分区也就是进程分区,当处于用户态,只能访问用户区,用户无法修改内核,保证硬件安全,操作系统不易损坏;当处于内核区,可以访问内核区和用户区。

1.2分区实现方式

通过进程分区,进程通过指针寻址,进程大小(寻址大小)与系统位数(指针位数)有关。进程分为内核区和用户区。具体看进程的内存管理。

1.3实现分离功能方式

通过CPU(硬件)实现分离。CPU有0、1、2、3级4种运行级别。通过调整系统运行级别调整进程运行状态。linux和windows有0和3级,用户态为3级,内核态为0级。

二、linux内核区

2.1内核区组成

在这里插入图片描述

2.1.1内核区分为上层中层和下层

  • 上层:系统调用接口,用户可以通过系统调用接口间接操作内核区
  • 中层:核心,包括文件、内存、进程管理和网络服务(系统调用接口调用的东西)
  • 下层:硬件抽象出来的驱动程序,用来操作硬件

2.1.2 linux一切皆文件

用户间接操作硬件对应的文件,创建的文件网络协议栈都在内核区,用户态时用户只能通过文件描述符间接操作这些文件。

2.1.3进程内核区对象要手动释放

对象存放位置:
1.栈区:随栈指针自动释放
2.堆区:动态申请内存,需要手动释放。或者加入引用计数,计数为0时销毁内存(智能指针)。
3.内核区:没有办法自动判断释放时机,只能手动释放(比如文件操作)。

三、Linux用户区

3.1.系统调用接口

3.2.基于系统调用接口的C语言函数库

有库推荐使用库

3.3.shell

  • 运行在系统调用和C语言函数库之上,用户通过shell与操作系统交互

sh是第一个shell,未来主流shell是zsh
管理员可以遵照用户习惯给每个用户设置专门的shell,不是所有用户公有

四、终端

4.1概念

与shell交互的设备(不是显示器,显示器是输出设备)

4.2分类

1.tty*:Linux提供的命令终端,自带黑窗口
2.pts/*:虚拟终端(远程连接与图形界面)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Qt】QMainWindow应用程序窗口类简单介绍

QMainWindow介绍 QMainWindow是一个为用户提供主窗口程序的类,是许多应用程序的基础,包含的组件有: 菜单栏QMenuBar,一个主窗口最多只能有一个菜单栏;包含一个下拉菜单项的列表,这些菜单项由QAction动作类…

【git版本控制】| git版本控制操作命令(全)

文章目录一、简介二、工作模式1 集中式(CVS、SVN)2 分布式Git三、Git1 工作模式2 git工作流程3 工作区和版本库4 注意事项5 基本操作5.1 创建本地版本库5.2 初始化本地版本库5.3 .git目录的作用5.4 创建用户5.5 其他操作6 git分支7 常见警告8 免密登录9 …

interface接口--GO面向对象编程思想

一、interface接口 interface 是GO语言的基础特性之一。可以理解为一种类型的规范或者约定。它跟java,C# 不太一样,不需要显示说明实现了某个接口,它没有继承或子类或“implements”关键字,只是通过约定的形式,隐式的…

【C语言进阶】自定义类型:结构体,枚举,联合体

目录 1、结构体的声明 1.1 结构体基础知识 1.2 结构体的声明 1.3 特殊的声明 1.4 结构体的自引用 1.5 结构体变量的定义和初始化 1.6 结构体内存对齐 ​编辑1.7 修改默认对齐数 1.8 结构体传参 2. 位段 2.1 什么是位段 2.2 位段的内存分配 2.3 位段的跨平台问…

【owt-server】代码结构及新增一个agent

owt server 官方 5.0 仓库:代码结构 manage console manage api portal sip portal 与agent 并列 agent又有很多种类。 启动脚本 启动一个新的agent 比如streaming-agent streaming-agent )cd ${OWT_HOME}/s

分布式id

分布式id一 什么是分布式系统唯一ID二 分布式系统唯一ID的特点三 分布式系统唯一ID的实现方案3.1 基于UUID3.2 基于数据库自增id3.3 基于数据库集群模式3.4 基于Redis模式3.5 基于雪花算法(Snowflake)模式3.6 百度(uid-generator)…

Python爬虫数据到sqlite实例

参考链接:https://blog.csdn.net/qq_45775027/article/details/115319253最近需要使用到爬虫数据库,原文中作者有些没补齐,略作修改之后跑通了。主要修改:1.调整了数据获取的正则表达式;2. 改了一下数据库的table名和定义名字&…

基于Java+SpringBoot+vue+element实现前后端分离牙科诊所管理系统详细设计

基于JavaSpringBootvueelement实现前后端分离牙科诊所管理系统详细设计 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目…

【Linux】虚拟地址空间 --- 虚拟地址、空间布局、内存描述符、写时拷贝、页表…

该吃吃,该喝喝,遇事儿别往心上隔😎 文章目录一、虚拟地址空间1.虚拟地址的引出(看不到物理地址,只能看看虚拟地址喽)2.虚拟地址空间布局(五个段)3.感性理解一下虚拟地址空间&#xf…

【C++修炼之路】C++入门(上)

👑作者主页:进击的安度因 🏠学习社区:进击的安度因(个人社区) 📖专栏链接:C修炼之路 文章目录一、前言二、第一个 C 程序三、C 关键字(C98)四、命名空间1、命名空间的定义2、命名空间…

C++ Prime课后习题第一章编程

编程一个C程序&#xff0c;它显示您的姓名和地址。#include <iostream>int stonetolb(int); int main() {using namespace std;cout << "zzz ";cout << "闵行"<<endl;return 0; }编写一个程序&#xff0c;要求用户输入一个以long…

3台机器配置hadoop集群_Hadoop+Hbase 分布式集群架构

安装搭建Hadoop1、 配置说明本次集群搭建共三台机器&#xff0c;具体说明下&#xff1a;主机名IP说明nn01192.168.1.51DataNode、NodeManager、ResourceManager、NameNodedn01192.168.1.52DataNode、NodeManager、SecondaryNameNodedn02192.168.1.53DataNode、NodeManager2 、安…

基于浏览器的 PDF 编辑器:RAD PDF for ASP.NET

版本 3.34 改进的 PDF 收藏/投资组合支持和服务器 API 改进 Ω578867473功能更新 为更基本的 PDF 文件损坏/语法错误添加了更正添加了 PdfButtonField.NamedAction 属性添加了 PdfButtonField.IsNamedAction 属性添加 PdfButtonField() 构造函数 - PdfButtonFields 可以由服…

unity-常用组件实操案例

文章目录transform摄像机cameraskybox相机权重&#xff08;depth&#xff09;Audio sourcevideo playertransform 不但控制着组件的旋转、位置、缩放并且还控制着组件间的父子关系 using System; using System.Collections; using System.Collections.Generic; using UnityEn…

不锈钢企业如何利用APS排程软件提升管理效益?

保温杯一般是由陶瓷或不锈钢加上真空层做成的盛水容器&#xff0c;顶部有盖&#xff0c;密封严实&#xff0c;真空绝热层能使装在内部的水等液体延缓散热&#xff0c;以达到保温的目的。保温杯从保温瓶发展而来的&#xff0c;保温原理与保温瓶一样&#xff0c;只是人们为了方便…

Collection

面向对象语言对事物的体现都是以对象的形式&#xff0c;所以为了方便对多个对象的操作&#xff0c;就对对象进行存储&#xff0c;集合就是存储对象最常用的一种方式 数组和集合的不同&#xff1a; 数组长度是固定的&#xff1b;集合长度是可变的。 数组中可以存储基本数据类…

C#在控制台中打印进度条【同步和异步】

使用控制台打印进度条的简单方法。 有现成的IProgress接口进行操作&#xff1a; 实例&#xff1a; var prog new Progress<double>((theV > {Console.WriteLine($"Now the Progress&#xff1a;" COUNT / 10.0 * 100 "%" new string(#, COUN…

社科院与杜兰大学金融管理硕士---授人以鱼不如授人以渔,培养全新金融人才

古人云&#xff1a;“授人以鱼&#xff0c;三餐之需&#xff1b;授人以渔&#xff0c;终身之用”。都说职场入战场&#xff0c;一入职场就如履薄冰。走的每一步可能都影响着自己的职业生涯。在职场无烟的战争中&#xff0c;会慢慢发现差距一点点的被拉开了。金融是现代经济的血…

开发工具(二)基于Source Insight与Samba共享在windows中开发Linux工程

layout: post title: 开发工具&#xff08;二&#xff09;基于Source Insight与Samba共享在windows中开发Linux工程 description: 开发工具&#xff08;二&#xff09;基于Source Insight与Samba共享在windows中开发Linux工程 tag: 开发工具 文章目录资源共享流程说明Source In…

2023,让RFID固定资产管理系统助力企业降本增效

随着企业规模的不断扩大&#xff0c;企业的固定资产管理成为一个关键的问题。因为面临这不断增多的员工、固定资产种类和固定资产数量&#xff0c;企业管理者开始慢慢重视固定资产的管理&#xff0c;纷纷采取不同的方法加强对固定资产的管理。由于管理方法的不同&#xff0c;其…