OS:初识操作系统——邂逅与启航

Blog’s 主页: 白乐天_ξ( ✿>◡❛)

🌈 个人Motto:实践是检验真理的唯一标准!!!

💫 欢迎来到我的学习笔记!

前言

各位uu好,现在我们要开始一个新的篇章——操作系统(Operating System)。

操作系统这门课程据我了解,他主要是理论与实践相互结合。因此,我们要想学好操作系统,就不进要学习它的理论知识,还要学会动手实操。

【操作系统】这一系列博客也是我的学习笔记,源自于中国大学慕课哈工大李志军老师的操作系统课程。

操作系统就像一个潘多拉魔盒。这是一个全新的领域,之所以这样称呼它,是因为李志军老师曾用钢琴盒来描述它。更加容易激起我们学习探索操作系统的兴趣。那么接下来,让我们一起踏上征途,扬帆,启航!

一、初识操作系统——邂逅

我们主要的内容就从附图1.1开始引出。

图1.1 小型抽象操作系统——计算机副图

根据上图1.1可知,我们可以将这个小型的抽象的操作系统看作是一个小型计算机。

那么,计算机又是做什么的呢?答案很简单——解决人类的实际问题。比如说:在显示屏幕上输出字符串Hello!。大致过程就是:CPU向内存发出指令要求输出字符串。字符对应的ASCII码值被存入内存转换成二进制。

下图1.2是一种最简易的计算机,一般被戏称为“裸机”。

图1.2 计算机硬件(裸机)

计算机管理的硬件主要有:CPU管理、内存管理、终端管理、磁盘管理、文件管理、网络管理、电源管理、多核管理。

二、操作系统应该学习什么?

  1. 应用软件探索到操作系统,中间的叫做接口;使用显示器:printf;使用CPUfork;使用文件:openread
  2. 应用软件进入操作系统;设计并实现操作系统。(如何将文字配一个板子,配一个操作系统)
  3. 硬件到设计并实现操作系统。
  4. 要求:能自主实现操作系统中改动CPU管理、改变屏幕输出、改变系统接口、改变内存管理等操作,学会自主实现一个真实的操作系统。

三、如何学好操作系统?

操作系统就像一个神秘的潘多拉魔盒,在它的背后总会有很多我们不知道的什么的宝藏!

操作系统这门课注重实践,一定要学会动手操作!就像我们不能只停留于潘多拉魔盒的表面一样,而是要深入去探索、去实践、勇于发现!

除此之外,我们还可以借助书籍《Linux内核设计与实现》、《30天自制操作系统》、《自己动手写操作系统》等书籍。

四、冯·诺依曼存储思想——引路人

当我们打开电源、开启电脑时,屏幕上就会出现神秘的黑色开机背景,计算机开始工作。那么在这黑色背景的后面到底有什么秘密或者故事?此时计算机执行的第一条指令又是什么?

图4.1 华硕电脑开机画面

从第一步——打开电源开始,计算机就开始工作了。那么计算机是怎么工作的呢?

4.1 从白纸到图灵机

计算机其实就是一种计算模型。1936年英国数学家A.C.图灵从小孩的计算过程中得到启发:小孩在计算“3 + 2”的结果的过程中,首先是在纸上看见“3 + 2”这个算式,然后眼睛将获取的信息传入大脑,大脑开始工作,将结果反馈给手,手再拿着笔在纸上写下结果“5”。A.C.图灵讲这一过程模拟抽象成一种计算模型,如下图:

4.2 从图灵机到通用图灵机

下面是图灵机的简化模型,但是它只有一种计算逻辑,就像是一位只会做一种菜的厨师。

而我们需要的是一位可以看懂菜谱、做出几种菜来的厨师。因此图灵机做了改进,可以实现多逻辑:

上面就是冯·诺依曼存储程序思想的提出过程(1946年)。**存储程序的主要思想:将程序和数据存放到计算机内部的存储器中,计算机在程序的控制下一步一步进行处理。**其中,控制器的工作过程如下图4.6。

画板

所以,计算机工作的方式就是——取址执行(PC/IP指针指向的内容)。打开电源时,计算机执行的第一条指令就是IP指向的内容

4.3 0x7c00处存放的代码

刚上电时,对于X86英特尔结构计算机来说,它有一部分内存是固化的,固话地址为CS = 0xFFFF0IP = 0x0000,CPU处于实模式。CS和IP相结合(CS<<4+IP),会产生一个地址:0xFFFF0(ROM BIOS映射区)。有了代码开始取址执行,接着检查RAM(内存)、键盘、显示器、软硬磁盘(这里出错,说明计算机硬件损坏)。然后将磁盘0磁道0扇区(操作系统的引导扇区)的内容(512字节)读入0x7c00处,记录CS = 0x07c0IP = 0x0000

在计算机中,0x7c00这个地址将会发生很多的故事。

引导扇区存放的代码叫做bootsect.s.s汇编代码)。设置汇编代码的原因:不用C语言程序写该处代码是因为C语言程序需要编译,而且有一些不可控因素,例如int x = 10;代码中无法指定内存开辟的位置。我们在这里需要对它进行完全的控制,不能使用C语言程序编写而使用汇编代码。


结语

本文到这里就结束了,我们目前对操作系统有了初步的认识,后面的文章将会继续更新,感谢各位uu的支持!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值