unix常识

本文详细阐述了Unix操作系统的基本架构,包括内核、系统调用、库函数、权限限制和错误处理。同时,介绍了Shell作为用户与内核之间的桥梁的作用,以及Unix系统中常见的几种Shell类型。此外,文章还探讨了Unix系统中用户角色的区别,特权用户与一般用户的权限差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:unix操作系统也称为unix内核。内核驻存在/vmu-nix或/unix磁盘文件中,unix的体系结构从内到外:硬件     内核       系统调用函数如read、write、open、exit、chmod     外层实用程序如shell、ls、vi、who     其他应用程序

二:shell。内核负责管理和创建进程,但内核不执行用户输入的命令,由shell命令解释程序执行。一个用户进入unix,则系统创建一个进程来注册shell。输入有两种形式:来自终端的单条命令和来自文件的批处理脚本文件。shell接受的命令有两种形式:shell内部实现的命令和其他如ls、vi等实用程序,此时shell将控制转交给对应的实用程序并启动它们执行。显然,shell是用户输入命令与内核的中间层。unix系统中一般有多种shell:sh、csh、ksh

三:特权用户和一般用户。特权用户就是用户名为root的根用户,其用户ID为0,可以做系统的一切事情。一般对文件、进程管理控制必须是其主人。

四:系统调用和库函数。unix提供的系统调用大约为100多个,C语言编写,每一个系统调用在标准C库里有同名的库函数。库函数可以不需要操作系统的介入来完成工作,也可以调用多个系统调用。库函数可以重新编写,系统调用定死了。用户代码可以调 系统调用或者库函数。

五:系统能力限值。unix系统每一个限值都有一个宏名,分为七类。可在<limits.h>、<unistd.h>、或者sysconf、pathconf、fpathconf等函数查询

六:错误处理。系统调用和大部分库函数在失败时会返回一个特殊值:-1、null、诸如EOF之类的常数。要看发生了什么错误,可查看存储在外部变量errno中的错误码。头文件<errno.h>中定义:extern int  errno;其取值为错误码,错误码为E开头的宏名字,值为正整数。errno的值在程序开始时为0,系统调用和库函数出错时会设置此值为非0数。一次成功的调用绝不会改变该值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值