#百度基础架构技术发展之路

UNIX/Linux网络编程基础:图解TCP/IP协议栈

目录1、主机到网络层协议:以太网协议2、IP协议3、网际控制报文协议(ICMP)4、传输控制协议(TCP)5、用户数据报文协议(UDP)6、流控制传输协议(SCTP)7、地址解析协议(ARP) 联网的各个终端之间能否进行交互的软件基础是网络协议栈,目前主流的网络协议栈是TCP/IP协议栈。1、主机到网络层协议...

实用编程技术之多个头文件中变量的重复定义

一些基本系统数据类型可以在多个头文件中定义。例如,在FreeBSD5.2.1中,size_t在26个不同的头文件中都有定义。由于一个程序可能包含这26个不同的头文件,并且ISOC不允许对同一个名字进行多次类型定义,那么我们该如何编写这些头文件呢?下面是FreeBSD中使用的技术:首先,在头文件<machine/_...

UNIX基础知识之时间值

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。    长期以来,UNIX系统一直使用两种不同的时间值:  (1)日历时间  该值是自1970年1月1日00:00:00以来国际标准时间(UTC)所经过的秒数累计值(早期的手册称U...
代码星球 ·2021-02-21

UNIX基础知识之信号

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。    信号(signal)是通知进程已发生某种情况的一种技术。例如,若某一进程执行除法操作,其除数为0,则将名为SIGFPE(浮点异常)的信号发送给该进程。进程如果处理信号有三种...
代码星球 ·2021-02-21

UNIX基础知识之用户标识

一、用户ID  口令文件(/etc/passwd)登录项中的用户ID(userID)是个数值,它向系统标识各个不同的用户。系统管理员在确定一个用户的登录名的同时,确定其用户ID。用户不能更改其用户ID。通常每个用户有一个唯一的用户ID。  用户ID为0的用户为根(root)或超级用户(superuser)。在口令文件中...

UNIX基础知识之出错处理

  当UNIX函数出错时,常常会返回一个负值,而且整型变量errno通常被设置为含有附加信息的一个值。例如,open函数如成功执行则返回一个非负文件描述符,如出错则返回-1。在open出错时,有大约15种不同的errno值(文件不存在、权限问题等)。某些函数并不返回负值而是使用另一种约定。例如,返回一个指向对象的指针的...

UNIX基础知识之程序和进程

一、程序  程序(program)是存放在磁盘上、处于某个目录中的一个可执行文件。使用6个exec函数中的一个由内核将程序读入存储器,并使其执行。二、进程和进程ID  程序的执行实例被称为进程(process)。某些操作系统使用任务(task)表示正在执行的程序。  UNIX系统确保每个进程都有一个唯一的数字标识符,称...

UNIX基础知识之输入和输出

一、文件描述符  文件描述符(filedescriptor)通常是一个小的非负整数,内核用它标识一个特定进程正在访问的文件。当内核打开一个已有文件或创建一个新文件时,它返回一个文件描述符。在读、写文件时,就可以使用它。二、标准输入、标准输出和标准出错  按惯例,每当运行一个新程序时,所有的shell都会为其打开三个文件...

UNIX基础知识之文件和目录

  程序清单1-1列出一个目录中的所有文件(ls命令的简要实现):[root@localhostunix_env_advance_prog]#catprog1-1.c#include"apue.h"#include<dirent.h>intmain(intargc,char*argv[]){DIR*dp;s...

UNIX基础知识之系统调用与库函数的区别与联系

  上图为UNIX操作系统的体系结构。内核的接口被称为系统调用(systemcall),公用函数库构建在系统调用接口之上,应用软件既可以使用公用函数库,也可直接使用系统调用。  更详细的说明如下:    所有操作系统都提供多种服务的入口点,程序由此向内核请求服务。各种版本的UNIX实现都提供定义明确、数量有限、可直接进...

Bash脚本编程基础

为实现某个任务,将许多命令组合后,写入一个可执行的文本文件的方法,称为Shell脚本编程。按照应用的Shell环境不同,可以将Shell脚本分为多种类型。其中最常见的是应用于Bash和Tcsh的脚本,通常将其称为Bash和Tcsh脚本。同Tcsh脚本相比,Bash脚本在Linux中的应用相对较广。一、Shell脚本的基...
代码星球 ·2021-02-21

数据备份基础之备份类型

数据备份的方式有完全备份、差异备份以及增量备份,那么这三种备份方式有什么区别,在具体应用中又该如何选择呢?本文就这些问题作以介绍。一、备份方式简介1、完全备份(FullBackup)备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份。换言之,清...

文件系统维护基础

一、查看文件系统使用情况命令df[root@localhosthome]#dfFilesystem1K-blocksUsedAvailableUse%Mountedon/dev/sda239603482391124136480064%//dev/sda31021612015574095330482%/home/dev/...
代码星球 ·2021-02-21

Linux命令基础

1、命令的基本格式几乎所有的Linux命令都具有相似的格式,这个基本格式如下:command[option][parameter]从上面的基本格式可以看出,Linux系统中的命令由命令字(command)、选项(option)和参数(parameter)3部分组成。注意:Linux系统中的命令字同Windows一样,通...
代码星球 ·2021-02-21

java基础学习中理解的问题-输入输出流,a++,++a

学习时有些东西不能很好理解,网上查资料等进行消化,大致如下,欢迎补充,共同进步:一、输入输出流理解理解输入输出流必须理解内存、磁盘、终端(屏幕/键盘)、网络之间的关系程序操作的数据都应该是在内存里面,内存是你操作的主对象,把数据从其他资源里面传送到内存里面,就是输入,反之,把数据从内存传送到其他资源,就是输出。读文件B...
首页上一页...1516171819...下一页尾页