当前位置: 首页 > news >正文

Linux 内核第一版 (v0.01) 开源代码解读

 

探索Linux v0.01的内部结构,Linux内核经常被认为是一个庞大的开源软件。在撰写本文时,最新版本是v6.5-rc5,包含36M行代码。不用说,Linux是几十年来许多贡献者辛勤工作的成果。

Linux 内核首个开源版本 (v0.01) 的体积非常小,仅包含 10,239 行代码。如果除去注释和空行,只剩下 8,670 行。正因它足够小,所以方便理解,是了解类 UNIX 操作系统内核内部结构的良好起点

然而,Linux的第一个版本v0.01非常小。它只有10239行代码。除去注释和空白行,总共只有8670行。它足够小,可以理解,并且是了解类unix操作系统内核内部的一个很好的起点

Linux 内核最初的名字为 "FREAX"

v0.01 总共包含 66 个 system call,如下

access acct alarm break brk chdir chmod
chown chroot close creat dup dup2 execve
exit fcntl fork fstat ftime getegid geteuid
getgid getpgrp setsid getpid getppid
getuid gtty ioctl kill link lock lseek
mkdir mknod mount mpx nice open pause
phys pipe prof ptrace read rename rmdir
setgid setpgid setuid setup signal stat
stime stty sync time times ulimit umask
umount uname unlink ustat utime waitpid write

确实如此。Linux v0.01是为i386深度硬编码的

extern inline char * strcpy(char * dest,const char *src)
{
__asm__("cld\n""1:\tlodsb\n\t""stosb\n\t""testb %%al,%%al\n\t""jne 1b"::"S" (src),"D" (dest):"si","di","ax");
return dest;
}

参考:

Exploring the internals of Linux v0.01 - seiya.me

Linux v0.01 源代码下载:https://cdn.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz

 

http://www.lryc.cn/news/124266.html

相关文章:

  • tp6 v3微信退款
  • 使用 AndroidX 增强 WebView 的能力
  • Maven基础之仓库、命令、插件机制
  • 【ArcGIS】经纬度数据转化成平面坐标数据
  • 使用自己的数据利用pytorch搭建全连接神经网络进行回归预测
  • 103.216.154.X服务器出现漏洞了有什么办法?
  • 数据结构:堆的实现(C实现)
  • 数据分析两件套ClickHouse+Metabase(一)
  • urllib爬虫模块
  • TCP消息传输可靠性保证
  • Visual Studio 与QT ui文件
  • 竞赛项目 深度学习验证码识别 - 机器视觉 python opencv
  • ORA-00845: MEMORY_TARGET not supported on this system
  • wps设置一键标题字体和大小
  • TIA博途WINCC_如何在IO域中保证输入数值只能为正数?
  • 《Linux从练气到飞升》No.13 Linux进程状态
  • 安卓快速开发
  • SpringCloud微服务之间如何进行用户信息传递(涉及:Gateway、OpenFeign组件)
  • RabbitMQ之TTL+死信队列实现延迟队列
  • GrapeCity Documents for PDF (GcPdf) 6.2 Crack
  • 【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据)
  • 问AI一个严肃的问题
  • Flowable流程的挂起与激活详解
  • 探索前端动画之CSS魔法
  • Oracle数据库登录遇到密码临期问题
  • LVGL学习笔记 30 - List(列表)
  • Ubuntu下mysql安装及远程连接支持配置
  • 自然语言处理: 第八章chatGPT的搭建
  • 阿里云国际版云服务器防火墙怎么设置呢?
  • 安装elasticsearch