0基础《操作系统OS轻松入门笔记》持更

一、什么是操作系统?

​ 回答这个问题的时候,我们基于两个方面来说明:

  • 用户角度:

    操作系统是一个 控制软件,可以管理应用程序。

  • 系统内部角度

    操作系统是一个 资源分配管理器

    操作系统将 CPU 磁盘 内存分别抽象成了 进程 文件 地址空间

0基础《操作系统OS轻松入门笔记》~持更~

1.1操作系统的层次结构

  • shell层:操作系统的外层,专门用来与用户进行交互的接口。
  • kernel内核层操作系统的核心层,相当于电脑的神经中枢,可以掌管软硬件层所有东西。
0基础《操作系统OS轻松入门笔记》~持更~

1.2操作系统的用户视图及其分类

​ 操作系统的用户视图可以分为如下:

  1. 终端用户:应用程序的使用者
  2. 应用程序员:应用程序的开发人员 ,大部分就是这种类型的程序员
  3. 系统程序员:软硬交互的程序开发人员,需要熟悉一定的系统内部机制
  4. 系统管理员:维护升级安装操作系统

1.3操作系统的内核特征

  1. 并发性:段时间内多个程序同时运行。
  2. 并行性:个时间点多个程序同时运行。

二、为什么要学习操作系统?

  • 它是一套综合性课程,前期需要掌握的知识有:
    1. 程序设计语言(首推C语言)
    2. 数据结构
    3. 算法
    4. 计算机体系结构

三、操作系统的启动~故事从这里开始

3.1开机时计算机都发生了什么?

  • 开机之前,操作系统没有一开始就存在 内存里,而是放在了 硬盘disk上。当我们按下开机键的时候,

    BIOS(基于I/O处理系统)就会去自检外设,也就是寻找显卡执行BIOS。接着加载相应的软件进行运行。

Booter与OS的关系图
0基础《操作系统OS轻松入门笔记》~持更~

按下开机键同时,软件层面的东西也在执行,放在 硬盘disk上的 bootloader也会随之启动,它会将硬盘上的OS加载到内存中去。

3.2操作系统与外设和应用程序的交互

3.2.1三种常见处理机制

  • 中断

    来源于外设,比如键盘,鼠标等一系列操作。

  • 异常

    应用程序产生意想不到的行为,比如你打开了某个病毒文件,电脑马上死机。

  • 系统调用

    应用程序请求操作系统提供服务。

3.2.2中断处理

​ 某个进程产生了中断,操作系统怎么去找到它的呢?

  • 硬件层面来说,外设会根据现场产生的中断再产生一个 中断标记CPU看到中断标记之后会产生一个 中断号ID,最后将这个 中断ID发送给操作系统,操作系统便能找到中断现场。
  • 从软件层面来说,操作系统还要保护 中断前的状态,处理完中断服务之后,在此处恢复到之前的状态。

3.2.3异常处理

​ 处理机制和中断处理机制大体相似。

  • CPU会对现场异常进行 异常编号,再发送给操作系统,操作系统马上 保存编号,然后操作系统会进行 异常处理,处理完成后恢复程序。
  • 操作系统异常处理主要完成以下工作:
    1. 杀死异常程序
    2. 重新执行异常程序

3.2.4系统调用

系统调用是用户与计算机常见的交互行为,只是大家没有发现而已。

​ 我们在学C语言的时候,写 printf()时,会触发调用操作系统write()函数,实现输出效果。官方会提供许多的操作系统API,比如Windows API,Linux API,Java API…无论是高级语言还是低级语言,都会使用同样的API进行系统调用。

相关文章: