1 2 3 4

计算机操作系统--概述(一)

相关知识:

进程管理

死锁

内存管理

设别管理

连接

功能:

  1. 处理机管理:控制和管理CPU工作
  2. 存储管理:内存的分配和管理
  3. 设备管理:管理基本的输入输出设备
  4. 文件管理:组织,存储,操作和保护文件
  5. 进程管理(作业管理):对计算机所进行的操作进行管理

 

1.基本特征

1.1并发

  并发:宏观上,一段时间能运行多个程序,实际上是时间片轮转

  并行:同一时刻运行多个指令,需要硬件支持,如多流水线,多核处理器或分布式计算系统

  操作系统引入进程和线程,使程序能够并发运行

1.2.共享

  共享:系统中的资源可以被多个并发进程共同使用

  互斥共享:互斥共享的资源称为临界资源,如打印机,在同一时间只允许一个进程访问,需要同步机制来实现互斥访问

  同时共享

1.3.虚拟

  虚拟技术:把一个物理实体转化为多个逻辑实体

  时分复用技术 && 空分复用技术

  多个进程在处理器上并发执行使用的时分复用技术,每个进程轮流占用处理器,每次执行一小个时间片并快速切换

  虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的  页时,执行页面置换算法,将该页置换到内存中。

1.4.异步

  异步:进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。

  异步是相对同步而言的,同步就是等待,异步就是不等待。

2. 基本功能

  1. 进程管理:进程控制,进程同步,进程通信,死锁处理,处理机调度
  2. 内存管理:内存分配,地址映射,内存保护与共享,虚拟内存
  3. 文件管理:文件存储空间的管理,目录管理,文件读写管理和保护
  4. 设备管理:完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率等。主要包括缓冲管理,设备分配,设备处理,虚拟设备等。

3.系统调用

  如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成

 

 linux的系统调用主要有以下这些:

TaskCommands
进程控制 fork(); exit(); wait();
进程通信 pipe(); shmget(); mmap();
文件操作 open(); read(); write();
设备操作 ioctl(); read(); write();
信息维护 getpid(); alarm(); sleep();
安全 chmod(); umask(); chown();

4.宏内核和微内核

  宏内核:将操作系统功能作为一个紧密结合的整体放到内核。由于各模块共享信息,因此有很高的性能。

  微内核:由于操作系统不断复杂,因此将一部分操作系统功能移除内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。

  在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。因为需要频繁地在用户态和核心态之间进行切换,所以会有一定地性能损失。

 

 

5. 中断分类

  外中断:由CPU执行指令以外的事件引起,如I/O完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。

  异常:由CPU执行指令以内的事件引起,如非法操作码、地址越界、算术溢出等。

  陷入:在用户程序中使用系统调用。

异常向量:

当一种异常发生的时候,arm处理器会跳转到对应异常的固定地址去执行异常处理程序,而这个固定的地址,就成为异常向量。由7个异常向量及其处理函数跳转关系组成的表叫做异常向量表。

流程:

  1. CPU按序执行
  2. 收到中断(电位等手段)
  3. 跳转到固定地址,执行固定行为
    1. 保存现场(寄存器信息)
    2. 判断中断源
    3. 执行操作
    4. 复原现场
  4. 返回执行原来的进程

 

 

参考资料:https://github.com/CyC2018/CS-Notes/blob/master/notes/

posted @ 2021-11-01 09:52  木木木999  阅读(175)  评论(0)    收藏  举报