自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 操作系统C语言实现07---并发

并发是现代计算中的一个基本概念,其中多个任务或进程同时执行。在并行和分布式系统的世界中,理解并发对于开发高效可靠的软件至关重要。

2025-02-17 19:54:03 789

原创 操作系统C语言实现08---内存管理

内存管理是操作系统设计的一个关键方面,它处理计算机内存的组织和管理。它涉及到各种机制,以有效地分配内存给进程,管理不同的内存类型,并在保持系统稳定性的同时确保最佳性能。

2025-01-30 11:46:14 535

原创 操作系统C语言实现06---线程

线程是进程中最小的执行单位。线程共享它们所属进程的相同内存空间和资源,但独立执行。线程可以在单个进程中实现多任务处理和并行性。本文探讨了线程的基础知识、它们的生命周期、实现模型,以及它们与进程的区别。我们还将深入研究使用C和POSIX线程(Pthreads)的实际示例。共享内存:同一进程中的线程共享相同的地址空间,包括全局变量、堆和代码。独立执行:每个线程都有自己的程序计数器、堆栈和寄存器。轻量级:线程比进程更轻量级,因为它们共享资源,并且需要更少的创建和上下文切换开销。

2025-01-15 20:26:10 302

原创 操作系统C语言实现05---上下文切换

上下文切换是存储和恢复进程的状态(上下文)的过程,以便可以在以后的时间从同一点恢复执行。这允许在多个进程之间分时使用CPU资源。

2025-01-14 19:22:24 267

原创 操作系统C语言实现04---进程调度

进程调度是现代操作系统的核心,它决定了如何在多个竞争进程之间分配和管理计算资源。这种复杂的资源分配确保了系统的效率、响应能力和公平性。

2025-01-13 15:19:39 434

原创 操作系统C语言实现03---进程创建

进程创建是操作系统中的一项基本操作,它支持执行新程序和管理系统资源。本文将深入探讨流程创建机制,重点关注理论概念和实际实现细节。

2025-01-11 19:10:49 720

原创 操作系统C语言实现02---进程状态

进程状态表示计算执行的动态生命周期。理解这些状态及其转换对于掌握操作系统如何有效地管理计算资源至关重要。

2025-01-11 10:15:14 375

原创 操作系统C语言实现01---进程概念

进程是计算机程序在执行过程中的动态实例。与存储在磁盘上的静态程序不同,进程表示一种具有自己的资源、内存空间和执行上下文的活动实体。它本质上是一个运行中的程序,不仅包含代码,还包含执行所需的所有计算资源。

2025-01-10 20:50:37 354

原创 C++20 协程(Coroutines)

C++20 的协程提供了一种强大的工具,用于编写异步和生成器模式的代码。通过使用co_awaitco_yield和co_return关键字,开发者可以编写更简洁、更易读的异步代码。协程的引入使得 C++ 在处理异步操作时更加灵活和高效。

2024-12-02 13:46:24 503

原创 C++无锁队列

无锁队列(Lock-Free Queue)是一种在多线程环境中使用的数据结构,它不需要使用互斥锁(mutex)来保护共享资源,从而避免了锁的开销和死锁问题。无锁队列通常使用原子操作(如 compare_exchange_strong)来实现线程安全的操作。

2024-10-18 10:11:10 1413

原创 C++内存顺序(Memory Order)

C++11 将多线程纳入了标准. 一旦涉及到多线程, 就需要考虑并发, 数据竞争 (date race), 线程同步等问题, 为此 C++ 提供了互斥锁 std::mutex, 原子变量 std::atomic 等标准库. 对于原子变量的操作, 有一个很重要的概念就是内存顺序 (memory order).

2024-10-17 14:27:50 964

原创 ps常见状态位字符

在ps命令的输出中,常见的STAT状态位字符包括:lI。

2024-06-20 14:29:04 408

原创 python学习

OrderedDict 与普通字典的区别在于它记住了元素被插入的顺序。这意味着当你迭代 OrderedDict 时,元素的顺序将与它们被插入时的顺序相同。以下是一个示例,展示了如何使用ConfigParser读取和解析配置文件。

2024-06-13 11:07:24 289

原创 c++类型萃取

将鼠标停留type上可看到类型为bool,停留param上可看到类型为int。

2024-04-19 13:39:47 339 1

原创 Hazel -- Game Engine Series (二)

网上流传了一些偏法,主要步骤是直接移除模块,并手动修改 .gitmodules、.git/config 和 .git/modules 内容。包含了一大堆类似git rm --cached 、rm -rf 、rm .gitmodules 和 git rm --cached 之类的代码。根据官方文档的说明,应该使用 git submodule deinit 命令卸载一个子模块。这个命令如果添加上参数 --force,则子模块工作区内即使有本地的修改,也会被移除。修改: .gitmodules。

2023-11-11 20:35:38 761 1

原创 Hazel -- Game Engine Series (一)

bin\Debug-x64\Hazel目录下Hazel.dll复制到bin\Debug-x64\Sandbox目录下。复制/Git目录下文件到/Hazel目录,删除Git文件夹。按上述配置增加一个空项目名为Sanbox,作为应用程序。用记事本打开项目文件调换顺序为下图。运行显示如下即测试成功。

2023-10-31 22:10:10 139 1

原创 C++类型擦除

C++类型擦除

2023-10-16 14:55:21 109 1

原创 cpp学习之实现STL容器(一)--- 实现std::function

c++ STL学习记录

2023-10-15 22:13:13 619 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除