展开

关键词

Linux 内核学习经验总结

PLKA介于LKD3和ULK3之间。 另外,我认为很重要的一点就是PLKA针对的2.6.24的内核版本,而ULK是2.6.11,LKD3是2.6.34。在某些方面PLKA比较接近现代的实现。 《深入理解linux虚拟内存》(2.4内核版本),LDD3,《深入理解linux网络技术内幕》,几乎每一个子系统都需要一本书的容量去讲解,所以说,刚开始学习不宜对某个模块太过深入,等对各个子系统都有所了解了 the Linux Kernel 3rd PLKA Professional Linux Kernel Architecture UML User Mode Linux Linux,我的兴趣,我的动力,我的方向,我的未来!

1.5K21

Linux内核学习经验总结

PLKA介于LKD3和ULK3之间。 另外,我认为很重要的一点就是PLKA针对的2.6.24的内核版本,而ULK是2.6.11,LKD3是2.6.34。在某些方面PLKA比较接近现代的实现。 《深入理解linux虚拟内存》(2.4内核版本),LDD3,《深入理解linux网络技术内幕》,几乎每一个子系统都需要一本书的容量去讲解,所以说,刚开始学习不宜对某个模块太过深入,等对各个子系统都有所了解了 参考书 LDD3          Linux Device Driver 3rd LKD3          Linux Kernel Development 3rd ULK3          Understanding the Linux Kernel 3rd PLKA          Professional Linux Kernel Architecture UML            User Mode Linux

58520
  • 广告
    关闭

    腾讯云+社区系列公开课上线啦!

    Vite学习指南,基于腾讯云Webify部署项目。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深度:一文看懂Linux内核!Linux内核架构和工作原理详解

    然后再看ULK3和PLKA上看同样的子系统,但是并不仔细分析底层具体函数的代码,只是粗略地、不求甚解地看,甚至不看。 PLKA介于LKD3和ULK3之间。 我觉得PLKA的作者(看照片,真一德国帅小伙,技术如此了得)肯定看过ULK,无论他的本意还是有意,总之PLKA还是跟ULK有所不同,对函数的仔细讲解都做补充说明,去掉函数体中边边角角的情况,比如一些特殊情况的处理 另外,我认为很重要的一点就是PLKA针对的2.6.24的内核版本,而ULK是2.6.11,LKD3是2.6.34。在某些方面PLKA比较接近现代的实现。 3rd PLKA Professional Linux Kernel Architecture UML User Mode Linux Intel V3 Intel?

    93221

    linux源码看socket的阻塞和非阻塞 顶

    linux源码看socket的阻塞和非阻塞 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 大部分高性能网络框架采用的是非阻塞模式。 笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本文源码均来自采用Linux-2.6.24内核版本。 >__sock_create 进一步分析__sock_create的代码判断: const struct net_proto_family *pf; // RCU(Read-Copy Update)是linux 注:上图来自PLKA(<<深入Linux内核架构>>) 紧接着跟踪next_rx_action next_rx_action |-process_backlog ...... 希望笔者这篇文章能帮助到阅读linux网络协议栈代码的人。

    1.1K20

    linux源码看socket的阻塞和非阻塞

    笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本文源码均来自采用Linux-2.6.24内核版本。 >__sock_create 进一步分析__sock_create的代码判断: const struct net_proto_family *pf; // RCU(Read-Copy Update)是linux 阻塞后什么时候恢复运行呢 情况1:有对应的网络数据到来 首先我们看下网络分组到来的内核路径,网卡发起中断后调用netif_rx将事件挂入CPU的等待队列,并唤起软中断(soft_irq),再通过linux 的软中断机制调用net_rx_action,如下图所示: 注:上图来自PLKA(<<深入Linux内核架构>>) 紧接着跟踪next_rx_action next_rx_action |-process_backlog 希望笔者这篇文章能帮助到阅读linux网络协议栈代码的人。

    44520

    linux源码看epoll

    linux源码看epoll 前言 在linux的高性能网络编程中,绕不开的就是epoll。 本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。 (注:由于是tcp socket,所以这边sock->ops=inet_stream_ops,这个初始化的过程在我的另一篇博客<<从linux源码看socket的阻塞和非阻塞>>中,博客地址如下: https 注:上图来自PLKA(<<深入Linux内核架构>>) step2: 紧接着跟踪next_rx_action next_rx_action |-process_backlog ...... 总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐^_^。

    1.8K41

    linux源码看epoll

    前言 在linux的高性能网络编程中,绕不开的就是epoll。和select、poll等系统调用相比,epoll在需要监视大量文件描述符并且其中只有少数活跃的时候,表现出无可比拟的优势。 本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。 那么,由accept获得的client_fd的结构如下图所示: (注:由于是tcp socket,所以这边sock->ops=inet_stream_ops,这个初始化的过程在我的另一篇博客<<从linux 的软中断机制调用net_rx_action,如下图所示: 注:上图来自PLKA(<<深入Linux内核架构>>) step2: 紧接着跟踪next_rx_action next_rx_action 总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐_。

    14620

    linux linux安装.net

    linux安装.net 下载.net https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.1.4-linux-x64-binaries 下载安装包后执行命令: dotnet-sdk-2.1.302-linux-x64.tar.gz  yum install libicu -y cd /root ln -s /data1/soft /data /soft tar zxvf dotnet-sdk-2.1.302-linux-x64.tar.gz -C /data1/soft/dotnet/ echo 'export DONET_ROOT=$PATH

    79310

    linux(一)之linux简介

    接下来给大家带来的是linux,大家听到这里linux感觉很神秘的样子,其实它也就是一个操作系统而已。 一、关于Unix、linux 1.1、Unix/Linux能做什么?     1.2、哪些人要学习Unix/Linux?      Unix/Linux管理员,oracle管理员,网络工程师,程序开发者等等。   1.3、Unix/Linux的发展史?       关于这个给大家推荐一个网址,觉得要装逼的可以点进去看一下:http://dwz.cn/6qU0LQ   1.4、为什么Unix/Linux能做服务器呢?      你如何选择系统? 四、Unix、Linux操作系统 ?   4.1、Kernel(内核)        管理硬件       管理内存:内存分配       管理进程:进程调度。        solaris操作系统的文件系统   /” 根目录是Linux/Unix文件系统的最顶级的目录。对于Unix系统来说该目录还用来存放系统的补丁文件。

    562100

    Linux知识--初始linux

    从今天开始陆续分享Linux的知识 因为服务器基本是Linux的 所以Linux不学明白  Shell命令不熟  会让你的办事效率大打折扣。 一。 Linux文件系统 Linux文件系统是从Unix结构严进过来的。总结一下Linux顶层虚拟目录及其文件内容。 ?

    30330

    Linux: linux 匿名管道

    相信很多在linux平台工作的童鞋, 都很熟悉管道符 '|', 通过它, 我们能够很灵活的将几种不同的命令协同起来完成一件任务.就好像下面的命令: echo 123 | awk '{print $0+123 EAGAIN 如果所有管道写端对应的文件描述符被关闭,则read返回0 如果所有管道读端对应的文件描述符被关闭,则write操作会产生信号SIGPIPE 当要写入的数据量不大于PIPE_BUF时,linux 当要写入的数据量大于PIPE_BUF时,linux将不再保证写入的原子性。

    96220

    Linux-Linux命令大全

    recode -l | more 显示所有允许的转换格式 文件系统分析 badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 fsck /dev/hda1 修复/检查hda1磁盘上linux hda1 修复/检查hda1磁盘上dos文件系统的完整性 初始化一个文件系统 mkfs /dev/hda1 在hda1分区创建一个文件系统 mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统 mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32

    17120

    linux

    :返回上层目录 例如:cd usr/local/qqshow 2. ls:查看目录下的文件、子目录列表 例如:ls –a ls命令是Linux系统使用频率最多的命令,它的参数也是Linux命令中最多的。 假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令: $ mkdir -m 777 tsk 6. useradd:添加linux用户,必须是root权限才能添加用户 8. more:文件内容分页显示 例如:cat test.txt |more 9. cat /proc/version:查看linux系统版本 10. ps:查看服务器资源情况 11. top:查看服务器资源情况 20. cat /proc/cpuinfo:查看linux系统cpu个数和详细信息

    73170

    Linux

    传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下:

    31000

    Linux

    Linux命令 ls命令:显示当前目录下文件 ls 是最常见的目录操作命令,主要作用是显示目录下的内容。这个命令的基本信息如下: 命令名称:ls。 英文原意:list。 所在路径:/bin/ls。 localhost ~]# mkdir -p lm/movie/jp/cangls 递归删除目录只能删除空目录如果目录里面有文件会提示错误 ---- stat命令:显示文件或文件系统的详细信息 在 Linux ,而不是复制源文件; -s:把目标文件建立为源文件的软链接文件,而不是复制源文件; -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间); -r:递归复制,用于复制目录; ---- Linux

    88620

    Linux

    Linux 不知道从什么时候接触到Linux,但是自从接触到Linux之后,感觉他的可玩性特别高,所以有一段时间一直用Linux。 因为他的发行版特别多,而且每一个都有自己的特色,我是一个爱折腾的人,一般折腾Linux的人比喻这种人就用“一台电脑装七个Linux发行版,让他们打架,一直把硬盘装满。” elementary DEEPIN 我先说一下我和DEEPIN的渊源,首先这个是我们中国人做的发行版,不得不说很优秀的发行版,我首先找到这个,因为他是中国人做的,尝试之后就无法自拔,因为很符合我的要求,可以说我对Linux Manjaro 为什么说这个系统,因为它的库,号称全世界最全的Linux库,刚开始以为他在吹牛逼。后来我服了,这是真的,它的滚动升级,这是一个双刃剑。 ELEMENTARY 这个是我见到的最美的Linux了,没有之一,据说是设计师主导的Linux发行版,界面简洁漂亮,基于Ubuntu,还不错,就是软件兼容性不是很好,我用的那时候还是4.01版本,现在官网已经是

    59910

    Linux

    本赛道主要考察选手对于公有云,私有云部署及使用的能力,参赛选手需根据需求完成公有云服务器申请与服务器对应服务的安装与部署。(注册步骤见下方附件)

    21410

    linux

    15310

    Linux

    device-mapper-persistent-data lvm2 5、设置yum源 $ sudo yum-config-manager --add-repo https://download.docker.com/linux yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    20310

    Linux

    /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账 号命名的。 /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 在底线命令模式中,基本的命令有(已经省略了冒号): - q 退出程序 - w 保存文件 磁盘管理 df :列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 挂载 Linux

    41420

    相关产品

    • TencentOS Server

      TencentOS Server

      腾讯服务器操作系统(TencentOS Server,TS)是腾讯云推出的Linux操作系统,它旨在为云上运行的应用程序提供稳定、安全和高性能的执行环境。它可以运行在腾讯云CVM全规格实例上,包括黑石2.0服务器。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券