操作系统:操作系统概论

news2025/1/15 13:03:03

目录

  • 前言
  • 1. 操作系统概观
    • 1.1 操作系统与计算机系统
      • 1.1.1 操作系统
      • 1.1.2 硬件软件
        • 1.1.2.1 硬件
          • 1.1.2.2 软件
          • 1.1.2.2.1 系统软件(操作系统层)
          • 1.1.2.2.2 支撑软件
          • 1.1.2.2.3 应用软件
    • 1.2 操作系统资源管理技术
      • 1.2.1 资源管理
        • 1.2.1.1 资源复用
        • 1.2.1.2 资源虚化
        • 1.1.2.3 资源抽象
        • 1.2.2.4 组合使用抽象和虚化技术
      • 1.2.2 操作系统中的基础抽象
        • 1.2.2.1 进程抽象
        • 1.2.2.2 虚存抽象
        • 1.2.2.3 文件抽象
      • 1.2.3 操作系统虚拟机
    • 1.3 操作系统的定义和作用
    • 1.4 操作系统的功能和特性
      • 1.4.1操作系统功能
      • 1.4.2 操作系统特性
  • 2. 操作系统的形成与发展
    • 2.1 人工操作阶段
    • 2.2 执行系统阶段
    • 2.3 多道程序设计与操作系统的形成
      • 2.3.1 多道程序设计
      • 2.3.2 操作系统的形成
    • 2.4 操作系统的发展与分类
      • 2.4.1 批处理操作系统
      • 2.4.2 分时操作系统
      • 2.4.3 实时操作系统
      • 2.4.4 操作系统的进一步发展
  • 3. 操作系统的基本服务和用户接口
    • 3.1 基本服务和用户接口
      • 3.1.1 基本服务
      • 3.1.2 用户接口
    • 3.2 程序接口与系统调用
      • 3.2.1 系统调用
      • 3.2.2 API库函数和系统调用
      • 3.2.3 系统调用分类
      • 3.2.4 系统调用实现
      • 3.2.5 系统调用与函数调用之间的区别
    • 3.3 操作接口与程序控制
      • 3.3.1 作业控制方式
        • 3.3.1.1 联机作业控制接口
        • 3.3.1.2 脱机作业控制接口
      • 3.3.2 命令解释程序
      • 3.3.3 Linux命令解释程序shell
      • 3.3.4 系统程序
    • 3.4 Linux系统调用及实现机制
  • 4. 操作系统结构和运行模式
    • 4.1 操作系统结构分类
    • 4.2 操作系统结构设计
    • 4.3 操作系统内核
      • 4.3.1 内核的概念
      • 4.3.2 内核的功能
      • 4.3.3 内核属性
      • 4.3.4 机制与策略分离原则
    • 4.4 操作系统运行模型
  • 5. 流行操作系统简介
  • 后记

前言

大家好,好久不见哈,我这个人向来是三天打鱼两天晒网,又好久没有更新了。额,这次更新是因为操作系统要期中考试了,所以我这个,得临阵磨枪一下。于是写一写博客来记录一下复习感受。本博客是对费翔林和骆斌主编的操作系统教程第五版的知识总结和感悟,感谢前辈的优秀教材,让我深深地感到学不完了。闲言少叙,开始学习。

1. 操作系统概观

1.1 操作系统与计算机系统

1.1.1 操作系统

操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务、合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的最基本的软件系统。
计算机系统的软硬件层次结构
在这里插入图片描述

1.1.2 硬件软件

1.1.2.1 硬件

硬件(裸机):提供基本的可计算性资源,包括处理器、寄存器、内存储器、外存储器、及各种I/O设备。硬件按照用户需求接收和存储信息,处理数据并输出运算结果。

1.1.2.2 软件

软件:由程序、数据及文档组成。可分为:系统软件、支撑软件和应用软件。
在这里插入图片描述

1.1.2.2.1 系统软件(操作系统层)

系统软件(操作系统层):最靠近硬件的一层软件。一方面直接与硬件交互,在裸机上运行,把硬件的复杂性封装起来,负责管理和控制机器硬件并对其做首次扩充和改造,主要做好资源的调度与分配、信息的存取与保护、并发活动的协调与控制等工作。另一方面和上层支撑软件和应用软件交互,把他们与计算机硬件隔离开来,为程序员提供方便的编程接口,有力的功能支撑,良好的运行环境、使得计算机系统成为完善、可用的高效的计算平台。

