上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 100 下一页

2013年7月6日

UNIX环境高级编程——进程基本概述

摘要: 一、什么是进程从用户的角度来看进程是程序的一次执行过程。从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。进程是资源分配的最小单位。每一个进程都有自己独立的地址空间与执行状态。像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程。二、... 阅读全文

posted @ 2013-07-06 11:35 胡永光 阅读(134) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——进程控制

摘要: 一、进程标识符 ID为0的进程是调度进程,常常被称为交换进程。该进程是内核的一部分,它并不执行任何磁盘上的程序,因此也被称为系统进程。进程ID 1通常是init进程,在自举过程结束时由内核调用。init通常读与系统有关的初始化文件,并将系统引导到一个状态(例如多用户)。init进程决不会终... 阅读全文

posted @ 2013-07-06 11:25 胡永光 阅读(155) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——进程环境

摘要: 一、main函数 C程序总是从main函数开始。当内核执行C程序时,在调用main前先调用一个特殊的启动例程。可执行程序文件将此启动例程指定为程序的起始地址——这是由连接编译器设置的,而连接编译器则由C编译器调用(通常是cc)。启动例程从内核取得命令行参数和环境变量值。然后调用main函数... 阅读全文

posted @ 2013-07-06 09:44 胡永光 阅读(247) 评论(0) 推荐(0) 编辑

2013年7月5日

UNIX环境高级编程——时间和日期

摘要: 由UNIX内核提供的基本时间服务是计算自国际标准时间公元1970年1月1日00:00:00以来经过的秒数。这种秒数是以数据类型time_t表示。 1. time函数返回当前时间和日期:time_t time(time_t *calptr); 时间值总是作为函数返回。... 阅读全文

posted @ 2013-07-05 17:53 胡永光 阅读(153) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——Linux进程地址空间和虚拟内存

摘要: 一、虚拟内存分段机制:即分成代码段,数据段,堆栈段。每个内存段都与一个特权级相关联,即0~3,0具有最高特权级(内核),3则是最低特权级(用户),每当程序试图访问(权限又分为可读、可写和可执行)一个段时,当前特权级CPL就会与段的特权级进行比较,以确定是否有权限访问。每个特权级都有自己的程序栈,当... 阅读全文

posted @ 2013-07-05 17:19 胡永光 阅读(267) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——标准I/O库函数和Unbuffered I/O函数

摘要: 以写文件为例,C标准I/O库函数(printf(3) 、putchar(3) 、fputs(3) )与系统调用write(2) 的关 系如下图所示。 库函数与系统调用的层次关系open 、read 、write 、close 等系统函数称为无缓冲I/O(Unbuffered I/O)函数,因为它... 阅读全文

posted @ 2013-07-05 16:55 胡永光 阅读(109) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——标准I/O库缓冲区和内核缓冲区的区别

摘要: 1.C标准库的I/O缓冲区 UNIX的传统 是Everything is a file,键盘、显示器、串口、磁盘等设备在/dev 目录下都有一个特殊的设备文件与之对应,这些设备文件也可以像普通文件(保存在磁盘上的文件)一样打开、读、写和关闭,使用的函数接口是相同的。用户程序调用C标... 阅读全文

posted @ 2013-07-05 13:21 胡永光 阅读(126) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——标准I/O库

摘要: 对一个进程预定义了三个流,并且这三个流可以自动的被进程使用,它们是:标准输入、标准输出、和标准错误。 标准I/O库提供缓冲的目的是尽可能减少使用read和write的次数。 标准I/O库提供了三种类型的缓冲:(1)全缓冲:在填满标准I/O缓冲区后进行实际I/O操作。对于驻留在磁... 阅读全文

posted @ 2013-07-05 12:09 胡永光 阅读(133) 评论(0) 推荐(0) 编辑

2013年7月4日

UNIX环境高级编程——文件和目录

摘要: 一、获取文件/目录的属性信息int stat(const char *path, struct stat *buf);int fstat(int fd, struct stat *buf);int lstat(const char *path, struct stat *buf);struct s... 阅读全文

posted @ 2013-07-04 18:28 胡永光 阅读(163) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——文件I/O

摘要: 一、文件描述符对于Linux而言,所有对设备或文件的操作都是通过文件描述符进行的。当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数)。后续对文件的操作只需通过该文件描述符,内核记录有关这个打开文件的信息(file结构体)。一个进程启动时,默认打开了3个文件,标准输入、标准输出、... 阅读全文

posted @ 2013-07-04 12:53 胡永光 阅读(130) 评论(0) 推荐(0) 编辑

上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 100 下一页

导航