相关内容

Linux并发与同步
典型的unix系统都支持一个进程创建多个线程(thread)。 在linux进程基础中提到,linux以进程为单位组织操作,linux中的线程也都基于进程。 尽管实现方式有异于其它的unix系统,但linux的多线程在逻辑和使用上与真正的多线程并没有差别。 多线程我们先来看一下什么是多线程。 在linux从程序到进程中,我们看到了一个...

Linux内核同步机制之(二):Per-CPU变量
作者:郭健出处:wowotech前文:linux内核同步机制之(一):原子操作一、源由:为何引入per-cpu变量? 1、lock bus带来的性能问题在arm平台上,armv6之前,swp和swpb指令被用来支持对shared memory的访问:? rn中保存了swp指令要操作的内存地址,通过该指令可以将rn指定的内存数据加载到rt寄存器,同时将rt2寄存器中...
linux机制
reno算法在拥塞避免阶段仍然是线性递增的,而cubic源于bic算法,在拥塞避免阶段采用二分法查找最佳拥塞窗口,相比线性增加又增加了速率。 下图来自该paper...linux实现了大量qdisc来满足各个qdisc对应的的报文队列和行为。 该接口允许qdisc可以在没有ip栈和nic驱动修改的前提下实现队列管理。 默认情况下,每个...
Linux多线程编程(不限Linux)
线程?为什么有了进程还需要线程呢,他们有什么区别? 使用线程有什么优势呢? 还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文...s=45051 linux多线程编程http:www.makeru.com.cncoursedetails1937? s=45051 循环链表及线性表的应用http:www.makeru.com.cncoursedetails1902?...
Linux基础知识3
例如更改日期为2000年5月6日7点8分9秒 date050607082000.9linux有2种时钟系统时间:用date查看硬件时钟:用hwclock查看hwclock-s以硬件为准同步系统时钟-w...l设备文件c为字符设备(线性设备) b为块设备(随机设备) 命名管道p pipe套接字文件sunix sock文件文件内容的类型:可用 #file pathtosomefile来查看...
Linux中的磁盘管理
并口指一根线缆上可以用于接多块设备的接口,数据传输有n根线并行传输,主要有ide接口和scsi接口。 ide接口的理论速率可达133mbs,多个并行线缆之间需要进行调控,干扰大,所以传输速率较慢,ide接口一根线缆可以接两块设备,一个主设备,一个从设备。 scsi接口分为宽带和窄带,宽带可以接(16-1)个设备,窄带可以接...

Linux 内存管理初探
转自 | linux 内核之旅 作者 | 郑剑linux 内存是后台开发人员,需要深入了解的计算机资源。 合理的使用内存,有助于提升机器的性能和稳定性。 本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。 从内存的原理和结构,到...

linux 内存管理初探
一个是分段部件,一个是分页部件 分段机制把一个逻辑地址转换为线性地址分页机制把一个线性地址转换为物理地址 4、内存地址——分段机制 1)段选择符为了方便快速检索段选择符,处理器提供了 6 个分段寄存器来缓存段选择符,它们是:cs,ss,ds,es,fs 和 gs 段的基地址(base address):在线性地址空间中段的起始地址 段...
Linux同步机制(二) - 条件变量,信号量,文件锁,栅栏
在 linuxthreads的实现中,条件变量不联结资源,除检查有没有等待的线程外,pthread_cond_destroy实际上什么也不做。 3. 取消 pthread_cond_wait 和 pthread_cond_timedwait是取消点。 如果一个线程在这些函数上挂起时被取消,线程立即继续执行,然后再次对 pthread_cond_wait和 pthread_cond_timedwait在 mutex参数...
Linux Btrfs 文件系统
而人们希望无论磁盘容量如何增加,元数据不应该随之线性增加,这样的设计才具有可扩展性。 下图比较了block和extent的区别: ? 在ext23中,10个block需要10个bit来表示,在btrfs中则只需要一个元数据。 对于大文件,extent表现出了更加优异的管理性能。 extent是btrfs管理磁盘空间的最小单位,由extent tree管理...
海量的超赞 Linux 软件
gparted - ubuntulinux 磁盘分区工具。 ?gradio - ubuntu linux 无线电广播软件。? handbrake - 视频转换工具。 ? imagemagik - imagemagick 是一套图片修改和处理的命令行工具。 ? indicator-sysmonitor - 一款可显示 cpu 温度,内存,网速,cpu 使用率,公网 ip 地址以及联网状态的应用指示器。 ?keepassx - 跨平台...
Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)
而因为每个进程首先都是从核心态开始执行(在调度期间控制权传递给新进程),在返回用户空间时, 会使用内核栈上保存的值自动恢复寄存器数据. 另外需要注意, 内核线程没有自身的用户空间上下文, 其task_struct->mm为null,参见linux内核线程kernel thread详解–linux进程的管理与调度(十),从当前进程”借来”的地址空间...
awesome-linux-software-cn
hugin - 一个基于 panorama 工具的易用跨平台全景图片工具链。 inkscape - 一个为你准备的强大免费的设计工具,无论你是一位插画家、设计师、web 设计师或者只是一个需要创建矢量图的人。 karbon - 开源向量绘制程序。 open-source softwarekdenlive - kdenlive 是一款非线性(non-linear)视频编辑器,它比初级的...