1.1.2.2.2 支撑软件

工作基础建立在被操作系统扩充功能的机器上,利用操作系统所提供的扩展指令集,可以较容易的实现编译程序、汇编程序、语言处理程序、窗口系统、数据库处理系统和其他实用程序、支持应用软件的开发和运行。支撑软件中的一部分通常可归入系统软件一类,但并不属于操作系统的组成部分。

1.1.2.2.3 应用软件

解决用户特定的或不同应用所需要的信息处理问题,任何计算机系统的价值都要通过应用软件的价值来评定和实现。

1.2 操作系统资源管理技术

1.2.1 资源管理

在这里插入图片描述

1.2.1.1 资源复用

资源复用:操作系统让众多进程共享物理资源。
物理资源复用共享两种基本方法:
空分复用共享:表明资源可以从空间上分割成更小的单位供进程使用。
时分复用共享:表明资源可以从时间上分割出更小的单位供进程使用。可分为时分独占式(磁带机)和时分共享式。
在这里插入图片描述

1.2.1.2 资源虚化

解决同类物理资源数量不足,为应用程序提供易于使用的虚拟资源并创建更好的运行环境。
在这里插入图片描述

1.1.2.3 资源抽象

用于处理系统复杂性,重点解决资源易用性。
在这里插入图片描述

1.2.2.4 组合使用抽象和虚化技术

在这里插入图片描述

1.2.2 操作系统中的基础抽象

在这里插入图片描述
为了方便对物理资源的管理和控制,引入进程、虚拟、文件。他们基于某种或某些资源形成三种最基本的抽象:进程抽象、虚存抽象、文件抽象。
在这里插入图片描述
在这里插入图片描述

1.2.2.1 进程抽象

是对进入内存的执行程序在处理器上操作的状态集的一个抽象。
进程是处理器的一种抽象。

1.2.2.2 虚存抽象

是对物理主存的抽象,进程可获得一个硕大的连续地址空间来存放可
执行程序和数据,可使用虚拟地址来引用物理主存单元。
虚存是对内存的一种抽象

1.2.2.3 文件抽象

是对磁盘之类存储设备的多层次抽象
是设备的一种抽象
在这里插入图片描述

1.2.3 操作系统虚拟机

操作系统虚拟机是在裸机上配置操作系统,由操作系统对物理计算机实施仿真而获得的,为用户提供一种简单、清晰、易用、高效的计算机模型。
在这里插入图片描述

1.3 操作系统的定义和作用

定义:操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务、合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的最基本的软件系统。
作用:

  1. 服务用户观点:作为用户接口和公共服务程序
  2. 进程交互观点:作为进程执行的控制者和执行者
  3. 系统实现观点:作为扩展机或虚拟机
  4. 资源管理观点:作为资源的管理者和控制者
    在这里插入图片描述

在这里插入图片描述

1.4 操作系统的功能和特性

1.4.1操作系统功能

  1. 处理器管理
  2. 存储管理
  3. 设备管理
  4. 文件管理
  5. 联网与通信管理
  6. 用户接口

1.4.2 操作系统特性

1、并发性

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述2、共享性:透明资源共享、独占资源共享
在这里插入图片描述

3、 异步性(随机性)
在这里插入图片描述

2. 操作系统的形成与发展

在这里插入图片描述

2.1 人工操作阶段

在这里插入图片描述
在这里插入图片描述

2.2 执行系统阶段

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 多道程序设计与操作系统的形成

2.3.1 多道程序设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.2 操作系统的形成

在这里插入图片描述

2.4 操作系统的发展与分类

在这里插入图片描述

2.4.1 批处理操作系统

在这里插入图片描述

2.4.2 分时操作系统

在这里插入图片描述
在这里插入图片描述

2.4.3 实时操作系统

在这里插入图片描述
在这里插入图片描述

2.4.4 操作系统的进一步发展

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 操作系统的基本服务和用户接口

3.1 基本服务和用户接口

3.1.1 基本服务

在这里插入图片描述

3.1.2 用户接口

在这里插入图片描述

3.2 程序接口与系统调用

3.2.1 系统调用

在这里插入图片描述

3.2.2 API库函数和系统调用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.3 系统调用分类

1、进程管理
2、文件管理
3、设备管理
4、存储管理
5、进程通信
6、信息维护

3.2.4 系统调用实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.5 系统调用与函数调用之间的区别

