Linux简介

这篇具有很好参考价值的文章主要介绍了Linux简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unix的特点:

  1. Unix很简洁,Unix只提供几百个系统调用,并且每个调用都有明确的目的。
  2. 一切皆文件,对数据和对文件都是通过相同的系统调用接口:open(),read(),write(),lseek()和close()。
  3. Unix和系统工具都是用c语言写的。
  4. Unix通过fork()进程创建十分迅速。
  5. 简洁的进程间通信元语。

Unix已经发展成为一个支持多任务,多线程,虚拟内存,换页,动态链接和TCP/IP网络的现代操作系统。
操作系统包括:内核,设备驱动程序,启动引导程序,命令行Shell或者其他种类用户界面,文件管理工具和系统工具。

内核的组成程序

通常一个内核有负责响应中断的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序,网络、进程间通信程序,等。
Linux简介,Linux,linux,网络,运维

内核空间和用户空间:内核空间就是执行内核代码,用户空间就是执行用户代码

内核不同于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限,这种被保护的内存空间,统称为内核空间。
应用程序将以用户态进入用户空间,只能访问内核划给的空间。
内核空间和用户空间有各自的地址空间,用户代码不能访问内核空间的数据,只能通过系统调用(通过硬件)。

用户空间和内核空间的主要区别:执行的代码的物理地址空间

内核空间有一个共享的堆栈,供所有内核代码动态调用。

系统调用

Linux简介,Linux,linux,网络,运维
Linux简介,Linux,linux,网络,运维
Linux简介,Linux,linux,网络,运维
用户通过系统调用,执行内核函数代码,然后返回给进程。
就是调用内核的函数。
系统调用:应用程序通过调用库函数(比如C库),再由库来系统调用,从而让内核代其完成不同任务。
当应用程序执行一条系统调用,我们就说内核正在带其执行。

有些库函数,系统调用只是其完成中的一个步骤

举例:printf()函数,提供了数据缓存和格式化等操作,而write()只是printf()其中一项操作。

有些库函数,就是一个系统调用

open()就是open()

有些库函数,没有包含系统调用

strcpy()

硬件通过中断机制和硬件设备通信

当硬件想要和系统通信时,它首先发出一个异步的中断信号去打断处理器的执行,继而打断内核的执行。通过中断号,内核能找到相应的中断服务程序来处理中断。
举例:当敲击键盘时,键盘控制器发送一个中断信号告知系统,键盘缓冲区有数据到来,内核根据中断号调用终端服务,然后告诉键盘控制器,可以继续输入数据了。

操作系统有专门执行中断的上下文

保证中断服务程序能在第一时间处理中断,然后快速退出。

只有两个上下文:进程上下文和中断上下文

处理器在任何时间点的活动必然概括为三种:

  1. 运行于用户空间,执行用户进程
  2. 运行于内核空间,处于进程上下文,代表某个特定的进程执行
  3. 运行于内核空间,处于中断上下文,与任何进程无关,处理特定中断。
    包括所有情况。
    举例:当CPU空闲时,内核就运行一个空进程,处于进程上下文,但运行于内核空间。
    Linux简介,Linux,linux,网络,运维
    Linux简介,Linux,linux,网络,运维Linux简介,Linux,linux,网络,运维
    在取指令,执行指令后进行中断周期

单内核和微内核:Linux是单内核,但是拥有模块化设计,抢占式内核,支持内核线程,动态装载内核模块

单内核模块之间可以相互调用
Linux简介,Linux,linux,网络,运维
内核的分模块
Linux简介,Linux,linux,网络,运维

单内核:
内核设计为单内核,就是将内核从整体上作为一个单独的大过程来实现,运行在一个单独的地址空间,内核间的通信微不足道,都可以直接调用,内核以单个的二进制文件存在于磁盘.
简单,高性能
微内核:
所有服务都独立运行并且运行在各自的地址空间上。消息通信,上下文切换。4次如下Linux简介,Linux,linux,网络,运维Linux简介,Linux,linux,网络,运维文章来源地址https://www.toymoban.com/news/detail-820990.html

linux特色

Linux对线程的支持:内核并不区分线程和其他的一般进程,对于内核来说,所有的进程都一样,只不过是一些共享资源而已。

Linux提供具有设备类的面向对象的设备模型,用户空间的文件系统