Linux 内存相关问题汇总
这篇文章是对 linux 内存相关问题的集合,工作中会有很大的帮助。 关注公号的朋友应该知道之前我写过从内核态到用户态 linux 内存管理相关的基础文章,在阅读前最好浏览下,链接如下:cpu是如何访问内存的? 物理地址和虚拟地址的分布 linux内核内存管理算法buddy和slablinux用户态进程的内存管理linux 内存是后台...
Linux 内存相关问题汇总
这篇文章是对 linux 内存相关问题的集合,工作中会有很大的帮助。 关注公号的朋友应该知道之前我写过从内核态到用户态 linux 内存管理相关的基础文章,在阅读前最好浏览下,链接如下:cpu是如何访问内存的? 物理地址和虚拟地址的分布 linux内核内存管理算法buddy和slablinux用户态进程的内存管理linux 内存是后台...
Linux操作系统基础知识学习
为什么把设备分为“块设备”和“字符设备”两大类? a: 1)linux将设备看成文件,具有三方面的含义:第一,每个设备都对应一个文件名,在内核中也就对应一个索引节点; 第二,对文件操作的系统调用大都适用于设备文件; 第三,从应用程序的角度看,设备文件的逻辑空间是一个线性空间; 对于同一个具体的设备而言...

Linux pwn入门学习到放弃
通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。 如今linux、freebsd、windows等主流操作系统都已采用了该技术。 此技术需要操作系统和软件相配合。 aslr在linux中使用此技术后,杀死某程序后重新开启,地址就会会改变在...

嵌入式Linux的网络连接管理
连接管理器(connman)是一个连接管理守护进程 ,用于管理运行 linux 操作系统中设备的互联网连接。 它以快速、连贯、同步的方式对不断变化的网络条件提供了低内存消耗。 connman拥有各种插件, 是一个完全模块化的系统, 可以扩展支持各种有线或无线技术,允许对各种用例进行简单的适配和修改。 例如dhcp 和dns 这样的...
Linux学习笔记之Linux磁盘及文件系统管理笔记
linux磁盘及文件系统管理 cpu,memory(ram),io io: disks,ehtercard disks:持久存储数据 接口类型: ide(ata): 并口,133mbs; 并行总线,双向四车道; 并行数据容易产生干扰,导致数据损坏重传,因此效率低; 并行越高,干扰频率越高 scsi:并口,ultrascsi320,320mbs,ultrascsi640,640mbs; scsi的费用更高; sata: 串口,6gbps; ...

Linux笔记
linux 是一套免费使用和自由传播的类 unix 操作系统,是一个基于 posix(可移植操作系统接口) 和 unix的多用户、多任务、支持多线程和多 cpu 的操作系统。 linux 能运行主要的 unix 工具软件、应用程序和网络协议。 它支持 32 位和 64 位硬件。 linux 继承了 unix 以网络为核心的设计思想,是一个性能稳定的多用户...