搜档网
当前位置:搜档网 › xlib库基本图形编程技术文档新手入门linux时代开源、自由、共享...(精品文档)

xlib库基本图形编程技术文档新手入门linux时代开源、自由、共享...(精品文档)

xlib库基本图形编程技术文档新手入门linux时代开源、自由、共享...(精品文档)
xlib库基本图形编程技术文档新手入门linux时代开源、自由、共享...(精品文档)

xlib库基本图形编程技术文档新手入门linux时代开源、自

由、共享...

Xlib库基本图形编程

Basic Graphics Programming With The Xlib Library

http://users.actcom.co.il/~choo/lupg/tutorials/xlib-programming/xlib-programming.html

1. Preface

2. The Client And Server Model Of The X Window System

3. GUI programming - the Asynchronous Programming Model

4. Basic Xlib Notions

1. The X Display

2. The GC - Graphics Context

3. Object Handles

4. Memory Allocation For Xlib Structures

5. Events

5. Compiling Xlib-Based Programs

6. Opening And Closing The Connection To An X Server

7. Checking Basic Information About A Display

8. Creating A Basic Window - Our "hello world" Program

9. Drawing In A Window

1. Allocating A Graphics Context (GC)

2. Drawing Primitives - Point, Line, Box, Circle...

10. X Events

1. Registering For Event Types Using Event Masks

2. Receiving Events - Writing The Events Loop

3. Expose Events

4. Getting User Input

1. Mouse Button Click And Release Events

2. Mouse Movement Events

3. Mouse Pointer Enter And Leave Events

4. The Keyboard Focus

5. Keyboard Press And Release Events

5. X Events - A Complete Example

11. Handling Text And Fonts

1. The Font Structure

2. Loading A Font

3. Assigning A Font To A Graphics Context

4. Drawing Text In A Window

12. Windows Hierarchy

1. Root, Parent And Child Windows

2. Events Propagation

13. Interacting With The Window Manager

1. Window Properties

2. Setting The Window Name And Icon Name

3. Setting Preferred Window Size(s)

4. Setting Miscellaneous Window Manager Hints

5. Setting An Application's Icon

14. Simple Window Operations

1. Mapping And UN-Mapping A Window

2. Moving A Window Around The Screen

3. Resizing A Window

4. Changing Windows Stacking Order - Raise And Lower

5. Iconifying And De-Iconifying A Window

6. Getting Info About A Window

15. Using Colors To Paint The Rainbow

1. Color Maps

2. Allocating And Freeing Color Maps

3. Allocating And Freeing A Color Entry

4. Drawing With A Color

16. X Bitmaps And Pixmaps

1. What Is An X Bitmap? An X Pixmap?

2. Loading A Bitmap From A File

3. Drawing A Bitmap In A Window

4. Creating A Pixmap

5. Drawing A Pixmap In A Window

6. Freeing A Pixmap

17. Messing With The Mouse Cursor

1. Creating And Destroying A Mouse Cursor

2. Setting A Window's Mouse Cursor

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

Preface

This tutorial is the first in a series of "would-be" tutorials about graphical programming in the X window environment. By itself, it is useless. A real X programmer usually uses a much higher level of abstraction, such as using Motif (or its free version, lesstiff), GTK, QT and similar libraries. However, we need to start somewhere. More than this, knowing how things work down below is never a bad idea.

After reading this tutorial, one would be able to write very simple graphical programs, but not programs with a descent user interface. For such programs, one of the previously mentioned libraries would be used.

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

X窗口系统的客户/服务器模式

当初开发X窗口系统的主要目的只有一个,那就是灵活性。这个灵活性的意思就是说一件东西虽然看起来是在这工作,但却实际上是工作在很远的地方。因此,较低等级的实现

部分就必须提供绘制窗口,处理用户输入,画画,使用颜

色等工作的工具。在这个要求下,决定了系统被分成了两

部分,客户端和服务器端。客户端决定做什么,服务器端

执行真正的绘图和接受用户的输入并把它发给客户端。

这种模式与我们一般习惯的客户端和服务器端的概念是正

好相反的。在我们的情况下,用户就坐在服务器端控制的

机器前,而客户端这时却是运行在远程主机上。服务器端

控制着显示屏,鼠标和键盘。一个客户端也许正连接着服

务器端,要求给它画一个窗口(或者是一堆),并要求服务器端把用户对它的窗口的输入传给它。结果,好几个客户

端可能连接到了一个服务器端上-有的在运行一个电子邮件软件,有的在运行一个网页浏览器等。当用户输入了指令

给窗口,服务器端就会把指令打包成事件传给控制那个窗

口的客户端,客户端根据接受到的事件决定干什么然后发

送请求让服务器端去画什么。

以上介绍的会话都是通过X消息协议传输的。该协议是实现在TCP/IP协议上的,它允许在一个网络里的客户端访问这个网络里的任何服务器端。最后,X服务器端可以和客

户端运行在同一台机器上以获得性能优化(注意,一个X 协议事件可能会达到上百KB),例如使用共享内存,或者使用Unix域socket(在一个Unix系统的两个进程间创建一个本地通道进行通信的方法)。

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

图形用户接口(GUI)编程-异步编程模式

不像我们通常的令人愉快的程序,一个GUI程序通常使用异步编程模式,也就是下面要介绍的"事件驱动编程"。这个"事件驱动编程"的意思是说程序通常都处于空闲状态,等待从X服务器发来的事件,等收到了事件,才根据事件做相应的事情。一个事件可能是"用户在屏幕某处x,y点击了鼠标左键",或者是"你控制的窗口需要被重画"。因为程序要回应用户的请求,同时还需要刷新自己的请求队列,因此需要程序尽可能使用较短的事件来处理一个事件(例如,作为一条公认的准则,不能超过200毫秒)。

这也暗示着当然存在需要程序处理很长时间才能完成的事件(例如一个到远程服务器的网络连接,或者是连接一个数据库,或者是不幸的要处理一个超大文件的复制工作)。这都要求程序使用异步方式来处理而不是通常的同步方式。这时候就应该采用各种各样的异步编程方法来进行这些耗时的工作了,或者干脆把它们交给一个线程或进程来进行。

根据以上的说明,一个GUI程序就应该像以下的方式来工作:

进行初始化工作

连接X服务器

进行与X相关的初始化工作

进行循环

从X服务器那里接受下一个事件

根据收到的事件发送各种绘图指令给X服务器

如果事件是个退出事件,结束循环

关闭与X服务器的连接

进行资源释放工作

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

Xlib的基本思想

X协议是非常复杂的,为了大家不用再辛辛苦苦把时间浪费在实现它上面,就有了一个叫"Xlib"的库。这个库提供了访问任何X服务器的非常底层的手段。因为X协议已经被标准化了,理论上客户程序使用任何Xlib的实现都可以访问任何X服务器。在今天,这看起来可能很琐碎,但如果回到那个使用字符终端和专有绘图方法的时代,这应该是一个很大的突破吧。实际上,你很快发现围绕瘦客户机,

窗口终端服务器等领域会有许多多么令人兴奋的事情。

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

X显示

使用XLib的基本思想就是X显示。它代表了一个打开的到X服务器的连接的结构。它隐藏了一个保存有从X服务器来的事件的队列,和一个保存客户程序准备发往服务器的请求队列。在Xlib里,这个结构被命名为显示"Display"。当我们打开了一个到X服务器的连接,库就会返回一个指向这个结构的指针。然后,我们就可以使用这个指针来使用Xlib里各种各样的函数。

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

GC - 图形上下文

当我们进行各种绘图操作(图形,文本等)的时候,我们也许会使用许多参数来指定如何绘制,前景,背景,使用什么颜色,使用什么字体等等,等等。为了避免为每个绘图函数设置数量惊人的参数,我们使用一个叫"GC"的图形上下文结构。我们在这个结构里设置各种绘图参数,然后传给绘图函数就行了。这应当是一个非常方便的方法吧,尤其当我们在进行一连串操作中使用相同的参数时。

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

---

对象句柄

当X服务器为我们创建了各种各样的对象的时候- 例如窗口,绘图区和光标- 相应的函数就会返回一个句柄。这是一个存在在X服务器空间中的对象的一个标识-而不是在我们的应用程序的空间里。在后面我们就可以使用Xlib的函数通过句柄来操纵这些对象。X服务器维护了一个实际对象到句柄的映射表。Xlib提供了各种类型来定义这些对象。虽然这些类型实际上只是简单的整数,但我们应该继续使用这些类型的名字- 理由是为了可移植。

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

Xlib结构的内存分配

Xlib的接口使用了各种类型的结构。有些可以由用户直接来分配内存,有些则只能使用专门的Xlib库函数来分配。在使用库来分配的情况,库会生成有适当初始参数的结构。这对大家来说是非常方便的,指定初始值对于不太熟练的程序员来说是非常头疼的。记住-Xlib想要提供非常灵活的功能,这也就意味着它也会变得非常复杂。提供初始值设置的功能将会帮助那些刚开始使用X的程序员们,同时不会干扰那些高高手们。

在释放内存时,我们使用与申请的同样方法来释放(例如,

使用free()来释放malloc()申请的内存)。所以,我们必须使用XFree()来释放内存。

事件

一个叫"XEvent"的结构来保存从X服务器那里接受到的事件。Xlib提供了非常大量的事件类型。XEvent包括事件的类型,以及与事件相关的数据(例如在屏幕什么地方生成的事件,鼠标键的事件等等),因此,要根据事件类型来读取相应的事件里的数据。这时,XEvent结构使用c语言里的联合来保存可能的数据(如果你搞不清楚c的联合是怎么回事,那你就得花点时间再读读你的教科书了)。结果,我们就可能受到XExpose事件,一个XButton事件,一个XMotion事件等等。

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

编译基于Xlib的程序

编译基于Xlib的程序需要与Xlib库连接。可以使用下面的命令行:

cc prog.c -o prog -lX11

如果编译器报告找不到X11库,可以试着加上"-L"标志,像这样:

cc prog.c -o prog -L/usr/X11/lib -lX11

或者这样(针对使用X11的版本6)

cc prog.c -o prog -L/usr/X11R6/lib -lX11

在SunOs 4 系统上,X的库被放到了/usr/openwin/lib

cc prog.c -o prog -L/usr/openwin/lib -lX11

等等,具体情况具体分析

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

打开,关闭到一个X服务器的连接

一个X程序首先要打开到X服务器的连接。我们需要指定运行X服务器的主机的地址,以及显示器编号。X窗口允许一台机器开多个显示。然而,通常只有一个编号为"0"的显示。如果我们想要连接本地的显示(例如进行显示的机器同时又是客户程序运行的机器),我们可以直接使用":0"来连接。现在我们举例,连接一台地址是"simey"的机器的显示,我们可以使用地址"simey:0",下面演示如何进行连接#include /* defines common Xlib functions and structs. */

.

.

/* this variable will contain the pointer to the Display structure */

/* returned when opening a connection. */

D

Linux操作系统基础教程

Linux操作系统基础教程 清华大学信息学院计算机系 目录 前言 (2) 第一讲 Linux基础 (2) 一.什么是Linux? (2) 二.安装Linux的好处? (3) 三.如何得到Linux? (3) 四.如何得到Linux的最新消息? (3) 五.Linux操作系统上有什么应用? (4) 六.在那里可以找到讨论区? (5) 七.安装过程 (5) 第二讲 Linux基础进阶 (5) 一.Linux的文件系统结构 (6) 二. 文件类型 (7) 三.Linux基本操作命令 (8) 四.基本的系统管理命令 (14) 五.关於 Process 处理的指令 (16) 六. 关於字串处理的指令 (17) 七. 网路上查询状况的指令 (17) 八. 网路指令 (18) 九. 关於通讯用的指令 (21) 十. 编译器( Compiler ) (22) 十一. 有关列印的指令 (22) 第三讲 Linux下的网络服务,配置问题和常用工具 (24) 一.Linux下的网络服务 (24) 二.几种重要的配置文件 (26) 三.Linux下常用的工具软件 (28) 尾语 (31)

