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 学习的任务 任重道远 我现在处于第一阶段. 发 ...
随机推荐
- 「MySQL高级篇」MySQL之MVCC实现原理&&事务隔离级别的实现
大家好,我是melo,一名大三后台练习生,死去的MVCC突然开始拷打我! 引言 MVCC,非常顺口的一个词,翻译起来却不是特别顺口:多版本并发控制. 其中多版本是指什么呢?一条记录的多个版本. 并发控 ...
- Linux---配置新服务器的常见操作(CentOS7)
修改 Centos7为字符界面 Centos7取消了之前的 inittab文件的作用,改用命令实现, systemctl get-default : 获得默认启动方式 systemctl set-de ...
- pycharm系列---django
manage debug Python Console基本配置 DJANGO_SETTINGS_MODULE=mini_project.settings import sys import djang ...
- 聊聊FASTER和进程内混合缓存
最近有一个朋友问我这样一个问题: 我的业务依赖一些数据,因为数据库访问慢,我把它放在Redis里面,不过还是太慢了,有什么其它的方案吗? 其实这个问题比较简单的是吧?Redis其实属于网络存储,我对照 ...
- kubeedge的云边协同通道
1. CloudHub安全认证流程 2. EdgeHub安全认证流程 3. Edged节点纳管
- Go语言核心36讲13
我们已经讨论过了通道的基本操作以及背后的规则.今天,我再来讲讲通道的高级玩法. 首先来说说单向通道.我们在说"通道"的时候指的都是双向通道,即:既可以发也可以收的通道. 所谓单向通 ...
- 使用vite + vue3 + ant-design-vue + vue-router + vuex 创建一个管理应用
使用vite + vue3 + ant-design-vue + vue-router + vuex 创建一个管理应用的记录 使用vite 创建项目 我创建的node 版本是 v16.17.1 使用N ...
- i春秋Hash
打开题目页面是一个超链接 先查看源码得到一段信息 没什么,这只是超链接跳转的信息 点击跳转到下一个界面 提示我们如果我们的传入不是123,123也就是key了,在上面的url就可以看到 如果key!= ...
- layui文件上传+ThinkPHP
1.前端html代码 <div class="layui-form-item"> <label class="layui-form-label" ...
- [论文阅读] 颜色迁移-N维pdf迁移
[论文阅读] 颜色迁移-N维pdf迁移 文章: N-Dimensional Probability Density Function Transfer and its Application to C ...