【操作系统】考研真题攻克与重点知识点剖析 - 第 1 篇:操作系统概述_2021-程序员宅基地

技术标签: 操作系统  408直通车  考研  

前言

  • 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。
  • 此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术有限,最终数据清洗结果不够理想,相关CSDN文章便没有发出。
  • 从这篇文章开始,这里我将按章节顺序,围绕考研真题展开操作系统总共5章的知识,边学习边整理数据。

请注意,本文中的部分内容来自网络搜集和个人实践,如有任何错误,请随时向我们提出批评和指正。本文仅供学习和交流使用,不涉及任何商业目的。如果因本文内容引发版权或侵权问题,请通过私信告知我们,我们将立即予以删除。

操作系统的定义

在这里插入图片描述

操作系统功能

管理硬件(前五块也就是操作系统的所有内容)

  • CPU管理

  • 内存管理

  • I/O(终端)管理

  • 磁盘管理

  • 文件管理

  • 网络管理、电源管理、多核管理(不讲,课程高级操作系统讲解)
    多进程视图:- CPU管理- 内存管理

文件操作视图:- I/O(终端)管理- 磁盘管理- 文件管理
在这里插入图片描述

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

知识回顾思维导图

在这里插入图片描述

特征

  • 并发

    • 并发(进程)

      • 多道程序环境,宏观上多道程序同时执行,每个时刻单处理机仅有一道程序执行,微观上程序分时交替执行
    • 并行

      • 同一时刻完成两种或两种以上工作,需要硬件支持
        在这里插入图片描述
        在这里插入图片描述
  • 共享

    • 互斥共享方式

      • 某些资源在一段时间内只允许一个进程访问该资源
    • 同时访问方式

      • 一段时间内允许多个进程对资源进行访问,分时共享
        在这里插入图片描述
  • 并发和共享的关系
    在这里插入图片描述

  • 虚拟

    • 一个物理上的实体变为若干逻辑上的对应物

      • 时分复用技术

      • 空分复用技术
        在这里插入图片描述
        在这里插入图片描述

  • 异步

    • 由于资源有限,进程的执行不是一贯到底,走走停停,以不可预知的速度前进
      在这里插入图片描述

并发和共享互为存在条件(最基本特征)

操作系统的特征思维导图

在这里插入图片描述

操作系统的启动

哈工大版本

  • 在这里插入图片描述

    • x86 PC为例

    • BIOS映射区:固化在主存ROM中,用于检查RAM、键盘、显示器、软硬磁盘等,并将磁盘第一个扇区读入主存

    • 引导扇区代码(bootsect.s一段汇编代码):将操作系统读入内存,转入setup.s执行

      • 补充:该程序的主要作用是首先把从磁盘第2个扇区开始的4个扇区的setup模块加载到内存紧接着bootsect后面位置((0x90200)),再把磁盘上setup模块后面的system模块加载到内存0x10000开始的地方
    • setup模块(setup.s汇编代码执行)

      • 读硬件参数存储到内存数据结构中,初始化gdt表

        • gdt表(全局描述表):保护模式下,以数组的形式存储全局的段的描述符

        • idt表(中断描述符表):记录了中断号和调用函数之间的关系

      • system模块移动到物理内存起始位置处(0x0000),启动保护模式,转跳到0x0000处

    • system模块

      • head.s:初始化一些gdt表、idt表、页表

      • main.c:一堆初始化函数

王道版本

  • 在这里插入图片描述

    • CPU执行ROM中引导程序(硬件自检,再开机)

    • 磁盘第一块------主引导记录读入内存,执行磁盘引导程序,扫描分区表

    • 以活动分区读入分区引导记录,并执行

    • 以根目录下找到完整操作系统初始化程序(启动管理器)并执行、开机

操作系统的运行环境(王道)

预备知识:程序是如何运行的?

在这里插入图片描述

内核程序v.s.应用程序

在这里插入图片描述