前言 Linux是在1991年发展起来的与UNIX兼容的操作系统,可以免费使用,它的源代码可以自由传播且可任人修改、充实、发展,开发者的初衷是要共同创造一个完美、理想并可以免费使用的操作系统。 我们并不能使同学们通过这次系列讲座成为一个UNIX类操作系统的高手,这次系列讲座的目的就是在同学们中间普及Linux基础知识,为今后我们更加接近的了解Linux做一个好的开端。 第一讲 Linux基础 在这一讲中,我们主要是了解一下Linux的概况,以及对Linux有一个初步的感性认识。 一.什么是Linux? Linux是一个以Intel系列CPU(CYRIX,AMD的CPU也可以)为硬件平台,完全免费的UNIX兼容系统,完全适用于个人的PC。它本身就是一个完整的32位的多用户多任务操作系统,因此不需要先安装DOS或其他的操作系统(MS Windows, OS2, MINIX..)就可以进行直接的安装。Linux的最早起源是在1991年10月5日由一位芬兰的大学生Linux Torvalds (Torvalds@kruuna.helsinki.fi)写了Linux核心程序的0.02版开始的,但其后的发展却几乎都是由互联网上的Linux社团(Linux Community)互通交流而完成的。Linux不属于任何一家公司或个人,任何人都可以免费取得甚至修改它的源代码(source code)。Linux上的大部分软件都是由GNU倡导发展起来的,所以软件通常都会在附着GNU Public License(GPL)的情况下被自由传播。GPL是一种可以使你免费获得自由软件的许可证,因此Linux使用者的使用活动基本不受限制(只要你不将它用于商业目的),而不必像使用微软产品是那样,

linux基础篇之常用命令(一)

Linux常用命令(一) 虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快速的。Bash和Linux Shell需要输入命令来完成任务,因而被称为命令行接口。 命令是计算机执行任务的指令。可以使用命令去关闭计算机,或者列出当前目录的文件列表,或当前文本的内容,或者屏幕显示一条消息。 如果你是一个新手,并尝试使用命令行接口,我们收集了各种基本的Linux命令来供你学习,帮你在各种Linux发行版中完成各种任务。虽然不是很详细,但是对Linux初学者,或普通用火,或管理员都是很有用的。 1.Is-List ls会列举出当前工作目录的内容(文件或文件夹),就跟你在GUI中打开一个文件夹去看里面的内容一样。 2.mkdir —Make Directory mkdir 用于新建一个新目录 3.pwd —Print Working Directory pwd显示当前工作目录 4.cd—Change Directory 对于当前在终端运行的会中中,cd 将给定的文件夹(或目录)设置成当前工作目录。

5.rmdir—Remove Directory rmdir 删除给定的目录。 6.rm—Remove rm 会删除给定的文件或文件夹,可以使用rm -r 递归删除文件夹 7.cp—Copy cp 命令对文件或文件夹进行复制,可以使用cp -r 选项来递归复制文件夹。 8.mv—Move mv 命令对文件或文件夹进行移动,如果文件或文件夹存在于当前工作目录,还可以对文件或文件夹进行重命名。

xlib库基本图形编程技术文档新手入门linux时代开源、自由、共享...

xlib库基本图形编程技术文档新手入门linux时代开源、自 由、共享... Xlib库基本图形编程 Basic Graphics Programming With The Xlib Library http://users.actcom.co.il/~choo/lupg/tutorials/xlib-programming/ xlib-programming.html 1. Preface 2. The Client And Server Model Of The X Window System 3. GUI programming - the Asynchronous Programming Model 4. Basic Xlib Notions 1. The X Display 2. The GC - Graphics Context 3. Object Handles 4. Memory Allocation For Xlib Structures 5. Events 5. Compiling Xlib-Based Programs 6. Opening And Closing The Connection To An X Server 7. Checking Basic Information About A Display 8. Creating A Basic Window - Our "hello world" Program 9. Drawing In A Window

1. Allocating A Graphics Context (GC) 2. Drawing Primitives - Point, Line, Box, Circle... 10. X Events 1. Registering For Event Types Using Event Masks 2. Receiving Events - Writing The Events Loop 3. Expose Events 4. Getting User Input 1. Mouse Button Click And Release Events 2. Mouse Movement Events 3. Mouse Pointer Enter And Leave Events 4. The Keyboard Focus 5. Keyboard Press And Release Events 5. X Events - A Complete Example 11. Handling Text And Fonts 1. The Font Structure 2. Loading A Font 3. Assigning A Font To A Graphics Context 4. Drawing Text In A Window 12. Windows Hierarchy 1. Root, Parent And Child Windows 2. Events Propagation 13. Interacting With The Window Manager

献给初学者:谈谈如何学习Linux操作系统

献给初学者:谈谈如何学习Linux操作系统 一、选择适合自己的linux发行版 谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是 有一点是可以肯定的,linux正在变得越来越流行,面对这么多的Linux发行版,打算从其他系统转到linux系统来的初学者可能会感到困惑,即便是忠实的 Linux用户也没有时间和精力去挨个尝试,因此初学者在学习linux的之前,需 要有一个明确的方向,选择一个适合自己的系统开始学习linux至关重要!下面 我们就分类介绍。 1.1初学者入门首选-redhat系列 在学习redhat系列linux之前,首先要了解以下redhatlinux各个发行版本之 间的关系。 1.RedHatLinux RedHatLinux是redhat最早发行的个人版本的linux,其1.0版本于1994年11月3日发行。虽然其历史不及其它linux发行版本悠久,但比起很多的Linux 发行套件,RedHat的历史悠久得多。自从RedHat9.0版本发布后,RedHat公司就不再开发桌面版的Linux发行套件,RedHatLinux停止了开发,而将全部 力量集中在服务器版的开发上,也就是RedHatEnterpriseLinux版。2004年4 月30日,RedHat公司正式停止对RedHat9.0版本的支持,标志著RedHatLinux的正式完结。原本的桌面版RedHatLinux发行套件则与来自开源 社区的Fedora进行合并,成为FedoraCore发行版本。 目前RedHat分为两个系列:由RedHat公司提供收费技术支持和更新的RedHatEnterpriseLinux,以及由社区开发的免费的FedoraCore。 2.FedoraCore FedoraCore(缩写为FC)被红帽公司定位为新技术的实验场地,许多新的技 术都会在FC中检验,如果稳定的话红帽公司则会考虑加入RedHatEnterpriseLinux中。 FedoraCore1发布于2003年年末,而FC的定位便是桌面用户。FC提供了 最新的软件包,同时,它的版本更新周期也非常短,仅6个月。由于版本更新 频繁,性能和稳定性得不到保证,因此,一般在服务器上不推荐采用FedoraCore。 其实可以这么认为,Fedora就是RedHat发行RedHat企业版linux的一个 实验版本,以用户做测试,为RedHat企业版发布奠定基础。 3.RedHatEnterpriseLinux RedHatEnterpriseLinux(缩写为RHEL,RedHat的企业版)。RedHat现在主要做服务器版的linux开发,在版本上注重了性能和稳定性以及对硬件的支持。由于企业版操作系统的开发周期较长,注重性能、稳定性和服务端软件支持, 因此版本更新相对较缓慢。

