操作系统学习笔记

一、操作系统的基本概述

1.1 操作系统的定义

  • 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统种最基本的系统软件,也是最接近硬件的一层软件。

1.2 操作系统的功能和目标

1.2.1 功能

  • (1)操作系统作为系统资源的管理者;如提供处理机管理和存储器、文件、设备管理等。
  • (2)向上层提供方便易用的服务;操作系统采用封装的方式将一些难以理解的硬件功能封装成简易的服务,用户只需对操作系统发出命令即可。
  • 直接给用户提供的简易服务:GUI(图形用户界面)、联机命令接口(操作一句命令,执行一句)、脱机命令接口(操作多句,连续执行多句,如批处理)。
  • 给软件、程序员提供的简易服务:程序接口。通过系统调用来使用。
  • (3)作为最接近硬件的层次。

1.3 操作系统的特征

1.3.1 四个特征

  • (1)并发:指两个或者多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但在微观上是交替发生的。要区别并行:指两个或者多个事件在同一时刻同时发生。
  • 操作系统的并发性是指计算机系统中“同时”运行多个程序,这些程序宏观是在同时运行着的,但微观是交替运行的。
  • 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行。
  • 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。但当运行的程序多于CPU核数,那么也会自动出发并发运行。
  • (2)共享:即资源共享,指系统中的资源可供内存中多个并发执行的进程共同使用。
  • 两种资源共享方式:
    A.互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。如:同一时间段内摄像头只能分配给其中一个进程。
    B.同时共享方式:系统中的某些资源,允许同一个时间段内由多个进程“同时”对它们进行访问。如:使用QQ和微信同时发送文件,两个进程是交替访问硬盘,达到宏观上的同时。
  • (3)虚拟:是指一个物理上的实体变为若干个逻辑上的对应物。
  • 虚拟技术:
  • A.空分复用技术:如虚拟存储器技术;
  • B.时分复用技术:如虚拟处理器。
  • (4)异步:指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是以不可预知的速度向前推进,这就是进程的异步性。

1.3.2 特征之间的关系

(1)并发和共享是两个最基本的特征,二者互为存在条件。因为失去并发,系统只能运行一个程序,就没由共享的意义;同理,如果失去资源共享,就没法有并发。
(2)如果没有并发性,就谈不上虚拟性。
(3)只有系统拥有并发性,才能可能导致异步性。

1.4 操作系统的分类

  • 随着技术的发展,出现很多操作系统,如下:
  • 手工操作阶段
  • 批处理阶段
  • 分时OS
  • 实时OS
  • 网络OS
  • 分布式OS
  • 个人计算机OS

1.5 中断和异常

1.5.1 中断

  • (1)中断的作用
  • 中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权。
  • (2)中断的类型
  • A. 内中断(被称为异常):与当前执行的指令有关,中断信号来源于CPU内部。
  • 如:当执行的指令是非法的,则会引发一个中断信号。
  • B. 外中断(被称为中断):与当前执行的指令无关,中断信号来源于CPU外部。如:时钟中断,I/O中断请求。
  • (3)中断基本原理
    不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号 的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。
  • 中断处理程序一定时内核程序,需要运行在内核态。

1.6 系统调用

1.6.1 定义

  • “系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用 程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。

1.7 操作系统的体系结构

  • 分为大内核、单内核、宏内核、微内核。
  • 内核是操作系统最基本、最核心的部分。 实现操作系统内核功能的那些程序就是内核程序。

1.7.1 操作系统内核

内核主要有一下几部分:

  • (1)时钟管理:实现计时功能;
  • (2)中断处理:负责处理中断机制;
  • (3)原语:是一种特殊的程序,处于操作系统最底层,调用频繁,运行时间短。
  • (4)对系统资源进行管理的功能:进程、存储器、设备管理。
  • 注意: 操作系统内核需要运行在内核态 操作系统的非内核功能运行在用户态。

1.7.2 大内核

  • 将操作系统的主要功能模块都作为系统内核,运行在核心态。
  • 高性能;内核代码庞大,结构混乱,难以维护。

1.7.3 微内核

  • 只把最基本的功能保留在内核。
  • 内核功能少,结构清晰,方便维护,由于需要频繁地在核心态和用户态之间切换,性能低。

二、进程管理

2.1 进程与线程

2.1.1 进程

(1)定义

  • 程序:是静态的,就是个存放在磁盘里的 可执行文件,就是一系列的指令集合。
  • 进程(Process):是动态的,是程序的一 次执行过程。
  • 同一个程序多次执行会对应多个进程。
  • 当进程被创建时,操作系统会为该进程 分配一个唯一的、不重复的“身份证 号”—— PID(Process ID,进程ID)。
    (2)组成
  • PCB(进程控制块):进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息。
  • 程序段:程序的代码
  • 数据段:运行过程中产生的各种数据。
  • 其中,PCB是操作系统用的,程序段和数据段是给进程自己用的。
    (3)进程通信
  • 进程通信就是指进程之间的信息交换。 进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。
  • 一个进程不能直接访问另一个进程的地址空间。
    (4)进程通信的几种方式
    A. 共享存储:基于数据结构的共享或者基于存储区的共享,前者是一种低级通信方式,后者是一种高级通信方式。
    B. 消息传递:进程间的数据交换以格式化的消息(Message)为单位。进程通过操作系统提供的“发送消息/接收 消息”两个原语进行数据交换。
    C. 管道通信:“管道”是指用于连接读写进程的一个共享文件,又名pipe文件。其实就是在内存中开辟一个大小固定的缓冲区。

2.1.2 线程

  • 线程是CPU调度的基本单位;进程是资源分 配的基本单位。
  • 进程间并发,开销很大 线程间并发,开销更小 引入线程机制后,并发带 来的系统开销降低。
  • 当切换进程时,需要 保存/恢复进程运行 环境,还需要切换内 存地址空间(更新快 表、更新缓存);
  • 同一进程内的各个线程间并发,不需要切换进程运行环 境和内存地址空间,省时省力。
  • 从属同一进程的各个线程共享进程拥有的资源。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值