排序:
默认
按更新时间
按访问量
RSS订阅

linux 磁盘资源管理以及IO

柱面:Cylinder :一个环形磁道的面Cylinder =Track,早期的磁盘一个面上有1024个磁柱面;现在磁盘(服务器上的磁盘)做的很大,一个磁面上可以达到十几万的柱面数。 磁道:Track : 一个柱面上存储的圆形轨道,也是的磁刀读取的轨道。 扇区:Sector :一个磁道的最小存...

2018-08-15 17:51:22

阅读数 241

评论数 0

每个程序员都应该了解的内存知识【第一部分】

[编辑的话: Ulrich Drepper最近问我们,是不是有兴趣发表一篇他写的内存方面的长文。我们不用看太多就已经知道,LWN的读者们会喜欢这篇文章的。内存的使用常常是软件性能的决定性因子,而如何避免内存瓶颈的好文章却不好找。这篇文章应该会有所帮助。他的原文很长,超过100页。我们把它分成了7篇...

2018-07-02 17:05:42

阅读数 94

评论数 0

产生线程安全的原因(4)(操作系统)

3.4 指令缓存其实,不光处理器使用的数据被缓存,它们执行的指令也是被缓存的。只不过,指令缓存的问题相对来说要少得多,因为:执行的代码量取决于代码大小。而代码大小通常取决于问题复杂度。问题复杂度则是固定的。程序的数据处理逻辑是程序员设计的,而程序的指令却是编译器生成的。编译器的作者知道如何生成优良...

2018-07-02 16:36:12

阅读数 88

评论数 0

产生线程安全的原因(3)(操作系统)

3.3.3 写入时的行为在我们开始研究多个线程或进程同时使用相同内存之前,先来看一下缓存实现的一些细节。我们要求缓存是一致的,而且这种一致性必须对用户级代码完全透明。而内核代码则有所不同,它有时候需要对缓存进行转储(flush)。这意味着,如果对缓存线进行了修改,那么在这个时间点之后,系统的结果应...

2018-07-02 16:29:18

阅读数 63

评论数 0

产生线程安全的原因(2)(操作系统)

3.3.2 Cache的性能测试用于测试程序的数据可以模拟一个任意大小的工作集:包括读、写访问,随机、连续访问。在图3.4中我们可以看到,程序为工作集创建了一个与其大小和元素类型相同的数组:struct l { struct l *n; long int pad[NPAD]; };n字段将...

2018-07-02 16:20:36

阅读数 52

评论数 0

产生线程安全的原因(1)(操作系统)

所有线程共享主内存每个线程有自己的工作内存refreshing local memory to/from main memory must  comply to JMM rules产生线程安全的原因线程的working memory是cpu的寄存器和高速缓存的抽象描述:现在的计算机,cpu在计算的...

2018-06-29 20:41:45

阅读数 229

评论数 0

linux redhat 6.3: /lib/libz.so.1: no version information available

linux gradle android 构建报错日志:

2018-06-28 20:15:33

阅读数 996

评论数 1

linux中yum与rpm区别

原文地址:https://blog.csdn.net/ziyun_xiaoyan/article/details/54341823一、源代码形式1.      绝大多数开源软件都是直接以原码形式发布的2.      源代码一般会被打成.tar.gz的归档压缩文件3.      源代码需要编译成为二...

2018-06-28 14:55:10

阅读数 344

评论数 0

linux android gradle构建机器 error while loading shared libraries: libz.so.1: cannot open shared object

原因:64位 linux 机器缺少32位lib相关的支持库如果yum 服务器上有 相关的库最好使用 yum 安装,其他 博客上使用 apt-file 安装。查看libz.so.1属于 glic 库包glibc.i686 2.12-1.166.el6_7.7 ...

2018-06-27 21:24:44

阅读数 593

评论数 0

linux 系统安装 升级glibc库2.14

首先要下载 rpm安装文件,使用rpm安装方式如果直接下载 tar.gz压缩包,解压ln -s -f /opt/glibc-2.14/lib/libc.so.6 /lib64/libc.so.6    ##强制创建软连接会把内核系统glibc 引用覆盖掉,导致内核出现问题所以不建议上述创建软连接的...

2018-06-14 17:15:49

阅读数 2334

评论数 3

解决strings: '/lib/libc.so.6': No such file

[root@uranuspreapp30 opt]# strings /lib64/libc.so.6 | grep GLIBC |tail -n 8 strings: '/lib64/libc.so.6': No such file [root@uranuspreapp30 opt]# 首先...

2018-06-13 19:58:21

阅读数 994

评论数 0

APR 以及linux安装apr 库目的

APR(Apache portable Run-time libraries,Apache可移植运行库),主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。那...

2018-06-12 11:35:13

阅读数 1057

评论数 0

通过零拷贝实现高效的数据传输(操作系统)

许多Web应用程序提供大量静态内容,这相当于从磁盘读取数据并将完全相同的数据写回到响应套接字。此活动似乎只需要相对较少的CPU活动,但效率有点低下:内核从磁盘读取数据并将其跨越内核用户边界推送到应用程序,然后应用程序将其推回到内核用户边界写出到插座。实际上,应用程序作为一个低效的媒介,将数据从磁盘...

2018-04-12 22:38:20

阅读数 185

评论数 0

用户态和内核态的区别

内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序。 用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。 为什么要有用户态和内核态? 由于需要限制不同的程序之间的访问能力...

2017-12-11 20:55:24

阅读数 168

评论数 0

http并发,操作系统如何识别对应的进程,线程请求

系统识别哪一个进程中的哪一个线程发送的http请求,这个是由网络协议中的四元组(目的端口,ip和源端口,ip).线程都是向web服务器80 端口发送请求,但是源端口的分配是由系统自动分配,一旦分配成功之后,就会三次握手(基于tcp协议),建立网络通道。那么其他线程只能等待这个请求数据接收成功之后,...

2017-05-20 15:19:57

阅读数 906

评论数 0

操作系统线程互斥,锁死机制的简单介绍

用户线程的切换,是内核决定,由调度器分配时间片调度到内核空间,转换成内核线程,然后指令重排序交给CPU.CPU没有执行过程中的中断时间,是不断的在运行,只是调度器提前将线程调度好,将多个线程的指令排好交给CPU。那么这种混合插入就是我们上层理解的线程调度。对CPU而言,所有的线程都是 串行的。 对...

2017-05-18 11:39:33

阅读数 457

评论数 0

说说Java中原子性,可见性与指令重排序的理解

原子性:就是读数据,处理数据,写数据 这三个步骤不能被终止,或者打断;就是不能被线程调度器中断,切换线程。 这样,才能保证,原子操作在切成切换,并行处理上保证数据地顺序累加处理。 可见性:是Jvm较为突出的概念,其每一个线程有自己的工作内存空间,当某一个线程读取了主内存的数据,那么会通知其他线...

2017-05-02 11:39:18

阅读数 439

评论数 0

说说I/O与IPC

程间通信IPC,也就是Inter-Process Communication的缩写。一个进程其实就是一个狭义上的程序。 广义上:一个服务器也就是一个进程。比如客户端和服务器的连接就是两个进程在通信,只是这两个进程并不在同一台计算机上,它们进程间的通信方式就是我们非常熟悉的sockt接口,更下层...

2017-05-01 15:14:06

阅读数 239

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