第一节 操作系统基本概念

操作系统的概念

  • 操作系统的层次结构为:硬件、操作系统、应用程序、用户
  • 操作系统对系统资源进行管理,合理组织和调度计算机的工作与资源分配,进而为用户和应用程序提供方便接口的程序集合
  • 操作系统是计算机系统中最基本的系统软件1

操作系统的特征

  • 操作系统具有很多特征,其基本特征是并发共享2、虚拟、异步

并发

  • 计算机在同一时间段内间隔的执行多个进程
  • 宏观上看各个进程同时进行,而微观上则使用了分时技术使各个进程交替执行
  • 并发是在多道程序环境下存在的
  • 与并行的区别:
    • 并发:多个进程在同一时间段内间隔进行,宏观上同时进行,微观上交替进行
    • 并行:多个进程在同一时间段内同时进行,不论从宏观还是微观,都是同时进行的,实现并行需要多流水线技术或者多处理机技术

共享

  • 共享主要是针对资源而言的,有两种共享方式,即互斥共享方式和同时共享方式
互斥共享方式
  • 这种共享方式下,如果该类型的资源被一个进程占用,则只有等该进程使用完,并归还该资源后,其他进程才可以使用。这种资源叫做临界资源,也叫独占式资源,比如打印机等。
同时共享方式
  • 这种方式下,所有资源都可被进程使用,一个进程占用该资源,其他进程也可以占用资源,不需要等到进程归还后再使用,比如向屏幕打印一段字符串,还有磁盘资源等都属于同时共享资源。

虚拟

  • 将物理上的实体变为若干逻辑上的对应物。
  • 虚拟处理机技术:将一个物理上的真实处理机虚拟为逻辑上的多个处理机,在同一时段内进程可以间隔允许,此处与超线程技术不同3
  • 虚拟存储技术:相当于内存空间扩容,将物理上较小的内存空间通过虚拟技术实现大内存空间,在用户看来,计算机可以执行很多的进程,自己的内存空间远大于内存的实际物理空间,其实这内部是采用了虚拟存储技术的
  • 虚拟设备技术:最典型的为SPOOLing技术,将独占式资源(设备)改造成了“共享”设备。

异步

  • 进程的运行存在很多的不确定因素,比如一个进程在执行中可能会因为缺少某个资源而不能继续运行,而他什么时候可以继续运行是不确定的,这时,操作系统就需要保证该进程在得到相应资源后能继续运行,并输出正确的结果。

操作系统的目标和功能

操作系统作为系统资源的管理者

  • 操作系统对系统资源进行管理,包括:
    • 进程管理:其核心是对处理机的管理,因为进程要运行在处理机上,所以对进程管理即可,包含进程与线程机制,进程调度,进程通信,进程同步,进程死锁等。
    • 内存管理:对计算机内存进行管理,包括内存的分配与回收,内存空间扩充,内存保护,内存共享
    • 文件管理:文件不属于计算机硬件部分,文件管理主要包括:文件与目录的结构与实现,以及对磁盘的管理
    • I/O设备管理:主要涉及I/O方式与I/O核心子系统等

操作系统作为用户与计算机系统之间的接口

  • 操作系统为用户提供了两种接口:
  • 命令接口:用户通过指令来操作计算机执行任务
    • 联机命令接口:主要存在于分时操作系统或实时操作系统,用户输入一条指令,计算机执行一个动作,有很好的交互性(一说一动)
    • 脱机命令接口:主要存在于批处理系统中,用户输入一堆指令(相当于老师步骤的作业清单),由操作系统根据这些指令慢慢的去执行任务(相当于根据作业清单来写作业)(全说完再行动)
  • 程序接口:其实也叫做系统调用,用户通过程序来请求系统调用,(C语言中的printf(“Hello World”);就是通过程序间接的完成了系统调用,向屏幕输出了字符串),这种方式用户只能通过程序间接的进行系统调用,在这里要注意与库函数的区别4

操作系统用作扩充机器

  • 裸机:只有计算机硬件,没有任何软件的机器
  • 虚拟机:安装了软件的计算机,或者也叫扩充机器

题目

1.操作系统与用户通信接口通常不包括()

A. Shell
B. 命令解释器
C. 广义指令
D. 缓存管理指令

答案:D.广义指令就是系统调用命令,而命令解释器属于命令接口,Shell是命令解析器,也属于命令接口。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用。

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

答:库函数是语言或应用程序的一部分,可以运行在用户空间中。而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,许多库函数都会使用系统调用来实现功能。未使用系统调用的库函数,其执行速度要大于使用了系统调用的,因为进行系统调用,会涉及到上下文的切换和状态的切换(用户态转变为内核态)

参考文献

[1] 王道论坛,2021年操作系统考研复习指导[M]. 北京:电子工业出版社,2020.1


  1. 系统软件包括:操作系统、数据库管理系统、语言处理程序、服务型程序、标准库程序等 ↩︎

  2. 并发和共享:操作系统最基本的特征,两者互为存在条件。如果没有并发技术,则一个时间段内只能允许一个进程,则不存在资源共享问题;如果不进行资源共享,则也无法实现并发技术,因为处理机也是一种资源,如果处理机不能被共享,那么一个处理机只能一直执行一个进程,无法并发。 ↩︎

  3. 虚拟技术与超线程技术的区别:虚拟技术是将一个处理机虚拟为多个逻辑处理机来并发的运行进程,其实质为进程的并发执行。而超线程技术是将一个物理内核分为了两个逻辑内核,从而实现了在双逻辑内核上进程的并行执行。 ↩︎

  4. 库函数:是由高级程序语言对系统调用进行了封装,将一些系统调用制作成库函数接口,供用户使用,与系统调用不同。一个库函数可能封装了多个系统调用,也可能一个库函数并没有包含任何系统调用。 ↩︎

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页