在这里插入图片描述

3.3 操作接口与程序控制

3.3.1 作业控制方式

3.3.1.1 联机作业控制接口

1、字符型用户界面
a、命令行方式
b、批命令方式
2、图像用户界面

3.3.1.2 脱机作业控制接口

在这里插入图片描述

3.3.2 命令解释程序

命令实现的两种方式:
1、命令解释程序包含命令的执行代码
2、由专门的“实用程序”实现

3.3.3 Linux命令解释程序shell

不是操作系统的组成成分,但是体现了许多操作系统特性。工作过程:
1、读取键盘输入的命令行
2、判断命令是否正确,改造命令行参数为系统调用execve()内部处理形式。
3、终端进程调用fork()创建子进程,自身则用系统调用wait()来等待子进程完成。
4、子进程运行时,调用execve(),根据命令指定的文件到目录中查找可执行文件,调入内存并执行这个实用程序。
5、做必要的判别工作。

3.3.4 系统程序

系统程序又称实用程序,功能和性能在很大程度上反应一个操作系统的功能和性能。

3.4 Linux系统调用及实现机制

执行流程:
1、应用程序准备参数
2、C库封装函数引导
3、执行系统调用
4、系统调用返回
Linux系统调用实现机制:
1、系统调用初始化
2、系统调用公共入口
3、保护现场
4、参数传递
5、系统调用号和系统调用表

4. 操作系统结构和运行模式

在这里插入图片描述
在这里插入图片描述

4.1 操作系统结构分类

1、单体式结构
2、层次式结构
3、虚拟机结构
4、微内核结构
在这里插入图片描述

4.2 操作系统结构设计

在这里插入图片描述

4.3 操作系统内核

在这里插入图片描述

4.3.1 内核的概念

一组基本软件对硬件资源进行首次改造,以便为进程的执行提供良好运行环境,该软件即为内核。

4.3.2 内核的功能

1、中断功能
2、时钟管理
3、短程调度
4、源语管理

4.3.3 内核属性

1、内核是由中断驱动的
2、内核是不可抢占的
3、内核可以在屏蔽中断状态下执行
4、内核可使用特权指令

虚拟机特性:
1、没有中断
2、为每个进程提供一台虚处理器,实现多进程并发执行
3、功能强大的指令系统

4.3.4 机制与策略分离原则

在这里插入图片描述

4.4 操作系统运行模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 流行操作系统简介

在这里插入图片描述

后记

这篇博客就到这里了,虽然捋了一遍,但脑子里还是啥也没有记住。感谢勇勇老师的PPT,让我少打了很多字。希望期中考试时,老师手下留情。
最近天气冷了,大家注意保暖哈。拜拜,下一篇博客见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

线性代数---第五章特征值和特征向量

1特征值的和等于a11加上a22,特征值的积等于行列式 2利用|λE-A|0求特征值,代入特征值求基础解系,利用基础解系求特征向量 3如果两个特征值相等,那么它们的特征向量也相等 当特征值是二重根时,有可能有一个线性无关的特…

EndNote安装与使用

一、安装 1、双击ENX9Inst.msi安装 2、进入安装目录,使用CHS或ENG里的文件替换安装目录文件 CHS 中文版 ENG 英文版 二、软件优化 1、EndNote Import.enf 此文件用于导入中文文献时期刊名解析错误的问题,右击使用EndNoteX9打开后关闭即可 2、geebin…

Navicat导入SQL文件

安装Navicat 软件下载地址 https://wwz.lanzoub.com/i3T9S0gbq2wd 参考链接接 https://www.cnblogs.com/hhaostudy/p/15898030.html 准备导入SQL文件 新建连接 点击左上角连接 -> 选择MySQL 连接名:任意名称都可以,可输入localhost 主机&#x…

[计算机毕业设计]网络流量的在线恶意应用检测系统

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

【Pytorch with fastai】第 17 章 :基础神经网络

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【LeetCode每日一题:799.香槟塔~~~模拟】

题目描述 我们把玻璃杯摆成金字塔的形状,其中 第一层 有 1 个玻璃杯, 第二层 有 2 个,依次类推到第 100 层,每个玻璃杯 (250ml) 将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟,当顶层的杯子满了,任…

〖全域运营实战白宝书 - 运营角色认知篇①〗- 初识运营,明晰运营的学习路径

✌ 大家好,我是 哈士奇 ,一位工作了十年的"技术圈混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 ✌ 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &am…