特权指令v.s.非特权指令

在这里插入图片描述

CPU的状态

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

    • 内核态(管态/核心态):CPU可以执行特权指令,操作系统内核程序运行在核心态

    • 用户态(目态):CPU只能执行非特权指令

    • 内核态->用户态

      • 执行一条特权指令,修改PSW中“用户态”,操作系统主动让出CPU使用权
    • 用户态->内核态

      • 由“中断”引发(内中断、陷入指令、访管指令、Trap指令),硬件完成,操作系统强行夺回CPU使用权
        在这里插入图片描述

操作系统的运行机制思维导图

在这里插入图片描述

中断与异常

中断的作用

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

中断的分类

在这里插入图片描述

  • 异常(内中断)

    • 例外、陷入、访管、Trap指令,硬件故障,软件中断

在这里插入图片描述

  • 中断(外中断)

    • 来自CPU执行指令之外的事件发生导致中断(外设请求、人为干预)
      在这里插入图片描述
  • 中断处理过程

    • 中断隐指令(硬件完成)

      • 关中断

      • 保存断点

      • 中断服务程序寻址

    • 中断服务程序(软件实现)

      • 保存现场和屏蔽字

      • 开中断

      • 执行中断服务程序

      • 关中断

      • 恢复现场和屏蔽字

      • 开中断

      • 中断返回
        在这里插入图片描述

中断和异常思维导图

在这里插入图片描述

系统调用(广义指令)

  • 操作系统接口(哈工大)

    • 三种用户使用方式(上层提供服务)

      • 都是通过c语言调用一些操作系统提供的重要函数实现,重要函数即操作系统接口,表现为函数调用,因为由系统提供,称为系统调用

        • 命令行:本质是系统初始化完,最后执行的一段死循环等待用户输入的程序

        • 图形按钮:基于消息机制

          • 消息机制:操作系统实现一个消息队列,应用程序循环调用一个函数,从操作系统将消息拿出来,每取出一个就会调用对应的消息处理函数
        • 应用程序

    • POSIX:IEEE制定的一个标准族

      • 统一不同操作系统的系统调用接口:fork、open、EACCES等
    • 系统调用的实现

      • 在这里插入图片描述

        • 用户调用printf,通过库函数变成int 0x80代码,系统在初始化时将int 0x80代码做成一个system call进入内核态,system call中断处理调用system call table去查表,根据传递的系统调用号,最后调用sys_write
  • 系统调用概念

    • 用户在程序中调用操作系统子功能,可视为特殊的公共子程序
  • 系统调用过程

    • 传递系统调用参数

    • 执行陷入指令(访管指令/trap指令)主动引发一个内中断

    • 执行服务程序

    • 返回用户态

系统调用与库函数的区别

在这里插入图片描述

什么功能要用到系统调用?

在这里插入图片描述

系统调用的过程

在这里插入图片描述

系统调用思维导图

在这里插入图片描述

操作系统历史

哈工大分两条线讲

  • IBSYS

    • OS/360

      • MULTICS

        • UNIX

          • LINUS

          • System

            • Mac OS

              • iOS
  • CP/M

    • QDOS

      • MS-DOS

        • WINDOWS

王道版本

操作系统(OS)发展阶段
  • 手工操作阶段在这里插入图片描述

    • 单道批处理阶段在这里插入图片描述

      • 多道批处理系统在这里插入图片描述

        • 分时操作系统在这里插入图片描述

          • 实时操作系统在这里插入图片描述

            • 网络操作系统

              • 分布式计算机系统

                • 个人计算机操作系统

                  • 微型计算机操作系统
                    在这里插入图片描述
OS的发展与分类思维导图

