操作系统基本概念

### 概念、特征、系统调用、中断

操作系统基本概念

  • 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境。它是计算机系统的最基本的系统软件。
  • 也是系统软硬资源的管理控制中心,它以尽量合理有效的方法组织多个用户(进程)共享计算机的各种资源并提供使用接口。

    操作系统的四个特征:

    1. 并发:
    并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统;操作系统通过引入进程和线程,使得程序能够并发运行。
    2. 虚拟:
    虚拟技术把一个物理实体转换为多个逻辑实体。主要有两种虚拟技术:时分复用技术和空分复用技术。
    3. 共享:
    共享是指系统中的资源可以被多个并发进程共同使用;有两种共享方式:互斥共享和同时共享。
    互斥共享的资源称为临界资源,例如打印机等,在同一时间只允许一个进程访问,需要用同步机制来实现对临界资源的访问。
    4. 异步:
    异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进

    操作系统的基本功能:

    • 进程管理(进程控制、进程同步、进程通信、死锁处理、处理机调度等)
    • 内存管理(内存分配、地址映射、内存保护与共享、虚拟内存等)
    • 文件管理(文件存储空间的管理、目录管理、文件读写管理和保护等)
    • 设备管理(缓冲管理、设备分配、设备处理、虛拟设备等)

      系统调用:

      如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成。
      Linux 的系统调用主要有以下这些:
      Task Commands
      进程控制 fork(); exit(); wait();
      进程通信 pipe(); shmget(); mmap();
      文件操作 open(); read(); write();
      设备操作 ioctl(); read(); write();
      信息维护 getpid(); alarm(); sleep();
      安全 chmod(); umask(); chown();
      #### 操作系统的运行机制:
    • 两种指令:特权指令和非特权指令
    • 两种处理状态:核心态(管态)和用户态(目态)
    • 两种程序:内核程序(运行在核心态)和应用程序(运行在用户态)

特权指令:只能由操作系统使用、用户程序不能使用。例如:启动I/O,内存清零,修改程序状态字,设置时钟,允许/禁止中断,停机

非特权指令:用户程序可以使用。例如:控制转移,算术运算,访管指令,取数指令

特权指令只能在核心态下运行,内核程序只能在核心态下运行。

内核:

  1. 大内核:将操作系统的主要功能都作为系统内核,运行在核心态。
    缺点:由于各模块共享信息,因此有很高的性能,但是结构混乱,难以维护。
  1. 微内核:由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。
    在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。
    因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。

中断:

分类:

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

  2. 内中断: ①异常: 由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。②陷入: 在用户程序中使用系统调用。

用户态与核心态的转换:

  • 中断是实现用户态到核心态的唯一途径。
  • 核心态到用户态的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设为 “用户态”。

   转载规则


《操作系统基本概念》 ForeverSen 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
进程调度、同步、通信 进程调度、同步、通信
进程的调度、同步、通信进程的组成 PCB(进程控制块): 为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(Process Control Block)。它是进程实体的一部分,是操作系统中最重要的记录性数据结构
下一篇 
23种设计模式 23种设计模式
初学设计模式,建议可以参考菜鸟教程,里面讲的很详细,后来发现那里也是从国外的翻译过来的hhh,这里我总结一下常见的23种设计模式。 一、设计模式的六大原则:1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放
  目录