文章目录
简介
说到操作系统,相信大部分人都不陌生,Windows,Linux,都是操作系统。
在信息化时代,软件被称为计算机系统的灵魂,试想一下你的计算机没有软件,那么这个计算机只是一个空壳,没有任何意义。
操作系统就是软件的核心部分。
计算机系统可以从上而下粗分四个部分:
硬件,操作系统,应用程序,用户
操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介。起到了承上启下的作用。
通过操作系统
我们可以将CPU转换成进程,磁盘转换为文件,内存转换为地址空间进行处理。
操作系统定义
操作系统的定义为:
控制和管理整个计算机系统的硬件与软件资源,
合理地组织,调度计算的工作与资源的分配
进而为用户和其他软件提供方便接口与环境的程序集合
- 操作系统是一个控制程序
o 一个系统软件
o 控制程序执行以防止错误和计算机的不当使用
o 执行用户程序和给用户程序提供各种服务
o 使计算机系统方便使用 - 操作系统是一个资源分配器
o 应用程序与硬件之间的中间层
o 管理各种计算机资源(包括硬件外设等)
o 有效解决冲突请求并确保资源的公平使用
o 提供高效的手段使用计算机硬件
Shell&Kernel概念
GUI图形化标识:是属于Shell外壳部分。
字符命令也是shell部分,这两个接口部分是操作系统对外提供的一种可见的服务。
Linux, Window, Android 的界面属于Shell,而不是内核(Kernel),OS更注重内部kernel部分,我们研究操作系统一般是站在内核的角度看待问题。
特征
并发
并发是指计算机系统中同时存在多个运行的程序。
并发在宏观上是同时运行,微观上是交替运行
并发:一段时间内有多个程序可以运行
并行:一个时刻内有多个程序可以运行
共享
资源共享即是共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
共享可分为两种
- 互斥共享方式
系统中某些资源如打印机,磁带机,虽然可提供给多个进程使用,但是为了使打印或记录结果不致造成混淆,规定在一段时间内只允许一个进程访问资源。
在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
计算机系统中的大多数物理设备,以及某些软件中所用的栈,变量,表格,都属于临界资源,它们都要求被互斥地共享
- 同时访问方式
系统中还有另一类资源,允许在一段时间内由多个进程 “同时”(并发)对它们进行访问。
并发和共享是操作系统中最基本的特征,这两者之间又是互为存在条件的:
- 资源共享以程序的并发为条件,若系统不允许程序并发执行,也就不存在资源共享
- 若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。
虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物
物理实体是实的,而逻辑上的对应物是虚的,只是用户感觉上的事物。
用于实现虚拟的技术,称为虚拟技术
操作系统中利用了多种虚拟技术,分别用来实现 虚拟处理器,虚拟内存,虚拟外部设备等。
虚拟处理器技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一个处理器
如上图,操作系统将CPU虚拟为进程,磁盘虚拟为文件,内存虚拟为地址空间。
通过虚拟技术,可以让每一个终端用户都感觉有一台电脑来为他单独服务。
异步
多道程序环境下,允许多个程序并发执行,但由于**资源有限**,进程的执行并不是一路到底。
而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
即进程是以人们不可预知的速度向前推进,这就是进程的异步性。
但是只要在OS中配置有完善的进程同步机制,且运行环境相同,则作业即便经过多次运行,也都会获得完全相同的结果。
操作系统主要功能
有一个很形象的比喻,用户是雇主,操作系统是工人,计算机是机器
工人操作机器,就是操作系统对计算机资源的管理
同时工人会收到雇主的命令,这就是接口