《操作系统》- 1.2 什么是操作系统

定义

  • 没有一个完整,精确,公认的定义。
  • 从功能和特点来介绍操作系统。

用户角度看,操作系统是一个控制软件。
可以控制操作系统上面的软件,应用程序怎么来运行。限制不同的程序来占用不同的资源。
管理应用程序。
为应用程序提供服务。

计算机内部看:
资源管理。操作系统是资源分配的分配器。 在我们的计算机内,CPU,内存都是资源。
管理外设,分配资源。

操作系统可以把CPU抽象为进程,把磁盘抽象为文件,把内存抽象为地址空间:


图片.png

操作系统属于一种软件。
操作系统直接面向硬件。

在软件角度:
应用软件:办公软件,视频播放软件。
操作系统位于应用软件之下,为应用软件提供服务支撑。

Linux, Windows, Android 的界面属于外壳(Shell),而不是内核(kernel)Kernel是我们的研究重点,在Shell之下。

图片.png

这一层Shell,就相当于操作系统对外暴露出的接口。

Shell分为:GUI类型Shell和命令行类型Shell。

我们操作系统这门课主要是学习kernel。

操作系统 = Kernel + Shell

操作系统作用

主要是管理计算机资源。

计算机资源分类

主要分为:CPU,内存,磁盘三类资源。
计算机资源还有:网卡,声卡,显卡等。
这些都是在计算机操作系统管理范围之内。

Kernel

Kernel是操作系统内部组件,包括:

CPU调度器
物理内存管理
虚拟内存管理
文件系统管理
中断处理与设备驱动

OS Kernel的特征:
a.并发
计算机系统中同时存在多个运行的程序
需要OS管理和调度

注意:并发和并行的区别。
并发:在一段时间内可以有多个程序运行,这段时间可长可短;
并行:在一个时刻上面,有多个程序运行。
并行的条件是允许计算机内部存在多个CPU,如果计算机内部只有一个CPU,那么是不能完成并行工作的,不能让一个程序在一个时刻都在跑。

b.共享(都是针对资源)
『同时』访问,这里的同时不是同一时刻,而是很短的时间段,让你看起来像是多个程序在访问。
互斥共享。

c.虚拟
利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务。

操作系统直面的是硬件,直接将硬件虚拟化了,比如说,我们把CPU虚拟为进程,把磁盘虚拟为文件,把内存虚拟化为地址空间,带来的好处是,每一个应用程序,每一个用户感觉自己都独立拥有一台计算机。

d.异步
程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知
但是只要运行环境相同,OS需要保证程序运行的结果也要相同

你可能感兴趣的:(《操作系统》- 1.2 什么是操作系统)