FBI WARING

【到处抄的,抄PPT和书上还有大佬博客的】

操作系统概述

操作系统做了什么?

比如启动一个程序,可以通过命令行,或者鼠标双击程序等方式来执行,操作系统在收到指令后,检查该程序是不是可执行文件,并且通过程序首部信息来确定代码和数据在可执行文件中的位置。

常见可执行文件格式

  1. Windows:
  2. Linux:
  3. Unix:

缺页异常

缺页异常是指程序的代码和数据没有读入内存,硬件机制会捕获到缺页异常,并且把控制权较给操作系统,操作系统会分配合适的页面给程序。

什么是操作系统

操作系统属于计算机系统种的软件,是一些程序的集合,方便用户更好的操作计算机,操作系统由用户态和内核态组成,内核态有对所有硬件访问权利,可以执行机器所有的指令。,而用户态则负责软件。

操作系统的几个关键词

  1. 有效: 系统效率, 资源利用率
  2. 合理: 各种软硬件资源的管理是否公平
  3. 方便使用: 用户界面和编程接口

操作系统的作用

自底向上看,操作系统是资源管理者,管理硬件资源和软件资源。

  1. 硬件资源(内核态)

    1. CPU
    2. 内存
    3. 设备(I/O设备 磁盘 网卡等)
  1. 软件资源(用户态)

    1. 磁盘上文件
    2. 各类管理信息

操作系统管理资源

通过数据结构来记录资源使用情况,比如资源空闲,分配使用,使用时间等,决定好以后,再就是确定资源分配的策略,使用算法来分配。

  1. 静态分配策略 : 一口气拿大量的资源,会造成资源浪费。
  2. 动态分配策略 : 什么时候需要资源,操作系统分配给多少资源。

实施资源的分配和回收

提高资源利用率

保护资源使用

协调多个进程对资源请求

操作系统的基本功能

  1. CPU管理(进程/线程管理)

    1. 进程线程状态
    2. 控制
    3. 同步互斥
    4. 通信
    5. 调用
  1. 存储管理

    1. 分配/回收
    2. 地址转换
    3. 存储保护
    4. 内存扩充
  1. 文件管理

    1. 文件目录
    2. 文件操作
    3. 磁盘空间
  1. 设备管理

    1. 设备驱动
    2. 分配回收
    3. 缓冲技术
  1. 用户接口

    1. 系统命令
    2. 编程接口API

操作系统对机器的扩展

操作系统在应用程序和硬件之间当了一个平台,对硬件抽象,提高可移植性,相对于直接对底层硬件编程,操作系统在中间位置提供接口给程序员使用,这样子会更加方便轻松。

操作系统主要特征

  1. 并发: 处理多个同时性的活动。
  2. 共享 : 多个用户共同使用计算机资源。
    1. 互斥共享
    2. 同时共享
  3. 虚拟 : 一个物理实体(CPU等)映射成多个对应逻辑实体,提高资源利用率。
  4. 随机 : 对不可预测的次序发生的事件进行响应处理。

并发

在OS中存在多个程序运行在一个CPU上面,宏观上,这些程序同时执行,微观上,这些程序是轮流执行的。

并行

不程序同时在多个硬件上执行, 如果想判断一个程序是否处于并行状态,只需要判断是不是在同一个时间内,程序是否超过“一个工作单位”在运行,所以单线程没有办法达到并行。

并发和并行的简单区别

并行是指物理硬件上同时执行,并发是指逻辑上能够让多个程序交织执行,就像看书,并行可以在同一时间段同时看好几本书,并发则是在一个时间段不停的切换书。

虚拟

CPU-每个进程的“虚处理机” 让每个进程都以为是独立占用CPU的

存储器-每个进程都由独立的虚拟地址空间(代码+数据+堆栈)

显示设备-多窗口或虚拟终端

操作系统分类

批处理系统

  1. 单道批处理系统
  2. 多道批处理系统

分时操作系统

通用操作系统 : 结合分时操作系统和批处理系统

前台: 需要频繁交互的作业

后台 : 时间性要求性不强的作业

举个例子,在玩游戏的时候需要频繁的电脑交互,所以需要分时,如果在计算一个特别复杂的算式时,可以使用批处理操作系统。

实时操作系统

  1. 硬实时操作系统 : 必须达到实时
  2. 软实时操作系统 : 可以偶尔接受超时时间 比如电影卡顿

对于外部请求必须在严格时间内做出响应,高可靠性。

个人计算机系统

网络操作系统: 相互通信,资源共享。

分布式操作系统: 多处理器或以计算机网络为基础,基本特征是处理分布在不同计算机上,特点是同一的操作系统,在不同的计算机上可以互相完成同一任务。

处理能力增强,速度更快,可靠性强,具有透明性。

嵌入式操作系统 没有内核态

重点概念

  1. 操作系统定义
  2. 操作系统的三个作用
  3. 并发
  4. 共享
  5. 虚拟
  6. 随机
  7. Windows Linux Unix架构

