首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

白话linux操作系统原理

虽然计算机相关专业,操作系统和计算机组成原理是必修课。但是大学时和真正从事相关专业工作之后,对于知识的认知自然会发生变化。还很有可能,一辈子呆在学校的老师们只是照本宣科,自己的理解也不深。...所以今天我站在真正排查解决问题时的需要层面,用白话说一说linux操作系统的那些知识。 本文整体采用的是类似递归调用的递进式结构。...linux内核的本质 简单来说如上图所示,咱们平时的应用程序或者linux命令要和操作系统打交道,都要经过一个叫做linux内核的软件。所有的硬件操作都需要通过他。就像古代女子出嫁,都要有媒人。...这个除了在目前多CPU架构下可以实现,之前单CPU下也可以实现。因为有时钟分片。如果没有插入优先级高的任务,cpu会在均匀的执行多项任务分片。...每个进程启动时,操作系统就会给它分配这三个标准的文件描述符。咱们平时用的console控制台就是通过读写这三个文件来实现滴。

3.7K10

国产操作系统Linux技术流派

图1 Linux发行版 如上图所示目前主流的Linux 发行版大体可以分为两类:一类是简称为RPM系,另一类是简称为DEB系。...Enterprise Linux依照开放源代码规定释出的源代码所编译而成。...Fedora 则是Redhat Enterprise Linux是的技术实验田,基本上是保持每半年发一个版本。 DEB 系是为Debian为代表,Debian是纯社区运作。...国产操作系统基本上是基于上述主流的Linux发行版而进行二次开发的而来。 目前国产操作系统代表有UOS,中标麒麟,银河麒麟。...国产操作系统的不同技术流派如下图所示(以龙芯为例,其他CPU平台也基本上一致): 图2国产Linux(龙芯平台)技术流派 参考链接: https://www.v2ex.com/t/554101 发布者

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

linux操作系统原理 linux系统基础教程

本篇文章系统的给大家讲述linux操作系统原理,这是一篇非常好的linux系统基础教程,我们总结了相关的全部精选内容,一起来学习下。...linux操作系统原理文字版 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事可能需要十几个人去共同去完成,年份大概是:1945-1955。...下面我们在看推荐几本关于linux操作系统原理的书 linux操作系统原理电子书 操作系统原理及应用(Linux) PDF扫描版[30MB] 深度探索Linux操作系统:系统构建和原理解析 pdf扫描版...[129MB] 操作系统原理LINUX篇 徐德民 pdf Linux内核注释 孙更新等 pdf扫描版(86M) linux操作系统视频内容 跟阿铭学Linux第二版最新版(附阿铭linux全套视频教程...)chm格式 linux系统挂载数据盘的方法(视频图文教程) 以上就是我们给大家整理的关于linux操作系统原理 linux系统基础教程的全部内容,希望我们整理的内容能够给你提供到帮助。

2.5K53

基于 Linux 0.11 讲解 Linux 操作系统的启动原理

不知道大家有没有产生过一个疑问:从给 Linux 服务器按下开机电源按钮后到启动成功的一段时间里,在这中间 Linux 操作系统都做了哪些事情?...在 Linux 服务器没有通电的时候,操作系统还只是躺在硬盘启动区中的一段程序,CPU 没有工作,内存也没有启动。但是在你按下开机键后,Linux 服务器内部就开始变得热闹了起来。...经过几十秒或者几分钟的等待,Linux 服务器就可以使用了。 但这中间操作系统都干了啥呢?我有一位朋友叫闪客,就是因为对这个问题的好奇,花了两年时间写了 50 多篇文章,并还总结成了一本书。...上面描述的这些都是操作系统的第 0 号内核线程处理的。在操作系统中,0号内核线程是所有进程祖先,是操作系统Linux在初始化阶段从无到有的第一个内核线程 接着最后会切换到用户态模式。...不过篇幅所限,不能把技术细节讲清楚。

29411

CDN实现原理_快照技术实现原理

在服务器端可以先对网页数据进行压缩,然后将压缩后的文件提供给访问用户,最后在用户浏览器端解压显示(但要衡量加解压时间) 第三章 内容缓存工作原理 有CDN前的网站服务技术 – 硬件扩展...从技术层面看,Web架构的精华有三处: – 超文本技术HTML实现信息与信息的连接; – 统一资源标志符URI实现全球信息的精确定位 – 应用层协议...在OSI七层协 议模型中的第二(数据链路层)、第三(网络层)、第四(传输层)、第七层(应用层)都有相应的负载均衡策略(算法),在数据链路层上实现负载均衡的原理是 根据数据包的目的MAC地址选择不同的路径...针对层次 优化技术 优化原理 传输发起端 原始数据优化 通过压缩、重复数据删除和字典等技术,可节省绝大多数传输数据量,节约带宽,提高服务器性能 数据缓存技术 将类HTTP的业务、图片、文字等缓存在本地...在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别: 用户提交域名→浏览器对域名进行解释→得到目的主机的IP地址→根据IP地址访问发出请求

1.3K40