linux基础教程考试及答案

linux基础教程考试及答案 1 / 8

————————————————————————————————作者:————————————————————————————————日期: 2 / 8

(由于大部分内容是本人做的,如果答案有疑问 或错误的请和我联系) 一、填空题 1、某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进 制数为:( 644 ) 2、使用vi编辑器后,在指令模式下输入( wq )保存编辑的文件 后离开vi编辑环境。 3、在控制台登陆后,可以通过键入( sartx )或 xinit来启动图形 化桌面。 4、在终端上假设当前登陆的用户是Test,切换登陆的用户为Student 的命令是( su student )。 5、启动Apache服务器的命令是( service httpd start )。 6、查看文件sneakers.txt开始的十行( head sneakers.txt )。 7、显示所有文件的命令是( ls -a ) 8、挂载U盘(设U盘设备名为sda2,具体用fdisk –l命令查看U盘 设备名)中的内容,至/mnt/usb/sda下的命令是(ls -a mount /dev/sda2 /mnt/usb/sda ) 9、在linux系统上做备份可以有两种类型:(用户备份) 和(系统备份)。 10、链接分为:(硬链接)和(符号链接)。 11、安装Linux系统对硬盘分区时,必须有两种分区类型:(文件 系统分区)和(交换分区)。 12、vi编辑器具有两种工作模式:(命令模式)和(输入 模式)。 13、Sendmail邮件系统使用的两个主要协议是:(SMTP )和( POP),前者用来发送邮件,后者用来接收邮件。 14、mv 命令可以(移动文件和目录),还可以(重命名文件、目录)。 15、shell不仅是(用户命令的解释器),它同时也是一种功能强大的编程语言。(bash )是Linux的缺省shell。 16、增加一个用户的命令是:(adduser )或(useradd )。 二、单项选择题(30分,每题2分) 1、在命令: [root@teacher root]# rpm -qa|grep vsftpd的功能是( A )。 A. 安装vsftpd B. 启动vsftpd C. 检查系统是否已安装vsftpd D. 运行vsftpd程序 2、删除文件命令为:( D )。 A. mkdir B. rmdir C. mv D. rm 3、关闭linux系统(不重新启动)可使用( A )命令。 A.power off B. ctrl+alt+del C. shutdown -r D. reboot 4、对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是( D )。 A. -rwxr-xr-x B. -rwxr--r— C. -r--r--r— D. -r-xr-x—x 5、下面不是对Linux操作系统特点描述的是(B ) A、良好的可移植性 B、单用户 C、多用户 D、设备独立性 6、下面哪个命令不能用来显示文本的内容(C) A、more B、less C、find D、cat 3 / 8

Ubuntu Linux 入门

Ubuntu Linux 入门 安装Ubuntu Linux 前的准备工作 1. 确认电脑是否可以安装Ubuntu 如今Ubuntu 的硬件支持已经相当完善,只要不是特别少见的硬件都可以正常使用。而且Ubuntu 可以自动侦测安装硬件驱动程序,除了少数硬件需要安装版权受限的附加驱动之外,大多数硬件都不需要手动安装驱动程序。如果不能确定硬件是否能够正常工作,可以尝试使用Wubi 安装Ubuntu 进行测试,具体步骤可参阅Ubuntu Linux 入门(二):安装Ubuntu Linux 。 Ubuntu 的系统配置要求不高,以Ubuntu 11.04 桌面版本为例,最低硬件需求如下:CPU:主频1 GHz 以上 内存:384 MB 以上 硬盘:5 GB 以上 对于目前主流的个人计算机来说,达到上述配置并不困难,主要需要保证的是有足够的硬盘空间,推荐保留给Ubuntu 的自由空间为20 GB 以上。 2. 下载Ubuntu 光盘镜像 推荐大家到 Ubuntu 官方网站下载Ubuntu 光盘镜像,推荐大家下载最新版本的Ubuntu 11.04 Desktop CD光盘镜像。 访问https://www.sodocs.net/doc/826312743.html,/download/ubuntu/download,页面中会有两个选项可供选择: 版本:目前可供下载的版本有“Ubuntu 11.04 –Latest version”和“Ubuntu 10.04 LTS –Long-term support”。前者是当前的最新版本,后者则是当前最新的长期支持版版本。对于普通使用者来说,推荐大家选择最新版本。 架构:Ubuntu 支持32 位和64 位的计算机,Linux 的可移植性强于Windows,所以使用64 位Ubuntu 所出现的兼容性问题较Windows 少,但是部分专有软件如Adobe Flash Player 对64 位Linux 的支持仍然不甚完美,因此推荐大家下载32 位版本。 设置完毕之后点击Download 按钮就可以开始下载,Ubuntu 网站会自动寻找距离你较近的服务器提供下载。 3. 选择安装方式 Ubuntu 有两种安装方式,一种是将Ubuntu 安装到某个Windows 分区,也就是所谓的Wubi 安装;另一种则是将Ubuntu 安装到独立的Linux 分区之中。 Wubi 是Windows-based Ubuntu Installer 的缩写,意为基于Windows 的Ubuntu 安装程序。就如字面所说,Wubi 是一个建基于Windows 的Ubuntu 安装程序,是将Ubuntu 以一个软件的形式安装在Windows 系统之中。 对于新手来说,Wubi 安装较为简便,可以直接在Windows 中安装,不需要准备可启动的安装介质,也不涉及调整分区的操作。Wubi 还有一个有趣的功能,就是用户可以在Windows 的“添加或删除程序”中卸载Ubuntu。 不过,采用Wubi 安装的Ubuntu 不支持休眠,性能上有一些损失,Wubi 的文件系统也比普通的文件系统更脆弱。而且,Wubi 在某些计算机上会出现不明的错误而无法正常安装。因此,建议大家使用Wubi 安装作为测试体验之用。对于希望深入学习Linux 的朋友来说,我认为最好还是将Ubuntu 安装到独立的Linux 分区之中,以获得一个稳定性更强、性能更好的操作系统。 Wubi 安装和将Ubuntu 安装到独立的Linux 分区的具体步骤请参阅 Ubuntu Linux 入门(二):安装Ubuntu Linux 。 4. 准备安装介质

