APUE 学习笔记(一) Unix基础知识

1. Unix 体系结构

内核的接口被称为系统调用

公用函数库构建在系统调用接口之上

应用软件既可以调用公用函数库,也可以直接进行系统调用

2. 文件和目录

目录操作函数:opendir---> readdir---> closedir

struct dirent 结构体

stat 系统调用

3.程序、进程、线程

程序:存放在磁盘上、并处于某个目录中的一个可执行文件。使用exec系列函数将程序从磁盘读入存储器,并使其执行

进程:程序的执行实体。进程控制的3个函数:fork、exec、waitpid

线程:在一个进程内的所有线程共享同一地址空间、文件描述符、栈以及与进程相关的属性,访问共享数据时必须采取同步措施

4.信号

信号是通知进程已发生某种情况的一种技术。进程处理信号:

(1)忽略该信号

(2)按照系统默认方式处理,比如对除数为0,系统默认方式是终止该进程

(3)提供一个函数,信号发生时则调用该函数捕捉信号

5.时间值

时钟时间:挂钟时间,进程运行的时间总量,其值与系统中同时运行的进程数有关

用户CPU时间:执行用户指令所用的时间

系统CPU时间:为该进程执行内核程序所经历的时间

要取得进程的执行时间,只要执行 time 命令即可

6.系统调用与库函数

应用程序、malloc函数以及sbrk系统调用之间的关系

系统调用通常提供一种最小接口,而库函数通常提供比较复杂的功能

APUE 学习笔记(一) Unix基础知识,布布扣,bubuko.com

时间: 2024-12-03 05:57:35

APUE 学习笔记(一) Unix基础知识的相关文章

学习笔记-《Linux基础知识之挂载详解(mount,umount及开机自动挂载)》

<Linux基础知识之挂载详解(mount,umount及开机自动挂载)>来源:Linux社区  作者:chawan 原文链接 http://www.linuxidc.com/Linux/2016-08/134666.htm 以下是学习作者这篇文章做的一些摘要及学习体会. 重要概念(经典原文引述) 挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载",此目录即为"挂载点

【 学习笔记 】memcached基础知识

源地址:http://kb.cnblogs.com/page/42731/ 仔细学习了下,以下是记录的笔记备忘内容. 一.memcached是什么?    memcached是高性能的分布式内存缓存服务器.    一般使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度.提高可扩展性 memcached的特征:        1. 协议简单        2. 基于libevent的事件处理        3. 内置内存存储方式        4. memcache

APUE(1)----UNIX基础知识

一.UNIX体系结构 所有操作系统都为他们所运行的程序提供服务,典型的服务包括:执行新程序.打开文件.读文件.分配存储区等.严格意义上来说,操作系统可以定义为一种软件,它控制计算机硬件资源,提供程序运行环境.我们也将这种软件成为内核,因为它相对较小,并且位于环境的核心.内核的接口被称为系统调用.公共函数库构建在之上,普通的应用程序可以调用系统调用,也可以调用公共函数库.shell是一个特殊的应用程序,位运行其他应用程序提供了一个接口. 二.文件和目录 1.文件系统 UNXI文件系统是目录和文件的

libevent学习笔记 一、基础知识

欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46485705 一.libevent是什么 libevent是一个轻量级的开源的高性能的事件触发的网络库,适用于windows.linux.bsd等多种平台,内部使用select.epoll.kqueue等系统调用管理事件机制. 它被众多的开源项目使用,例如大名鼎鼎的memcached等. 特点: 事件驱动,高性能; 轻量级,专注于网络(相对于ACE); 开放源码

APUE学习笔记——11 线程基础

线程标识 线程由线程号进行标识.线程号仅在线程所属的进程环境中有效.也就是说属于不同进程的两个线程可能线程号一样. 线程标识用结构体pthread_t tid表示.与线程Id相关的函数如下: 比较两个线程ID: #include <pthread.h> int pthread_equal(pthread_t tid1,pthread_t tid2); Returns: nonzero if equal, 0 otherwise 获取自身线程ID: #include <pthread.h&

【学习笔记】Linux基础知识

Linux的基本原则 1.由目的单一的小程序组成:组合小程序完成复杂任务: 2.一切皆为文件: 3.尽量避免捕获用户接口: 4.配置文件保存为纯文本格式: GUI接口: CLI接口: 命令提示符:prompt,bash(shell) #:root $:普通用户 命令: 命令格式: 命令 选项 参数 选项: 短选项:- 多个选项可以组合:-a -b = -ab 长选项:-- 参数:命令的作用对象(多个参数间用空格隔开) 使用凭证: linux系统严格区分大小写 虚拟终端(terminal):Ctr

Spring基础学习笔记-Bean的基础知识

一. Bean的定义,初始化,使用和销毁 二.ref指定依赖的三种模式 三.Bean的五种自动装配模式(autowire) 四.Bean依赖检查的4种模式:配合atuowire使用,dependency-check="" 五.集合的注入方式 六.管理Bean config.xml文件<!--Bean的配置文档--><!--首先定义为XML的方式来存储Bean的配置--><?xml version="1.0" encoding="

Java学习笔记一(基础知识)

1  java基本概念 JDK  java  develop Kit   Java开发环境,三种版本J2SE(主要用与桌面和小程序的开发).J2EE(主要用户企业级的开发).J2ME(主要用于手持设备的开发) Jre  Java run environment Java运行环境, 2 java的基本特点 1)简单:java的编程风格类似C++.除去C++中容易产生错误指针,结构,枚举等.封装了很多类库. 2)面向对象的:完全面向对象的,支持继承.重载.多态等机制 3)健壮性:检查程序在编译或者运

Redis学习笔记之入门基础知识——其他特性

1.订阅(subscribe)与发布(publish) 用户订阅某一个频道,频道发布新的信息时,会将信息告知用户 2.数据安全 1)     快照持久化(时间点转储,实质是数据副本) 操作:SAVA.BGSAVE(后台子进程SAVE) 功能:服务器会保存最近一次完成创建的快照的数据,注意,在创建快照的过程中的操作不会保存在快照中 SAVE seconds times:从上一次快照创建完成到seconds秒的时间内,如果有times次写入,那么会在seconds秒后执行一次BGSAVE,将数据写入