在这里插入图片描述

  • 所有工作需要人工干预

    • 自动性:作业自动执行

      • 操作系统出现

        • 交互性强

          • 抢占式,优先级高者优先

            • 服务于计算机网络,集中式控制方式

              • 并行工作,协同完成任务,无主从之分
  • 用户独占全机,资源利用率低

    • 顺序性:作业依次执行

      • 中断技术,无人机交互

          - 及时,可靠,交互性不如分时
        
  • CPU等待手工操作,利用率低

    • 单道性:仅有一道程序执行

      • 宏观上并行,微观上串行

          - 硬实时系统:飞机控制系统,导弹系统
        

软实时系统:订票系统

操作系统体系结构(新考点)

在这里插入图片描述

操作系统的内核

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

在这里插入图片描述

分层结构

  • 内核分多层,每层可单向调用更低一层提供的接口

    • 便于调试和验证(逐层调试验证),易扩充维护

    • 难以定义各层边界,效率低,不可夸层调用
      在这里插入图片描述

模块化

  • 将内核分为多个模块,模块间相互协作,内核=主模块+可加载内核模块

    • 易维护,可多模块同时开发;支持动态加载新的内核模块;任何模块可以直接调用其他模块

    • 模块间相互依赖,难以调试

在这里插入图片描述

宏内核(大内核)

  • 在这里插入图片描述

变态:CPU转态的转换
在这里插入图片描述

- 所有功能都放在内核中

- 性能高,内核内部功能可以互相直接调用

- 内核功能复杂,难以维护,内核某个功能模块出错,可能导致系统崩溃

微内核

在这里插入图片描述

变态:CPU转态的转换

  • 在这里插入图片描述

    • 只把中断、原语、进程通信等核心功能放入内核。进程管理、文件管理、设备管理等功能以用户进程的形式运行在用户态

    • 内核小功能少、易于维护,可靠性高;功能模块崩溃不会导致整个系统崩溃

    • 性能低,需要频繁切换用户态/核心态,用户态下各功能模块不可以直接互相调用,只能内核的“消息传递”间接通信
      在这里插入图片描述

外核

  • 内核负责进程调度、进程通信等功能,外盒负责为用户进程安全分配硬件资源

    • 外核可直接给用户进程分配“不虚拟、不抽象”的硬件资源

    • 减少虚拟硬件资源的“映射层”,提升效率

    • 降低了系统一致性,系统复杂
      在这里插入图片描述

虚拟机(新考点)

第一类VMM

  • 在这里插入图片描述

    • 安装Guset OS时,VMM要在原本的硬盘上自行分配存储空间

    • 性能更好,可迁移性更差

    • 第一类VMM运行在最高特权级,可以执行最高特权指令

第二类VMM

  • 在这里插入图片描述

    • 拥有自己的虚拟磁盘,实际上上Host OS文件系统中的一个大文件,分配到的是虚拟内存

    • 性能差,需要Host OS为中介

    • 第二类VMM部分运行在用户态,部分运行在内核态。Guest OS发出系统调用会被VMM截获,转化为VMM对Host OS的系统调用

在这里插入图片描述

考研真题

408 - 2023

23、与宏内核操作系统相比,下列特征中微内核操作系统具有的是( )。

I. 较好的性能
II. 较高的可靠性
III. 较高的安全性
IV. 较强的可扩展性

A. 仅 II、IV
B. 仅 I、II、IV
C. 仅 I、III、IV
D. 仅 II、III、IV

参考答案:

正确答案是选项 D:仅 II、III、IV。

解析:

  • 微内核构架将内核中最基本的功能保留在内核,只有微内核运行在用户态,其余模块都运行在用户态。一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃,因此具有较高的可靠性和安全性。
  • 微内核的非核心功能运行在用户空间,可通过插件或模块的方式进行扩展,无需改动内核代码,因此具有较强的可扩展性。
  • 微内核需要频繁地在用户态和核心态之间进行切换,操作系统的执行开销偏大,从而影响系统性能。

综上所述,微内核操作系统具有较高的可靠性、较高的安全性和较强的可扩展性,但在性能方面可能受到一定影响。

