1.什么是操作系统?
谈起操作系统,大家想必都不陌生。但要你对操作系统下个定义,想必你可能就会哑口无言了吧。那什么是操作系统呢?
1.操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机的基石。
2.操作系统本质上是一个运行在计算机上的软件程序 ,用于管理计算机硬件和软件资源。 举例:运行在你电脑上的所有应用程序都通过操作系统来调用系统内存以及磁盘等等硬件。
3.操作系统存在屏蔽了硬件层的复杂性。 操作系统就像是硬件使用的负责人,统筹着各种相关事项。
4.操作系统的内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。 内核是连接应用程序和硬件的桥梁,决定着系统的性能和稳定性。
操作系统的功能
(1)、作为计算机系统资源的管理者
管理软硬件资源、合理的组织、调度计算机的工作与资源的分配
cpu管理
在多道程序环境下,cpu的分配和运行都以进程(或线程)为基本单位,因此对cpu的管理可理解为对进程的管理。进程管理的主要功能包括
进程控制、进程同步、进程通信、死锁处理、处理机调度
等。附上一张图理解对进程的管理。
存储器管理
为多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括
内存分配与回收、地址映射、内存保护与共享和内存扩充
等功能。
文件管理
计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统,文件管理包括
文件存储空间的管理、目录管理及文件读写管理和保护
等。
设备管理
设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括
缓存管理、设备分配、设备处理和虚拟设备
等功能。
(2)、作为用户与计算机硬件系统之间的接口
程序接口、命令接口
(3)、作为扩充机器(虚拟机)
2.操作系统的特征
1.并发
并发是指
宏观上
在一段时间
内能同时运行多个程序
补充概念:
并行
则指同一时刻
能运行多个指令。
2.共享
1.资源共享即共享,是指系统中的资源可以
供内存中多个并发执行的进程共同使用
2.主要分为互斥共享和同时共享
互斥共享
计算机中的某个资源
在一段时间内只能允许一个进程访问
,别的进程没有使用权
举个例子:比如QQ和微信视频。同一段时间内摄像头只能分配给其中一个进程
同时共享
计算机中的某个资源在在一段时间内可以
同时
允许多个进程访问
注意:
有时候多个进程可能真的是在同时进行资源访问,比如玩游戏时可以放音乐,游戏声音和音乐声音都能听见
3.虚拟
虚拟是把一个物理上的实体变为若干逻辑上的对应物。
4.异步
异步:多道程序环境允许多个程序
并发
执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。
3.操作系统的发展和分类
4.中断和异常
5.系统调用
如果一个进程在用户态需要使用内核态的功能,就进行
系统调用
从而陷入内核,由操作系统代为完成。
那什么是用户态和核心态?
最大的区别就是
访问资源的权限不同
1.用户态
(user mode) : 用户态运行的进程可以直接读取用户程序的数据。
2.核心态
(kernel mode):可以简单的理解系统态运行的进程或程序几乎可以访问计算机的任何资源,不受限制。
系统调用的过程
拓展: