IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 操作系统相关总结(其他) -> 正文阅读

[系统运维]操作系统相关总结(其他)

目录

一、操作系统 OS 与内核 Kernel 有什么区别???

1.内核

2.操作系统

?二、如何在C++和Python间优雅的共享数据??

三、bug 排查大曝光,涉及Linux 内核的那种?


一、操作系统 OS 与内核 Kernel 有什么区别???

1.内核

????????内核仅仅是操作系统的一部分,是真正与硬件交互的那部分软件,与硬件交互包括读写硬盘、读写网盘、读写内存以及任何连接到系统中的硬件。

????????除了与硬件交互外,内核还负责以进程的形式来分配资源,分配什么资源呢?所谓资源就是硬件,比如CPU时间、内存、IO等等,这些都是资源。

????????每个进程都认为自己在独占CPU,这通过CPU时间片来实现,内核让CPU在各个进程之间快速切换,这样程序员写好程序员后直接运行即可,即使在单核系统中运行成百上千个进程都没有问题。

????????每个进程都认为自己在独占内存,这通过虚拟内存来实现。为什么都要虚拟化呢?答案显而易见,因为计算机系统内的资源是有限的,我们只有几个CPU核心、几个G的内存,但却要同时运行几百几千个进程,除此之外我们别无它法。

????????内核的职责就是以进程的形式来分配CPU时间,以虚拟内存的形式来分配物理内存,以文件的形式来管理IO设备。

2.操作系统

????????不同的操作系统可以有相同的内核。实际上我们熟悉的Linux只是内核而不能称得上是操作系统,Ubuntu则可以认为是操作系统,其内核是Linux;RedHat也是操作系统,其内核同样是Linux;我们可以看到,尽管Ubuntu和RedHat是不同的操作系统,但其内核可以是相同的。这就好比它们可以基于同样的底盘打造出不同的车型。

????????而我们熟悉的Windows也是操作系统,其内核是Windows NT内核。

????????操作系统需要提供两种接口:

  • 给用户提供操作接口。
  • 给程序员提供编程接口

?二、如何在C++和Python间优雅的共享数据 ?

????????任何一门语言都能处理字符串,而字符串有一个天然的优势,那就是自解释,self description,对于字符串"computer",只要提供该字符串所在的内存地址,任何一门语言写的代码都能正确处理该字符串。

????????我们需要定义字符串的格式,以一种标准化的形式来描述信息。格式化的字符串:Json(实际上XML也是可以的,只不过XML过于复杂)。

????????Json本质上就是字符串,但是有自己定义的格式,任何一门语言拿到Json定义的字符串后都能正确的解析出内容来,换句话说Json实际上是一种语言独立的(language-independent,这里的语言指编程语言)数据类型,不但利于人类阅读也利于机器解析。

????????Json语法非常的简单,但是使用Json你可以使用字符串来表示非常复杂的数据,一定要记住,Json是纯文本的。

????????在这里我们可以看到纯文本的力量,那就是通用性,二进制就不具备通用性,除非事先声明每一个字节是什么意义,也就是说二进制不具备自解释的特性。因此在进行系统设计时不要忘了简单但功能强大的纯文本。

三、如何在C++和Python间优雅的共享数据??

????????进程看上去被卡死,那么:

  1. 如果被卡在用户态,那么该进程 CPU 使用率必然很高(死循环之类);
  2. 如果被卡在内核态,这时进程应该正在进行 IO 或者网络通信等,那么 CPU 使用率应该会很低。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 16:08:03  更:2022-05-01 16:11:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:30:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码