计算机基础笔记(三)—操作系统

2023-05-16

前言

不必害怕未知,无需恐惧犯错,做一个Creator!

目录

  • 前言
  • 一、概述
  • 二、操作系统分类
  • 三、组成部分
    • 用户界面
    • 内存管理器
    • 进程管理
    • 进程同步
    • 设备管理
    • 文件管理
  • 四、主流操作系统
    • UNIX
    • Linux
    • Windows

一、概述

定义: 计算机硬件和用户的一个接口,它使得其他程序更加方便有效地运行,并能方便地对计算机硬件和资源进行访问。
计算机系统: 硬件+软件
软件系统: 操作系统+应用程序
操作系统加载过程:
自举程序运行→操作系统装入内存→CPU运行操作系统

二、操作系统分类

批处理操作系统: 早期控制大型计算机,保证计算机所有资源从一个作业转换到另一个作业
分时系统: 将多个作业同时装入内存,仅当资源可用时分配给需要它的作业
并行系统: 多个CPU,多任务并行处理
分布式系统: 程序和资源在一个计算机运行一部分在另一台计算机运行另一部分
实时操作系统: 在特点时间限制内完成任务,常常用以应用程序监控、响应或控制外部过程和环境

三、组成部分

用户界面+内存管理+进程管理+设备管理+文件管理

用户界面

用来解释用户的输入,命令解释程序(shell)或窗口(GUI)

内存管理器

分区调度: 将内存分为不定长的几个分区,每个部分或者分区保存一个程序,程序完全载入,占用连续地址
分页调度: 内存和程序被分为大小相等的帧和页,程序在内存中的存储不必连续,但需要整个程序在运行前全部载入
请求分页调度: 在分页调度的基础上,程序无需全部载入
请求分段调度: 程序按照程序员的角度划分成段

进程管理

程序: 一组稳定的指令,存在于磁盘中
作业: 从一个程序被操作系统选中执行,其运行结束并再次成为一个程序的过程中,该程序称为作业
进程: 一个运行中的程序,运行于内存中

作业调度器: 将一个作业从保持状态转入就绪状态,或从运行状态转入终止状态
进程调度器: 将一个进程从一个状态转入另一个状态
队列: 为处理多个进程和作业,进程管理器使用队列存有作业和进程的信息

进程同步

只要资源可以被多个用户同时使用,那么它就可能有两种问题的状态:死锁和饿死
当操作系统没有对进程的资源进行限制时将会发生死锁,4个必要条件:
互斥: 一个资源只能被一个进程占有
资源占有: 一个进程占有一个资源,即使在获取其他资源之前无法使用它
抢先: 操作系统不能临时对资源重新分配
循环等待: 所有的进程和资源包含在一个循环里
饿死
发生在当操作系统对进程分配资源有太多限制的时候

设备管理

不停地监视所有的输入输出设备,维护输入输出设备一个队列,管理策略

文件管理

控制文件的访问,管理文件的创建、删除和修改,管理文件的存储

四、主流操作系统

UNIX

多用户、多道程序、可移植的操作系统,它被设计来方便编程、文本处理、通信
组成: 内核+命令解释器+标准工具/应用程序
内核: 内存管理、进程管理、设备管理、文件管理
命令解释器: 用户可见部分,解释和接收用户输入的命令
工具: Unix标准程序,为用户提供支持,如文本编辑器、搜索程序、排序程序
应用: 编写的对系统能力拓展的程序

Linux

内核+系统库+系统工具
系统库: 用于和内核交互的函数
系统工具: 使用系统库,执行管理任务各个程序

Windows

HAL+内核+执行者+环境子系统
硬件抽象层(HAL): 为上层隐藏了硬件的差异
内核: 面向对象软件的片段
执行者: 对象管理器、安全引用监控器、进程管理器、虚拟内存管理器、本地过程调用工具和IO管理
环境子系统


提示:仅供参考。若有错误不足,欢迎批评指正。该系列文章仅供参考,欢迎互相学习交流。

