Linux操作系统导学专栏(一)——专栏要讲些什么?
该专栏是为Linux内核开发编程做铺垫,如果你对操作系统很熟悉,想了解一些Linux内核发开的知识,请直接跳转至《Linux内核编程专栏》,如果你对Linux内核编程也很熟悉,想了解Linux内核的各个模块,可移步至《Linux内核分析专栏》,带你领略Linux内核的绝美风光。

操作系统导学会对一些基本的概念进行讲解,但并不是单纯的讲解概念,而是通过操作系统发展历史的脉络,解释一些概念。操作系统不断改进,针对计算机硬件发展,用户需求的变化,而提出的一些高效的设计。永远记住,操作系统是管理硬件的艺术,将重要关键的资源高效且安全的抽象给用户。我们按照是什么?为什么?怎么做?的方法,针对操作系统的各个组件进行抽丝剥茧,达到读者能掌握操作系统核心概念的目的,为后面Linux内核开发,深入理解Linux内核打下坚实的基础。
一、专栏内容概览

编辑
二、操作系统中重要的三个抽象
操作系统中有三个重要的抽象,分别是虚拟化,并发和持久化。
虚拟化与我们经常听到的另一个虚拟化(运行虚拟机)有所区分,但也有相似之处,本质核心都是一个物理资源如何被复用。
虚拟化分为虚拟化CPU和虚拟化内存;虚拟化CPU,主要是讲CPU分时复用的问题,同样会引出进程这个概念,从而让CPU看起来支持多个程序同时运行的假象。虚拟化内存是主要是讲物理内存的复用,将单一的物理内存虚拟化为每个进程独占的内存地址空间,而且进程可用的实际内存空间是远多于物理内存的,让每个进程看起来拥有自己的内存。
并发涉及多线程概念以及多线程编程,抽象来说,线程是进程的抽象,一个进程可有多个线程组成。你可能有疑问,既然有了进程,为什么还需要线程?这个我们将在并发给大家细细说来。
最后一部分是持久化,我们知道CPU计算出的数据是保存在内存上的,有些重要的数据是需要断电仍可恢复的,就需要操作系统支持持久化。持久化涉及到磁盘,硬盘等硬件设备,需要将CPU产生的数据回写到硬盘这类可持久保存的媒介上,可以将数据组织成文件,同时也需要具备从磁盘上找到该文件,这就要求操作系统需要对硬盘内容进行组织,这就需要文件系统参与,方面快速存储和读取文件。
该专栏会持续更新,期待与大家一起,一点点探索操作系统的内部世界。
如果你想了解Linux内核发开的知识,《Linux内核编程专栏》正在更新中,期待你的关注与订阅;如果你想深入理解Linux内核的各个模块,《Linux内核分析专栏》连载中,也期待你的关注与订阅,让我们一起领略Linux内核的绝美风光。
你的关注与订阅是我们更新的最大动力!
更多技术内容和书籍资料获取,入群技术交流敬请关注“明解嵌入式”