因此,正确答案是选项 D:仅 II、III、IV。

24. 中断向量表的数据结构选择

问题: 在操作系统内核中,中断向量表适合采用的数据结构是( )。

A. 数组
B. 队列
C. 单向链表
D. 双向链表

参考答案:

正确答案是选项 A:数组。

解析:

在操作系统内核中,中断向量表用于存储中断处理程序的入口地址。每个中断类型对应一个唯一的中断号,在中断发生时,CPU会查询中断向量表来找到对应中断号的中断处理程序的入口地址。

  • 数组: 数组作为中断向量表的数据结构非常适合这种需求。数组具有随机访问的特性,使用中断号作为索引可以直接访问相应的中断处理程序地址。这样,无论中断号是多少,都能以O(1)的时间复杂度快速获得对应的中断处理程序的地址,提高了中断处理的效率。

相比之下,队列、单向链表和双向链表等数据结构不适合用作中断向量表。队列和链表通常用于按顺序存储和访问元素,而中断向量表需要根据给定的中断号快速查找对应的中断处理程序的地址,因此需要使用具备随机访问特性的数据结构,即数组。

综上所述,数组是中断向量表适合采用的数据结构,因为它能实现快速、随机访问,提高中断处理的效率。

因此,正确答案是选项 A:数组。

408 - 2022

23. 多道程序系统的特性

问题: 下列关于多道程序系统的叙述中,不正确的是( )。

A. 支持进程的并发执行
B. 不必支持虚拟存储管理
C. 需要实现对共享资源的管理
D. 进程数越多CPU利用率越高

参考答案:

正确答案是选项 D:进程数越多CPU利用率越高。

解析:

多道程序系统是一种操作系统设计方法,通过将多个程序加载到内存中,使它们能够并发执行。以下是对每个选项的分析:

A. 支持进程的并发执行:多道程序系统的一个主要特点是支持进程的并发执行。操作系统会为每个进程分配处理器时间,并在多个进程之间进行切换,以实现并发执行。

B. 不必支持虚拟存储管理:虚拟存储管理是一种技术,通过将进程的部分数据存储在磁盘或其他辅助存储设备上,以便能够运行更多的进程并提供更大的内存空间。尽管不是所有的多道程序系统都必须支持虚拟存储管理,但它是一种常见的技术,可以提供更好的资源利用和更大的内存空间。

C. 需要实现对共享资源的管理:在多道程序系统中,多个进程可以共享系统资源,如内存、文件和设备等。因此,需要实现对共享资源的管理,以确保这些资源能够被多个进程正确使用、互斥访问和公平分配。

D. 进程数越多CPU利用率越高:这个叙述是不正确的。虽然多道程序系统可以支持并发执行多个进程,但随着进程数量的增加,进程之间会产生更多的资源竞争和调度开销。如果进程数量过多,系统可能会出现资源争用,甚至死锁现象,从而导致CPU利用率降低。

综上所述,不正确的选项是 D:进程数越多CPU利用率越高。

正确答案是选项 D:进程数越多CPU利用率越高。

24. 操作系统初始化过程中需要创建的内容

问题: 下列选项中,需要在操作系统进行初始化过程中创建的是( )。

A. 中断向量表
B. 文件系统的根目录
C. 硬盘分区表
D. 文件系统的索引节点表

参考答案:

正确答案是选项 A:中断向量表。

解析:

在操作系统初始化的过程中,需要进行各种设置和数据结构的创建。以下是对每个选项的分析:

A. 中断向量表:中断向量表是一种数据结构,用于存储中断号与相应中断处理程序的映射关系。在操作系统初始化过程中,需要创建并初始化中断向量表,以便能够响应各种中断信号并执行相应的中断处理程序。

B. 文件系统的根目录:文件系统的根目录是文件系统中的顶层目录,包含了其他所有目录和文件的入口点。在操作系统初始化过程中,会对文件系统进行初始化,并创建文件系统的根目录。