ES6 入门教程 14 Set 和 Map 数据结构 14.1 Set

ES6 入门教程 ECMAScript 6 入门 作者:阮一峰 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录ES6 入门教程14 Set 和 Map 数据结构14.1 Set14.1.1 基本用法14.1.2 Set 实例的属性和方法14.1.3 遍历操作14 Set 和 Map 数据结构 14.1…

[附源码]java毕业设计实验教学过程管理平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【龙芯1B】:74HC595数码管或74HC138数码管程序开发

学习目标:解决龙芯1B:74HC595或74HC138数码管显示问题 首先我们要知道数码管的原理;以74HC595为例,74HC595是具有三态输出功能(即具有高电平、低电平和高阻抗三种输出状态)的门电路。输出寄存器可以直接清除…

基于Springboot搭建java项目(十六)——Kafka的简介

kafka官网:http://kafka.apache.org/ 参考文献:大白话 kafka 架构原理 (qq.com) 一、kafka简介 Kafka最初由Linkedin公司开发,是一个分布式的、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可…

[附源码]计算机毕业设计JAVA后疫情下物业管理系统

[附源码]计算机毕业设计JAVA后疫情下物业管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

数据传输功能单元——DID参数定义

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍数据传输服务的dataldentifier(DID)定义。 参考文章: 22服务-ReadDataByIdentifier 文章目录诊断协议那些事儿一、DID参数二、参数的定义总结一、DID参数 逻辑上&#…

MongoDB初识(一)

什么是MongoDB MongoDB 是一个以JSON为数据模型的文档数据库,文档来自于“JSON Document”,并非我们一般理解的PDF,WORD文档 MongoDB中的记录就是一个文档,它是由键值对组成的数据结构。MongoDB 文档类似于 JSON 对象。字段的值…

基于农产品(蔬菜)数据挖掘的分析与实现(Python+Spider)

目 录 摘 要 I Abstract II 1绪论 1 1.1研究背景 1 1.2项目来源 1 1.3研究目的 2 1.3研究现状 2 1.4主要内容及预期目标 3 1.4.1数据挖掘技术简述及优点 3 1.4.2程序设计思路 3 1.4.3节点布置方案 4 1.4.4预期目标 5 2农产品(蔬菜)价格形成机制及影响因素…

少儿编程 电子学会图形化 scratch编程等级考试四级真题答案解析(选择题)2022年9月

2022年9月Scratch四级真题解析 选择题(共15题,每题2分,共30分) 1、运行下列程序,说法正确的是 A、列表中的数字全部小于11 B、列表的长度为10 C、变量i最终值为20 D、列表中有大于10的数字 答案:D 考点分析:考查积木综合使用,重点考查列表积木的使用,开始向列表…

4.1.2 类非静态成员函数返回值转换与NRV优化

类非静态成员函数返回值转换与NRV优化 下述代码即是Point3d的整体函数原型,对于第33行的调用,正常理解即会首先调用默认构造函数生成一个临时对象,进而调用拷贝构造函数将临时对象拷贝给p2。但是实际上任何编译器都不会采用上述的调用方法&a…

四十七、Fluent近壁面处理

0. 前言 今天这篇文章,我们介绍一下近壁面处理的方式来求解湍流壁面物理规律。 前文四十五、四十六及本文四十七这三篇文章可以说是非常详细而系统的把壁面函数及相关理论全都介绍了一遍,大家可以参考进行设置。也希望大家能多多转发,点赞呀&…

MySQL中的锁机制、MyISAM表锁、MyISAM表级锁争用情况、MyISAM并发插入Concurrent Inserts、MyISAM的锁调度

前言: 关于读锁、写锁、乐观锁、悲观锁、行锁、表锁的理解可以看看以前我写的: 读锁、写锁、乐观锁、悲观锁、行锁、表锁 内部锁:在MySQL服务器内部执行的锁,以管理多个会话对表内容的争用。这种类型的锁是内部的,因为它完全由MySQL服务器执行,不涉及其他程序。 表级锁:…

JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来 —— 感受来自Ehcache的强大实力

大家好,又见面了。 作为《深入理解缓存原理与实战设计》系列专栏,前面几篇文章中我们详细的介绍与探讨了Guava Cache与Caffeine的实现、特性与使用方式。提到JAVA本地缓存框架,还有一个同样无法被忽视的强大存在 —— Ehcache!它…