【操作系统】第一章 操作系统的大致介绍

操作系统是系统资源的管理者,提供处理机、存储器、文件和设备管理等服务。其主要特征包括并发、共享、虚拟和异步。操作系统通过内核态和用户态管理权限,中断和系统调用用于协调进程和硬件交互。此外,文章还介绍了操作系统的发展历程,如批处理、分时和实时系统,以及大内核和微内核的体系结构差异。最后,提到了虚拟机技术,允许在一台物理设备上运行多个独立的操作系统。
摘要由CSDN通过智能技术生成

1.1操作系统的概念、功能、特征

 1.什么是操作系统?操作系统是系统资源的管理者,向上层提供方便易用的服务,操作系统是软件,同时也是最接近硬件的软件。

2.操作系统的功能:处理机管理(比如CPU处理进程),存储器管理(比如程序相关数据放到内存中),文件管理(比如找文件,打开文件等),设备管理(比如将摄像头设备分配给进程)

3.操作系统的目标:安全、高效

4.操作系统向上层提供服务:如果要直接和底层交互就要使用二进制,但二进制很不友好。加入操作系统可以将我们的易懂的指令翻译成二进制代码(编程语言)。

5.有哪些服务:GUI(图形化用户界面)。联机(交互式)命令接口:比如:time系统会显示时间,我输入一条命令,系统执行一条。脱机(批处理)命令接口:把一系列命令保存到bat文件中,一次执行一堆。

程序接口:通过系统调用来使用程序接口。比如printf函数会调用系统和显示相关的功能。

6.操作系统实现对硬件机器的拓展。把cpu、内存、显示器、键盘等合理的组织起来,实现更多更复杂的功能。

7.操作系统的四个特性:并发、共享、虚拟、异步

并发和共享是两个最基本的特征,二者互为存在条件。

 (1)并发:

并发:多个事件在同一时间间隔内发生。宏观上是同时的,微观上是交替发生的。

并行:多个事件同时发生。这个是真的同时了。

单核CPU同一时刻只能执行一个程序,各个程序并发进行。

多核CPU可同时执行多个:比如4核CPU可并行执行4个程序。

(2)共享:

系统中的资源可供多个并发执行的进程共同使用。

互斥共享方式:一个时间段只允许一个进程访问。(视频聊天摄像头只能分配给一个进程,只能跟一个人视频)

同时共享方式:允许一个时间段多个进程同时(类似于并发)访问。(同时发送多个文件,微观上看交替访问硬盘读取数据)

如果失去了并发性,只能有一个程序运行,那也就不需要共享了,毕竟只有一个。

如果失去了共享性,只能一个程序读数据,那另一个也执行不了,也就不能并发了。

(3)虚拟:

把一个物理上的实体转变为若干个逻辑上的对应物。

4GB电脑打开了4G的GTA和256M的QQ等,实际上4GB内存用户看来远大于4GB。

空分复用技术:虚拟存储

时分服用技术:虚拟处理器

没有并发性就谈不上虚拟性。

(4)异步:

进程的执行不是一贯到底,而是走走停停(一个任务不是一次性完成的)。

系统只有有并发性,才可能有异步性。(如果没有并发就一次执行完了)

1.2操作系统的发展与分类

手工操作阶段:打孔写代码,很慢

单道批处理:内存只能运行一个程序,大量时间空闲

多道批处理:(操作系统正式诞生)不能调试程序

分时操作系统:可以与计算机进行交互了

实时操作系统:可优先处理紧急任务(硬实时(导弹,自动驾驶,必须严格执行),软实时(不太及时也可以))

1.3操作系统的运行机制

1.程序是如何运行的?

编程语言把我们写的逻辑翻译成cpu能看懂的二进制指令。

指令:cpu能识别、执行的最基本的命令。本节指令指二进制指令,不是ls、cd之类的

2.内核程序:操作系统

应用程序:qq之类的应用软件

3.特权指令:如内存清零。

非特权指令:加减法之类的指令。

4.cpu有两种状态:内核态和用户态

处于内核态时,运行的是内核程序,可以执行特权指令(又叫管态)

处于用户态,运行的是应用程序,只能执行非特权指令(又叫目态)

程序状态寄存器(PSW)一个二进制位1表示内核态,0表示用户态

5.内核态和用户态的切换

内核态->用户态:执行一个修改PSW标志位的特权指令,内核让出cpu使用权。

用户态->内核态:由中断引发,硬件自动完成。

 

6.中断是内核夺回cpu使用权的唯一途径。

7.内中断(异常):

试图在用户态下执行特权指令。执行除法操作除数为0(非法指令)。会引发中断信号。

应用程序想请求操作系统内核的服务,会执行陷入指令,该指令会引发一个内部中断信号。

8.外中断(狭义的中断):

时钟中断,时钟部件每过一会就会给CPU发送一个时钟中断信号。

IO设备发来的中断信号。

9.异常:

陷入:陷入指令引发,应用程序故意引起

故障:由错误条件引起,可能被内核程序修复,修复完会把CPU使用权还给应用程序。比如缺页故障

终止:致命错误,内核程序无法修复,会直接终止应用程序。比如除数为零。

10.不同的中断信号,需要不同的中断处理程序。Cpu检测到中断信号,会去查中断向量表,找到对应中断处理程序的位置。

 

11.什么是系统调用?

可以看作一个特殊的函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。

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

有些库函数涉及系统调用:创建新文件

有些库函数不需要:取绝对值等数学运算

13.为什么系统调用是必须的?

比如同一时间,用wps和word打印,两个进程交替发送数据内容会混在一起。

用内核对共享资源进行统一的管理,就不会出现这种情况。

14.什么功能要用系统调用来实现?

设备管理、文件控制、进程控制、进程通信、内存管理

凡是要用到共享资源的都需要系统调用。

15.系统调用的过程?

传递系统调用参数--执行陷入指令(用户态)--执行相应的内请求核程序处理系统调用(核心态)--返回

1.4操作系统的体系结构

 

1.大内核:时钟管理+中断处理+原语+进程管理、存储器管理、设备管理

微内核:时钟管理+中断处理+原语(不可再分的)

2.操作系统内核需要运行在内核态,操作系统的非内核功能运行在用户态。

3.如果应用程序请求操作系统的服务,涉及进程管理、存储管理、设备管理;大内核只需要两次CPU状态的转换,微内核则需要六次CPU状态的转换。CPU状态的转换有成本,频繁CPU状态的转换会降低系统性能。

 1.5操作系统引导

1.操作系统的引导:开机的时候,如何让操作系统运行起来。

2.在可看到的磁盘之外,在所有磁盘之前会留出一部分区域,叫主引导记录(MBR)。包含了磁盘引导程序和分区表(每一个盘每一个分区都占多大空间)。

3.C盘中有一部分存放引导记录(PBR)负责找到启动管理器,还有一本分存根目录和其他部分。

4.操作系统引导过程

  1. CPU从一个特定的主存地址开始,取指令,执行ROM引导程序(先进性硬件自检,再开机)
  2. 将磁盘的第一块-主引导记录读入内存(由ROM的自举程序),执行磁盘引导程序,扫描分区表
  3. 从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序。
  4. 从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成开机的一系列动作。

1.6虚拟机

 

  1. 传统的计算机一台物理设备只能运行一个操作系统。
  2. 虚拟机:将一台物理机器虚拟为多台物理机器,每个虚拟机都可以独立运行一个操作系统。虚拟机管理程序(VMM)
  3. 第一类VMM直接运行在硬件之上;第二类VMM运行早宿主的操作系统上(比如VirtualBOX)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值