C. 硬盘分区表:硬盘分区表是记录硬盘上各个分区起始位置、大小等信息的数据结构。在对硬盘进行逻辑格式化之前,需要先对硬盘进行分区并创建硬盘分区表。

D. 文件系统的索引节点表:索引节点表是一种数据结构,用于存储文件和目录的元数据信息。它包含了文件名、权限、拥有者等属性,以及指向文件实际数据存储位置的指针。在某些文件系统中,如UNIX文件系统,需要在文件系统创建过程中初始化索引节点表。

综上所述,操作系统初始化过程中需要创建的是选项 A:中断向量表。

正确答案是选项 A:中断向量表。

27. CPU模式的描述

问题: 下列关于CPU模式的叙述中,正确的是( )。

A. CPU处于用户态时只能执行特权指令
B. CPU处于内核态时只能执行特权指令
C. CPU处于用户态时只能执行非特权指令
D. CPU处于内核态时只能执行非特权指令

参考答案:

正确答案是选项 C:CPU处于用户态时只能执行非特权指令。

解析:

在操作系统中,CPU可以处于两种不同的模式:用户态和内核态。以下是对每个选项的分析:

A. CPU处于用户态时只能执行特权指令:这是错误的描述。用户态下的CPU可以执行非特权指令,但不能执行特权指令。

B. CPU处于内核态时只能执行特权指令:这也是错误的描述。内核态下的CPU可以执行特权指令和非特权指令。

C. CPU处于用户态时只能执行非特权指令:这是正确的描述。当CPU处于用户态时,它只能执行非特权指令。这是出于安全性的考虑,以防止用户程序对系统造成损害。

D. CPU处于内核态时只能执行非特权指令:这是错误的描述。内核态下的CPU可以执行特权指令和非特权指令。

综上所述,正确答案是选项 C:CPU处于用户态时只能执行非特权指令。

正确答案是选项 C:CPU处于用户态时只能执行非特权指令。

31. 执行系统调用的过程涉及的操作

问题: 执行系统调用的过程涉及下列操作,其中由操作系统完成的是( )。

Ⅰ. 保存断点和程序状态字
Ⅱ. 保存通用寄存器的内容
Ⅲ. 执行系统调用服务程序
Ⅳ. 将CPU模式改为内核态

A. 仅Ⅰ、Ⅲ
B. 仅Ⅱ、Ⅲ
C. 仅Ⅱ、Ⅳ
D. 仅Ⅱ、Ⅲ、Ⅳ

发生系统调用时,CPU通过执行软中断指令将运行模式从用户态切换到内核态。在这个过程中,涉及以下操作:

Ⅰ. 保存断点和程序状态字:当发生系统调用时,硬件负责保存当前断点和程序状态字,以便在系统调用完成后能够正确返回到用户程序继续执行。

Ⅱ. 保存通用寄存器的内容:在进入内核态之前,操作系统需要保存当前用户态下的通用寄存器的内容,以免被覆盖或丢失。

Ⅲ. 执行系统调用服务程序:一旦进入内核态,操作系统会根据系统调用的类型和参数执行相应的系统调用服务程序,完成特定的功能。

Ⅳ. 将CPU模式改为内核态:通过执行软中断指令,CPU将运行模式从用户态切换到内核态,以便操作系统能够执行特权指令和访问受限资源。

根据上述分析,由操作系统完成的操作是Ⅱ、Ⅲ、Ⅳ。

因此,正确答案是选项 D:仅Ⅱ、Ⅲ、Ⅳ。

正确答案是选项 D:仅Ⅱ、Ⅲ、Ⅳ。

408 - 2021

23. 只能在内核态执行的指令

问题: 下列指令中,只能在内核态执行的是( )。

A. trap指令
B. I/O指令
C. 数据传送指令
D. 设置断点指令

参考答案:

正确答案是选项 B:I/O指令。

解析:

