第一章:UNIX操作系统简介
教你认识un教学教案

教你认识UNIX教学教案第一章:UNIX概述1.1 课程目标:了解UNIX操作系统的历史背景、特点和应用领域。
1.2 教学内容:1.2.1 UNIX的历史发展:介绍UNIX操作系统的起源、发展过程和版本变迁。
1.2.2 UNIX的特点:讲解UNIX操作系统的开放性、多用户、多任务、简洁性、高效性等特点。
1.2.3 UNIX的应用领域:介绍UNIX操作系统在服务器、嵌入式系统、科学研究等领域的应用。
1.3 教学方法:采用讲解、案例演示、讨论等方式进行教学。
第二章:UNIX基本操作2.1 课程目标:掌握UNIX操作系统的基本操作,包括文件操作、目录操作和文本编辑。
2.2 教学内容:2.2.1 文件操作:学习创建、删除、复制、移动文件和文件夹等操作。
2.2.2 目录操作:掌握目录的创建、删除、切换和查看目录内容等操作。
2.2.3 文本编辑:学习使用VI/VIM文本编辑器进行文本编辑和基本操作。
2.3 教学方法:采用讲解、操作演示、实践操作等方式进行教学。
第三章:UNIX文件权限与管理3.1 课程目标:了解UNIX文件权限的概念,掌握文件权限的设置与更改方法。
3.2 教学内容:3.2.1 文件权限概念:讲解UNIX文件权限的分类(读、写、执行)和表示方法。
3.2.2 文件权限设置与更改:学习使用`chmod`、`chown`、`chgrp`等命令进行文件权限的设置与更改。
3.3 教学方法:采用讲解、操作演示、实践操作等方式进行教学。
第四章:UNIX常用命令4.1 课程目标:掌握UNIX操作系统中常用的命令,提高操作效率。
4.2 教学内容:4.2.1 文件操作命令:学习`ls`、`cp`、`mv`、`rm`等文件操作命令的使用方法。
4.2.2 文本处理命令:掌握`grep`、`sed`、`awk`等文本处理命令的使用技巧。
4.2.3 系统管理命令:了解`ps`、`top`、`df`、`du`等系统管理命令的功能及使用方法。
unix系统概述

第一章 UNIX系统概述
1.2 UNIX的特点 1.2.1 UNIX的优点 1.可移植性好 2.丰富的软件工具支持 3.很好的灵活性 4.功能性强 5.多任务和多用户的系统 6.很好的网络支持(UUCP、TCP/IP) 7.系统安全性高
第一章 UNIX系统概述
1.2.2 UNIX的缺点
1.系统大,命令复杂 2.实时功能较差 3.文件系统的不一致
第一章 UNIX系统概述
1.1系统简介 1.1.1 UNIX简介 UNIX是一个多用户,多任务,分布式处理的操作系统。UNIX 系统可 分为3个层次:即系统内核 kernel 层, shell 层和应用层。 (1)内核(kernel)是UNIX 系统的核心和基础。它控制与管理系统 的各种资源(包括硬件和软件资源)。所以内核外的程序都必须通过 系统调用才能获得内核的支持。 (2)shell kernel 与用户之间的解释工具。shell可编程 (3)应用层 提供一些图形环境和可供操作的环境。 三层只与相邻层通信而隔层之间没有任何联系。
第一章 UNIX系统概述
1.1.2 UNIX 的发展史 (1)60 年代中期由美国AT&T 贝尔实验室,通用电器,麻省理工学 院等合作开发名为multics的操作系统。由于项目过于复杂, BELL 实验室撤出。 (2)Ken Thompsou 与Dennis Richie 在DEC PDP-7 机器上开发出 最初的UNIX 系统。 (3)1971 年 Dennis Richie 开发出C 语言, 1973 年使用C 重写 UNIX 成为当今UNIX 蓝本,因此UNIX 与C 密切相连。 (4)1975 年B;T 在80年代末对UNIX 命名改为SYSTEM V RELEAS X 的形式, 如SVR3, SVR4等都从UNIX V7 发展而来。 (5)加洲大学BERKELEY 分校开发了UNIX 的BSD版本。 (6)UNIX 发展中还有其他的版本如SUNOS/SOLARIS,AIX,SCO OPEN SERVER,HP-UX
UNIX、AIX操作系统

UNIX,AIX操作系统基础教程第一章简述Unix的主要版本商业的非开放系统有AT&T的System V或BSD基于BSD的系统,最有名的是FreeBSDLinuxUnix操作系统结构由内核(Kernel)、Shell、应用程序和各类用户程序组成,如图图1. Unix操作系统结构图内核:是Unix的核心部分,能与硬件直接交互,常驻内存。
驻留模块:完成输入输出、文件和设备的管理、内存和处理器管理,常驻内存。
系统工具:又称Shell,是Unix操作系统的一部分,是用户与Unix的交互接口,常驻磁盘,用户登录时调入内存。
Unix的内核由两部分组成1)进程控制子系统:负责处理器和存储器管理,如进程控制fork()创建进程、exit()结束进程、进程调度(CPU的分配)、进程通信的消息机制、段页式存储器管理。
2)文件子系统:完成所有设备(输入输出设备)和文件管理,为文件分配存储空间,管理空闲磁盘块,控制文件的存取和用户数据的检索,高速缓冲机制(使核心与外设速率相匹配),设备驱动程序(设备分为块设备和字符设备)。
图2. Unix操作系统内核框图Unix的启动流程首先运行boot程序,把/stand目录下的boot文件用/etc/default/boot文件中定义的配置参数装内核程序打开检测能找到硬件、初始化各种核心列表,安装系统的根文件系统rootfs,打开交换设备并打印配置信息形成0号进程由0号进程产生1号进程,0号进程随即转为对换进程,1号进程就是所有进程的祖先 1号进程为每个登录的用户创建终端进程,这些用户再利用进程创建系统调用来创建子进程,形成进程树图3. Unix操作系统启动流程Unix操作系统的1号进程是一个系统服务进程,一旦创建,不会自行结束,只有在系统需要撤销它们提供的系统功能或关机的情况下才会发生1号进程结束。
Unix操作系统用户分类超级用户:又称root用户,是系统管理员,在Unix安装时自动创建,超级用户登录后提示符一般显示为“#”。
Unix

重庆邮电大学
数理学院
CPU。在一个分时系统中,通常会有多个程序在同一时刻试图使用 CPU。 操作系统控制应用程序有序地使用 CPU ,就好象一个交通警察在一个复杂的十字路口指挥交通。十 字路口就象是 CPU;每一条在路口交汇的支路好比一个程序,在同一时间,只有一条路的车可以通过这个 路口,而交通警察的作用就是指挥让哪一条路的车通过路口,直到让所有路口的车辆都能通过路口。
重庆邮电大学
数理学院
的工具,而打字员会使用字处理,文档管理的工具。有趣的是:程序员用来修订程序的工具同时也被打字 员用来文档的修订。因此,他们的系统看上去十分相似,但是,每一个用户选择模块都与他或她的应用要 求密切相关。 UNIX 系统的流行很大程度可以归结与: � UNIX 系统的完整性与灵活性使其能适应许多的应用环境。 � 众多的集成的工具提高了用户的工作效率。 � 能够移植到不同的硬件平台。 SHELL Shell 是一个交互的命令解释器。命令是在 SHELL 提示符下键入,shell 会遵照执行键入的命令。用户 通过 shell 与计算机交互。shell 从键盘获得用户键入的命令,然后将命令翻译为内核能够理解的格式。然 后系统就会执行这个命令。 你会注意到 shell 与内核是分离的两部分。如果你不喜欢当前 shell 提供的特性,你能很容易地用另一 种 shell 代替当前的 shell。 一些 shell 是命令行方式,一些提供菜单界面。 UNIX 系统支持的普通的 shell 都包括一个命令解释器 和一个可编程的接口。 有四个最通用的 shell,分别是: Bourne shell --- 由 AT&T 提供的最原始的 shell,由贝尔实验室的 Stephen Bourne 开发。可提供命令的 解释,支持可编程接口,提供诸如变量定义,变量替代,变量与文件测试,分支执行与循环执行等功能。 C Shell (/usr/bin/csh)----C Shell 是在 California Berkeley 大学的 Bill Joy 开发,一般存 在于 BSD 系统 中,于是被称为 California shell,简写名称为 C Shell 。它被认为是 Bourne Shell 的一个改进版本。因为它 提供拉交互的特征例如命令堆栈(-允许简单地调用和编辑以前输入的命令, )别名(提供对已有命令取 个人的别名) Korn Shell(/usr/bin/ksh)---- 贝尔实验室最新的开发成果,由 David Korn 开发成功。它被认为是是一种 增强型的 Bourne Shell,因为它提供对简单可编程的 Bourne Shell 界面的支持,同时提供 C Shell 的简便交 互的特征。它的代码也被优化来提供一种更快,更高效的 shell。 POSIX Shell: POSIX 是一种命令解释器和命令编程语言,这种 shell 同 Korn Shell 在许多方面都很相 似,它提供历史机制,支持工作控制,还提供许多其他有用的特性 表 1-1 shell 特征的比较
unix系统相关资料整理

第1章UNIX的发展与演变1.2U N I X的诞生和发展•1969年,从事”复合式信息与计算系统”MULTICS研究的贝尔实验室的Ken Thompson 和他的同事Dennis Ritchie,在DEC的PDP-7型计算机上编写了一个简易的新型操作系统,是一个两用户的多任务操作系统。
这套系统取名UNIX。
UNIX在后来取得了巨大成功。
•UNIX最初用汇编语言编制,在PDP-7上实现。
Dennis Ritchie发明了C语言,并与Thompson用C语言改写了UNIX的源程序,为以后的开发和移植奠定了基础。
•随后,UNIX被移植到各种各样的计算机系统上,UNIX也经历了二三十年的发展,引进了许多新的技术,成为更加成熟的操作系统。
•UNIX发展过程中,曾经有两大流派,一个是以UNIX的鼻祖美国电话电报公司(AT&T)最早于1983年发表的UNIX System V,最新的版本是Release 4,简写为SVR4。
另一个是学术派的加州大学伯克利分校计算机系统研究小组(CSRG)发表的BSD UNIX (Berkeley Software Distributions UNIX),比较有影响的版本是4.3,记作4.3BSD。
•早期的Internet上的大部分计算机都运行UNIX。
两种流派的UNIX随着不断的发展,互相吸收对方的新技术,趋于统一到逐渐完备的POSIX标准。
UNIX后来成为了AT&T 贝尔实验室操作系统产品的注册商标,所以,许多操作系统由于商业上的原因,在命名时不能够使用UNIX这个字眼,如IBM RISC/6000小型机上的AIX,Sun工作站上的SunOS以及后续版本Solaris,CDC小型机上的EP/IX,惠普Hewlett-Packard的HP-UX,等等。
几乎所有的工作站平台上都运行UNIX操作系统。
•UNIX成为一种软件商品后,其源代码也就不再随意公开。
Andrew S. Tanenbaum教授在UNIX的基础上开发了教学版的UNIX,取名MINIX,意为Mini-UNIX。
教你认识un教学教案

