【王道操作系统】学习笔记——第一章 操作系统概述

327 阅读12分钟

目录

1.1操作系统的基本概念

1.1.1操作系统的概念和功能

思维导图

1、操作系统的概念

2、操作系统的功能

扩展导图

①作为系统资源的管理者,提供的功能

②作为用户与计算机硬件系统之间的接口

③作为扩充机器(虚拟机)

1.1.2 操作系统的四个特征

思维导图

操作系统的四个特征

1.2操作系统的分类与发展

1.操作系统的分类及其特征优劣

2.操作系统的发展历程

1.3操作系统的运行机制和体系结构

1.3.1操作系统的运行机制和体系结构

1.操作系统的运行机制和体系结构

2.操作系统内核在计算机系统中的层次结构 

3.操作系统用户态和核心态的转换

1.3.2中断和异常

1.3.3系统调用

1.系统调用知识框架图

2.系统调用和库函数的区别

3.系统调用的执行过程


1.1操作系统的基本概念

1.1.1操作系统的概念和功能


思维导图


1、操作系统的概念

  • 属于系统软件。是系统最基本最核心的软件
  • 控制和管理整个计算机的资源
  • 合理地组织、调度计算机的工作与资源的分配
  • 为用户和其他软件提供方便的接口和环境


2、操作系统的功能

✅操作系统是系统资源的管理者

✅作为用户和计算机硬件系统之间的接口

✅用作扩充机器(虚拟机)

理解:

  • 假设用户是雇主,操作系统是工人,计算机是机器
  • 工人用娴熟的技术控制和协调各个部件的工作,这就是操作系统对资源的管理
  • 同时,工人必须接受雇主的命令,这就是接口
  • 工人的操作下,机器能发挥更大的作用,因此工人成了扩充机器,去扩充一些功能,如GUI界面。

扩展导图


①作为系统资源的管理者,提供的功能

处理机(cpu)管理

  • 在多道程序环境下,cpu的分配和运行都以进程(或线程)为基本单位。因此对cpu的管理可理解为对进程的管理。
  • 进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。

存储器管理

  • 目标:为多道程序的运行提供良好的环境、方便用户使用及提高内存的利用率。
  • 存储器管理的主要功能包括内存分配与回收、地址映射、内存保护与共享和内存扩充等。

文件管理

  • 计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统。
  • 文件管理的主要功能包括文件存储空间的管理、目录管理及文件读写管理和保护等。

设备管理

  • 目标:完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率。
  • 设备管理的主要功能包括缓存管理、设备分配、设备处理和虚拟设备等。

以上4种管理功能只由操作系统负责 ,计算机无需关注。

②作为用户与计算机硬件系统之间的接口

封装思想: 操作系统屏蔽底层硬件细节,把丑陋的硬件功能封装成方便简单的服务,用户只需对操作系统发出命令。

用户接口:为了让用户方便、快捷、可靠的操作计算机硬件并执行自己的程序,操作系统提供了用户接口。

GUI(图形用户界面) :图形化操作界面,如删除即“拖拽”文件到垃圾桶。

命令接口:用户可以直接使用的,利用这些操作命令来组织和控制作业的执行。

  • 联机命令接口:又称交互式命令接口。
  • 适用于分时或实时系统的接口,由一组键盘操作命令组成。
  • 用户输入一条指令,操作系统就执行一条指令。
  • 实例:按住入Win+R,输入cmd,打开命令行解释器,然后输入time指令,就可以修改当前时间了。
  • 脱机命令接口:又称批处理命令接口。
  • 使用于批处理系统,由一组作业控制命令组成。
  • 用户输入一堆指令,操作系统运行一堆指令。在操作系统运行这些命令时用户不可干预。

扩展:批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。

程序接口:用户通过程序间接使用 。由一组系统调用(也称广义指令)组成。

  • 用户通过在程序中使用这些系统调用来请求操作系统为其提供服务。如使用各种外部设备、申请分配和回收内存及其它各种要求。
  • 实例:print函数、图形用户界面程序接口GUI。

:系统调用 = 系统调用命令 = 广义指令

③作为扩充机器(虚拟机)

  • 没有任何软件支持的计算机称为裸机,覆盖了软件的机器称为扩充机器或虚拟机。
  • 操作系统实现了对硬件机器的拓展。

理解:

  • 硬件是工具和材料,操作系统是优秀的工匠
  • 操作系统对硬件机器的扩展:通过优秀工匠,这些简单的原料可以组成房子、帆船、匹诺曹,供人便捷地使用。

1.1.1   Over  !  💖

1.1.2 操作系统的四个特征

  • 操作系统是一种系统软件,但与其它系统软件和应用软件有很大的不同,它有自己的特殊性,即基本特征

思维导图

待画


操作系统的四个特征