在内核态下,CPU可以执行任何指令,包括特权指令。而在用户态下,CPU只能执行非特权指令,而特权指令只能在内核态下执行。

常见的特权指令包括:

  • 对I/O设备操作的指令
  • 访问程序状态的指令
  • 存取特殊寄存器的指令
  • 其他特权指令

根据题目给出的选项:

  • A. trap指令:trap指令用于在用户程序和操作系统之间进行转移,它可以触发软件中断或系统调用。虽然trap指令可能导致CPU从用户态切换到内核态,但实际上它也可以在用户态执行。因此,选项 A 错误。
  • B. I/O指令:I/O指令用于进行输入输出操作,这些操作通常涉及与外部设备的交互,如读取键盘输入或向显示器输出。由于这些操作需要访问I/O设备,其指令属于特权指令,只能在内核态执行。因此,选项 B 正确。
  • C. 数据传送指令:数据传送指令用于在寄存器之间或内存和寄存器之间传输数据。这些指令通常是用户程序的关键组成部分,可以在用户态执行。因此,选项 C 错误。
  • D. 设置断点指令:设置断点指令用于在程序中设置断点,以便在调试过程中暂停执行。虽然设置断点需要对程序状态进行修改,但它通常被认为是用户操作,可以在用户态执行。因此,选项 D 错误。

综上所述,只有I/O指令属于特权指令,只能在内核态执行。

正确答案是选项 B:I/O指令。

未完待续,逐张试卷整理中,会一直更新到2009

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42531954/article/details/133575347

智能推荐

874计算机科学基础综合,2018年四川大学874计算机科学专业基础综合之计算机操作系统考研仿真模拟五套题...-程序员宅基地

文章浏览阅读1.1k次。一、选择题1. 串行接口是指( )。A. 接口与系统总线之间串行传送,接口与I/0设备之间串行传送B. 接口与系统总线之间串行传送,接口与1/0设备之间并行传送C. 接口与系统总线之间并行传送,接口与I/0设备之间串行传送D. 接口与系统总线之间并行传送,接口与I/0设备之间并行传送【答案】C2. 最容易造成很多小碎片的可变分区分配算法是( )。A. 首次适应算法B. 最佳适应算法..._874 计算机科学专业基础综合题型

XShell连接失败:Could not connect to '192.168.191.128' (port 22): Connection failed._could not connect to '192.168.17.128' (port 22): c-程序员宅基地

文章浏览阅读9.7k次,点赞5次,收藏15次。连接xshell失败,报错如下图,怎么解决呢。1、通过ps -e|grep ssh命令判断是否安装ssh服务2、如果只有客户端安装了,服务器没有安装,则需要安装ssh服务器,命令:apt-get install openssh-server3、安装成功之后,启动ssh服务,命令:/etc/init.d/ssh start4、通过ps -e|grep ssh命令再次判断是否正确启动..._could not connect to '192.168.17.128' (port 22): connection failed.

杰理之KeyPage【篇】_杰理 空白芯片 烧入key文件-程序员宅基地

文章浏览阅读209次。00000000_杰理 空白芯片 烧入key文件

一文读懂ChatGPT,满足你对chatGPT的好奇心_引发对chatgpt兴趣的表述-程序员宅基地

文章浏览阅读475次。2023年初,“ChatGPT”一词在社交媒体上引起了热议,人们纷纷探讨它的本质和对社会的影响。就连央视新闻也对此进行了报道。作为新传专业的前沿人士,我们当然不能忽视这一热点。本文将全面解析ChatGPT,打开“技术黑箱”,探讨它对新闻与传播领域的影响。_引发对chatgpt兴趣的表述

中文字符频率统计python_用Python数据分析方法进行汉字声调频率统计分析-程序员宅基地

