我眼中的操作系统

操作系统的作用
操作系统(Operating System)是布置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它的作用是管理好计算机的设备,提高它们的利用率和吞吐量,并且为用户和应用程序提供一个接口,方便用户的使用。

  1. 操作系统作为计算机硬件系统之间的接口,用户通过OS操作计算机。
  2. 操作系统作为计算机系统资源的管理者,计算机中的资源分为四类:处理机,存储器,I/O设备和文件。
  3. 操作系统实现了对计算机资源的抽象,对底层的硬件资源加以抽象,使得用户更加方便地使用。
    操作系统的发展过程
  • 未配置操作系统的计算机系统
    对计算机的所有操作都是用户通过人工操作的方式进行的
  • 单道批处理系统
    内存中只有一道程序,系统的资源得不到充分利用。
  • 多道批处理系统(为了提高资源利用率)
    用户提交的作业先存放在外存上,并排成一个队列。然后,由作业调度程序按照一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
  • 分时系统 (满足用户对人机交互的需求)
  • 实时系统
    实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对事件的处理。
  • 微机操作系统

操作系统的基本特性

  • 并发
    并发:两个或多个事件在同一时间间隔内发生;
    并行:两个或多个事件在同一个时间发生
    引入进程:
    在一个未引入进程的系统中,在属于同一个应用程序的计算程序和I/O程序之间,只能是顺序进行的。
    进程,是在系统中,独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。
  • 共享
    系统中的资源可供内存中多个并发执行的进程共同使用。
    互斥共享,在一段时间内,只允许一个进程访问的资源,称为临界资源。
    同时访问
  • 虚拟(Virtual)
    通过某种技术,将一个物理实体变成若干个逻辑上的对应物的功能,称为虚拟,如时分复用技术,空分复用技术。
  • 异步(Asynchronism)
    进程以人类不可预测的速度向前推进的,此为进程的异步性。

进程的描述
系统利用PCB(Process Control Block,进程控制块)来描述进程的基本情况和活动过程,进而管理和控制进程。由程序段、相应的数据和进程控制块构成了进程实体。

进程的状态

  • 就绪状态:进程已经分配到了除CPU以外的所有必要资源
  • 执行状态
  • 阻塞状态:处于执行状态的进程,由于发生某事件(I/O请求,申请缓冲区失败)暂时无法执行时的状态

进程控制
进程控制主要包括创建新进程,终止已经完成的进程,将发生阻塞而无法进行的进程置于阻塞状态、负责进程运行中的状态转换。

  • 进程的创建:在操作系统中,允许一个进程创建另一个进程。子进程可以继承父进程所分配到的资源。当子进程被撤销时,应该将从父进程中得到的资源还给父进程。撤销父进程时,也必须撤销子进程。

进程的同步
进程同步的主要任务,对多个相关进程在执行次序上进行协调,使得诸进程能按照一定的规则共享资源。

进程同步工具,信号量机制,记录型信号量,AND型信号量

进程的通信
进程通信是指进程之间的信息交换,很多方式

线程Threads的基本概念
进程的两个基本属性:

  • 进程是一个可拥有资源的独立单位
  • 进程同时是一个可独立调度和分派的基本单位
    OS中,为了减少时空开销,必须将进程的两个基本属性分开;让线程成为可独立调度和分派的基本单位,而且线程只拥有少量的资源。

处理机调度
系统能按照某种算法,动态地将处理机分配给处于就绪状态地一个进程;分配处理机的任务是由处理机调度程序完成的。调度的实质,是一种资源分配。

  • 高级调度:作业调度
  • 低级调度:进程调度
  • 中级调度:内存调度

死锁
在一组进程发生死锁的情况下,这组死锁进程中的每一个进程,都在等待另一个死锁进程所占有的资源。
产生死锁的必要条件:

  • 互斥条件:互斥访问资源
  • 请求和保持条件:进程已经占有至少一个资源,并申请新的资源
  • 不可抢占资源
  • 循环等待条件

处理机和CPU
处理机是计算机系统中存储程序和数据,并按照程序规定的步骤执行指令的部件。处理机包括中央处理器CPU,主存储器,输入-输出接口。
CPU是一块超大规模的集成电路,是计算机运算核心和控制核心。它的主要功能是解释计算机指令以及处理计算机软件中的数据。

存储器管理
对于通用性计算机来说,存储层次一般分为三级:CPU寄存器、主存和辅存。

  • 主存储器:内存或主存,保存进程运行时的程序和数据
  • 寄存器:寄存器具有和处理机相同的速度,故寄存器的访问速度最快,完全可以和CPU协同工作
  • 高速缓存:位于寄存器和主存储器之间的存储器,用于备份主存中较为常用的数据,减少处理机对主存储器的访问
  • 磁盘缓存:用于暂存常用的磁盘数据,减少对磁盘的访问次数

程序的装入和链接
用户程序要在系统中运行,必须先将它装入内存,然后再将其转变为一个可以执行的程序,通常需要以下几个步骤:

  • 编译:由编译程序(Compiler)对目标源程序进行编译,形成若干个目标模块
  • 链接:由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的装入模块。
  • 装入:由装入程序将装入模块装入内存

文件管理
由于计算机中的内存是易失性设备,断电后所存储的信息都会丢失,而且容量十分有限。所以,必须配备外存,将系统和用户需要的大量程序和数据以文件的形式存放在外存中,需要时再将它调入到内存中。
文件的物理结构直接与外存的组织方式有关,对于不同的外存组织方式,将形成不同的文件物理结构。目前,常见的外存组织方式有:

  • 连续组织方式:在对文件采取连续组织方式时,为每个文件分配一片连续的磁盘空间,由此所形成的文件物理结构将是顺序的文件结构/
  • 连接组织方式:在对文件采取链接组织方式时,为文件采取链接组织方式时,可以为每个文件分配不连续的磁盘空间,通过链接指针将一个文件的所有盘块链接在一起,由此形成的块是链接式文件结构。
  • 索引组织方式:在对文件采取索引组织方式时,将形成索引式文件结构。

信息的安全性问题

  • 有人通过各种方式窃取系统中的机密数据,使数据暴露
  • 攻击者擅自修改系统中所保存的数据,以实现数据篡改
  • 采用多种方法来扰乱系统,使之瘫痪而拒绝提供服务
  • 无意/偶发性攻击:主要源于人们操作上的失误,计算机硬件上的故障,OS或其他软件存在的潜在漏洞,以及突然断电

攻击者对计算机系统进行攻击,可以分为两大类:内部攻击和外部攻击
来自系统内部的攻击:

  • 以合法用户身份进行攻击,通过各种途径进入系统内部,窃取合法身份,利用合法用户的身份对操作系统进行攻击
  • 通过代理功能进行间接攻击,攻击者将一个代理程序置入被攻击系统的一个应用程序中。当应用程序执行并调用到代理程序时,它就会执行攻击者预先设计的破坏任务。

来自系统外部的攻击:

  • 病毒:计算机病毒是一段程度,它能把自己附加在其他程序之中,并不断的自我辅助,然后去感染其他程序,它能由被感染的程序和系统传播出去。
  • 蠕虫

你可能感兴趣的:(我眼中的操作系统)