美文网首页
计算机操作系统(1)

计算机操作系统(1)

作者: 萌萌哒的小叽叽丶 | 来源:发表于2018-12-19 13:10 被阅读0次

概述

摘自 github CS-Notes - 计算机操作系统


一、基本功能

1. 内存管理 *

内存分配、地址映射、内存保护与共享、虚拟内存、...

2. 进程管理 *

进程控制、进程同步、进程通信、死锁处理、处理机调度、...

3. 文件管理

文件存储空间管理、目录管理、文件读写管理和保护、...

4. 设备管理

缓冲管理、设备分配、设备处理、虚拟设备、...(完成用户的I/O请求,方便用户使用各种设备,提高设备利用率)


二、基本特征

1. 并发 *

并发 宏观上在一段时间内能同时运行多个程序(实际上是交替执行)
并行 同一时刻能运行多个指令,需要硬件支持(如流水线、多处理器)
操作系统引入进程线程实现并发。

2. 共享

共享 系统中的资源可以被多个并发进程共同使用
两种共享方式:互斥共享同时共享
互斥共享的资源称为临界资源,在同一时间只允许一个进程访问,需要用同步机制来实现对临界资源的访问。

3. 虚拟

虚拟技术 把一个物理实体转换为多个逻辑实体
两种虚拟技术 ——
  时分复用技术 :如多个进程能在同一个处理器上并发执行使用时分复用技术,每个进程轮流占有处理器,每次只执行一小个时间片并快速切换。
  空分复用技术 :虚拟内存使用了空分复用技术,将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间和物理内存使用页进行交换,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到内存中。

4. 异步 *

异步 进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进
异步的意义:A进程正在执行一个“读取某个大文件中的数据并执行计算”的任务,但是读数据这个IO操作很耗时间,而此时B进程正在等待A进程的完成任务,这样就会造成时间浪费。异步操作会在A进行IO操作的时候,将CPU使用权交给B进程,并保存自己当前的状态;待A进程完成IO操作,CPU使用权又回到A进程。


三、系统调用

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

系统调用流程

Linux的主要系统调用

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


四、内核

  1. 大内核 将操作系统功能作为一个紧密结合的整体放到内核 ;各模块共享信息,因此性能很高。
  2. 微内核 将一部分操作系统功能移出内核降低内核复杂性。移出的部分根据分层的原则划分成若干服务,相互独立 ;剩下来的那部分就构成了微内核
    在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态

用户态和内核态之间频繁的切换会造成一定的性能损失

微内核架构

五、中断

1. 外中断

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

2. 异常

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

3. 陷入

在用户程序中使用系统调用。

相关文章

  • 1 计算机操作系统概述

    1 走进计算机操作系统 一:什么是计算机操作系统?计算机操作系统定义:配置在计算机硬件基础之上的第一层软件,可以理...

  • 2018-08-01unix/linux操作系统

    1.系统的安装 1)操作系统 操作系统(Operating System:OS) 管理计算机软件与硬件计算机资源的...

  • 操作系统概述

    1.操作系统的基本概念 计算机系统:硬件 操作系统 应用程序和永华(自上而下)操作系统 管理各种计算机硬件 为应用...

  • 操作系统第一章笔记(有配套习题集)

    第一章 1.操作系统重要性、学习方法及存储程序式计算机 操作系统是软件,操作系统是管理计算机硬件与软件资源的计算机...

  • 【操作系统】1.1 操作系统概论

    1.操作系统的概念 ① 操作系统是管理计算机硬件与软件资源的程序,是计算机的基石。 ② 操作系统本质是一个运行在计...

  • iOS面经问题汇总之21道操作系统面试题

    1.什么是操作系统? 操作系统(OS)是管理计算机硬件与软件资源的程序,是计算机的基石。 操作系统本质上是运行在计...

  • python全栈学习之Linux操作系统(7)

    1、计算机操作系统:计算机操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和程序之间。...

  • 2019-07-24 操作系统历史

    操作系统优点: (1)管理软硬件资源 (2)管理调度计算机内部任务 (3)提供给用户和其他计算机服务接口 操作系统...

  • 操作系统概论

    目录 1.1 操作系统概论 操作系统与计算机系统 操作系统资源管理技术 操作系统定义和作用 操作系统功能和特性 1...

  • LINUX入门&ubuntu中常见命令操作

    1.操作系统简介 A.什么是操作系统 操作系统(operating System:os)是管理和控制计算机软件和硬...

网友评论

      本文标题:计算机操作系统(1)

      本文链接:https://www.haomeiwen.com/subject/rhmrkqtx.html