操作系统原理:How Linux Works(三):Memory

Linux 内存的分类 Linux 内存的计算 Linux 进程的内存 Linux 应用内存分配 内存是计算机中与CPU进行沟通的桥梁,用于暂时存放CPU中的运算数据。...CPU 上搭载的硬件 MMU (Memory Management Unit)会参照物理-逻辑地址对应关系表实现对映射后物理地址上的数据访问。...扩展阅读:Linux 操作系统 《Linus Torvalds:Just for Fun》 Linux 常用命令一百条 Linux 性能诊断:负载评估 Linux 性能诊断:快速检查单(Netflix版...) Linux 性能诊断:荐书|《图解性能优化》 Linux 性能诊断:Web应用性能优化 操作系统原理 | How Linux Works(一):How the Linux Kernel Boots...操作系统原理 | How Linux Works(二):User Space & RAM 操作系统原理 | How Linux Works(三):Memory 推荐:电子书《Linux Perf Master

2K80

Linux操作系统原理—内核网络协议栈

前言 本文主要记录 Linux 内核网络协议栈的运行原理 数据报文的封装与分用 image.png 封装:当应用程序用 TCP 协议传送数据时,数据首先进入内核网络协议栈中,然后逐一通过 TCP/IP...image.png Linux 内核网络协议栈 协议栈的全景图 image.png 协议栈的分层结构 image.png image.png 逻辑抽象层级: 物理层:主要提供各种连接的物理设备,如各种网卡...这一层主要实现了各种网络协议,最主要的当然是 IP,ICMP,ARP,RARP,TCP,UDP 等。...该函数的实现在 net/inet/dev.c 中,采用了 bootom half 技术,该技术原理是将中断处理程序人为的分为两部分,上半部分是实时性要求较高的任务,后半部分可以稍后完成,这样就可以节省中断程序的处理时间...NOTE:在整个协议栈实现中 dev.c 文件的作用重大,它衔接了其下的硬件层和其上的网络协议层,可以称它为链路层模块,或者设备无关层的实现

3K00

Linux容器技术原理和使用

1.2 虚拟化vs容器 传统的虚拟化技术是通过硬件模拟或者操作系统软件实现,而容器技术可以比传统虚拟化更轻量级。...1.3 前世和今生 今生是docker大流行的时代,而前世就是早于1982年的chroot工具,以及后面经过改进并且现在还在使用的lxc技术。早期的docker的代码实现基于LXC(0.9之前)。...二、LXC(Linux容器)的两个重要概念 Linux容器功能是基于 cgroups 和 Namespace 来实现的....(CPU, 内存等等)情况在操作系统底层限制物理资源,起到 Container 的作用。...-y 然后再安装LXC相关的工具包,和创建容器所需要的模板lxc-templates yum install lxc lxc-templates -y 安装完使用lxc-checkconfig检查下操作系统对容器技术的支持

1.9K101

Linux:断点原理实现