文章浏览阅读259次。用Python数据分析方法进行汉字声调频率统计分析木合塔尔·沙地克;布合力齐姑丽·瓦斯力【期刊名称】《电脑知识与技术》【年(卷),期】2017(013)035【摘要】该文首先用Python程序,自动获取基本汉字字符集中的所有汉字,然后用汉字拼音转换工具pypinyin把所有汉字转换成拼音,最后根据所有汉字的拼音声调,统计并可视化拼音声调的占比.【总页数】2页(13-14)【关键词】数据分析;数据可..._汉字声调频率统计

linux输出信息调试信息重定向-程序员宅基地

文章浏览阅读64次。最近在做一个android系统移植的项目,所使用的开发板com1是调试串口,就是说会有uboot和kernel的调试信息打印在com1上(ttySAC0)。因为后期要使用ttySAC0作为上层应用通信串口,所以要把所有的调试信息都给去掉。参考网上的几篇文章,自己做了如下修改,终于把调试信息重定向到ttySAC1上了,在这做下记录。参考文章有:http://blog.csdn.net/longt..._嵌入式rootfs 输出重定向到/dev/console

随便推点

uniapp 引入iconfont图标库彩色symbol教程_uniapp symbol图标-程序员宅基地

文章浏览阅读1.2k次,点赞4次,收藏12次。1,先去iconfont登录,然后选择图标加入购物车 2,点击又上角车车添加进入项目我的项目中就会出现选择的图标 3,点击下载至本地,然后解压文件夹,然后切换到uniapp打开终端运行注:要保证自己电脑有安装node(没有安装node可以去官网下载Node.js 中文网)npm i -g iconfont-tools(mac用户失败的话在前面加个sudo,password就是自己的开机密码吧)4,终端切换到上面解压的文件夹里面,运行iconfont-tools 这些可以默认也可以自己命名(我是自己命名的_uniapp symbol图标

C、C++ 对于char*和char[]的理解_c++ char*-程序员宅基地

文章浏览阅读1.2w次,点赞25次,收藏192次。char*和char[]都是指针,指向第一个字符所在的地址,但char*是常量的指针,char[]是指针的常量_c++ char*

Sublime Text2 使用教程-程序员宅基地

文章浏览阅读930次。代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大、灵活的编辑器,相信你和我一样,都不会例外。我用过的编辑器不少,真不少~ 但却没有哪款让我特别心仪的,直到我遇到了 Sublime Text 2 !如果说“神器”是我能给予一款软件最高的评价,那么我很乐意为它封上这么一个称号。它小巧绿色且速度非

对10个整数进行按照从小到大的顺序排序用选择法和冒泡排序_对十个数进行大小排序java-程序员宅基地

文章浏览阅读4.1k次。一、选择法这是每一个数出来跟后面所有的进行比较。2.冒泡排序法,是两个相邻的进行对比。_对十个数进行大小排序java

物联网开发笔记——使用网络调试助手连接阿里云物联网平台(基于MQTT协议)_网络调试助手连接阿里云连不上-程序员宅基地

文章浏览阅读2.9k次。物联网开发笔记——使用网络调试助手连接阿里云物联网平台(基于MQTT协议)其实作者本意是使用4G模块来实现与阿里云物联网平台的连接过程,但是由于自己用的4G模块自身的限制,使得阿里云连接总是无法建立,已经联系客服返厂检修了,于是我在此使用网络调试助手来演示如何与阿里云物联网平台建立连接。一.准备工作1.MQTT协议说明文档(3.1.1版本)2.网络调试助手(可使用域名与服务器建立连接)PS:与阿里云建立连解释,最好使用域名来完成连接过程,而不是使用IP号。这里我跟阿里云的售后工程师咨询过,表示对应_网络调试助手连接阿里云连不上

<<<零基础C++速成>>>_无c语言基础c++期末速成-程序员宅基地

文章浏览阅读544次,点赞5次,收藏6次。运算符与表达式任何高级程序设计语言中,表达式都是最基本的组成部分,可以说C++中的大部分语句都是由表达式构成的。_无c语言基础c++期末速成