操作系统(一)
来源:互联网 发布:网络大电影演员演出费 编辑:程序博客网 时间:2024/06/05 07:56
- 1什么是操作系统
- 2操作系统的地位
- 3操作系统的发展历程
- 4操作系统的特征
- 5处理机管理
- 6存储器管理
- 7设备管理
- 8文件管理
- 9用户接口
- 总结
1、什么是操作系统?
操作系统(Operating System , OS)是一组控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以便用户使用的程序的集合。
主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用 。
目前较为流行的操作系统如Windows,Linux,unix,Android,iOS等 。
简单来讲,操作系统对于我们来说,都是非常熟悉且重要的 。通常,我们打开电脑的第一步就是等待Windows系统的启动,打开手机的第一步也是等待Android或者iOS系统的启动,之后我们对电脑或者手机进行的一系列操作(浏览网页,听音乐,打游戏,打电话等)都是建立在操作系统的基础之上的,所以,了解操作系统的内部原理,对于我们搞IT的来说,特别重要 。
2、操作系统的地位
- 对硬件硬件的首次扩充,地位非常重要。
- 是硬件与所有其他软件之间的接口。
- 计算机都必须加载操作系统才能协调运转。
- 指挥控制各种计算机资源的分配。
- 没有操作系统,任何应用软件都无法运行。
3、操作系统的发展历程
无操作系统的计算机系统
用户既是程序员,也是操作员,独占机器,手工操作,CPU浪费严重。
单道批处理系统
在磁带上一批作业自动逐个一次运行,内存中同时只有一道程序运行。
多道批处理系统
相对于单道批处理系统,内存中可以同时处理多个程序。
分时系统
对于程序处理,设定一个时间比如5ms,若5ms没有处理完程序A则处理下一个程序B,程序A则进入循环队列等待处理。
实时系统
系统能够及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的进行。
个人计算机OS
一种联机的、交互式的单用户OS,其联机交互功能与通用分时系统相似。
例如:Windows,Linux
网络OS
在原来分时计算机OS的基础上,按照网络体系结构的各个协议标准进行开发。
分布式系统
通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互联起来,实现信息交换,资源共享、写作完成任务的计算机系统。
嵌入式OS
运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。
例如:Linux,Android和iOS等
4、操作系统的特征
并发性
共享性
系统中的资源可供内存中多个并发执行的进程共同使用。
虚拟性
把物理实体变为若干个逻辑上的对应物,如虚拟内存,若干个本地磁盘(实际只有一个)。
异步性
进程以人们不可预知的速度向前推进。
5、处理机管理
进程控制
主要功能是为作业创建进程、撤销已经结束的进程,以及控制进程在运行过程中的状态转换。
进程同步
最简单的用于实现进程互斥的机制。是为每一个临界资源配置一把锁W,当锁打开时,进程可以对该临界资源进行访问;当锁关上时,则禁止进程访问临界资源。
进程通信
任务就是为了实现在相互合作进程之间的信息交换。
在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,有这些进程相互合作去完成一个共同的任务,而在这三个进程之间往往需要交换信息。
进程调度
在后备队列中等待的每个作业,通常都要经过调度才能执行。
在多线程的OS中,通常是把线程作为独立运行和分配处理剂的基本单位,为此,须把就绪线程排成一个队列,每次调度时,就从就绪线程队列中选出一个线程,把处理机分配给它。
6、存储器管理
内存分配与回收
为了实现内存分配,在内存分配的机制中应该具有这样的结构和功能:
1、内存分配数据结构,该结构用于记录内存空间的使用情况,作为内存分配的依据;
2、内存分配功能,系统按照一定的内存分配算法,为用户程序分配内存空间;
3、内存回收功能,系统对于用户不在需要的内存,通过用户的释放请求,去完成系统的回收功能。
内存保护
主要内容,是确保没到用户程序都只在自己的内存空间内运行,彼此互相不干扰。
方法,设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,若越界,则中断该程序(由硬件来完成)。
地址映射
在多道程序的环境下,每道程序都不可能都从“0”地址开始装入内存,这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。
为了是程序能够正常运行,存储管理器必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间与之对应的物理地址。该功能在硬件的支持下完成。
内存扩充
借用虚拟内存技术,从逻辑上去扩充内存容量。
7、设备管理
主要任务
用于管理计算机系统中所有的外围设备,而设备管理的主要任务是:
1、完成用户进程提出的I/O请求
2、为用户进程分配其所需的I/O设备
3、提高CPU和I/O设备的利用率
4、提高I/O速度,方便用户使用
缓冲管理
CPU运行的高速行和I/O低速性的矛盾,严重降低了CPU的利用率。
加入缓冲后,有效缓解矛盾,提高CPU的利用率,进而提高吞吐量。可以通过增加缓冲区容量的方法,来改善系统的性能。
设备分配
根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。
设备处理
实现CPU和设备控制器之间的通信。
8、文件管理
存储空间的管理
为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。
目录管理
目录项包括文件名,文件属性,文件在磁盘上的物理位置等。
文件的读写管理和保护
9、用户接口
联机用户接口
当用户在终端或者控制台上每键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释并执行。
在完成指定功能后,控制又返回到中单或控制台上,等待用户键入下一条命令。
脱机用户接口
用户不能与自己的作业进行交互,只能委托系统代替用户对作业进行控制和干预。
程序接口
为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。
图形接口
采用图形化的操作界面,方便用户使用电脑
总结
操作系统对于电脑而言,就相当于水对鱼的关系一样,至关重要。
这篇博客主要介绍了下操作系统大而泛的内容,至于具体怎么实现一个操作系统,还得对其内部具体实现细节深入研究,在以后的博客中会和大家介绍更加详细的内容。
重要知识点:操作系统的概念,进程,线程,并发和异步。
- 操作系统(一)-------操作系统概述
- 操作系统笔记(一)
- Trampoline操作系统(一)
- 操作系统(一)
- 操作系统小结(一)
- 操作系统结构(一)
- 操作系统笔记(一)
- 操作系统复习(一)
- 操作系统基础知识(一)
- 操作系统笔记(一)
- 操作系统基础(一)
- 操作系统基础(一)
- 操作系统总结(一)
- 操作系统(一)概述
- 操作系统总结(一)
- 操作系统学习(一)
- 操作系统(一)
- 操作系统(一)
- 堆排序算法(java版)
- js中如何快速获取数组中的最大值最小值
- js数组合并concat()和Array.prototype.push.apply()的性能分析
- 美柚与MaxCompute数据同步架构说明
- QT 怎样添加编译选项
- 操作系统(一)
- java 基础5
- Java Web项目启动执行顺序
- [Linux]ubuntu下共享文件夹密码设置和重置-smbpasswd -a user
- 安装oracle11g时,安装界面跳出后又消失
- (三论文)目标检测
- POJ
- mybatis之resultMap实现一对一查询
- 552. Student Attendance Record II