[图文] linux sed入门的15个小操作

[图文] linux sed入门的15个小操作 E-mail:nathanielwen@https://www.sodocs.net/doc/826312743.html, 近期在学习Linux Shell编程中关于sed工具的部分,出于习惯,在经历各种百度、各种论坛、各种资料之后,一定会整理一份文档作为自己学习的小小总结,也希望可以帮助很多跟我一样渴望进入Linux世界的新手们,这里要推荐两个很好的资源: https://www.sodocs.net/doc/826312743.html,/command/ UNIX.shell范例精解(第4版) 这份文档里面的很多知识点,包括使用的databook文件等都来自于这两个资源,如果有侵犯版权问题,也请见谅~ 关于文档的几点说明: (没有耐心的童鞋可以跳过这一页) 1、注释部分用“#” 2、指令部分用黄色的底色标出,在其后附上指令运行截图 3、每个操作涉及的选项或者参数均用红色加粗字体显示 4、部分操作之后会附加知识点拓展和常用操作,希望可以更有效的使用sed工具 5、文档正文部分结束后附录I会有一些知识点的补充,难度上没有增加,只是不方便安排在常用操作中 6、关于元字符和正则表达式的部分,难度较大,再其他文档中会有讲解,或者也可以参阅《UNIX.shell范例精解(第4版)》,该书扫描版的pdf文档可以上网下载或者发邮箱联系我,很欢迎可以分享优秀的资源 7、文档的附录II部分,列出了文件databook的内容 我也是新手,理解能力,表达能力不足,很多内容不可能面面俱到,同时,必然也会存在很多纰漏,希望大家指正、见谅,我已经尽力了,thank you~

#首先介绍一下命令的基本格式: sed [options] '{command}' [filename] 例如sed -n '1,3p' databook 出于个人习惯在接下来的例子中,通常将命令等价的表示为 cat filename | sed [options] '{command}' 例如 cat databook | sed -n '1,3p' #在正式开始之前,我们还需要一个用于操作的文本文件datafile,该文件会在附在附录II 里 #操作一:“s”参数,替换某个单词,例如将Steve Blenheim替换为Steve Jobs 为了方便阅读,我们将第一行截取,存至temp文件 cat databook | head -n 1 > temp (这里的“>”是重定向符号,将默认显示在终端上的内容,写入到temp文件中)

linux菜鸟教程

https://www.sodocs.net/doc/826312743.html, 兄弟连IT教育版权所有 linux菜鸟教程 很多Linux初学者不知从何处开始学起,怎么学,感觉很茫然。Linux菜鸟要成为Linux高手,要有一个好的学习计划和规划,要不然时间花了很多,却没有效果。这里介绍学习Linux的步骤和建议,希望对初学者有帮助。 Linux学习步骤: 1、准备阶段。 (1)了解Linux培训是什么,有什么优缺点,发展历史和现状,应用领域; (2)赶快找一部计算机,赶快安装一个 Linux 发行版本,要自己亲手安装一遍Linux操作系统(包括虚拟机的Linux环境和完整真实的Linux环境); (3)熟悉Linux环境和Linux基本操作。 2、菜鸟阶段之选教程。 选择一本好的工具书对学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。 (1)应该选一本较好的较全面经典的Linux入门进行深入系统学习,不要贪多,另外还有准备若干书籍参考,随便看看或者用的时候翻翻看看; (2)网上下载Linux电子书,百度一下有很多很多,如“pdf版经典Linux 学习教程”,一搜几十本,最好自己建下个人资料库; (3)最重要的是要做好学习笔记或者写写技术博客,把心得点滴记下来; 3、菜鸟阶段之系统命令。 Linux命令是必须好好学习和经常使用,而不要经常去使用菜单操作。一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统: (1)安装和登录命令:login、 shutdown、 halt、reboot 、mount、umount 、chsh; (2)系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho。 (3)系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、groupadd kill、 crontab、 tar、 unzip、 gunzip 、last; (4)网络操作命令:ifconfig、ip 、ping 、 netstat 、telnet、 ftp、route、 rlogin rcp 、finger 、mail 、nslookup; (5)文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、cat、 ln;

真实记录我的学习linux的经验(长,带图)

