普通人

《Operating Systems: Three Easy Pieces》学习笔记(九) 抽象:地址空间

早期系统 操作系统曾经是一组函数(实际上是一个库),在内存中(在本例中,从物理地址 0 开始),然后有一个正在运行的程序(进 程),目前在物理内存中(在本例中,从物理地址 64KB 开始), 并使用剩余的内存。这里几乎没有抽象。 多道程序和时分共享 3 个进程(A、B、C),每个进程拥有从 512KB 物理内存中切出来给它们的一小部分内存。假定只有一 个 CPU,操作系统选择运...

《Operating Systems: Three Easy Pieces》学习笔记(七) 调度:比例份额

本章将介绍一种不同的调度方法–比例份额(proportional-share)调度,有时也称为公平份额(fair-share)调度程序。比例份额算法基于一个简单的想法:调 度程序的最终目标,是确保每个工作获得一定比例的 CPU 时间,而不是优化周转时间和响 应时间。 比例份额调度程序有一个非常优秀的现代例子,由 Waldspurger 和 Weihl 发现,名为彩票调度(lottery s...

C++实现的DAO(数据访问对象模式)

本文将会介绍如何使用 C++实现设计模式中的 DAO(数据访问对象模式) DAO 介绍 什么是 DAO 在计算机软件中,数据访问对象(data access object,DAO)是为某种类型的数据库或其他持久性机制提供一个抽象接口的对象。通过映射应用程序对持久层的调用,DAO 提供一些特定的数据操作,而无需暴露数据库细节。这种隔离支持单一功能原则。 数据访问对象模式(Data Ac...

容器,边缘计算与云原生

本文将会介绍现代容器技术的原理,以及容器如何与边缘计算和云原生结合起来,实现基于容器技术的物联网框架 容器定义 操作系统层虚拟化(Operating system–level virtualization),亦称容器化(Containerization),是一种虚拟化技术,这种技术将操作系统内核虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖项 运行应用程序所必需的组件都将打包...

软件设计模式——七大设计原则

概述 设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。 是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。 其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。 作用 ...

© Kai. 保留部分权利。

浙ICP备20006745号-2,本站由 Jekyll 生成,采用 Chirpy 主题。