文章目录
- 了解操作系统
- 定义
- 目的
- 操作系统体系结构
- 功能
- 特征
- 操作系统的区别(64位与32位)
- 操作系统的地址
- 内存管理
- 缓存
了解操作系统
定义
操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件
目的
方便性,有效性(提高系统资源的利用率,提高系统的吞吐量)
操作系统体系结构
功能
-
作为计算机系统资源的管理者:管理软硬件资源、合理的组织、调度计算机的工作与资源的分配
- 处理器(cpu)管理:在多道程序环境下,cpu的分配和运行都以进程(或线程)为基本单位,因此对cpu的管理可理解为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。
- 存储器管理(内存):为多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
- 文件管理(硬盘):计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统,文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。
- 设备管理:设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理和虚拟设备等功能。
-
作为用户与计算机硬件系统之间的接口:为了让用户方便、快捷、可靠的操作计算机硬件并执行自己的程序,操作系统提供了用户接口
- 命令接口:用户可以直接使用的,利用这些操作命令来组织和控制作业的执行
- 联机命令接口(cmd):又称交互式命令接口,适用于分时或实时系统的接口,由一组键盘操作命令组成。用户输入一条指令,操作系统就执行一条指令;
- 脱机命令接口(.bat):又称批处理接口,使用于批处理系统,由一组作业控制命令组成。用户输入一堆指令,操作系统运行一堆指令。在操作系统运行这些命令时用户不可干预。
- 程序接口:用户通过程序间接使用的,编程人员可以使用它们来请求操作系统服务,由一组系统调用(也称广义指令)组成,用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,只能通过用户程序间接调用,如使用各种外部设备、申请分配和回收内存及其它各种要求
- 命令接口:用户可以直接使用的,利用这些操作命令来组织和控制作业的执行
-
作为扩充机器(虚拟机):没有任何软件支持的计算机称为裸机,覆盖了软件的机器称为扩充机器或虚拟机
特征
-
并发性:
- 并发:两个或多个事件在同一时间间隔内发生,这些时间在宏观上是同时发生的,在微观上是交替发生的.
- 并行:两个或多个事件在同一时刻发生
-
共享性:资源共享即共享,是指系统中的资源可以供内存中多个并发执行的进程共同使用
-
互斥共享:计算机中的某个资源在一段时间内只能允许一个进程访问,别的进程没有使用权,临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享
-
同时共享:计算机中的某个资源在在一段时间内可以同时允许多个进程访问,同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,“分时共享”,这里的同时指在宏观上是同时的,在微观上是交替进行访问的,只是cpu处理速度很快,我们感觉不到,在宏观上感觉是在同时进行
-
实际上是宏观上是同时进行,微观上还是交替进行的
-
-
虚拟性:虚拟是把一个物理上的实体变为若干逻辑上的对应物。虚拟技术包括时分复用技术:如处理器的分时共享,空间复用技术:如虚拟存储器.具体的实现例如JVM,java虚拟机
-
异步性:多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。
操作系统的区别(64位与32位)
- 支持的系统不同
- 32位的cpu处理器,只能安装32位的电脑操作系统;
- 64位的cpu处理器,则可以安装32位和64位操作系统,所以64位处理器是向下兼容的;
- 但是,如果真的在64位处理器的电脑上面安装32位操作系统,那么会导致处理器的性能无法充分发挥。
- 运行数据的速度不同
- 32位和64位代表了cpu处理器,处理数据的最大位数,所以一次的运算量大不相同。
- 32位处理器一次可以运算32bit(4个字节)数据,64位处理器一次可以运算64bit(8个字节)数据,类似于单车道和双车道,64位处理器比32位处理器性能提升了1倍。
- 另外,它们的内存寻址也不一样。
- 支持内存大小不同
- 32位操作系统,最大只能支持4G内存,实际应用中发现,最多只能识别到3.58G左右的内存。
- 而64位操作系统就没有这样的局限,最大可以从4G、8G、16G、一直到128G,只要你的主板有足够的插槽。
- 软件
- 32位操作系统,只能运行32位的软件,无法运行64位软件;
- 64位操作系统,既能运行64位软件,也能运行32位软件,向下兼容;
- 系统体积大小不同
- 32位的操作系统和64位操作系统的体积大小是不同的。
- 比如win7系统旗舰版,32位的包装包是2.47G,64位的安装包是3.18G。
操作系统的地址
- 物理地址:在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址(Physical Address),又叫实际地址或绝对地址。
- 逻辑地址:逻辑地址是指在计算机体系结构中是指应用程序角度看到的内存单元(memory cell)、存储单元(storage element)、网络主机(network host)的地址。
- 线性地址:线性地址(Linear Address)是逻辑地址到物理地址变换之间的中间层。
在分段部件中逻辑地址是段中的偏移地址,然后加上基地址就是线性地址。
内存管理
内存主要作用是在计算机运行时为操作系统和各种程序提供临时储存。
存在的位置主要是内存条
分类
- 物理内存:物理内存是相对于虚拟内存而言的。物理内存指通过物理内存条而获得的内存空间,
- 虚拟内存:虚拟内存则是指将硬盘的一块区域划分来作为内存。
- 人们之所以要创建一个虚拟地址空间,目的是为了解决进程地址空间隔离的问题
- 存在原因(也就是使用物理内存的不足)
- 进程地址空间不隔离
- 内存使用效率低
- 程序运行的地址不确定
缓存
CPU芯片面积和成本的因素影响,决定了缓存都很小。现在一般的缓存不过几M,CPU缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。
存在于cpu中
缓存溢出
缓存溢出是指输入到一个缓冲区或者数据保存区域的数据量超过了其容量,从而导致覆盖了其它区域数据的状况。
攻击者造成并利用这种状况使系统崩溃或者通过插入特制的代码来控制系统。(缓冲区溢出攻击是最普遍和最具危害性的计算机安全攻击类型之一)
后果:
- 破坏程序的数据
- 改变程序的控制流,因此可能访问特权代码。
预防:
- 编译时防御系统,目的是强化系统以抵御潜伏于新程序中的恶意攻击
- 运行时预防系统,目的是检测并终止现有程序中的恶意攻击