操作系统实验课程 - 安装实验环境和实验工具

一、安装实验环境

在虚拟机上使用安装好的ubuntu实验环境

  • 下载安装VMware虚拟机软件或VirtualBox虚拟机软件

二、使用实验工具

1、shell命令:ls、cd、rm、pwd、mkdir、find······

  • 基于bash (Bourne-Again SHell )
  • 完成对文件、目录的基本操作

2、系统维护工具:apt、git

apt:安装管理各种软件

高级打包工具(英语:Advanced Packaging Tools,缩写为APT)是Debian及其派生的Linux软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。

搜索
在终端里输入:

apt-cache search <package>

这样系统会列出与<package>名称相匹配的包。

安装
在终端里输入:

apt-get install <package>

这样系统会自动下载<package>以及所有的依存包,同时进行包的安装。

移除
在终端里输入:

apt-get remove [--purge] <package>

这样系统会自动移除<package>以及任何依此存包的其它包。 --purge指明包应被完全清除。

升级
在终端里输入:

apt-get update

这样系统会自动由映射点更新包列表,如果想安装最新包,必须先运行一次。每次修改了 /etc/apt/sources.list后,也必须运行一次。

在终端里输入:

apt-get upgrade [-u]

这样系统会自动将所有已经安装在系统内的包升级为最新版本。如果一个包改变了依存关系,而需要安装一个新的包时,它将不会被升级,而是标识成hold。如果某个包被设置hold标号,就不会被升级。

在终端里输入:

apt-get dist-upgrade [-u]

和apt-get upgrade类似,dist-upgrade会安装和移除包来满足依存关系,因此具有一定的危险性。

彩蛋
在终端输入apt-get -h会在末尾出现“This APT has super cow power(本APT具有超级牛力)。

在终端输入apt-get moo会在屏幕上显示一头牛。

                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...

apt系列的另一个名为"apt-build"的软件包也具有相似的功能:

 $ apt-build moo
          (__)    ~
          (oo)   /
      _____\/___/
     /  /\ / /
    ~  /  * /
      / ___/
 *----/\
     /  \
    /   /
   ~    ~
 ..."Have you danced today? Discow!"...
 (意为:今天你跳舞了吗?迪斯可!)

软件编写者特地将Disco(迪斯可)一词改为"Discow",以体现"Cow"(奶牛)之意。

git:开发版本维护软件

git(/ɡɪt/,关于这个音频文件 音频 帮助·信息,吉特)是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。
git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。

3、源码编辑工具:Eclipse-CDT、understand、gedit、vim

  • Eclipse-CDT:基于Eclipse的C/C++集成开发环境跨平台、丰富的分析理解代码的功能可与qemu结合, 联机源码级Debug uCore OS。

  • Understand:跨平台、丰富的分析理解代码的功能Windows上有类似的sourceinsight软件

  • gedit:Linux中的常用文本编辑Windows上有类似的notepad++

  • vim: Linux/unix中的传统编辑器类似有emacs等可通过exuberant-ctags、cscope等实现代码定位

4、源码比较工具:diff、meld

比较不同目录或不同文件的区别

diff是命令行工具,使用简单。

diff是在UNIX系统上的一个工具程序,它可以比较两个文件之间的不同。通常它被用来比较同一个文件,在不同版本间的差异。类似文件比较实用程序的输出也称为“ diff”。就像使用“ grep ”一词来描述搜索操作一样,“ diff ”一词成为计算数据差及其结果的通用术语。
https://en.wikipedia.org/wiki/Diff

diff 命令是 Linux 下自带的一个强大的文本比对工具,而且使用起来非常方便。
使用方法:教你一招Linux下文本比对方法

最好的工作方式是团队的有效沟通,在任何一个时刻,让大家知道你在修改哪些文件。

meld是图形界面的工具,功能相对直观和方便

Meld是针对开发人员的可视化差异和合并工具。Meld可帮助您比较文件,目录和版本控制的项目。它提供文件和目录的双向比较和双向比较,并支持许多流行的版本控制系统。
官网:http://meldmerge.org/

Ubuntu 上安装打开终端,键入下面命令并回车即可完成安装。

$ sudo apt install meld

5、开发编译调试工具:gcc 、gdb 、make

  • gcc:C语言编译器
  • gdb:执行程序调试器
  • make:软件工程管理工具,make命令执行时,需要一个 makefile 文件,以告诉make命令如何去编译和链接程序。

6、硬件模拟器:qemu

qemu可模拟多种CPU硬件环境,本实验中,用于模拟一台intel x86-32的计算机系统

“Qemu”是一个广泛使用的开源计算机模拟器和虚拟机。"
当作为模拟器时,可以在一种架构(如x86 PC)下运行另一种架构(如ARM)下的操作系统和程序。通过使用动态转换,它可以获得非常好的性能。
作为虚拟机时,QEMU可以使用其他虚拟机管理程序(如 Xen 或 KVM)来使用CPU扩展(HVM)进行虚拟化,通过在主机CPU上直接执行客户机代码来获得接近于宿主机的性能。

参考资料:

■ apt-get
apt软件包管理

■ gcc
Gcchowto
Compiling Cpp
C Cpp IDE
C语言简要语法指南

■ gdb
用GDB调试程序

■ make & makefile
跟我一起写Makefile
Shell编程基础
高级Bash脚本编程指南

■ understand
understand代码分析工具安装&分析代码
代码阅读分析工具Understand 2.0试用

■ meld
Meld:可视化的文件及目录比较工具

■ qemu
QEMU (简体中文)

■ Eclipse-CDT
如何在Ubuntu中使用Eclipse + CDT开发C/C++程序

参考:https://www.bilibili.com/video/av32411771

猜你喜欢

转载自blog.csdn.net/qq_44721831/article/details/108889674