参考

《现代操作系统》

操作系统原理(Operating Systems)​www.coursera.org还在疑惑并发和并行? - laike9m's blog​laike9m.com

操作系统文件管理_计算机民科笔记-操作系统week1相关推荐

  1. 计算机操作系统 内存_计算机内存的类型| 操作系统

    计算机操作系统 内存 什么是记忆? (What is Memory?) The essential component of the computer is its Memory. It is ass ...

  2. 操作系统源代码_计算机自制操作系统(八):仿生DOS操作系统源代码

    一.真机运行 我们已经完成了仿生DOS操作系统的制作,并在上一章的末尾给大家在虚拟机上做了演示.今天,我们要将该操作系统在真机上启动运行,是不是非常期待自己做出的第一款比较有意义的操作系统? 在&qu ...

  3. 操作系统基础:计算机作业管理知识笔记

    1.计算机作业的概念 计算机中的作业是为了完成某个用户的计算任务所做工作的总和. 作业管理程序:操作系统中用来控制作业进入.执行.撤销的一组程序. 2.作业与作业的控制方式 脱机控制方式:用户需要把自 ...

  4. [408] NOTES on OS -计算机考研408笔记-操作系统

    [408] NOTES on OS 文章目录 [408] NOTES on OS 1 计算机系统概述 2 进程管理 3 内存管理 4 文件系统 5 I/O管理 1 计算机系统概述 单处理机系统中,可并 ...

  5. unix是计算机的操作系统,Unix属于计算机的哪种操作系统?

    答案 查看答案 解析: [解析题]计算机系统中所有文件一般可分为执行文件和非执行文件两大类,可执行文件扩展名类型有exe和com. [解析题]按总线在计算机系统中的层次和位置不同,总线可分为片内总线. ...

  6. 计算机体系结构_计算机体系结构知识笔记

    计算机体系结构结构:计算机的概念结构.功能和性能特性,它从一个更高的层次对计算机的结构特征等宏观特征进行研究. 1.计算机体系结构分类 2.CISC和RISC 指令体系结构(ISA):一个处理器支持的 ...

  7. 空闲数据概念_计算机组成原理复习笔记——基础概念(二)

    第二章 系统总线 2.1基本概念 总线:是连接各个部件的信息传输线,各模块之间传送信息的通路(是各个部件共享的传输介质). 总线上信息的传送:串行.并行 2.2总线的分类 片内总线:芯片内部的总线: ...

  8. 吉林大学计算机图形学实验_计算机图形学学习笔记(一):图形学概论

    第一章 计算机图形学概论 1.1 全书概述 图形学基本知识 光栅图形学 扫描转换.区域填充.裁减.反走样.消隐 二维.三维图形变换及观察 几何造型 参数曲线曲面基本概念.Bezier曲线曲面.B样条曲 ...

  9. 华中科技大学_计算机学院_计算机系统结构课程笔记

    计算机系统结构知识总结 第一章 计算机系统结构的基础知识 1.1 Amdahl定律 1.系统性能加速比 1.2 CPU性能公式 例题: //在CPU1执行的指令中,分支指令占30%,比较指令站30%, ...

最新文章

  1. 深入思考编译原理之 理解执行过程和编译过程
  2. python3 赋值与内存空间
  3. 【Visual Studio 2019】上传代码到 GitHub ( 16.9.2 版本 | 安装 GitHub 扩展插件 | 创建 Git 仓库 | 推送到远程仓库 )
  4. Py之Kivy:Python库之Kivy的简介、安装、使用方法之详细攻略
  5. Apache Commons SCXML:有限状态机实现
  6. Windows 系统补丁管理策略
  7. c语言中0xof423什么意思,C语言指针 百思不得其解的一个问题
  8. Spring : SpringBoot的ApplicationRunner和CommandLineRunner
  9. linux ftp使用相关
  10. iOS底层探索之KVO(五)—FBKVOController分析
  11. wincc版本升级_【西门子】WinCC V7.4 SP1:常规信息和安装 (较新).pdf
  12. static、static inline、entern inline
  13. JDK.attach 包解析
  14. 关于Windows PE
  15. 抖音API分析,视频批量下载-初级
  16. Linux-Shell脚本练习
  17. 惠普笔记本重装系统后没有声音如何解决
  18. 出租车GPS数据分析的常规方法
  19. 第一次计算机比赛心得
  20. Golang面试整理 三 简历如何书写

热门文章

  1. 赛锐信息:SuccessFactors激活高效能人员战略
  2. 如何评估一个产品的投资回报?
  3. 用 Python 写一个 Kaggle 比赛排行榜的爬虫
  4. [网络流24题]试题库问题
  5. 非刚性人脸跟踪 —— 面部特征检测器
  6. java中的dao模式
  7. Linux学习之用户管理
  8. Linux下的c++编程
  9. hibernate配置文件和映射文件的dtd文件
  10. 解决securecrt rz 上传rar,gif文件不正确问题【转】