UNIX学习笔记(1)

应该之后开始每天记录一点,不然这些笔记过段时间都不知道放哪了。

  1. fork 和vfork 的区别在于vfork子进程共享父进程地址空间,子进程先执行,这意味着变量是共享的,子进程一边改变,父进程的变量的值也会受到影响。

  2. 俩进程在写同一个文件如果使用open(O_APPEND),write的系统调用的时候,父进程和子进程的调用次序不一定,写入文件中是交替的(但不会覆盖),如果使用的是fopen(“ab”),fwrite的c库函数的时候,父进程和子进程依旧调用次序不一定,但写入文件中如果数据较小,未出现交替现象,数据大起来到4096字节的时候交替给另一个进程写入。
    但如果是open()+lseek(END)则会产生覆盖现象

  3. 、strtok_r函数
    strtok_r函数是linux下分割字符串的安全函数,函数声明如下:
    char *strtok_r(char *str, const char *delim, char **saveptr);
    该函数也会破坏带分解字符串的完整性,但是其将剩余的字符串保存在saveptr变量中,保证了安全性。

  4. 当描述符0和f d共享同一文件表项 。例如,若描述符 0被只读打开,那么我们也只对 f d进
    行读操作。即使系统忽略打开方式,并且下列调用成功:
    fd = open("/dev/fd/0", O_RDWR);
    我们仍然不能对f d进行写操作。

  5. 指定了O_APPEND打开文件,使用lseek到文件任意一个位置写都没有用,全会写到文件末尾。open(O_APPEND )=open()+lseek(fd,0,SEK_END)的原子操作。open(O_APPEND)需要指定O_WRONLY或者O_

第一章UNIX操作系统概述 1983年AT&T发布UNIX System V,系统功能已经趋于稳定和完善,现在最后版本为System V Release 4 代表性UNIX版本: 1.System V Release 4 (SVRV) 小型机上、大型机上使用。 2.加州大学伯克利分校的BSD(Berkeley)版本,主要用于工程设计和科学计算;主要在小型 机上、大型机上使用。 3.Microsoft和SCO公司开发的SCO XENIX SCO UNIX和OpenServer等,主要应用在基于 Intel x86体系结构的系统上。 4.开放源代码的Linux,UNIX的体系结构加MS Windows形式的图形用户界面,主要应用 在基于Intel x86体系结构的系统上。 Unix系统特征: 1.可移植性强--Unix操作系统大量代码为C语言编写,C语言具有跨平台的特性。 2.多用户、多任务的分时操作系统--人机间实时交互数据;多个用户可同时使用一台主机; 每个用户可同时执行多个任务。 3.软件复用--每个程序模块完成单一的功能;程序模块可按需任意组合;较高的系统和应 用开发效率。 4.与设备独立的输入/输出操作--打印机、终端视为文件;输入/输出操作与设备独立。 5.界面方便高效--内部:系统调用丰富高效;外部:shell 命令灵活方便可编程;应用: GUI清晰直观功能强大。 6.安全机制完善--口令、权限、加密等措施完善;抗病毒结构、误操作的局限和自动恢复 功能。 7.多国语言支持--支持全世界现有的几十种主要语言。 8.网络和资源共享--内部:多进程结构易于资源共享;外部:支持多种网络协议。 9.系统工具和系统服务--100 多个系统工具(即命令),完成各种功能;系统服务用于系统 管理和维护。 Unix操作系统的组成:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>