Fundamental Basic
文章平均质量分 89
_猪头饼_
码农,关注大数据、分布式计算
展开
-
读书笔记-APUE第三版-(3)Unbuffered I/O
UNIX系统的大部分文件I/O操作都可以通过以下五个方法实现:open、read、write、lseek和close。这些方法被称之为Unbuffered的原因是它们直接执行系统调用。文件描述符文件描述符代表被打开的文件。进程的标准输出文件、标准输入文件和标准错误文件分别对应文件描述符0、1和2。常用函数 I/O效率使用read/write进行文件读写操作。#原创 2014-04-23 17:44:12 · 1182 阅读 · 0 评论 -
Java内存管理实战
Java内存管理实战Java内存管理实战感谢Hadoop系,最近项目中Java用得越来越多,兄弟们开发起来糙快猛很爽,但一到性能测试阶段,数据量&并发一上去,系统响应各种变慢、线程死锁hung住甚至直接崩溃。赶紧补补课,理论指导实践解决问题。原创 2015-09-14 21:00:28 · 1290 阅读 · 1 评论 -
读书笔记-APUE第三版-(11)线程
Pthreads即POSIX标准线程。线程共享进程资源,包括程序text正文段,进程的全局变量、堆、栈和文件描述符等。在一个进程内,线程由代表可执行上下文的必要信息组成:线程ID,一系列寄存器值,栈,调度优先级,信号掩码等。线程ID线程ID只在同一进程内具有唯一性。线程ID用pthread_t数据类型表示,Linux实际为无符号长整型,而Mac OSX用的是指向pthread结构体的指针,所以比较线原创 2015-08-12 21:29:04 · 889 阅读 · 0 评论 -
读书笔记-APUE第三版-(10)信号
读书笔记-APUE第三版-(10)信号信号概念信号是一种软件中断,用于提供异步事件处理机制。以下情形会产生信号:终端键盘输入,比如Ctrl+c(SIGINT)。硬件异常,比如除零&浮点数溢出(SIGFPE),非法内存引用(SIGSEGV)等。硬件探测到异常后通知内核,内核向应用进程发送信号。kill函数或者kill命令给指定进程/进程组发送各种信号(不局限于杀死进程);abort函数发送SIG原创 2015-08-12 18:32:15 · 837 阅读 · 0 评论 -
读书笔记-APUE第三版-(9)进程关系
登录过程终端登录如上图,init从/etc/ttys中读取终端信息,对每个允许登录的终端,都fork子进程,并执行getty。getty打开终端设备,执行login:execle(“/bin/login,“login”, “-p”, username, (char *)0, envp) 如上图,login进行用户名密码验证,同时还会进行切换到用户主目录/修改原创 2015-07-30 21:15:30 · 1243 阅读 · 0 评论 -
读书笔记-APUE第三版-(1)UNIX系统概述
读书笔记-APUE 3rd-(1)UNIX系统概述第三版VS第二版1. 覆盖的UNIX(类UNIX)操作系统升级为:FREEBSD 8.0/Linux 3.2.0/Apple Mac OS X 10.6.8/Solaris 102. 删除了在POSIX.1标准中逐步废弃的STREAMS相关内容UNIX操作系统架构 基础概念1.原创 2014-04-21 16:27:46 · 1314 阅读 · 0 评论 -
读书笔记-APUE第三版-(7)进程环境
本章关注单进程运行环境:启动&终止、参数传递和内存布局等。进程启动终止如图所示:启动:内核通过exec函数执行程序,在main函数运行之前,会调用启动例程(start-up routine),取得命令行参数和环境变量。可以把启动例程理解为exit(main(argc,argv))。终止:五种正常终止方式(从main方法返回/exit/_exit/最后一个线程返回/最原创 2014-05-06 13:24:43 · 1898 阅读 · 0 评论 -
读书笔记-APUE第三版-(5)标准IO库
ISO C标准I/O库使用流的概念读写文件。流是对数据传输的抽象,可以把流理解为从起点到终点间的字节序列。标准I/O库通过维护进程空间内的缓冲区,减少read/write系统调用次数来提高I/O效率。之前介绍的Unbuffered I/O和文件描述符fd打交道,标准I/O则使用FILE指针。typedef struct{ short level;/*缓冲区满程度*/ uns原创 2014-05-04 21:24:48 · 1296 阅读 · 0 评论 -
读书笔记-APUE第三版-(2)UNIX标准和实现
UNIX标准ISO CISO C是C语言标准,目的是增强C语言程序在各种系统间的移植性,不局限于UNIX。C标准已经更新到2011版,目前系统实现才勉强追上C99标准。(ANSI C对应C89标准)IEEE POSIXPOSIX代表Portable OperatingSystem Interface,由IEEE制定,目的是标准化各种UNIX操作系统接口。The Single U原创 2014-04-22 17:41:01 · 1169 阅读 · 0 评论 -
读书笔记-APUE第三版-(4)文件和目录
stat函数返回文件信息,本章内容围绕存储在stat结构体中的各种文件属性展开。(注:ls -l会调用stat函数,显示文件相关信息。)struct stat { mode_t st_mode; /* file type & mode (permissions) 文件类型&权限*/ ino_t st_ino; /* i-node number (serial number)原创 2014-04-25 17:38:30 · 1798 阅读 · 0 评论 -
读书笔记-APUE第三版-(6)系统数据文件和信息
常见系统数据文件下表列出了常见的系统数据文件及其查找函数。以/etc/passwd文件为例,读取数据的程序框架如下:void get_pw_entry(){ struct passwd *ptr; setpwent(); while ((ptr = getpwent()) != 0) { …… } endpwe原创 2014-05-05 20:25:11 · 1552 阅读 · 0 评论 -
读书笔记-APUE第三版-(8)进程控制
进程ID每个进程都有一个唯一的进程ID。几个特殊进程:0号进程是内核进程,通常是调度进程swapper。1号进程init,是用户进程(以root权限运行/sbin/init),负责初始化几个重要函数:getpid(进程ID)/getppid(父进程ID)/getuid(进程真实用户ID)/geteuid(进程有效用户ID)/getgid(进程真实用户组ID)/getegid(进程有原创 2014-05-07 21:44:56 · 1540 阅读 · 0 评论 -
Java自定义类加载器实战
在项目Q中,使用Mesos进行资源隔离和任务调度。调度的任务类型包括一些Hadoop相关任务,在某次升级Hadoop集群之后,这些任务出错,跟踪日志发现是Mesos和Hadoop依赖的Protobuf版本出现了冲突,升级或降级Protobuf都不能解决问题。同时,在另外一个负责数据传输的项目D中,随着数据传输场景的多样化,原创 2015-09-16 17:46:26 · 2114 阅读 · 0 评论