UNIX 是一个交互式的分时操作系统.

UNIX 源代码是开放的.

1 从结构上看,UNIX可以分成内核层和外壳层两部分,如下图所示

2 内核层是UNIX操作系统的核心。它具有存储管理、文件管理、设备管理、进程管理等功能,以及为外壳层提供服务的系统调用。

3 外壳层为用户提供各种操作命令, UNIX把它们称为shell命令,外壳层还提供程序设计环境。

外壳层由shell 解释程序、支持程序设计的各种语言、编译程序、解释程序、实用程序和系统库等组成。

4 UNIX的内核程序用C语言和汇编语言编写。内核程序被分成能独立编译和汇编的几十个源代码文件。 这些文件按编译方式大致可以分成如下三类:

(1) 汇编语言文件

(2) C语言文件

(3)C语言全局变量文件

5 UNIX系统不允许外壳程序直接访问和干扰内核程序。因此,UNIX系统提供两种程序运行环境,即用户态和核心态。 外壳层的程序在用户态运行。  内核层的程序在核心态运行。

UNIX 把在用户态运行的程序称为用户程序, 把在核心态运行的程序称为系统程序。

-------------------------------------------------------------------------------

二 UNIX的用户接口

UNIX用户通过操作控制命令来启动外壳层的用户程序执行。外壳层的用户程序在执行时又可通过系统调用来请求内核层的支持。

1  shell 命令

UNIX提供的操作控制命令称为shell 命令, UNIX是一个多用户的分时操作系统。

1.1 注册和注销

当终端接通后,系统就显示如下的请用户登录的提示:

login:

用户输入正确后, 然后显示请用户输入口令的提示:

password:

注册成功后,用户就处于外壳层的shell解释程序控制下。

对于不同版本的UNIX系统提供的 shell 命令会有差异,它们采用不同的提示答来区分。

Bourne shell的提示符是$,  C shell 的提示符是%.  本文中采用 C shell的提示符。

当用户完成了工作,不再使用系统时,必须注销。 只要输入:

logout  或者同时按Ctrl 键 和 D键。

2  常用的 shell 命令

命令行的一般格式: 命令名   参数1   参数2   ......

2.1  mkdir 命令,  建立一个新的文件目录,  此命令其后必须给出参数。

2.2  rmdir 命令, 删除一个空目录,此命令其后必须给出参数,指出要删除的目录名。 如果要删除的是一个非空目录, 应先删除文件 的命令来删除该目录中所包含的文件和目录,然后再用命令。

2.3 cd 命令

2.4 pwd 命令,  显示用户的当前目录。

2.5 ls 命令,  请求列出一个目录中的文件名。 若无参数,列出当前目录中的文件名。如果在命令行参数中指定了目录,则列出指定目录 中的文件名。

2.6 cp 命令, 复制一个文件,带两个参数, 每一个是被复制的文件名, 第二个是复制后的文件名。

2.7  mv 命令,  对一个指定的文件重新命名, 此命令应在参数中指出文件的当前名字以及改名后的名字。

2.8  rm 命令,  删除一个指定的文件。当一个文件与多个用户有链接时, 本命令仅仅删除命令行中参数指定的文件名(把指定的文件与该用户的链接断开), 仅当指定的文件与所有用户的链接都已断开, 才将该文件删除。

2.9  cat 命令, 显示指定的用ASCII码编写的文本文件, 用于查看文件的内容。

2.10  more 命令,要仔细阅读文件的内容,则应使用 more命令。它可以一屏一屏地显示文件的内容, 每显示一屏后就暂停, 直到用户按了空格键后再显示下一屏。

3  后台执行的 shell 命令

UNIX 规定, 只要在请求后台执行的命令末尾输入字符“&”,系统在执行命令时, 若发现末尾有"&"符号,则把实现这条命令功能的程序转入后台执行。

UNIX把一个程序转入后台执行后, 不等该程序执行完就立即返回前台, 且显示可以输入新命令的提示符。

UNIX系统能够允许一个用户同时执行两个以上的任务, 也允许后台任务与前台任务同时执行。

例如:  用户 希望UNIX同时做两件事, 一是检查自己定义的文件中是否有拼错的字, 二是列出当前目录的清单。

第一件事耗时较长, 用户让它在后台执行,用户可输入如下命令:

%  spell myfile &            这里spell表示检查拼写错误的命令名,myfile 为指定的文件名

输入后, UNIX将把该命令在后台执行时的标识号(假设为145)和可以输入新命令的提示符显示出来,屏幕显示如下:

%  spell  myfile   &

145

%

此时,可做第二件事,输入列目录清单的命令 ls,即:

%  ls

4  shell 文件

为了完成某个特定的任务,有时要连续执行一串命令。 如果这一串命令果多次反复使用的命令序列。每次逐条输入命令是很麻烦的。 为了方便用户, UNIX系统允许用户把若干条 shell 命令编辑成一个文件 ,来表示一组命令的执行顺序。  用 shell 命令编辑成的文件称为  shell  文件。

一个shell 文件被建立后, 设命名为shellfile, 则可用下面的方法来执行它。

4.1  使用 csh命令,  csh  shellfile

4.2 把 shell 文件改成可执行文件 ,输入命令  chmod  +  x  shellfile

该命令执行后,文件shellfile 就成为一个可执行的文件。这时,输入文件名: shellfile  就可执行文件 shellfile  中各个命令了。

《操作系统》书以UNIX 操作系统为例,介绍操作系统的功能.

操作系统_第二章_UNIX操作系统简介相关推荐

  1. 计算机文化基础第二章,计算机文化基础(第二章Windows2000操作系统)

    计算机文化基础(第二章Windows2000操作系统) 第二章Windows 2000 操作系统1. 打开"资源管理器"的方法不能是_A右击"开始"按钮 B选择 ...

  2. 【王道考研】操作系统 笔记 第二章上 进程调度

    本文内容,1.进程和线程 2.进程调度 特此鸣谢王道考研 本文参考王道考研的相关课程 若有侵权请联系,立删 其余笔记链接: [王道考研]操作系统笔记 第一章_才疏学浅743的博客-CSDN博客 [王道 ...

  3. ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...

  4. 【操作系统】第二章--进程的描述与控制--笔记与理解(2)

    笔记理解之后可以进行深入解释→[操作系统]第二章–进程的描述与控制–深入与解释(2) 文章目录 第二章--进程的描述与控制--笔记与理解(2) 经典进程的同步问题 生产者-消费者问题 读者-写者问题 ...

  5. 【王道】操作系统OS第二章进程管理(二[1])

    本笔记结合<2023王道操作系统考研复习指导>食用 操作系统OS第二章进程管理 本笔记结合<2023王道操作系统考研复习指导>食用 1.进程 1.1.进程的组成 1.1.1.P ...

  6. 操作系统笔记 第二章

    操作系统笔记 第二章 1.有两个程序:A程序按顺序使用CPU10秒.设备甲5秒.CPU5秒.设备乙10秒.CPU10秒:B程序按顺序使用设备甲10秒.CPU 10秒.CPU5秒.设备乙5秒.CPU 5 ...

  7. 计算机操作系统原理第二章习题

    计算机操作系统原理第二章习题 1.什么是并发?什么是并行?用日常生活中的例子举例说明. 2.在操作系统中为什么要引入进程的概念?它会产生什么样的影响? 3.试说明PCB的作用具体表现在那些方面?为什么 ...

  8. 第二章 80x86微处理器简介

    第二章 80x86微处理器简介 2.第二章 80x86微处理器简介 本章小结 本章需要记住的两个很重要的知识点 2.1 Intel微处理器 8086内部结构 80386内部结构 CPU访存过程 2.2 ...

  9. c语言运行时更入下一行,C语言高级语言程序设计(一)_第二章 C程序设计基础(二).ppt...

    C语言高级语言程序设计(一)_第二章 C程序设计基础(二) * 问a,b能否交换?不能.示例 传值调用 如何改变参数的值?在后续章节中介绍 下:传值 * 传值的好处 下:问题3.2 * * * 使用范 ...

最新文章

  1. 基于 CNN 特征区域进行目标检测
  2. 利用webpack和vue实现组件化
  3. 记一次小米前端面试题(一面)2020.10.28
  4. rk3288 android4.4,ubuntu16.04下firefly rk3288的编译安卓4.4
  5. (转)细说Cookie
  6. java .item,javabb-javaitem-cloud
  7. 升级鸿蒙系统无法选择应用,申请鸿蒙系统有一个应用选择怎么选择呢
  8. ora-12505报错解决方法(转)
  9. SqlServer 2008R2修改表结构提示“不允许保存更改”解决方案
  10. python安装pytesser模块
  11. easypoi 语法_知识点总结及语法学习资料及视频
  12. 专业模拟飞行11 linux,飞行模拟器 FlightGear 2019.1,Ubuntu PPA安装
  13. Git教程之局域网服务器搭建教程(Gitlab)
  14. ssh 上传war 包提示Incoming packet was garbled on decryption
  15. 【三环集团logo】用Python 小海龟实现~
  16. /etc/crontab文件和crontab -e命令区别
  17. Ubuntu12.04软件安装指南
  18. 解决问题:UnicodeDecodeError utf-8 codec cant decode byte 0xb5 in position 116:
  19. Linux进阶 | 2万字总结最详细的Docker的安装、底层隔离机制和简单使用!建议收藏,持续更新❤
  20. linux系统fasta程序,求助:如何用命令对fasta格式的序列按长短排序

热门文章

  1. 炸!1024我的故事,一个写了两年博客的大厂码农!
  2. Springboot集成Brpc
  3. 2016级算法期末上机-I.难题·ModricWang's Fight with DDLs III
  4. doom和spacemacs的切换
  5. 用BQ30Z55替换BQ40Z50
  6. 进销存源码|进销存管理系统源码
  7. 雷达系列论文翻译(六):LIO-SAM
  8. Java(老白再次入门) - 入门概述
  9. Java基础(dayThirteen):并发与多线程
  10. 第一册:lesson thirteen.