首页 > 编程语言 >C++/嵌入式八股学习-day2

C++/嵌入式八股学习-day2

时间:2023-08-09 15:14:24浏览次数:42  
标签:VA 睡眠 day2 C++ 嵌入式 进程 就绪 CPU

C++/嵌入式八股学习-day2

C/C++

手写atoi函数

功能:将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。


C++有哪几种构造函数

ARM

ARM CPU上的地址转换涉及哪三个概念?

(1)虚拟地址(VA):CPU内核对外发出VA。

(2)变换后的虚拟地址(MVA, Modified Virtual Address):VA被变换为MVA供cache和MMU使用,由硬件自动完成。如果VA < 32M,则需要使用PID来转换为MVA(VA | (PID << 25)),目的是当两个进程的虚拟地址空间有重叠时,把重叠的VA映射到不同的PA上去,减少切换进程的代价。

(3)物理地址(PA):最后使用PA读写实际设备。

应用编程和网络编程

请问就绪状态的进程在等待什么?

就绪状态的进程并不是在等待某个特定的事件或资源,而是已经完成了所有必要的前置工作,可以立即被调度执行,但是由于系统资源有限,需要等待CPU时间片的分配,因此处于就绪状态。

拓展知识:
image
(1)就绪态:所有运行条件已就绪,只要得到了CPU时间就可运行。

(2)运行态:得到CPU时间正在运行。

(3)僵尸态:进程已经结束了但父进程还没来得及回收。

(4)等待态:包括浅度睡眠跟深度睡眠。进程在等待某种条件,条件成熟后即进入就绪态。浅度睡眠时进程可以被信号唤醒,但深度睡眠时必须等到条件成熟后才能结束睡眠状态。

(5)暂停态:暂时停止参与CPU调度(即使条件成熟),可以恢复。

标签:VA,睡眠,day2,C++,嵌入式,进程,就绪,CPU
From: https://www.cnblogs.com/z-qhhh/p/17616875.html

相关文章

  • c++中template的用法是什么?
    下文由ChatGPT生成在C++中,template是一种通用编程工具,用于创建通用的函数或类。通过使用模板,可以编写可以应用于不同数据类型的函数或类,从而实现代码的重用性和灵活性。template的使用方法如下:1.函数模板(FunctionTemplates)函数模板允许定义一个通用的函数,可以在不同数据类......
  • C++ vector 容器浅析
    C++vector容器浅析一、什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(SequenceContainer)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺......
  • C++11实用特性1
    1原始字面量有时候在输出一个路径字符串时,编译器会将其中的部分内容识别成转义字符进行输出,可以用R“xxx(原始字符串)xxx”其中()两边的字符串可以省略。原始字面量R可以直接表示字符串的实际含义,而不需要额外对字符串做转义或连接等操作。stringstr2=R"(D:\hello\world\test......
  • C++类和对象_多态
    虚函数被virtual修饰的成员函数被称为虚函数,虚函数的地址会被纳入类的虚函数表(virtualfunctiontable)。inline和virtual不会同时生效,用virtual修饰内联函数时,编译器会忽视函数的内联属性,此时函数不再是内联。虚函数一定不是内联函数。虚函数的重写子类继承父类,并有一个与父类......
  • C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽
    第8章函数探幽本章内容包括:内联函数。引用变量。如何按引用传递函数参数。默认参数。函数重载。函数模板。函数模板具体化。通过第7章,您了解到很多有关C++函数的知识,但需要学习的知识还很多。C++还提供许多新的函数特性,使之有别于C语言。新特性包括内联函数、......
  • 嵌入式linux笔试
    讲讲l2c和SPI协议。l2c(Inter-IntegratedCircuit)和SPI(SerialPeripheralInterface)总线都是用在不同的芯片、模块或者设备之间传输数据的通信协议。l2c(Inter-IntegratedCircuit):l2c是一种串行通信协议,通常用于连接微控制器、传感器、存储器等设备。在l2c中,有两根线:SCL(时钟线)和SDA(数......
  • 【C++第三方库】Windows下编译和使用websocketpp
    应用场景:使用C++开发一个支持websocket协议的服务进程,可与HTML5(浏览器js文件)通信。来实现替换基于firebreath框架的跨浏览器插件开发。当前,讲述websocketpp开源库的应用。目的是为了实现C++进程,支持websocket协议。但WebSocketpp是一个开源库,依赖于Boost和OpenSSL资源准......
  • c++ std::hash<std::string> 字符串哈希函数
    msvc采用了FNV-1a的哈希算法//众所周知std::string就是一个basic_string<char>template<class_Elem,class_Traits,class_Alloc>structhash<basic_string<_Elem,_Traits,_Alloc>>{_CXX17_DEPRECATE_ADAPTOR_TYPEDEFStypedefbasic_string<_......
  • C++STL 学习笔记
    C++STL学习笔记STL补充List链表list<int>mylist={}链表定义和初始化voidpush_front(constT& val)将val插入链表最前面voidpop_front()删除链表最前面的元素list.push_back() 增加一个新的元素在list的尾端list.pop_back() 删除list的......
  • 嵌入式教程_DSP教程:2-27 基于USB接口的存储设备实验
    2-27基于USB接口的存储设备实验实验目的本节视频的目的是学习USBOTG的运用和工作原理,并实现USB从方式,将实验板模拟成一个USB存储设备,实现主机和实验板之间的数据传输。实验原理硬件原理图实验过程中使用的是USBOG接口T本节视频的目的是学习USBOTG的运用和工作原理,并实现USB从方......