到了这里,关于Linux简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算Linux运维——Linux系统管理——软件管理

    目录 点关注不迷路 1RPM软件管理 1、软件安装包类型 2、RPM软件安装包的组成 二、RPM软件管理操作 rpm命令 1、安装软件 2、查看软件 3、卸载软件 2yum工具介绍 一、yum工具介绍 1、优势 2、yum源配置文件 二、配置本地源安装软件 1、备份自带的HTTP源 2、编写本地源 3、清除旧的

    2024年02月06日
    浏览(52)
  • Linux运维:推荐八款Linux远程连接工具

    目录 2、XShell 3、SecureCRT 4、PuTTY 5、WindTerm 6、iTerm2 7、MobaXterm 8、Termius 今天给大家推荐八款Linux远程连接工具,非常实用,希望对大家能有所帮助! 1、NxShell NxShell是一款开源的Linux远程管理工具,是我日常远程Linux服务器必备的工具,界面比较好看、可以直接SFTP。针对软件的

    2023年04月19日
    浏览(43)
  • 云计算Linux运维——Linux系统管理——磁盘管理

    点关注不迷路 目录 1磁盘分区管理 一、硬盘基础知识 1、硬盘的表示方法 2、查看块设备 3、硬盘分区的表示方法 4、创建文件系统/格式化 5、操作磁盘的流程 二、管理磁盘分区工具 fdisk 1、使用格式 2、查看磁盘分区 三、磁盘分区案例 1、规划 2、创建分区 3、让内核识别硬盘

    2024年02月12日
    浏览(72)
  • 运维 | 如何在 Linux 系统中删除软链接 | Linux

    在 Linux 中, 符号链接 (symbolic link,或者symlink)也称为 软链接 ,是一种特殊类型的文件,用作指向另一个文件的快捷方式。 我们可以使用 ln 命令来创建软连接,那么怎样删除呢? Linux 中没有用于删除符号链接的特殊命令,不过可以使用 rm 命令,该命令主要用于删除文件

    2024年04月14日
    浏览(56)
  • 跟运维学 Linux - 02

    在Windows中我们可以通过快捷键 ctrl + c 复制,ctrl + v 粘贴,在 linux 中需要使用命令。 复制移动 cp 就是 copy 的意思。请看示例: 如果当前目录有同名的文件,需要询问是否覆盖,可以使用参数 -i : 文件夹的拷贝需要使用参数 -r ,否则会提示错误: 拷贝文件比较清晰,而拷贝

    2024年02月16日
    浏览(36)
  • 使用Linux运维常识

    快捷键 描述 ctrl+键盘左键 向左跳一个单词 ctrl+键盘右键 向右跳一个单词 Ctrl + c 停止当前正在运行的命令。 Ctrl + z 将当前正在运行的命令放入后台并暂停它的进程。 Ctrl + d 关闭当前终端会话。 Ctrl + l 清屏,也可以用clear命令实现 Tab 自动补全当前输入的命令或文件名。 Ctr

    2024年02月01日
    浏览(55)
  • 初识Linux运维

    内核提供了Linux系统的主要功能,如硬件调度管理的能力。 Linux内核是免费开源的,任何人都可以查看内核的源代码,甚至是贡献源代码。 内核无法被用户直接使用,需要配合应用程序才能被用户使用。在内核之上,封装系统级应用程序,组合在一起就称之为 Linux发行版 。

    2023年04月23日
    浏览(37)
  • Linux运维:makefile

    Makefile 是一种用于自动化构建的文件,它描述了一个软件项目的编译规则和依赖关系,并提供了一些工具来自动执行这些规则。 Makefile 的主要作用如下: 自动化编译:通过 Makefile,可以定义项目中的编译规则和依赖关系。这样,当源代码发生变化时,只需要执行 make 命令,

    2024年02月06日
    浏览(35)
  • Linux 运维常用命令

    先说些废话 因为笔者有着大量运维部署站点的需求,所以之前一直在陆陆续续学习并实践各种 Linux 的 Shell 命令,在此记录一些高频命令的使用的说明,方便自己回顾加深记忆。 后期如果有用到一些新的命令,也会继续保持更新,如果写的有不对的地方,也请各位看官指出,

    2024年02月16日
    浏览(43)
  • Linux运维:系统日志篇

    您可以将系统日志理解为记录系统运行情况的一种日记。它包含了各种级别的信息,从调试信息和错误报告到警告和系统事件等。通过对系统日志进行分析,管理员可以了解系统的状态和运行情况,发现并解决问题,确保系统的正常运行。因此,系统日志是管理和维护 Linux

    2024年02月05日
    浏览(107)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包