T 状态意味着:(TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态,接下来就可以通过 GDB 实现各种调试的操作了。...我们这次也要实现类似的效果,不过只是一个超简化版本,只考虑:在指定的位置暂停,获得进程的控制权。...实现思路 实现的思路非常简单 1. 先确定我们要断点的地址 在 GDB 中,我们是习惯对 行号 或者 函数名 直接设置断点,行号相对来说比较复杂,我们先展示 函数名 的。...在 Linux 环境下编译出来的可执行文件都是遵循 ELF 格式,如果没有特殊处理,它会保留比较完整的 符号表。 就拿开头的程序来当例子,可以通过 readelf -s a.out 查看: ?.../trace_test 22346 # 本文开头的进程 总结 关于断点的原理网上有很多文章提到,但比较多也是蜻蜓点水一笔带过,意犹未尽,干脆直接用最浅显的例子降低大家练手 成本!

1.8K10

Linux操作系统IO机制原理(流程图详解)

我们之前的文章提到了操作系统的三个抽象,它们分别是进程、地址空间和文件,除此之外,操作系统还要控制所有的 I/O 设备。操作系统必须向设备发送命令,捕捉中断并处理错误。...它还应该在设备和操作系统的其余部分之间提供一个简单易用的接口。操作系统如何管理 I/O 是我们接下来的重点。 不同的人对 I/O 硬件的理解也不同。...我们着重探讨的是如何对硬件进行编程,而不是其工作原理。 一,I/O 设备 什么是 I/O 设备?I/O 设备又叫做输入/输出设备,它是人类用来和计算机进行通信的外部硬件。...为了简化,我们假设 CPU 通过单一的系统总线访问所有的设备和内存,该总线连接 CPU 、内存和 I/O 设备,如下图所示 现代操作系统实际更为复杂,但是原理是相同的。...为了解释 DMA 的工作原理,我们首先看一下不使用 DMA 该如何进行磁盘读取。 首先,控制器从磁盘驱动器串行地、一位一位的读一个块(一个或多个扇区),直到将整块信息放入控制器的内部缓冲区。

1K10

零拷贝技术原理以及实现

内核态和用户态 内核态:指的是操作系统层面的资源调度,例如内存分配,进程/线程管理调度,硬件驱动,io中断等等....操作系统会根据读取的文件,预存储到内核态内存中,因为硬盘效率非常慢,所以当有多次相同文件读取请求时,可以将文件数据从内核态缓存中直接复制到用户态内存中,节省文件操作 零拷贝技术就是避免cpu将数据从一块存储位置拷贝到另一块位置...,通过以下技术可以实现零拷贝: mmap mmap 可以将一个文件预加载到内核空间中,并于用户空间共享内存地址,这样就可以避免数据从内核态复制到用户态中,可节省一次拷贝.例如: #include <...,第一次拷贝 2:将内核空间的内存地址以及偏移量传输到socket缓冲区中 3:socket直接从内核空间读取数据 4:将内核空间的数据通过socket复制到网卡中,第二次拷贝  sendfile只能实现文件...关于select,epoll的优缺点说明 下一篇: 一致性哈希算法原理以及实现方案

64320

负载均衡原理技术实现

负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。...(1)LB Device接收内网用户流量 - (2)LB Device依次根据策略、持续性功能、就近性算法、调度算法进行链路选择 在Outbound链路负载均衡组网中,通常使用就近性算法或带宽调度算法实现流量分发...SSL是需要耗费大量CPU资源的一种安全技术,如果由后端的服务器来承担,则会消耗很大的处理能力。...由此实现用户业务资源的实时动态调整、业务资源优化调配。...随着云计算的发展,负载均衡的技术实现还将与云计算相结合,在虚拟化和NFV软件定义网关等方面持续发展。

2.7K31

WifiDisplay(Miracast)技术原理实现

WifiDisplay(Miracast)技术原理实现 文章目录 WifiDisplay(Miracast)技术原理实现 1. WifiDisplay简介 2....Miracast的Android实现涉及到系统的多个模块,包括: MediaPlayerService及相关模块:原因很明显,因为Miracast本身就牵扯到RTP/RTSP及相应的编解码技术。...WifiService及相关模块:WifiDisplay协议的实现建立在WifiP2P的基础上,其中涉及的Wifi技术包括WiFi-Direct(WiFi P2P)、Wi-Fi Protected Setup...图1 给出了WFD涉及的技术及协议框图,基于WifiP2P网络技术,利用RTSP作为音频及视频流控制协议,涉及了流媒体的传输、控制、加密、解密、编码及解码等技术流程。...WFD中涉及的技术层面比较多,相关的协议也比较多,包括了WIFI P2P技术、RTSP及RTP技术、流媒体技术以及音视频编解码相关的技术,如果要对WFD有比较深入的了解,还需要花费较多的时间去研究相关的技术细节

7.8K54

个推技术实现原理介绍

技术原理 首先我们来看一下组成一个推送系统的几个要素 1. 个推SDK: 以jar的方式出现,集成于第三方客户端,解析第三方下行的数据,并把结果透传给第三方客户端;也可以上行第三方定制的客户端信息。...与上面的例子相对应,我们再描述一遍整个推送过程的技术流程: 1. 第三方客户端集成个推SDK。 2....陷阱 初步看来,实现一个推送系统并不是特别复杂,然后实际上,尤其是针对Android移动终端来说,仍然有相当多的技术问题需要克服。...目前个推系统通过内核调优、代码优化、层级架构设计等技术手段,已经实现单击200w稳定在线,理论上支持无限平行扩展,并且经得起实践考验,正在在线上为超过千万的用户提供稳定的推送服务。...总结 本文简要介绍了个推系统的结构和消息推送流程,并对实践中必须解决的技术问题做了探讨。个推致力于实现Android系统上最稳定可靠的推送服务,并在相关技术参数上做到了极致。

2K70

Linux 直接IO 原理实现

对文件进行写操作时也一样,首先写入到缓存中,然后由操作系统同步到块设备(如磁盘)中。...直接I/O 实现 当调用 open() 系统调用时,在 flags 参数指定 O_DIRECT 标志即可使用 直接I/O。我们从 虚拟文件系统 开始跟踪 Linux 对 直接I/O 的处理过程。...当调用 open() 系统调用时,会触发调用 sys_open() 系统调用,我们先来看看 sys_open() 函数的实现: asmlinkage long sys_open(const char *...由于 generic_file_direct_IO() 函数的实现曲折迂回,所以下面主要分析重要部分: static ssize_t generic_file_direct_IO(int rw, struct...direct_IO() 函数,而 ext2_direct_IO() 函数只是简单的封装了 generic_direct_IO() 函数,所以我们来分析下 generic_direct_IO() 函数的实现

1.6K10

【图文详解系列】NIO 中的零拷贝实现原理Linux操作系统中的mmap

说白了,mmap的关键点是实现了用户空间和内核空间的数据直接交互而省去了空间不同数据不通的繁琐过程。因此mmap效率更高。 mmap 是什么?...mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。如下图所示: ?...实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。...相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。 ----

96630
领券