为何要学习Linux?这个问题可能困扰着很多Linux初学者或者爱好者,其实我也说不上来为何要学习Linux,可能最实在的理由就是----Linux相关工作岗位很多。在“见到”Linux 的第一面并不会感觉到此物有多么惊艳和神奇,但经历了漫长的学习和接触之后,你会发现此物是如此的让人神往和愉悦。 那么我今天要谈的是,如何才能学好Linux呢? 第一、抱着良好的心态去学习。 学习Linux一定要保持一个良好的心态,切忌怀疑自己的学习方向和成果。拿我自 己的经验来说,我学Linux是因为要比赛,学习Linux成了我每天的任务,就像“出 租车司机每天一起床就欠200百元钱”一样,苦于学校没有专业的老师,只好一心 扑在“圣贤书”之上,在经历了半年的强制学习和强制灌输,我产生了严重的自我 怀疑,“学习Linux有什么用?那么多命令记到死啊?还比什么赛,干脆退赛完事”。 这些不良的情绪直接阻碍了我学习的动力和效率,但试问这世间有什么是容易的呢? 还记得你敲出的第一条命令在一个“黑漆漆”的窗口中显示了什么样的神迹吗?学 习Linux绝非是件易事,但请不要怀疑你自己的方向和成果,你所付出的终将会给 丰厚的回报。 “善终若始,则无败势”这句话就总结了我上面说的一些乱七八糟的话,如果一件 事情结束的时候你还能保持像你开始那样心态的话,那么你将立于不败之地。 这一段最后补充一个小的问题吧,不要纠结去学习哪个Linux发行版,没毛用都一 样的。 第二、合适的学习方式和教材 上面也说了,楼主最开始学习Linux的时候纯自学,经历了“鸟哥”的厚重,以及 Linux从入门到“进坑”,各种各样的书籍和视频充斥着我本来就不太大的脑容量, 说实话《鸟哥的Linux私房菜》是一本特别好的书,清晰明了、幽默风趣,但因为 此书“厚如砖头”以及目前Linux的版本情况,所以不太推荐初学者拿此书系统的 学习Linux,当然如果第四版出了还是赶紧拜读一下的好。 又扯了一堆废话,那么来个明确的问题,选择视频还是书籍? 很多初学者比较倾向于找一些视频教程来看,其实这真是极好的,但是你得找一些 质量高、口碑好,最好是一些大型培训机构内部的视频,当然如何获得就是你的事 情了。但是请不要一直依赖视频,毕竟视频除了没有互动是跟上课一样的,所以看 视频的唯一缺点就是学习成本的增加,这个成本包括了取得费用和时间成本,所以 在你什么都不懂而且看书看“懵逼”的时候先看看视频吧,当你把Linux基础命令 用熟练了,理解简单的服务原理并可以独立配置简单的服务的时候,那么就去看书 吧,看书可以大大的节省你的时间、金钱成本。

经典:Linux菜鸟入门级命令大全

经典:Linux菜鸟入门级命令大全 发布时间:2005.08.16 11:51 来源:https://www.sodocs.net/doc/826312743.html, 作者:Linux论坛 1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。 2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。 3. cp 拷贝文件 eg: cp filename1 filename2 //把filename1拷贝成filename2 cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c 4. rm 删除文件和目录 eg: rm 1.c //将1.c这个文件删除 5. mv 移走目录或者改文件名 eg: mv filename1 filename2 //将filename1 改名为filename2 mv qib.tgz ../qib.tgz //移到上一级目录 6. cd 改变当前目录 pwd 查看当前所在目录完整路径 eg: pwd //查看当前所在目录路径 cd netseek //进入netseek这个目录 cd //退出当前目录 7. cat,more命令 将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示 eg; cat>1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。 cat 1.c 或more 1.c //都可以查看里面的内容。 gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码。 8.chmod 命令权限修改用法:chmod 一位8进制数 filename。 eg: chmod u+x filenmame //只想给自己运行,别人只能读 //u表示文件主人, g 表示文件文件所在组。 o 表示其他人 ;r 表可读,w 表可写,x 表可以运行 chmod g+x filename //同组的人来执行 9. clear,date命令 clear:清屏,相当与DOS下的cls;date:显示当前时间。 10. mount 加载一个硬件设备 用法:mount [参数] 要加载的设备载入点 eg: mount /dev/cdrom cd /mnt/cdrom //进入光盘目录

Linux入门教程(精华基础版)

第一章Linux入门教程 Linux,在今天的广大电脑爱好者心中已经不再是那个遥不可及的新东西了,如果说几年前的Linux是星星之火的话,如今Linux不仅在服务器领域的应用取得较大进展,而且在桌面应用领域也有越来越多的人选择使用。Linux的开放性和灵活性使它得以在实验室和其它研究机构中被用于创新性技术变革的前沿,现在Linux已经真正地向广大的电脑爱好者们敞开了大门。 只要你对Linux感兴趣,想要学习Linux,那么本教程将带你走进Linux的世界。 第一章初识Linux 在学习使用之前我们还是先来了解一下Linux吧。 Linux是什么?按照Linux开发者的说法,Linux是一个遵循POSIX(标准操作系统界面)标准的免费操作系统,具有BSD和SYSV的扩展特性(表明其在外表和性能上同常见的UNIX非常相象,但是所有系统核心代码已经全部被重新编写了)。它的版权所有者是芬兰籍的Linus B.Torvalds先生。 1991年8月这位来自芬兰赫尔辛基大学的年轻人Linus Benedict Torvalds,对外发布了一套全新的操作系统。 最开始的Linux版本是被放置到一个FTP服务器上供大家自由下载的,FTP服务器的管理员认为这是Linus的Minix,因而就建了一个Linux目录来存放这些文件,于是Linux这个名字就传开了,如今已经成了约定俗成的名称了。 下图就是Linux的吉祥物,一只可爱的小企鹅(起因是因为Linus是芬兰人,因而挑选企鹅作为吉祥物): Linux的吉祥物 闲话少叙进入正题。我们主要的学习方向有如下几点:

