Ty-Chen's Home

Collecting, sharing and creating knowledge


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

Lua源码剖析(一)开篇

发表于 2023-01-14   |   更新于 2023-01-29 | 分类于 Lua学习 |
字数统计: 3.1k | 阅读时长 ≈ 11

一. 前言

  Lua是一种脚本语言,在游戏、嵌入式等领域有着众多应用。Lua的源码体量较小,但是有着诸多精彩之处,值得认真品鉴。在阅读了众多源码分析的文章和博客后,笔者发现不少博客、书籍有着诸多亮点,但是不能做到由浅入深且让人提纲挈领,亦存在种种缺陷之处,因此才有了本系列的源码分析文章。本系列文章不能代替读者自己去阅读源码,但是可以引导读者从高维度俯瞰源码,做到边思考边学习,从而不至于望而无所裨益,而是以Lua源码为借鉴,去激发自己的灵感,产生更多的思路。本系列文章大致覆盖内容如下。

阅读全文 »

微型操作系统实现笔记(一)

发表于 2022-03-22   |   更新于 2022-04-16 | 分类于 操作系统内核学习 |
字数统计: 1.6k | 阅读时长 ≈ 7

一. 前言

在跟踪并学习了一遍Linux内核源码框架之后,又经过了一系列相关书籍的阅读,最终决定沉下心来从零开始写一个属于自己的微型操作系统,大致思路如下:

  • 写一个简单的可以启动的操作系统,显示Hello World
  • 实现第一个进程
  • 实现基本的内存管理
  • 实现多进程及进程调度
  • 增加设备注册、设备驱动
  • 增加虚拟文件系统
  • 增加网络架构
  • 封装内核态和用户态
  • 添加交互,如shell等

那么现在就从零开始,一步一步搭建属于自己的操作系统吧。路可能很漫长,但是只要坚持就一定会有收获。本讲内容为如何写出一个可以启动的操作系统。

阅读全文 »

创建型设计模式分析

发表于 2021-06-28   |   更新于 2021-11-11 | 分类于 设计模式 |
字数统计: 2.1k | 阅读时长 ≈ 8

一. 前言

  设计模式,究其本质,无非是发现变化、封装变化。而对于面向对象编程来说,变化本身分为了创建对象、对象之间的关系、对象之间的调用,即为创建型、结构性、行为型设计模式。本文就创建型设计模式进行分析,洞察其背后的逻辑,并比较各种创建型设计模式的区别和使用场景。

  为方便比较,创建型行为模式的几种我们采取同一个例子,即GOF一书中的迷宫创建为例。迷宫的创建至少包括了房间Room类、墙Wall类、门Door类几种组成元素和迷宫总体的表示Maze类,更合理的,我们可以为房间、墙、门抽象一个迷宫基本构件MapSite类。

阅读全文 »

LuaJIT计算相关代码性能指引

发表于 2021-05-16   |   更新于 2021-09-15 | 分类于 Lua学习 |
字数统计: 657 | 阅读时长 ≈ 2

一. 前言

  本文为luajit作者所写文章Numerical Computing Performance Guide的译文,属于个人记录。

阅读全文 »

函数返回值的坑

发表于 2021-01-17   |   更新于 2021-01-26 | 分类于 编程随笔 |
字数统计: 2.4k | 阅读时长 ≈ 12

一. 简介

  最近有同学问为什么函数返回值选择返回对象指针而不是对象,所以就此展开来深入分析一下。

阅读全文 »

不一样的hello world

发表于 2021-01-08   |   更新于 2021-01-15 | 分类于 编程随笔 |
字数统计: 960 | 阅读时长 ≈ 3

一. 简介

  最近学习了一些C内联汇编的知识,简单的尝试了一下,发现里面有很多有趣的东西,分享如下。首先说明,本文的内联使用仅为一个小例子,并不规范,另外32位和64位有着较大区别,本文基于64位Ubuntu16.04环境编译。

阅读全文 »

Linux操作系统学习笔记(番外篇二)解密虚拟内存0x400000以下的地方

发表于 2020-12-19   |   更新于 2020-12-19 | 分类于 Linux操作系统内核学习 |
字数统计: 777 | 阅读时长 ≈ 2

一. 前言

  最近看CSAPP时,对以前没有仔细注意的一处知识盲区产生了兴趣,所以进行了深入研究,并写下此文一记录。

阅读全文 »

Linux操作系统学习笔记(三十一)Docker

发表于 2020-12-07   |   更新于 2021-01-14 | 分类于 Linux操作系统内核学习 |
字数统计: 1.2k | 阅读时长 ≈ 5

一. 简介

  本文介绍Docker容器实现的三大技能:namespace, cgroup和rootfs,以此希望能从本质上剖析容器,并理解其工作机制和工作中可能会遇到的问题。

阅读全文 »

Linux操作系统学习笔记(番外篇)QEMU

发表于 2020-12-07   |   更新于 2021-01-01 | 分类于 Linux操作系统内核学习 |
字数统计: 1.2k | 阅读时长 ≈ 6

一. 简介

  突然发现前文忘了写如何编译运行Linux内核并进行修改、调试,所以这里临时补上。主要使用QEMU搭建虚拟机,并在其基础上下载内核并编译从而实现内核调试。

阅读全文 »

Linux操作系统学习笔记(三十)docker和k8s的恩怨情仇

发表于 2020-12-05   |   更新于 2020-12-07 | 分类于 Linux操作系统内核学习 |
字数统计: 3.6k | 阅读时长 ≈ 12

一. 简介

  之前聊天发现很多小伙伴对docker和k8s了解甚少,所以决定分享一下在docker和k8s背后这些年容器发展的故事,谈不上以史为鉴,但是至少可以从中汲取经验教训,同时也能了解容器及容器编排发展的来龙去脉。

阅读全文 »
123…6
Ty Chen

Ty Chen

56 日志
10 分类
88 标签
GitHub E-Mail
Friends
  • Stanleylsx
© 2020 — 2025 Ty Chen | Site words total count: 208.1k 粤ICP备20071543号
你是来访的第 位同学 访问次数: 次