感谢你的阅读,期待你的关注收藏点赞!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机基础笔记(三)—操作系统 的相关文章

  • MySQL基础(非常全)

    MySQL基础 一 MySQL概述 1 什么是数据库 答 数据的仓库 如 在ATM的示例中我们创建了一个 db 目录 称其为数据库 2 什么是 MySQL Oracle SQLite Access MS SQL Server等 答 他们均是
  • 计算机领域中随处可见的抽象

    想要管理多种具体的东西 那么需要遵守每种东西的规范 如果想要提供一种通用模式来对这些具体的东西统一管理 需要使用一种古老的技术 抽象 抽象是将多种具体的东西 管理时需要遵守的规范 的共同点抽取出来 放入到更高一层的抽象层 在抽象层不定义或少
  • unix环境高级编程——文件IO

    本期主题 unix环境高级编程 文件IO 文件IO 0 引言 1 文件描述符 2 IO编程中常用的API接口 1 open函数 2 close函数 3 read函数 4 write函数 5 lseek函数 3 函数sync fsync和fd
  • 掉电无法启动数据库问题解决

    由于突然掉电 造成客户在windows平台上10 2 0 1数据库无法驱动 以下是具体解决步骤 一 定位故障问题 1 启动数据库 查看错误 SQL gt startup ora 01113 file 1 needs media recove
  • ps aux 和ps -aux和 ps -ef的选择

    Linux中的ps命令是Process Status的缩写 ps命令用来列出系统中当前运行的那些进程 ps命令列出的是当前那些进程的快照 就是执行ps命令的那个时刻的那些进程 如果想要动态的显示进程信息 就可以使用top命令 要对进程进行监
  • 设备管理过程

    复杂度2 5 机密度2 5 最后更新2021 04 19 AIX中对设备会有如下五个操作 define aix下能看到设备的定义 但驱动程序并没有加载或初始化 该设备不可用 lsdev看到设备时defined 很多逻辑设备 vg lv等 只
  • JSON.stringify()

    JSON stringify 将一个JavaScript值 对象或者数组 转换为一个 JSON字符串 如果指定了replacer是一个函数 则可以选择性的替换值 或者如果指定了replacer是一个数组 可选择性的仅包含数组指定的属性 语法
  • Linux系统编程:多线程交替打印ABC

    引言 分享关于线程的一道测试题 因为网上基本都是Java的解决方法 决定自己写一篇来记录一下线程的学习 问题描述 编写一个至少具有三个线程的程序 称之为线程 A B 和 C 其中线程 A 输出字符 A 线程 B 输出字符 B 线程 C 输出
  • 操作系统 段页式存储管理

    一 引入 分页系统是以页面作为内存分配的基本单位 能有效地提高内存利用率 但信息共享等不方便 分段系统是以段作为内存分配的基本单位 它能够更好地满足用户多方面的需要 信息共享 动态链接等 但采用分区方式管理物理内存 仍然存在碎片问题 段页式
  • Linux alien命令

    一 简介 alien是一个用于在各种不同的Linux包格式相互转换的工具 其最常见的用法是将 rpm转换成 deb 或者反过来 二 安装 http toutiao com a6188997768449360129 三 实例 http www
  • Visual studio 2005 hangs on startup AppHangXProcB1 svchost devenv.exe svchost.exe:{2a811bb2-303b-48b...

    This problem has been torturing me for the whole afternoon and after searching on the web for a long time I finally get
  • [架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

    目录 一 文件的索引块 二 索引分配表 三 索引表的链接方案 四 多层索引 五 混合索引分配 一 文件的索引块 存放在目录中的文件 并非是文件的真实内容 目录中记录了文件的索引块是几号磁盘块 文件对应的索引表是存放在指定的磁盘块中的 二 索
  • Linux 内核中的 Device Mapper 机制

    Linux 内核中的 Device Mapper 机制 尹 洋 在读博士生 尹洋 中科院计算所国家高性能计算机工程技术研究中心的在读博士生 主要从事服务部署和存储资源管理以及Linux块设备一级的开发和研究工作 简介 本文结合具体代码对 L
  • Ubuntu9.04太多乱码(中文不能正常显示)

    最近在使用Ubuntu9 04的过程中 发现有好多地方都出现乱码 其实是中文不能正常显示 现在把我所遇到的所有乱码问题集中一下 方便以后查阅参考 一 Flash乱码 在终端输入 sudo gedit etc fonts conf d 49
  • 《深入理解计算机系统》实验四Architecture Lab

    前言 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻请看 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻 我觉得这个文档对整个实验很有帮助 如果你的Y86 64环境还没安装好可以看
  • OS——文件管理系统磁盘的结构之搞清盘面和柱面

    如上图 每个柱面有三个盘面 即就是3个磁道 柱面可以抽象的理解成是一个套一个的立体的同心圆柱体 例 2019年408真题 磁盘有300个柱面 每个柱面有10个磁道 每个磁道有200个扇区 扇区大小为512B 则磁盘容量 分析 每个柱面有10
  • java IO、NIO、AIO详解

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 IO流 同步 阻塞 二 NIO 同步 非阻塞 三 NIO2 异步 非阻塞 正文 回到顶部 概述 在我们学习Java的IO流之前 我们都要了解几个关键词 同步与异步 sy
  • CentOS Linux服务器安全设置

    转自 http www osyunwei com archives 754 html 引言 我们必须明白 最小的权限 最少的服务 最大的安全 所以 无论是配置任何服务器 我们都必须把不用的服务关闭 把系统权限设置到最小话 这样才能保证服务器
  • C#实现FTP文件夹下载功能【转载】

    网上有很多FTP单个文件下载的方法 前段时间需要用到一个FTP文件夹下载的功能 于是找了下网上的相关资料结合MSDN实现了一段FTP文件夹下载的代码 实现的思路主要是通过遍历获得文件夹下的所有文件 当然 文件夹下可能仍然存在文件夹 这样就需
  • MacOS中清除原有ssh公钥方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 用ssh的跳转登录服务器后 ssh会把你每个你访问过计算机的公钥 public key 都记录在 ssh known hosts 当下次访问相同计算机时 SSH会核对公钥

随机推荐

  • 打开多个相关联的网页 js脚本打开网页方法

    当日常工作中会有很多网页需要打开来使用 xff0c 如果每天重复的打开网页 xff0c 或者网页太多会很麻烦 那有没有其他的解决方法呢 xff1f 当然有 xff0c 下面用js的方法来解决这个问题 lt script gt var url
  • 栈的基本内容

    一 栈的定义 栈是限定仅在表尾进行插入和删除操作的线性表 通常把允许插入和删除的一端称为栈顶 xff0c 另一端称为栈底 xff0c 不含任何数据元素的栈称为空栈 栈又称为后进先出的线性表 xff0c 简称为LIFO结构 xff08 Las
  • 关于ERROR: error loading sources list: The read operation timed out 的解决方法

    在ubuntu 20 04系统下ROS平台安装时 xff0c 初始化rosdep报错 xff0c 在进行 rosdep update 出现超时报错 reading in sources list data from etc ros rosd
  • Http 解析url 各种参数类型工具类(文件,json,xml)

    1 http post请求传参数 43 文件 import java nio charset Charset import java util import org apache http HttpEntity import org apa
  • 一字节内的位序(bit)大端小端分析

    相信字节序 大端 小端的概念相关资料很多 xff0c 大家都比较清楚了 这里说明下一字节内部位序 xff08 bit xff09 的概念 在计算机中底层一个存储单元是字节 xff0c 因此你的指令寻址是不可能找到一字节内部的bit的 xff
  • RPLIDAR十分钟极速入门教程

    本教程由 臭皮匠机器人 原创 转载请注明出处 收到一个RPLidar后 xff0c 干的第一件事应该是先让雷达跑起来 xff0c 边做边学是最高效的 本教程 xff0c 将教你只用简单的三步 xff0c 花10分钟即可上手 本教程RPLid
  • RPLIDAR最强参数详解

    本教程由 臭皮匠机器人 原创 转载请注明出处 有的同学跟我们说 xff0c RPLIDAR的参数看不懂 xff0c 感觉理解起来困难 其实也不难懂的 xff0c 本篇将带你了解这些重要的指标 xff0c 给你讲清说透 由于RPLIDAR还在
  • 如何避免头文件被重复包含?

    在实际的工程中我们很有可能重复包含某一个头文件 xff0c 比如下面这种情况 xff1a 开发人员B和开发人员C在自己的头文件中都包含了开发人员A的头文件 xff0c 而开发人员D在自己的编译单元中包含了B和C的头文件 xff0c 此时D就
  • VScode配置C/C++编程总结(GCC+Clang+CMake)

    VScode配置C C 43 43 编程总结 xff08 GCC 43 Clang 43 CMake xff09 自己存下档纪念一下2019 12 18 Visual Studio Code VScode全称Visual Studio Co
  • 关于锂电池的二三事

    为了解释的更清楚 xff0c 我录制了一个视频 xff0c 详情可以参看 xff1a 我的这个B站视频 这是目录0 0 背景参数指标一些使用方法 背景 锂电池是我们日常生活中和制造东西时经常见到和使用的一种东西 xff0c 但是有很多细节可
  • 单片机堆栈知识总结

    堆栈 在片内RAM中 xff0c 常常要指定一个专门的区域来存放某些特别的数据 它遵循顺序存取和后进先出 LIFO FILO 的原则 xff0c 这个RAM区叫堆栈 其实堆栈就是单片机中的一些存储单元 xff0c 这些存储单元被指定保存一些
  • STM32串口发送中断试验、在初始化时不能使能串口发送中断

    问题描述 在测试STM32串口发送完成中断的应用中 xff0c 遇到了一个很奇怪的问题 xff0c 在初始化完成之后直接就进入了串口中断函数的发送完成服务中断函数部分 本测试代码是在原来的基础上更改的 xff0c 原来只使能了接受中断 xf
  • java,http post请求,多个不同方式请求示例

    以下是 Java 中进行 HTTP POST 请求的示例代码 xff0c 包括使用 HttpURLConnection 和 HttpClient 两种方式 xff0c 供您参考 使用 HttpURLConnection 发送 POST 请求
  • 【STM32】HAL库开发教程(一)—基本使用

    前言 提示 xff1a 本系列本章针对STM32F207 xff0c 基于Cubemx和Keil进行程序开发 本系列文章并不是一步一操作的傻瓜式教程 xff0c 而更希望是一个向导 xff0c 引导读者去思考去开发 做为一个开发者应该是在思
  • 【STM32】HAL库开发教程(五)—RTC使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 一 RTC简介 STM32F2的实时时钟 RTC 是一个独立的BCD Binary Coded Decimal 定时器 计时器 xff0c 提供了一
  • 【STM32】HAL库开发教程(七)—SPI使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 本文主要介绍STM32 HAL库开发中SPI通信的使用 一 开发步骤 1 STM32CubeMX配置 在左侧引脚配置处勾选SPI进行配置在SPI模式
  • 【通信技术】信噪比及单位

    信噪比 xff1a 一个电子设备或者电子系统中信号与噪声的比例 计量单位 dB xff0c 其计算方法是10lg Ps Pn xff0c 其中Ps和Pn分别代表信号和噪声的有效功率 功率单位 xff1a dBm是一个考征功率绝对值的值 xf
  • 【C语言】字符串打印(定长)

    目的 xff1a 打印长度可控的字符串 char ucBuf uint8 t ucLen char ucString 256 memcpy ucString ucBuf ucLen ucString ucLen 61 39 0 39 pri
  • 【卫星】卫星通信基本概念与知识

    不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 卫星通信基本概念与知识 上行链路 xff1a 从地球站发射信号到通信卫星所经过的通信路径成为上行链路 下行链路 xff1a 通信卫星将信号再转发到其他地球
  • 计算机基础笔记(三)—操作系统

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言一 概述二 操作系统分类三 组成部分用户界面内存管理器进程管理进程同步设备管理文件管理 四 主流操作系统UNIXLinuxWindows