Linux操作系统导学专栏(一)——专栏要讲些什么?的更多相关文章
- 趣谈Linux操作系统学习笔记:第二十四讲
一.小内存的分配基础 1.kmem_cache_alloc_node的作用 通过这段代码可以看出,它调用了kmem_cache_alloc_node函数,在task_struct的缓存区域task_s ...
- 趣谈Linux操作系统学习笔记:第二十六讲
一.内核页表 和用户态页表不同,在系统初始化的时候,我们就要创建内核页表了 我们从内核页表的根swapper_pg_dir开始找线索,在linux-5.1.3/arch/x86/include/asm ...
- 趣谈Linux操作系统学习笔记:第二十八讲
一.引子 磁盘→盘片→磁道→扇区(每个 512 字节) ext* 定义文件系统的格式 二.inode 与块的存储 1.块 2.不用给他分配一块连续的空间 我们可以分散成一个个小块进行存放 1.优点 2 ...
- 趣谈Linux操作系统学习笔记:第二十九讲
一.引子 在这之前,有一点你需要注意.解析系统调用是了解内核架构最有力力的一把钥匙,这里我们只要重点关注这几个最重要的系统调用就可以了 1.mount 系统调用用于挂载文件系统:2.open 系统调用 ...
- 深挖计算机基础:趣谈Linux操作系统学习笔记
参考极客时间专栏<趣谈Linux操作系统>学习笔记 核心原理篇:内存管理 趣谈Linux操作系统学习笔记:第二十讲 趣谈Linux操作系统学习笔记:第二十一讲 趣谈Linux操作系统学习笔 ...
- Linux操作系统--定时任务
最近在学习Linux操作系统.学到了关于定时任务的章节,作为一个总结写下这篇文章.在Linux中,我们可以将耗时大的任务如复制大文件,压缩.解压缩大文件等放进定时任务中(深夜执行,因为工作时间访问量大 ...
- 《趣谈 Linux 操作系统》学习笔记(一):为什么要学 Linux 及学习路径
前言:学习的课程来自极客时间的专栏<趣谈 Linux 操作系统>,作者用形象化的比喻和丰富的图片让课程变得比较易懂,为了避免知识看过就忘,打算通过写学习笔记的形式记录自己的学习过程. Li ...
- 浅析Linux操作系统是如何工作的(思维导图)
SA***189 多任务计算机运转机制如下思维导图所示: 小结: Linux操作系统是一个在时钟的节拍下,各个模块紧密协作.密不可分的整体,而整个Linux系统都是建立在存储程序的基础之上,正是有了程 ...
- 学linux内核与学linux操作系统有什么区别!?
linux内核包括:进程管理,存储管理,IO管理,文件系统等功能.linux操作系统则是linux内核再加上像shell或图形界面和其他的实用软件,比内核庞大的多.建议先学shell命令和linux下 ...
- [转帖]爬过这 6 个坡,你就能对 Linux 操作系统了如指掌
爬过这 6 个坡,你就能对 Linux 操作系统了如指掌 http://www.51testing.com/html/16/n-4461316.html 学习的任务 任重道远 我现在处于第一阶段. 发 ...
随机推荐
- <四>1:全面掌握Const的用法
const怎么理解? const修饰的变量不能够在作为左值!!初始化完成后,值不能被修改!! C 和C++中const 的区别? 在C程序中 test.c const int a; 只定义,不做初始化 ...
- 题解 P4058 [Code+#1]木材
前言 这什么题啊,不就是个二分答案我从65到100都经历了一遍--(瞬间气哭) \(\sf {Solution}\) 题目理解起来不难的,大意就懒得写了. 一眼二分答案. 此题属于在形如 \(\{0, ...
- Selenium4+Python3系列(五) - 多窗口处理之句柄切换
写在前面 感觉到很惭愧呀,因为居然在Selenium+Java系列中没有写过多窗口处理及句柄切换的文章,不过也无妨,不管什么语言,其思路是一样的,下面我们来演示,使用python语言来实现窗口句柄的切 ...
- jmeter执行报错:java.lang.UnsupportedClassVersionError解决办法
做个记录. 问题记录: jmeter版本:5.4.1 本地Java版本:1.8.0_151 执行jmeter,报错: 2022-10-14 12:06:27,372 ERROR o.a.j.JMete ...
- FIXMAP内存管理器
fixed map是被linux kernel用来解决一类问题的机制,这类问题的共同特点是: (1)在很早期的阶段需要进行地址映射,而此时,由于内存管理模块还没有完成初始化,不能动态分配内存,也就是无 ...
- 深度学习之tensorflow2实战:多输出模型
欢迎来到CNN实战,尽管我们刚刚开始,但还是要往前看!让我们开始吧! 数据集 链接:https://pan.baidu.com/s/1zztS32iuNynepLq7jiF6RA 提取码:ilxh,请 ...
- i春秋Backdoor
点开是道没有任何窗口的题,右键查看源码也没上面东西,抓包试试,也没找到什么提示性的信息,根据提示去看看敏感文件泄露是什么吧 这里找到了篇敏感文件泄露的介绍及利用方法:https://www.cnblo ...
- c#winfrom通讯录管理系统
一个简单的通讯录管理系统,适合毕业设计. 主要实现以下功能 1.系统登录 2.增加联系人 3.修改和删除联系人 4.查找联系人 5.系统用户管理 首先先搭建数据库. 我这边使用的版本是sqlserve ...
- 算法5: LeetCode_单链表_两数相加
题目: * 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. * 请你将两个数相加,并以相同形式返回一个表示和的链表. * 你可 ...
- 打印三位数的水仙花数Java
public class Flower{ //水仙花数就是一个 个位数的立方+十位数的立方+百位数的立方=这个三位数 //153 = 1*1*1+5*5*5+3*3*3 public static v ...