1.熟练掌握基本命令。每个系统都有自己特定的语言环境,Linux也不例外,只有熟悉并熟练掌握Linux的常用基础命令才可以深入学习。 2.系统管理及运用。系统的管理包括启动、用户、进程以及安全管理等等。大体上都是通过命令来进行配置文件及脚本文件的。 3.源码的学习和研究。由于内核的相似,Linux同UNIX一样都是由C语言开发而成的,所以了解UNIX的朋友学习起来相对容易。 4.内核开发。现在的很多服务器系统,网络设备,安全防护软件以及手机系统和掌上PDA 的操作管理系统都是由Linux编程开发而成的,所以内核的开发学习当然必不可少。 5.数据库及服务器领域。如今Linux做的服务器在市场中占有率第一的位置无可动摇,其中包括:WWW服务器,FTP服务器,mail服务器,数据库服务器等等多种服务器。 了解了学习的目的和方向后,下面以Red Hat9.0为例来介绍Linux的安装过程。 第一步:设置电脑的第一启动驱动器为光盘驱动器,插入Linux系统光盘启动计算机。 第二步:系统会自动进入到Linux安装初始画面,第一要选择安装的方式,其中如果要选择文本界面安装需要在引导命令处输入命令linux text,如果要选择图形界面安装的话直接安回车Enter。笔者使用的是图形安装。 第三步:选择完安装方式后便出现了光盘检测界面,出现这个对话框的意思就是在安装之前确定系统盘是否有损坏,如果确定没有损坏选择“Skip”直接跳过检测进入下个环节。如果选择“OK”则自动转到光盘检测程序自动检测光盘。对于初次接触Linux的朋友,还是建议您在安装之前先检测下系统安装光盘,省去在安装过程中所带来的不便。 第四步:检测完光盘后会出现Linux的软件介绍说明以及选择系统语言的对话框,选择“简体中文”,当然如果你精通别的语言也是可以选择其他语言进行安装和使用的。 第五步:键盘以及鼠标设置。在选项中提供了多种型号,品牌,接口和语言的键盘和鼠标,根据你现所用的键鼠进行对应选择。选择完毕后单击“下一步” 第六步:安装类型。其中包括“个人桌面”,“工作站”,“服务器”,“定制”。四种类型名称不同,内容大同小异。由于篇幅所限这个会在日后的讲座中给大家详细介绍。 第七步:磁盘分区设置。其中包括两个选项,“自动”和“手动”。自动分区会将所有的整个硬盘按照容量大小平均分区格式化,适合没有装任何资料的新电脑,但如果你在这之前装有其他系统,或是其他分区中存在的数据的话,建议您还是“手动分区”,这样不会丢失您原来的文件数据。 第八步:新建分区。在图形界面下比较直观,一般都会显示出你硬盘的容量,厂商等相关信息。直接点击“新建”来创建新的分区。

Linux入门——适合初学者

https://www.sodocs.net/doc/826312743.html,/os/linux Linux入门——适合初学者 学习Linux也有一阵子了,这过程中磕磕撞撞的,遇到了问题,也解决了一些问题,学习的路子是曲折的,想总结点啥的,让刚刚学习Linux的不会望而生畏。技术的价值不在于这个技术有多么高超,而在于技术本身给我们带来什么价值,所以很多时候我们学习一个技术,不能盲目学,是为了使用这个技术,知道这个技术的使用场景,知道这个技术带来的便利性,我们才决定要深入学习。 那我们干嘛要学习Linux?Linux能给我们带来什么价值呢,这样我们的学习才不会麻木。 Linux给我的感觉就是稳定,免费,性能好。 稳定,体现在哪里?我们使用PC机,安装的操作系统一般是windows xp,windows 7等,这些操作系统,如果你开一个星期,你的机器就要重启了,因为电脑会变的很慢,但是如果你用Linux,一般可以撑一个月不用重启,当前如果机器比较繁忙就例外了。这里我说的是个人PC,而很多互联网公司使用的是廉价的PC Server,目前价格是每台2-3W,PC Server和个人PC本质上没什么区别,一样的x86处理器架构,一样都是复杂指令集,只是PC Server的稳定性比个人PC高很多,性能和内存也比较高,但是代价就是开机比较久,一般要5分钟,声音也特别吵,家用买PC Server简直没法用。一般PC Server安装Linux可以维持一年不重启。 免费,这个大家应该清楚,windows操作系统不是免费的,尤其是对企业来说,如果每台服务器都安装windows,那企业要交的操作系统的费用很可观,尤其对互联网公司来说,拥有众多的PC Server,分布全国各地,要交windows的保护费,简直是要命。而在中国,一般企业都是象征性买十几个license,交点保护费也过关了(windows有后门,不找家用电脑麻烦,企业会被找麻烦),但是如果企业比较大,效益好,机器多,十几个license也不够保护费,所以使用免费的Linux是不错的选择。 性能上,Linux做了很多优化,例如Linux会把空闲的内存缓存文件目录,文件内容,能不用虚拟内存就不用,但是windows一定会用虚拟内存,即使内存足够。

RedHatLinux菜鸟入门教程

RedHatLinux菜鸟入门教程 1994年,Young和Mark Ewing创建了Red Hat公司,并创造了全球使用最广泛的Red Hat Linux套件,为Linux的普及立下了汗马功劳,笔者也是跟随着Red Hat 的带领下走进Linux世界的。Red Hat取得了辉煌的成绩,甚至许多Linux发行公司还采用了许多Red Hat Linux的代码,如Mandrake、SOT Best、Connectiva、Abit 和Kondara。可以说,Red Hat在某种意义上几乎成了Linux的代名词。 2001年4月16日,Red Hat公司正式推出了Red Hat Linux 7.1版。做为Red Hat Linux的忠实用户,第一时间就在自己的爱机上安装了一套,在此将我的心得汇成本文,希望能够帮助你驾驭它。 第1章:系统简介 1.1 系统新特性 1)采用了最新的Linux 2.4.2版稳定内核,支持更多硬件设备,具有很高的性能指标; 2)采用了最新的图形系统Xfree86 4.0.3,提供了强大的硬件支持; 3)引入了全图形安装界面,使得安装更为简单; 4)增加了国际化语言支持,但最可恨的是支持了Big5,却没有简体中文,真可气; 5)显著改进了对多CPU计算机的支持,而对于单CPU的计算机器,则提供了高达4G的用户进程空间,同时取消了PCI总线的限制,虚拟内存可高达64G物理内存,支持多用户和集体使用,可谓是企业级的操作系统; 6)对移动存储设备提供了出色的支持,包括:可“热插拔”USB设备、ZIP驱动器和各种光盘刻录机。Red Hat Linux 7.1主要采用了一个叫做updfstab的程序模块,使得它能对各种移动存储设备的支持,安装和卸载这些设备也是变得很容易了; 7)加入了一些新的系统配置工具来方便用户管理以及Linux系统使用,例如apacheconf, bindconf, 和printconf等,这些工具能方便的分别让用户通过GUI 图形用户界面来配置APACHE,BIND,和打印机。要知道,以往版本中要配置上述的几个服务可是很复杂的。要手动修改不少参数; 8)另外,还增强了对PCMCIA 设备的支持,这对使用PCMCIA 设备的笔记本电脑的用户来说是非常重要的; 9)在安全方面做了许多修补工作,安全缺省设置可保证端口关闭,新的防火墙屏蔽可使用用户任意打开或关闭; 10)捆绑了大量最新的应用软件、服务器软件。 1.2 系统硬件需求 Linux发展到今天,已经摆脱了以前的硬件支持不好的窘境,它凭借自己的实力赢得了市场,现在众多硬件厂商都使自己的产品能够在Linux下工作。 1)CPU:Redhat Linux 7.1在安装光盘上内提供了对许多CPU的支持程序,几乎您在安装时不会因为CPU的原因受阻。不过对于一些类似Intel 80386、80486,