并发

  • 并发:两个或多个事件在同一时间间隔内发生,这些事件宏观上同时发生,微观上交替发生。 操作系统的并发性指系统中同时存在着多个运行的程序。
  • 一个单核CPU同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行。(这些程序宏观上同时发生,在微观上交替进行)
  • 并行:两个或多个事件在同一时刻发生。
  • 操作系统是伴随着“多道程序技术”出现的,因此操作系统和并发是一同诞生的。
  • 如今的计算机一般是多核cpu,即在同一时刻可以并行执行多个程序。比如计算机是8核的,就可以在同一时刻并行执行8个程序。但事实上计算机执行的程序并不止8个,因此并发技术是必须存在的,并发性必不可少

共享

  • 共享即资源共享,是指系统中的资源可以供内存中多个并发执行的进程共同使用。
  • 互斥共享:计算机中的某个资源在一段时间内只能允许一个进程访问,别的进程没有使用权。
  • 实例:QQ和微信视频。同一段时间内摄像头只能分配给其中一个进程。

临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享。

  • 同时共享:计算机中的某个资源在一段时间内可以同时允许多个进程访问。
  • 同时共享通常要求一个请求分为几个时间片段间隔地完成,即“交替进行,分时共享”。

理解:

  • 这里的同时指在宏观上的感觉,实际是交替访问的。只是cpu处理速度很快,我们感觉不到。
  • 实例:QQ在发送文件A,微信在发送文件B,貌似两个进程A和B都在访问磁盘。在我们看来是同时进行,但在微观上两个进程A和B是交替访问磁盘的,只是时间太短,cpu处理速度太快,我们无法察觉。

注意: 有时候多个进程可能真的是在同时进行资源访问。比如玩游戏时可以放音乐,游戏声音和音乐声音都能听见。

  • 并发性和共享性互为存在条件

理解:

使用QQ发送文件A,同时使用微信发送文件B。

  • 两个进程正在并发执行(并发性)
  • 需要共享地访问硬盘资源(共享性)

失去任意一个特征,另外一个特征将失去它的意义。


虚拟

多道程序设计:是指在内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插地运行。

  • 有两个或两个以上程序在计算机系统中同时处于开始到结束之间的状态。
  • 多道程序技术运行的特征:多道、宏观上并行、微观上串行。
  • 虚拟指把一个物理上的实体变为若干逻辑上的对应物。

              前者是实际存在的;后者是虚的,是用户感觉上的事物。

  • 虚拟技术:用于实现虚拟的技术。
  • 操作系统的虚拟技术可归纳为:

    时分复用技术:如处理器的分时共享(虚拟处理器)。

    空分复用技术:如虚拟存储器。

  • 虚拟处理器(CPU):通过多道程序设计技术,采用让多道程序并发执行的方法,分时使用一个CPU。即实际物理上只有一个CPU,但是用户感觉到有多个CPU。
  • 虚拟存储器从逻辑上扩充存储器容量,用户感觉到的但实际不存在的存储器。
  • 虚拟设备:将一台物理设备虚拟为逻辑上的多台设备,使多个用户在同一时间段内访问同一台设备,即同时共享。用户宏观上感觉是同时的,实际上是交替访问同一台设备。

✅异步

  • 异步:多道程序环境允许多个程序并发执行,但由于资源有限(如cpu只有一个),进程的执行并不是一贯到底的,而是走走停停,它以不可预知的速度向前推进。

理解:

  • A进程正在占用CPU计算,这时B进程也想占用CPU计算。
  • B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算。
  • B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU。
  • 这时A进程就需要等待,等B算完后再继续到CPU中进行计算。

由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进 。


1.1.2   Over  !  💖 

1.2操作系统的发展与分类


1.操作系统的分类及其特征优劣

  • 手工—单道/多道批处理—分时—实时—网络—分布式—嵌入式—个人计算机

2.操作系统的发展历程


 1.2  Over  !  💖 

1.3 操作系统的运行机制和体系结构

1.3.1操作系统的运行机制和体系结构


1.操作系统的运行机制和体系结构


2.操作系统内核在计算机系统中的层次结构 

操作系统结构类比:

  • 操作系统的体系结构问题与企业的管理问题很相似。
  • 内核就是企业的管理层负责一些重要的工作。只有管理层才能执行特权指令,普通员工只能执行非特权指令用户态、核心态之间的切换相当于普通员工和管理层之间的工作交接
  • 大内核:企业初创时体量不大,管理层的人会负责大部分的事情。优点是效率高;缺点是组织结构混乱,难以维护。
  • 微内核:随着企业体量越来越大,管理层只负责最核心的一些工作。优点是组织结构清晰,方便维护;缺点是效率低。

3.操作系统用户态和核心态的转换

遗留问题:用户态、核心态之间的切换是怎么实现的?
:

  • “用户态→核心态”是通过中断实现的,并且中断是唯一途径
  • “核心态→用户态”的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”。

1.3.1  Over  !  💖 

1.3.2中断和异常


1.3.2   Over  !  💖 

1.3.3系统调用

1.系统调用知识框架图


2.系统调用和库函数的区别

在这里插入图片描述


3.系统调用的执行过程

在这里插入图片描述


第一章 over !🎉✨