从零开发操作系统 -- 第一条指令
操作系统本质上也是一个程序,与我们编写的应用程序一样,最终都会转换成二进制的机器指令被CPU执行,只是随着计算机的发展,操作系统这个程序被赋予了更多特殊的职责。今天我们暂且不谈操作系统的诸多功能,而是回归到它作为程序的本身,首先让它的第一行代码在计算机上跑起来。
从零开发操作系统 -- 目录
前言
操作系统是与开发者日常工作息息相关的基础软件,我们编写的所有应用程序都运行于操作系统之上,一旦涉及到对应用性能、资源等的优化,就离不开对操作系统工作原理的理解,同时操作系统也是学习计算机底层技术的敲门砖,掌握其原理会对程序的开发带来潜移默化的帮助。
MIT6.828 — Lab2 Simple Shell
Mit6.828/6.S081 fall 2019的Lab2是Simple Shell,内容是实现一个简易的shell程序,本文对该实验的思路进行详细介绍,并对xv6提供的shell实现进行深入解析。
Serverless无服务器架构详解
本文对Serverless架构的基础概念、具体产品、应用场景、工作原理进行详细解析。
基于云服务的个人网站架构设计
本文介绍如何基于各种云服务优雅且低成本地搭建个人网站,涉及的云产品有云服务器、SSL、企业邮箱、对象存储、CDN、云函数、API网关、云监控等。
MIT6.828 — Lab1 Unix Utilities
Mit6.828/6.S081 fall 2019的Lab1是Unix utilities,主要内容为利用xv6的系统调用实现sleep、pingpong、primes、find和xargs等工具。本文对各程序的实现思路及xv6的系统调用流程进行详细介绍。
MIT6.828准备 — risc-v和xv6环境搭建
本文介绍搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链、qemu和xv6,以MacOS下的实践为例,Linux系统同样可以参考。
Fabric Chaincode调试 —— 开发者模式和单元测试
在fabric开发中,chaincode的测试是一个令人比较头疼的问题,一是由于实际情况中chaincode中的存储和查询是依赖于peer节点上的状态数据库的,所以无法在本地直接测试;二是由于chaincode是运行于容器中的,这导致我们很难获取在代码中打印的日志。
Fabric进阶(四)—— 自动化多机部署
前面关于fabric部署的介绍都是基于单机环境下的,实际生产环境中一般会根据应用场景将节点分开部署在多台物理机上,面临的难题主要是不同主机间的节点如何通过网络进行通信。