linux exp用法 linux初学者一日内学会基本操作

linux exp用法linux初学者一日内学会基本操作 当初我学linux的时候,在什么地方花去了很多的时间,费了很大的劲,所以现在想对那些初学者写点什么.希望对他们有点帮助,不再像我没有目的地到处有资料,在摆弄linux的时候,在先锋下结识了很多要好的朋友,他们的帮助让我深为感激. 我写这点东西的目的只是较国肤浅的对一些基本操作作了说明(高手就不用看了),限于本人的水平有什么不对的地方希望大家回贴补充. (注意:这个贴子发的仓促,我会不时的修改的,帮助那些初学的同学,当然这也是我的学习过程的). 第一部分: (一)什么是linux(简单说明): 1991年8月,芬兰的一个学生在comp.os.minix新闻组贴上了以下这段话: 你好,所有使用minix的人-我正在为386(486)A T做一个免费的操作系统(只是为了爱好,不会象gnu那样很大很专业). 这名学生就是Linus Torvalds, 而他所说的'爱好'就变成我们今天知道的Linux. Linux引起黑客们(hacker)的注意,通过计算机网络加入了Linux的内核开发,Linux倾向于成为一个黑客的系统----直到今天,在Linux社区里内核的开发被认为是真正的编程.由于一批高水平黑客的加入,使Linux发展迅猛.作为一个具备所有特性的类似POSIX的操作系统,Linux并非仅由Linus一人开发,而是由全世界几百个程序员共同开发的.在Linux的发展历程上还有一件重要的事:Linux加入GNU并遵循公共版权许可证(GPL).此举大大加强了GNU和Linux,几乎所有应用的GNU库/软件都移植到Linux,完善并提高了Linux的实用性,而GNU有了一个根基,我现在也搞不清楚到底是GNULinux呢还是基于Linux的GNU.Linux是一个在386/486/Pentium PC机上运行的Uinux系统.各地出现了很多的Linux发行版,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多种,而且还在增加,注意,严格来说,你不能说"Redhat Linux""Suse Linux""SlackwareLinux"等等,Linux主要指操作系统内核,对所有发行版内核原代码都是一样的(但集成的内核版本可能因发行时间不同而有所不同).Linux系统具有最新Unix的全部功能,包括真正的多任务,虚拟存储,共享库函数,即时负载,优越的存储管理和TCP/IP,UUCP网络工具.Linux系统及其发展均符合Posix标准.其内核支持Ethernet,PPP,SLIP,NFS, AX.25,IPX/SPX(Novell),NCP(Novell)等.系统应用包括tellnet,rlogin,ftp,Mail,gopher,talk,term,news(tin,trn,nn)等全套UNIX工具包.X图形库,包括xterm,fvwm,xxgdb, mosaic, xv, gs, xman等全部X-Win应用工具.商业软件有Motif,WordPerfect.中文工具已有Cxterm,celvis,cemasc,cless,hztty,cytalk,ctalk,cmail,等,可以处理GB,BIG5,HZ 文件.此外还有DOS模拟软件,可以运行 DOS/Win下的软件.

ARM与嵌入式linux入门的建议(初学者必看)

Figolqt原创 由于很多人总问这个问题,所以这里做一个总结文档供大家参考。 这里必须先说明,以下的步骤都是针对LinuxWinCE。也许你会注意到,现在做嵌入式的人中,做linux研究的人远比做WinCE的人多,很多产家提供的资料也是以linux为主。我一直很难理解,其实WinCE的界面比linux的界面好看多了,使用起来也很方便,更为重要的是,WinCE的开发和Windows下的开发基本一样,学起来简单得多,但是学linux或者使用linux做嵌入式的人就是远比WinCE多。在和很多工作的人交流时我了解到,他们公司从没考虑使用Win CE,因为成本高,都是使用linux进行开发。我读研究生的的实验室中也没有使用WinCE的,大都研究linux,也有少部分项目使用vxwork,但是就没有听说过使用WinCE的,原因就是开源!当然现在WinCE6.0听说也开源,不过在成本和资源上linux已经有了无人能挡的优势。与此相对应的是,越来越多的电子厂商已经开始使用linux开发产品。举个例子,Google近期开发的智能手机操作系统Andr oid其实就是使用linux-2.6.23内核进行改进得到的。 第一,学习基本的裸机编程。 对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在刚刚开始学ARM的时候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用AD S去编程,第一个实验就是控制LED。学过一段时间ARM的人都会笑这样很笨,实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复杂的系统最终都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好很多了 学习裸机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的理解硬件就是说,理解这个硬件是怎么组织这么多资源的,这些资源又是怎么由cpu、由编程进行控制的。比如说,s3c2410中有AD转换器,有GPIO(通用IO口),还有nandflash控制器,这些东西都有一些寄存器来控制,这些寄存器都有一个地址,那么这些地址是什么意思?又怎么通过寄存器来控制这些外围设备的运转?还有,noRFlash内部的每一个单元在这个芯片的内存中都有一个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么关系?他们是一样的吗?而与norflash相对应的nandflash内部的储存单元并不是线性排放的,那么s3c2410怎么将nandflash的地址映射在内存空间上进行使用?或者简单地说应该怎么用nandflash?再有,使用ADS进对ARM9行编程时都需要使用到一个初始化的汇编文件,这个文件究竟有什么用?他里面的代码是什么意思?不要这个可以吗? 诸如此类都是对硬件的理解,理解了这些东西就对硬件有很深的理解了,这对以后更深一步的学习将有很大的帮助,如果跳过这一步,我相信越往后学越会觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打好。

相关主题