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 学习的任务 任重道远 我现在处于第一阶段. 发 ...
随机推荐
- fastjson反序列化漏洞历史CVE学习整理
fastjson 1.2.24反序列化漏洞复现 先写一个正常的使用 fastjson的web服务 我们使用 springboot创建 主要是pom.xml 里面要添加fastjson fastjson ...
- 分清国内版FireFox和国际版FireFox
FireFox现在成为越来越多人替代Chrome的选择.但与Chrome不同的是,FireFox无论桌面端还是移动端,都有着『国际』和『国内』版本的区分. 二.正确的下载地址 2.1国内版的混淆视听: ...
- Day03.2:Java的基础语法
Java基础语法 注释 (注释不会被运行,仅仅作为解释或笔记提供给作者帮助回忆) 单行注释格式:// 多行注释格式: /**/ 文档注释格式:/** */ 示例图 标识符 概念:所有的组成部分都需要名 ...
- 试试将.NET7编译为WASM并在Docker上运行
之前有听到说Docker支持Wasmtime了,刚好.NET7也支持WASM,就带大家来了解一下这个东西,顺便试试它怎么样. 因为WASM(WebAssembly) 一开始是一个给浏览器的技术,比起J ...
- idea中springboot热部署(无需重启项目)
idea中springboot热部署(无需重启项目) 1.在pom.xml文件中导入依赖 <dependency> <groupId>org.springframework.b ...
- Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)漏洞复现
目录 免责声明: Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)漏洞复现 漏洞概述: 影响版本: 漏洞复现: 利用POC: 利用过程: 修复建议: 参考 免 ...
- jQuery漏洞复现整理
jQuery DOM-based XSS 免责声明: 本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担,产生的一切风险与本文作者无 ...
- adb shell 全局查找文件
借助busybox 由于安卓手机没有 find 命令,所以我们需要借助busybox中的find命令 busybox 下载地址 这里我下载的是 busybox-armv6l, 一般这个版本就可以,下载 ...
- SpringBoot 自动装配的原理分析
关于 SpringBoot 的自动装配功能,相信是每一个 Java 程序员天天都会用到的一个功能,但是它究竟是如何实现的呢?今天阿粉来带大家看一下. 自动装配案例 首先我们通过一个案例来看一下自动装配 ...
- codeforce E - Binary Inversions题解
题目: 给你一个01串,现在你可以(或者不用)选取其中一个元素进行一次反转操作0-1,1-0:从而使得串中的逆序对个数最多. 题目链接:codeforce origin problem 思路: 1. ...