教你认识UNIX教学教案第一章:UNIX概述1.1 课程目标了解UNIX的发展历程理解UNIX的特点和优势掌握UNIX的基本概念和术语1.2 教学内容UNIX的历史和发展UNIX的特点:多用户、多任务、交互式、开源等UNIX的优点:稳定、高效、可扩展等UNIX的基本术语:Shell、File System、Process等1.3 教学方法讲授:讲解UNIX的发展历程和特点互动:提问和讨论,让学生了解UNIX的优势和应用场景演示:展示UNIX的基本操作和界面1.4 教学活动引入话题:讨论操作系统的种类和作用讲解UNIX的历史和发展演示UNIX的基本操作界面小组讨论:比较UNIX和其他操作系统的异同1.5 作业与评估完成课后阅读:了解UNIX的发展历程和相关人物小组项目:比较UNIX和其他操作系统的特点和应用场景第二章:UNIX环境配置2.1 课程目标学会配置UNIX环境熟悉UNIX的文件系统和目录结构掌握UNIX的基本命令和操作2.2 教学内容UNIX文件系统:根目录、用户目录、系统目录等UNIX基本命令:ls、cd、pwd、mkdir等UNIX环境配置:用户配置文件、shell配置等2.3 教学方法讲授:讲解UNIX文件系统和基本命令演示:展示UNIX环境配置的过程练习:学生动手实践,配置UNIX环境2.4 教学活动讲解UNIX文件系统和目录结构演示UNIX基本命令的使用学生实践:配置UNIX环境,创建目录和文件小组讨论:分享配置经验和问题解决方法2.5 作业与评估完成课后练习:掌握UNIX基本命令的使用个人项目:配置UNIX环境,创建个人工作目录3.1 课程目标学会使用UNIX文件操作命令掌握文件权限和归属权的管理了解文件的特殊属性3.2 教学内容UNIX文件操作命令:cp、mv、rm、touch等文件权限管理:读、写、执行权限的设置和修改文件归属权:用户和组的管理文件特殊属性:符号、硬、权限掩码等3.3 教学方法讲授:讲解文件操作命令和权限管理演示:展示文件操作和权限设置的过程练习:学生动手实践,进行文件操作和权限管理3.4 教学活动讲解UNIX文件操作命令的使用演示文件权限和归属权的管理学生实践:进行文件操作和权限设置小组讨论:分享文件操作经验和问题解决方法3.5 作业与评估完成课后练习:掌握UNIX文件操作命令的使用个人项目:管理个人文件权限和归属权4.1 课程目标学会使用UNIX文本处理工具掌握文本搜索和编辑命令了解文本处理的高级技巧4.2 教学内容UNIX文本处理工具:grep、sed、awk等文本搜索命令:grep的使用方法文本编辑命令:vi、emacs的使用技巧文本处理高级技巧:正则表达式、文本格式化等4.3 教学方法讲授:讲解文本处理工具和搜索命令演示:展示文本编辑和处理的过程练习:学生动手实践,进行文本处理和搜索4.4 教学活动讲解UNIX文本处理工具的使用演示文本搜索和编辑命令学生实践:进行文本处理和搜索小组讨论:分享文本处理经验和问题解决方法4.5 作业与评估完成课后练习:掌握UNIX文本处理工具的使用个人项目:编写脚本,实现文本处理和搜索功能第五章:UNIX系统管理5.1 课程目标学会使用UNIX系统管理命令掌握用户和群组管理了解系统监控和性能分析5.2第六章:UNIX系统管理(续)5.2 教学内容系统管理命令:df、du、top、ps等用户管理:用户添加、删除、修改密码等群组管理:群组添加、删除、修改权限等系统监控:系统资源监控、性能分析工具5.3 教学方法讲授:讲解系统管理命令和用户群组管理演示:展示系统监控和性能分析的过程练习:学生动手实践,进行系统管理和监控5.4 教学活动讲解UNIX系统管理命令的使用演示用户和群组管理的操作学生实践:进行用户群组管理和系统监控小组讨论:分享系统管理经验和问题解决方法5.5 作业与评估个人项目:编写脚本,实现系统监控和性能分析功能第七章:UNIX网络通信7.1 课程目标学会使用UNIX网络通信命令掌握文件传输和远程登录了解网络监控和故障排查7.2 教学内容网络通信命令:ftp、scp、ssh等文件传输:本地和远程文件传输方法远程登录:ssh和telnet的使用网络监控:ifconfig、ping、traceroute等7.3 教学方法讲授:讲解网络通信命令和文件传输演示:展示远程登录和网络监控的过程练习:学生动手实践,进行网络通信和监控7.4 教学活动讲解UNIX网络通信命令的使用演示文件传输和远程登录的操作学生实践:进行网络通信和监控小组讨论:分享网络通信经验和问题解决方法7.5 作业与评估个人项目:编写脚本,实现网络通信和监控功能第八章:UNIX编程基础8.1 课程目标学会使用UNIX基本编程工具掌握基本编程语言:C和Shell了解编程环境和调试技巧8.2 教学内容编程工具:gcc、gdb、make等C语言基础:数据类型、运算符、控制结构等Shell脚本编程:变量、循环、条件判断等编程环境和调试技巧:编辑器、编译器、调试器等8.3 教学方法讲授:讲解编程语言和编程工具演示:展示编程环境和调试的过程练习:学生动手实践,编写程序和调试8.4 教学活动讲解UNIX编程工具的使用演示C语言基础和Shell脚本编程学生实践:编写程序和调试小组讨论:分享编程经验和问题解决方法8.5 作业与评估完成课后练习:掌握UNIX编程工具的使用个人项目:编写C程序或Shell脚本,实现特定功能第九章:UNIX高级应用9.1 课程目标学会使用UNIX高级应用工具掌握文本处理和数据分析了解系统安全和权限管理9.2 教学内容高级应用工具:grep、sed、awk、sort、uniq等文本处理和数据分析:文本合并、排序、去重等系统安全和权限管理:防火墙、加密、访问控制等高级编程技巧:函数、模块、库等9.3 教学方法讲授:讲解高级应用工具和文本处理演示:展示数据分析和安全管理的操作练习:学生动手实践,进行高级应用和数据分析9.4 教学活动讲解UNIX高级应用工具的使用演示文本处理和数据分析的方法学生实践:进行高级应用和数据分析小组讨论:分享高级应用经验和问题解决方法9.5 作业与评估完成课后练习:掌握UNIX高级应用工具的使用个人项目:编写脚本,实现高级应用和数据分析功能第十章:UNIX项目实践10.1 课程目标学会使用UNIX进行项目实践掌握项目规划和时间管理了解团队合作和问题解决10.2 教学内容项目实践:基于UNIX的工具和技巧进行重点和难点解析1. UNIX环境配置难点解析:UNIX的文件系统和目录结构较为复杂,需要学生深入理解。
《UNIX操作系统》课件
数据库备份与恢复
MySQL、PostgreSQL等
MongoDB、Redis等
phpMyAdmin、MySQL Workbench等
定期备份、灾难恢复等
自动化部署工具
Ansible、Chef等
监控工具
Zabbix、Nagios等
日志管理工具
ELK Stack(Elasticsearch、Logstash、Kibana)等
持续集成与持续部署(CI/CD)
Jenkins、GitLab CI/CD等
THANKS
感谢您的观看。
《Unix操作系统》PPT课件
目录
Unix操作系统概述Unix系统基础Unix系统管理和维护Unix网络配置和管理Unix系统编程Unix系统应用实例
01
CHAPTER
Unix操作系统概述
01
1969年,AT&T的贝尔实验室的肯·汤普森和丹尼斯·里奇开发出了Unix的原型。
02
1973年,Unix正式发布,并被移植到了PDP-11小型机上。
函数与程序结构
介绍函数的定义、声明和调用,以及程序的基统调用与库函数的比较与选择
06
CHAPTER
Unix系统应用实例
Web服务器软件
Apache、Nginx等
性能优化
缓存、负载均衡等
安全性配置
防火墙设置、SSL证书配置等
配置过程
安装、配置、测试、优化
关系型数据库
非关系型数据库
磁盘管理
掌握磁盘分区、格式化、挂载和卸载等操作,维护磁盘空间和文件系统。
系统日志
查看和分析系统日志,及时发现和解决系统问题。
02
03
unix概述
第1章 UNIX操作系统概述1.1 UNIX操作系统简介UNIX是较早广泛使用的计算机操作系统之一,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。
应用范围应用到几乎所有16位及以上的计算机上,包括微机、工作站、小型机、多处理机和大型机等等。
UNIX特点(1) 多任务、多用户(2) 并行处理能力(3) 管道(4) 安全保护机制(5) 功能强大的shell(6) 强大的网络支持,Internet上各种服务器的首选操作系统(7) 稳定性好(8) 系统源代码用C语言写成,移植性强(9) 出售源代码,软件厂家自己增删UNIX流派举例UNIX类别计算机SCO UNIX PC兼容机Digital Unix Dec Alpha机Solaries Sun 小型机工作站AIX IBM机HPUX HP小型机工作站Linux 各种机器1.2 UNIX系统组成UNIX操作系统结构由三大部分组成:(1)kernel(内核)(2)shell(外壳)(3)工具及应用程序UNIX Kernel(UNIX内核)是UNIX操作系统的核心,指挥调度UNIX机器的运行,直接控制计算机的资源,保护用户程序不受错综复杂的硬件事件细节的影响。
UNIX Shell(UNIX外壳)是一个UNIX的特殊程序,是UNIX内核和用户的接口,是UNIX的命令解释器。
目前常见的Shell有三种:shell类型简称命令主要特点Bourne Shell B Shell sh 最老、使用最广泛,每个UNIX都提供。
Korn Shell K Shell ksh 是对B Shell的扩充,兼容B Shell。
C-Shell csh 格式有点象C语言。
功能强,命令记忆稍难,在大学和学院中较为流行。
一般系统缺省为Bourne Shell, 本文以此shell为例。
要想将当前Shell改为其它Shell,只需在操作系统提示符下键入相应的Shell命令即可。
《unix-os教学课件》第一章绪论
进程与系统调用
进程
进程是程序的执行实例,包括代码、数据和系统资源。进程的状态、优先级以 及与其他进程的交互都由操作系统管理。
系统调用
系统调用是应用程序请求操作系统服务的方式,如文件读写、网络通信、进程 管理等。
03
Unix-os编程语言
Shell脚本编程
概述
Shell脚本编程是Unix-like操 作系统中用于自动化任务和 简化系统管理的脚本语言。
人工智能和机器学习集成
未来,Unix-os可能会集成更多的人工智能 和机器学习技术,实现更智能化的系统管理 和任务调度,提高系统的自动化和智能化水 平。
云计算和大数据支持
随着云计算和大数据技术的普及,Unix-os 将会更加注重对云服务和大数据处理的支持 ,提供更高效、更灵活的数据处理和分析能 力。
网络配置与管理
• 配置路由表:确定数据包的传输路径。
网络配置与管理
包括流量监控、流量分析等。
管理网络流量
如DNS、FTP、SMTP等。
管理网络服务
如交换机、路由器等。
管理网络设备
系统安全与防护
用户权限管理
限制用户对系统资源的访问权限。
文件和目录权限管理
确保系统文件和目录的安全性。
系统安全与防护
常用命令
Shell脚本中常用的命令包括 echo、if、for、while等, 用于执行各种系统操作和逻 辑控制。
变量和参数
Shell脚本支持变量和参数, 允许用户在脚本中存储和传 递数据。
文件和目录操作
Shell脚本提供了丰富的文件 和目录操作命令,如cp、 mv、rm等,方便用户进行 文件管理。
感谢您的观看
THANKS
UNIX系统简介
第二章: 第二章:基本操作系统命令使用
2. 1 查找用户信息
who
who :
显示登录到系统的用户列表,以及TTY端口和登录日期、时间。 例:$who root user1 user2 tty1p5 tty1p4 tty0p3 Jul 01 08:01 Jul 01 09:59 Jul 01 10:01
ls : List Contents of a Directory 列举一个目录的内容。 -a 列出所有的文件,包括以点开头的文件。 -d 列举的是目录的特征。 -l 列出每个文件的长格式信息,包括类型、模式、连接数目、所有者、 所在组、大小(按字节算)、修改日期和文件名。 例如:$ ls –l ( 在HP-UX 中可以用ll代替) -rw-rw-rw 1 users3 class 27 Jan 24 06:11 f1 表示文件名为f1,连接数1,所有者为users3,在class组。 大小有27个字节,修改日期为Jan 24 06:11。 在ls –l执行结果的第一个字符说明的是文件类型,常见的文件类型有: - 表示普通文件 d 目录 l 符号连接文件 n 网络特殊文件 c 字符设备文件(终端、打印机) b 块设备文件(磁盘)
各种shell的特征比较 特征
历史命令
描述 命令可以 存在缓存中供修改和重复使用 用文本编辑器修改当前或以前的命令行 在命令行自动完成文件名的键入 用户可以重命名命令。 一个安全性特征,其环境的功能受到限制 跟踪和访问在后台运行的进程
posix 是 是 是 是 是 是
Boune 否 否 否 否 是 否
3. 4 文件访问权限 每个文件都归某个系统用户所有。文件的所有者对于谁有权访问文件有最终的控 制权。所有者有权允许或禁止其他用户访问其所有的文件。 UNIX系统对文件提供了三层访问控制结构: · user代表文件的所有者 · group 代表可能访问该文件的组 · other 代表系统中所有的其他用户。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:UNIX操作系统简介学习目标学完这一章,你能做到以下事情:描述UNIX系统的基本组成和基本功能1.1 什么是操作系统?操作系统是一种特殊的用于控制计算机(硬件)的程序(软件)。
操作系统在资源使用者和资源之间充当中间人的角色。
为众多的消耗者协调分配有限的系统资源。
系统资源包括,CPU,内存,磁盘,和打印机。
举个例子,一个用户(也可以是程序)将一个文件存盘,操作系统就会开始工作:管理磁盘空间的分配,将要保存的信息由内存写到磁盘等。
当用户要运行一个程序时,操作系统必须先将程序载入内存,当程序执行时,操作系统会让程序使用CPU。
在一个分时系统中,通常会有多个程序在同一时刻试图使用CPU。
操作系统控制应用程序有序地使用CPU ,就好象一个交通警察在一个复杂的十字路口指挥交通。
十字路口就象是CPU;每一条在路口交汇的支路好比一个程序,在同一时间,只有一条路的车可以通过这个路口,而交通警察的作用就是指挥让哪一条路的车通过路口,直到让所有路口的车辆都能通过路口。
UNIX操作系统的历史UNIX操作系统1969年在贝尔实验室诞生。
Ken Thompson在Rudd Canaday,,Doug Mcllroy,Joe Ossana,and Dennis Ritchie,的协助下,写出一个小的分时系统,开始得到关注,在许诺为实验室的管理人员提供一个文档准备工具后,UNIX先驱们可以使用到一台更大的计算机,从而得以继续他们的开发工作。
在七十年代的中期,一些大学得到使用UNIX的许可,并很快在学院之间得到广泛流行,其主要的原因是:小巧:最早的UNIX系统只占用512K字节的磁盘空间,其中系统内核使用16K,用户程序使用8K,文件使用64K。
灵活:源代码是可利用的,UNIX是用高级语言写成,提高了操作系统的可移植性。
便宜:大学能以一盘磁带的价格得到一个UNIX系统的使用许可。
早期的UNIX系统提供了强大的性能,使其能在许多昂贵的计算机上运行。
以上优点在当时掩盖了系统的不足:没有技术支持:AT&T在当时大部分的资源和都用在MUTICS上,没有兴趣开发UNIX系统。
Bug的修补:由于没有技术支持,bug的修补也得不到保证。
很少的,或者根本没有说明文档:用户有问题经常只能是去看源代码。
当UNIX传播到位于California的Berkeley大学的时候,Berkeley大学的使用者们创建了自己的UNIX版本,在得到国防部得支持后,他们开发出了许多新的特性。
但是,作为一个研究机构,Berkeley大学提供的版本和A T&T的版本一样,也没有技术支持。
当A T&T意识到这种操作系统的潜力后就开始将UNIX商业化,为了加强产品性能,他们在AT&T的不同部门进行UNIX系统开发,并且开始在系统中结合Berkeley开发出的成果。
UNIX最终的成功可以归结为:一个灵活的、包含多种工具的用户界面与操作环境。
模块化的系统设计可以很容易地加入新的工具。
支持多进程,多用户并发的能力。
Berkeley大学的DARPA支持。
强大的系统互连的能力。
能在多种硬件平台上运行。
标准化的界面的定义促进应用的可移植性。
1.3 UNIX系统的特性UNIX为用户提供了一个分时的系统以控制计算机的活动和资源,并且提供一个交互,灵活的操作界。
UNIX被设计成为能够同时运行多进程,支持用户之间共享数据。
同时,UNIX 支持模块化结构,当你安装UNIX操作系统时,你只需要安装你工作需要的部分,例如:UNIX支持许多编程开发工具,但是如果你并不从事开发工作,你只需要安装最少的编译器。
用户界面同样支持模块化原则,互不相关的命令能够通过管道相连接用于执行非常复杂的操作。
运行中的系统内核是运行中的系统,它负责管理系统资源和存取硬件设备。
内核中包含有它检测到的每个硬件的驱动模块,这些模块提供了支持程序用来存取CPU、内存、磁盘、终端、网络的功能。
当安装了一种新的硬件,新的模块会被加入到内核之中。
运行环境工具和应用程序UNIX的模块化设计在这里表现得非常明显,UNIX系统命令的原则就是每条命令做好一件事情,组合一系列命令就组成工具箱,选择合适的命令就可以完成你的工作,恰当地组合这些工具能够帮你完成更复杂的任务。
从开始,U NIX“工具箱”就包括了一些可以同系统进行交互的基本命令,UNIX系统也提供了以下几种工具:电子邮件(mail,mailx)文字编辑(ed,ex,vi)文本处理(sort,grep,wc,awk,sed)文本格式化(nroff)程序开发(cc,make,lint,lex)源程序版本管理(SCCS,RCS)系统间通讯(uucp)进程和用户帐号(ps ,du,acctcom)因为UNIX系统的用户环境被设计为一种交互的,可编程的,模块化的结构,新的工具能很容易地开发,并且添加到用户工具箱之中,而哪些不是必须的工具能够被省略,这种省略不会影响系统的操作。
举个例子,一个程序员和一个打字员同时在使用UNIX系统,他们会使用许多普通的命令,虽然他们的工作性质不相同。
他们会用一些与他们的工作相关的工具。
程序员使用的工具会包括程序开发和程序管理的工具,而打字员会使用字处理,文档管理的工具。
有趣的是:程序员用来修订程序的工具同时也被打字员用来文档的修订。
因此,他们的系统看上去十分相似,但是,每一个用户选择模块都与他或她的应用要求密切相关。
UNIX系统的流行很大程度可以归结与:UNIX系统的完整性与灵活性使其能适应许多的应用环境。
众多的集成的工具提高了用户的工作效率。
能够移植到不同的硬件平台。
SHELLShell 是一个交互的命令解释器。
命令是在SHELL提示符下键入,shell会遵照执行键入的命令。
用户通过shell与计算机交互。
shell从键盘获得用户键入的命令,然后将命令翻译为内核能够理解的格式。
然后系统就会执行这个命令。
你会注意到shell与内核是分离的两部分。
如果你不喜欢当前shell提供的特性,你能很容易地用另一种shell代替当前的shell。
一些shell是命令行方式,一些提供菜单界面。
UNIX系统支持的普通的shell都包括一个命令解释器和一个可编程的接口。
有四个最通用的shell,分别是:Bourne shell:由AT&T提供的最原始的shell,由贝尔实验室的Stephen Bourne开发。
可提供命令的解释,支持可编程接口,提供诸如变量定义、变量替代、变量与文件测试,分支执行与循环执行等功能。
C Shell (/usr/bin/csh):C Shell是在California Berkeley大学的Bill Joy开发,一般存在于BSD系统中,于是被称为California shell,简写名称为C Shell。
它被认为是Bourne-Shell的一个改进版本。
因为它提供拉交互的特征例如命令堆栈(-允许简单地调用和编辑以前输入的命令,)别名(提供对已有命令取个人的别名)Korn Shell(/usr/bin/ksh):贝尔实验室最新的开发成果,由David Korn开发成功。
它被认为是是一种增强型的Bourne Shell,因为它提供对简单可编程的Bourne Shell界面的支持,同时提供C Shell 的简便交互的特征。
它的代码也被优化来提供一种更快,更高效的shell。
POSIX Shell:POSIX是一种命令解释器和命令编程语言,这种shell同Korn Shell在许多方面都很相似,它提供历史机制,支持工作控制,还提供许多其它有用的特性表1-1 shell 特征的比较1.4 UNIX的其他特征层次化的文件系统存储在磁盘上的信息称为文件。
每一个文件都分配有一个名字,用户通过这个名字来访问文件,文件的内容通常是数据,文本,程序等等,UNIX系统通常有几百个文件存在,于是另外一种容器:目录被用来让用户在一个逻辑上的分组里管理它的文件。
在UNIX系统中,目录被用来存储文件和其它的目录。
文件系统的结构非常复杂,如果用户的工作部门改变,用户的文件和目录能很容易移动,改名,或组织到新的或不同的目录中,这些操作只需使用一些简单的UNIX系统的命令即可完成。
文件系统就象一个电子排列柜,它能让用户分割,组织他们的信息到适合自己环境与应用的目录中去。
多任务在UNIX系统中,能有几个不同的任务在同一时刻执行。
一个用户在一个终端可以执行几个程序,看上去好象是同时在运行。
这意味着一个用户可以编辑一个文本文件时格式化另一个文件,同时打印另一个文件实际上,CPU在同一时刻只能执行一个任务,但是UNIX系统能够将CPU的执行分成时间片,通过调度,使在同一时间内执行,对用户看来,就好象在同时执行不同的程序一样。
多用户多用户就是允许多个用户在同一时刻登录和使用系统。
多个终端和键盘能连接在同一台计算机上。
这是多任务功能的一种自然延伸。
如果系统能够同时运行多个程序,一些程序也能够支持多个用户线索。
另外,一个单个用户能够通过多个终端在不同的时刻登录同一个系统。
这种体系结构的一个很大的好处是:工作组的成员能同时操作相同的数据。