第五章:系统服务

1.服务目录

在之前的Redhat Linux5.x&6.x的系统中,我们知道,系统的服务都是存放在/etc/init.d这个目录中的,但是在RHEL7.x的系统中,已经发生了改变,如下:


------------------------------------------查看RHEL7之前的系统服务路径------------------------------

[[email protected] freeit ~]# cd /etc/init.d/

[[email protected] freeit init.d]# ls

abrt-ccpp         iscsi           restorecond

abrtd             iscsid          rhnsd

abrt-oops         kdump           rhsmcertd

acpid             killall         rngd

atd               libvirt-guests  rpcbind

auditd            lldpad          rpcgssd

autofs            lvm2-lvmetad    rpcidmapd

blk-availability  lvm2-monitor    rpcsvcgssd

bluetooth         mdmonitor       rsyslog

certmonger        messagebus      sandbox

cgconfig          multipathd      saslauthd

cgred             mysqld          single

cpuspeed          named           smartd

crond             netconsole      snmpd

cups              netfs           snmptrapd

dhcpd             network         spice-vdagentd

dhcpd6            NetworkManager  sshd

dhcrelay          nfs             sssd

dnsmasq           nfslock         sysstat

fcoe              ntpd            udev-post

firstboot         ntpdate         vmware-tools

functions         oddjobd         vmware-tools-thinprint

haldaemon         openct          vncserver

halt              pcscd           wdaemon

htcacheclean      portreserve     winbind

httpd             postfix         wpa_supplicant

ip6tables         psacct          xinetd

iptables          quota_nld       ypbind

irqbalance        rdisc

-----------------------------------------查看RHEL7的/etc/init.d/目录----------------------------------

[[email protected] freeit tmp]# cd /etc/init.d/

[[email protected] freeit init.d]# ls

functions   iprinit    netconsole  README

iprdump     iprupdate  network     rhnsd

//如上,此目录不再是系统服务的所在路径,所以,重启服务也不能使用/etc/init.d servername  restart来启动

2.服务下次启动状态

在RHEL7.x之前的系统中,使用命令chkconfig –list即可查看所有服务的下次启动状态,但是在RHEL7中,此命令已不可用


[[email protected] freeit ~]# chkconfig --list

Note: This output shows SysV services  only and does not include native

systemd services. SysV configuration data might be overridden by  native

systemd configuration.

If you want to list systemd services use ‘systemctl list-unit-files‘.

To see services enabled on particular target use

‘systemctl list-dependencies [target]‘.

iprdump         0:off   1:off    2:on    3:on    4:on     5:on    6:off

iprinit         0:off   1:off    2:on    3:on    4:on     5:on    6:off

iprupdate       0:off    1:off   2:on    3:on     4:on    5:on    6:off

netconsole      0:off    1:off   2:off   3:off    4:off   5:off   6:off

network         0:off   1:off    2:on    3:on    4:on     5:on    6:off

rhnsd           0:off   1:off    2:on    3:on    4:on     5:on    6:off

//此命令列出的只是一些基本的服务。要想查看所有的,根据提示命令查看(加粗字体)

---------------------------------------------systemctl list-unit-files---------------------------------------------

[[email protected] freeit ~]# systemctl  list-unit-files

UNIT FILE                                   STATE

proc-sys-fs-binfmt_misc.automount           static

dev-hugepages.mount                         static

dev-mqueue.mount                            static

proc-fs-nfsd.mount                          static

proc-sys-fs-binfmt_misc.mount               static

sys-fs-fuse-connections.mount               static

sys-kernel-config.mount                     static

sys-kernel-debug.mount                      static

tmp.mount                                   disabled

var-lib-nfs-rpc_pipefs.mount                static

brandbot.path                               disabled

cups.path                                   enabled

systemd-ask-password-console.path           static

systemd-ask-password-plymouth.path          static

………………………..

3.系统运行级别

RHEL7中,系统的运行级别已没有0-6之说。运行级别的inittab文件也不再包含0-6级别的说明。如下:


[[email protected] freeit ~]# vim /etc/inittab

# inittab is no longer used when using  systemd.

#

# ADDING CONFIGURATION HERE WILL HAVE NO  EFFECT ON YOUR SYSTEM.

#

# Ctrl-Alt-Delete is handled by  /etc/systemd/system/ctrl-alt-del.targe

t

#

# systemd uses ‘targets‘ instead of  runlevels. By default, there are t

wo main targets:

#

#  multi-user.target: analogous to runlevel 3

//相当于运行级别3,命令行界面

#  graphical.target: analogous to runlevel 5

//相当于运行级别5,图形化界面

#

# To set a default target, run:

#

# ln -sf /lib/systemd/system/<target  name>.target /etc/systemd/system/

default.target

#

~

查看系统缺省运行级别


[[email protected] freeit ~]# systemctl  get-default

graphical.target

//默认运行级别为图形化界面

设置默认运行级别


[[email protected] freeit ~]#systemctl set-default  multi-user.target

[[email protected] freeit ~]# systemctl get-default

multi-user.target

查看设置的运行级别的服务状态(下次启动状态)


[[email protected] freeit ~]# systemctl  list-unit-files |grep multi-user

multi-user.target                           enabled

4.服务下次启动状态

我们知道,服务启动之后,要想下次重启生效,RHEL7之前,要使用命令chkconfig servername on,但是在RHEL7中,已不能使用此命令。那么要如何设置,看下面的例子:


[[email protected] freeit ~]# systemctl restart  postfix.service

//启动邮件服务

[[email protected] freeit ~]# systemctl status  postfix.service

//查看邮件服务的运行状态

postfix.service - Postfix Mail Transport  Agent

Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled)

//下次启动为开启

Active: active (running) since Mon 2015-05-04 11:03:42 CST; 14s  ago

//当前正在运行

Process: 4611 ExecStop=/usr/sbin/postfix stop (code=exited,  status=0/SUCCESS)

Process: 4626 ExecStart=/usr/sbin/postfix  start (code=exited, status=0/SUCCESS)

Process: 4623 ExecStartPre=/usr/libexec/postfix/chroot-update  (code=exited, status=0/SUCCESS)

Process: 4621 ExecStartPre=/usr/libexec/postfix/aliasesdb  (code=exited, status=0/SUCCESS)

Main PID: 4698 (master)

CGroup: /system.slice/postfix.service

├─4698 /usr/libexec/postfix/master –w

├─4699 pickup -l -t unix -u

└─4700 qmgr -l -t unix -u

May 04 11:03:42 localhost.localdomain  systemd[1]: Starting Postfix Ma...

May 04 11:03:42 localhost.localdomain  postfix/master[4698]: daemon st...

May 04 11:03:42 localhost.localdomain  systemd[1]: Started Postfix Mai...

Hint: Some lines were ellipsized, use -l  to show in full.

------------------------------------------------关闭下次开机启动-------------------------------------------

[[email protected] freeit ~]# systemctl disable  postfix.service

rm  ‘/etc/systemd/system/multi-user.target.wants/postfix.service‘

[[email protected] freeit ~]# systemctl status  postfix.service

postfix.service - Postfix Mail Transport  Agent

Loaded: loaded (/usr/lib/systemd/system/postfix.service; disabled)

Active: active (running) since Mon  2015-05-04 11:03:42 CST; 4min 30s ago

Main PID: 4698 (master)

CGroup: /system.slice/postfix.service

├─4698 /usr/libexec/postfix/master -w

├─4699 pickup -l -t unix -u

└─4700 qmgr -l -t unix -u

May 04 11:03:42 localhost.localdomain  systemd[1]: Starting Postfix Ma...

May 04 11:03:42 localhost.localdomain  postfix/master[4698]: daemon st...

May 04 11:03:42 localhost.localdomain  systemd[1]: Started Postfix Mai...

Hint: Some lines were ellipsized, use -l  to show in full.

//下次重启生效功能关闭之后,重启系统,邮件服务即为关闭状态

关闭之后重启验证


[[email protected] freeit ~]# systemctl status  postfix.service

postfix.service - Postfix Mail Transport  Agent

Loaded: loaded (/usr/lib/systemd/system/postfix.service; disabled)

Active: inactive (dead)

//没有启动

重新启动邮件服务,并设置下次开机启动


[[email protected] freeit ~]# systemctl restart postfix

[[email protected] ~]# systemctl enable  postfix.service

ln -s ‘/usr/lib/systemd/system/postfix.service‘  ‘/etc/systemd/system/multi-user.target.wants/postfix.service‘

[[email protected] freeit ~]# systemctl status  postfix.service

postfix.service - Postfix Mail Transport  Agent

Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled)

Active: active (running) since Mon 2015-05-04 11:12:14 CST; 35s  ago

Main PID: 2994 (master)

CGroup: /system.slice/postfix.service

├─2994 /usr/libexec/postfix/master -w

├─2995 pickup -l -t unix -u

└─2996 qmgr -l -t unix -u

May 04 11:12:14 localhost.localdomain  systemd[1]: Starting Postfix Ma...

May 04 11:12:14 localhost.localdomain  postfix/master[2994]: daemon st...

May 04 11:12:14 localhost.localdomain  systemd[1]: Started Postfix Mai...

Hint: Some lines were ellipsized, use -l  to show in full.

5.服务状态相关命令

  • 查看当前启动状态

[[email protected] freeit ~]# systemctl is-active  postfix.service

Active

//当前正在运行

  • 关闭当前运行状态,再次查看

[[email protected] freeit ~]# systemctl stop  postfix.service

[[email protected] freeit ~]# systemctl is-active  postfix.service

inactive

  • 查看下次开机启动状态

[[email protected] freeit ~]# systemctl is-enabled  postfix.service

enabled

//下次开机为启动

  • 关闭下次开机启动,并再次查看

[[email protected] freeit ~]# systemctl disable  postfix.service

rm ‘/etc/systemd/system/multi-user.target.wants/postfix.service‘

[[email protected] ~]# systemctl is-enabled  postfix.service

disabled

6.锁定服务(mask)

例1:对postfix服务执行mask操作,然后执行重启操作


[[email protected] freeit ~]# systemctl mask postfix

ln -s ‘/dev/null‘ ‘/etc/systemd/system/postfix.service‘

[[email protected] ~]# systemctl restart  postfix

Failed to issue method call: Unit  postfix.service is masked.

//重启服务失败

[[email protected] freeit ~]# systemctl status  postfix

postfix.service

Loaded: masked (/dev/null)

Active: inactive (dead)

May 04 11:12:14 localhost.localdomain  systemd[1]: Starting Postfix Ma...

May 04 11:12:14 localhost.localdomain  postfix/master[2994]: daemon st...

May 04 11:12:14 localhost.localdomain  systemd[1]: Started Postfix Mai...

May 04 11:18:39 localhost.localdomain  systemd[1]: Stopping Postfix Ma...

May 04 11:18:39 localhost.localdomain  systemd[1]: Stopped Postfix Mai...

Hint: Some lines were ellipsized, use -l  to show in full.

例2:解锁服务并再次重启


[[email protected] freeit ~]# systemctl unmask  postfix

//解锁

rm ‘/etc/systemd/system/postfix.service‘

[[email protected] freeit ~]# systemctl restart  postfix

//重启成功

[[email protected] freeit ~]# systemctl status  postfix

postfix.service - Postfix Mail Transport  Agent

Loaded: loaded (/usr/lib/systemd/system/postfix.service; disabled)

Active: active (running) since Mon 2015-05-04 11:29:36 CST; 3s  ago

Process: 3529 ExecStart=/usr/sbin/postfix start (code=exited,  status=0/SUCCESS)

Process: 3527 ExecStartPre=/usr/libexec/postfix/chroot-update  (code=exited, status=0/SUCCESS)

Process: 3524 ExecStartPre=/usr/libexec/postfix/aliasesdb  (code=exited, status=0/SUCCESS)

Main PID: 3601 (master)

CGroup: /system.slice/postfix.service

├─3601 /usr/libexec/postfix/master -w

├─3602 pickup -l -t unix -u

└─3603 qmgr -l -t unix -u

May 04 11:29:36 localhost.localdomain  postfix/master[3601]: daemon st...

May 04 11:29:36 localhost.localdomain  systemd[1]: Started Postfix Mai...

Hint: Some lines were ellipsized, use -l  to show in full.

7.系统进程

7.1.实时查看系统进程


top  - 11:34:23 up 25 min,  1 user,  load average: 0.00, 0.01, 0.05

Tasks:  297 total,   4 running, 293  sleeping,   0 stopped,   0 zombie

%Cpu(s):  0.0 us,   0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,   0.0 hi,  0.3 si,  0.0 st

KiB  Mem:   1010788 total,   306908 used,   703880 free,     1080 buffers

KiB  Swap:  2097148 total,        0 used,  2097148 free.   110788 cached Mem

PID USER      PR   NI    VIRT    RES     SHR S %CPU %MEM     TIME+  COMMAND                  

3651 root      20    0  123788   1772    1148 R  0.3  0.2    0:00.03 top

1 root      20   0    53948   7808   2548 S   0.0  0.8   0:05.08 systemd

2 root      20   0        0      0      0 S   0.0  0.0   0:00.00 kthreadd

3 root      20   0        0      0       0 R  0.0  0.0    0:00.04 ksoftirqd/0

5 root       0 -20       0       0      0 S  0.0   0.0   0:00.00 kworker/0:0H

7 root      rt   0        0      0      0 S   0.0  0.0   0:00.00 migration/0

8 root      20    0       0      0       0 S  0.0  0.0    0:00.00 rcu_bh

…………………..

--------------------------------------------更详细查看,按1-------------------------------------------------

top - 11:35:00 up 25 min,  1 user,   load average: 0.00, 0.01, 0.05

Tasks: 297 total,   2 running, 295 sleeping,   0 stopped,   0 zombie

%Cpu0  :   0.7 us,  0.7 sy,  0.0 ni, 98.7 id,  0.0 wa,   0.0 hi,  0.0 si,  0.0 st

KiB Mem:    1010788 total,   307172  used,   703616 free,     1080 buffers

KiB Swap:   2097148 total,        0  used,  2097148 free.   110788 cached Mem

PID USER      PR  NI     VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND

879 root      20   0   193424   4168   3344 S   1.0  0.4   0:02.80 vmtoolsd

3651 root      20    0  123788   1772    1148 R  0.7  0.2    0:00.20 top

1 root      20   0    53948   7808   2548 S   0.0  0.8   0:05.08 systemd

2 root      20   0        0      0      0 S   0.0  0.0   0:00.00 kthreadd

3 root      20   0        0      0      0 S   0.0  0.0   0:00.04 ksoftirqd/0

5 root       0 -20       0       0      0 S  0.0   0.0   0:00.00 kworker/0:0H

7 root      rt   0        0      0      0  S  0.0   0.0   0:00.00 migration/0

8 root      20   0        0      0      0 S   0.0  0.0   0:00.00 rcu_bh

按q键退出进程

  • 前5行说明:

前5行是系统整体的统计信息

  • 第一行是任务队列信息,同uptime(查看服务器启动时间)命令的执行结果。内容如下:
  • 11:34:23:当前时间;
  • up  1:13:系统运行时间,格式为时:分;
  • 1 user:当前登录用户数;
  • load average: 0.00, 0.01, 0.05:系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。
  • 第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行,内容如下:
  • Tasks: 297 total:进程总数;
  • 4 running:正在运行的进程数;
  • 293 sleeping:睡眠的进程数;
  • 0 stopped:停止进程数;
  • 0 zombie:僵尸进程;
  • %Cpu(s):  0.0 us:用户空间占用CPU百分比;
  • 0.0 sy:内核空间占用CPU百分比;
  • 0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比;
  • 99.7 id:id空闲CPU百分比;
  • 0.0 wa:wa等待输入输出的CPU时间百分比
  • 0.0 hi  0.3 si, 0.0 st
  • 最后两行为内存信息。内容如下:
  • KiB Mem:   1010788 total:物理内存总量
  • 306908 used:使用的物理内存总量;
  • 703880 free:空闲的物理内存总量;
  • 1080 buffers:用作内核缓存的物理内存量;
  • KiB Swap:  2097148 total:交换区总量;
  • 0 used:使用的交换分区总量;
  • 2097148 free:空闲的交换区总量;
  • 110788 cached Mem:缓冲的交换区总量。
  • 进程区信息说明:
  • PID:进程ID;
  • USER:进程所有者;
  • PR:进程优先级;
  • NI:nice值。负值表示高优先级;正值表示低优先级;
  • VIRT:进程使用的虚拟内存总量,单位Kb,VITR=SWAP+RES
  • RES:进程使用的、未被交换出的物理内存大小,单位KB,RES=CODE+DATA
  • SHR:共享内存大小,单位Kb;
  • S:进程状态;
  • %CPU:上次更新到现在的CPU时间战用百分比;
  • %MEM:进程使用的物理内存百分比;
  • TIME+:进程使用的CPU时间总计,单位1/100秒;
  • COMMAND:命令名/命令行

7.2.静态查看当前进程状态


[[email protected] freeit ~]# ps aux

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1   0.3  0.7  53948   7808 ?        Ss   11:09    0:05 /usr/lib/systemd/systemd --s

root         2   0.0  0.0      0      0 ?        S    11:09    0:00 [kthreadd]

root         3   0.0  0.0      0      0 ?        S    11:09    0:00 [ksoftirqd/0]

root         5   0.0  0.0      0      0 ?        S<   11:09    0:00 [kworker/0:0H]

root         7   0.0  0.0      0      0 ?        S    11:09    0:00 [migration/0]

root         8   0.0  0.0      0      0 ?        S    11:09    0:00 [rcu_bh]

root         9   0.0  0.0      0      0 ?        S    11:09    0:00 [rcuob/0]

root        10   0.0  0.0      0      0 ?        S    11:09    0:00 [rcuob/1]

root        11   0.0  0.0      0      0 ?        S    11:09    0:00 [rcuob/2]

root        12   0.0  0.0      0      0 ?        S    11:09    0:00 [rcuob/3]

………………………….

常用参数:

-a:包含所有终端的进程

-u:显示进程的拥有者

-x:显示不属于任何终端的进程

-f:显示进程的父子关系

7.3.查看进程树


[[email protected] freeit ~]# pstree

systemd─┬─ModemManager───2*[{ModemManager}]

├─NetworkManager───2*[{NetworkManager}]

├─2*[abrt-watch-log]

├─abrtd

├─agetty

├─alsactl

├─atd

├─auditd─┬─audispd─┬─sedispatch

│        │         └─{audispd}

│        └─{auditd}

├─avahi-daemon───avahi-daemon

├─bluetoothd

├─chronyd

├─crond

├─dbus-daemon───{dbus-daemon}

├─firewalld───{firewalld}

├─iprdump

├─iprinit

├─iprupdate

├─ksmtuned───sleep

├─libvirtd───10*[{libvirtd}]

├─lsmd

├─lvmetad

├─master─┬─pickup

│        └─qmgr

├─packagekitd───2*[{packagekitd}]

├─polkitd───5*[{polkitd}]

├─rhsmcertd

├─rngd

├─rpc.statd

├─rpcbind

├─rsyslogd───2*[{rsyslogd}]

├─smartd

├─sshd───sshd───bash───pstree

├─systemd-journal

├─systemd-logind

├─systemd-udevd

├─tuned───4*[{tuned}]

└─vmtoolsd

8.前台后台(fg&bg)

例:把/usr复制到/tmp下,由于复制时间长,调用到后台复制。然后再调用到前台。期间再暂停,调用到后台,最后kill掉此进程


[[email protected] freeit ~]# cp -r /usr /tmp/ &

[1] 3991

//开始复制,&为后台执行

[[email protected] freeit ~]# jobs

[1]+   Running                 cp -i -r  /usr /tmp/ &

//查看后台执行的操作

[[email protected] freeit ~]# fg 1

cp -i -r /usr /tmp/

//调用到前台执行进程

^Z

[1]+   Stopped                 cp -i -r  /usr /tmp

//按ctrl+z停止进程

[[email protected] freeit ~]# bg 1

[1]+ cp -i -r /usr /tmp/ &

//继续调用到后台执行

[[email protected] freeit ~]# jobs

[1]+   Running                 cp -i -r  /usr /tmp/ &

[[email protected] freeit ~]# kill %1

//结束此进程

[[email protected] freeit ~]# jobs

[1]+   Terminated              cp -i -r  /usr /tmp/

时间: 2024-10-07 08:37:40

第五章:系统服务的相关文章

2014年计算机软考《网络管理》知识点-【第五章】

51CTO学院,在软考备考季特别整理了"2014年计算机软考<网络管理>知识点",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧! 查看汇总:2014年计算机软考<网络管理>知识点汇总  第五章 局域网软件 ☆ 网络操作系统是使网络上各计算机能方便而有效的共享网络资源.为网络用户提供所需的各种服务的 软件和有关规程的集合. 5.1操作系统概述及其发展 (1) 操作系统有以下三个发展阶段: A. 最初的操作系统是单块式的,由一组

《大道至简》第五章读后感

失败的过程也是过程,我觉得这句话很有深意,阅读完大道至简第五章,我又有了很深的感触. 首先是“做过程不是做工程”,过程是为了实现某种目的而经历的一些事情,过程有很多种,虽然经历了某种过程,但不一定能实现某种功能.做完过程的每一个阶段,并不等于做工程.做过程不是做工程的精义,也不是最终目的. 然后是“做过场”,做过场就好像是一种形式一样,做了没必要做的事情,就是浪费时间. 做工程的最终目的是实现客户的要求,工程只是一种实现的途径.最初做开发的前辈们,不用什么工程或者过程,也一样编出了程序,也一样解

大道至简第五章读后感

第五章 失败的过程也是过程 今天照样老师带领着我们阅读了大道至简第五章,阅读了<大道至简>的第五章,这章在前面的基础上又进了一步,有了技术和团队,加上有效的沟通,接下来就要接项目做工程. “虚有其表耳”,本章以<明皇实录>中的一句话来告诉我们一个深刻的道理:不要只求外表,只做形象工程,而是要透过表象,力求实质. 失败了不要紧,没有失败也就找不到自己的不足,也就不会发现自己的问题,更不用谈改进了.我们的前辈们就是在不断的失败中才总结出了“瀑布模型”“螺旋模型”等模型,方便了我们.但是

第五章 电子星球

                   第五章         电子星球   山高高兮.路长长,岁月悠悠兮.转眼空.   镇楼竹: 1. 秀竹一枝自宛然, 莫愁风雨损华年. 几番颠扑呈贞骨, 露重霜寒节更坚. 2. 纤纤凤竹长漓边, 不共山花斗野妍. 时对清流摇倩影, 溪流常伴乐怡然. 3. 坚节何愁风雨多, 晴天朗日更婆娑. 生凉不荫趋炎客, 惹得骚人为咏歌.   咏经典物理.戏现代理论物理: 在山泉水洁如冰, 溅玉飞珠迸有声. 流入大江清浊混, 滔滔何日见澄明.     一.   批驳现代理论

深入浅出Zabbix 3.0 -- 第十五章 Zabbix 协议与API

今天是六.一儿童节,祝小朋友们节日快乐!发完此文就带我家小朋友出去玩耍了. 第十五章 Zabbix 协议与API 本章将介绍和开发相关的Zabbix协议和API的内容,通过对Zabbix协议和API的深入了解,你可以利用Zabbix协议编写客户端程序并将其嵌入的产品或系统中,并将数据发送到Zabbix server,这在无法安装Zabbixagent等程序的场景(例如专用的嵌入式系统)中非常有用.你也可以利用Zabbix API开发自己的业务系统,或灵活的与现有系统整合集成. 15.1 Zabb

Linux与云计算——第二阶段 第五章:存储Storage服务器架设—分布式存储Ceph

Linux与云计算--第二阶段Linux服务器架设 第五章:存储Storage服务器架设-分布式存储Ceph 1 Ceph 配置Ceph集群 Install Distributed File System "Ceph" to Configure Storage Cluster. For example on here, Configure Cluster with 1 admin Node and 3 Storage Node like follows. | +------------

第五章搭建S3C6410开发板的测试环境

第五章本章主要介绍开发板的调试环境的搭建,以及如何将Android系统安装开发板上. 开发板是开发和学习嵌入式技术的主要硬件设备. 尽管可以在PC上开发Linux驱动,然后重新编译成ARM构架的Linux驱动模块,但最终都是要在开发板上进行测试的. 开发板从技术上说与手机类似,包含显示器.键盘.Wi-Fi.蓝牙等模块.开发板可扩展的端口多,容易开发定制的硬件. 第一节S3V6410开发板简介 S3C6410是一款低功耗.高性价比的RISC处理器,它给予ARM11内核,可以广泛应用于移动电话和通用

第五章

第五章 搭建S3C6410开发板的测试环境 ARM构架的开发板可基于X86构架的PC 在CPU指令以及二进制格式上有所不同. 安装串口调试工具 minicon 使用OK6410开发板可以使用其他方法显示Linux驱动程序输出的调试信息.此为串口调试. OK6410开发板自带一个串口.通过串口线与PC连接,linux驱动在输出调试信息的同时,通过串口线将调试信息发送到PC上. 安装.配置和测试minicom: 1.lsmod | grep usbserial 2.apt-get install m

JS复习第五章

第五章 引用类型 一.Object类型 创建object实例的方式有两种. 第一种是使用new操作符后跟object构造函数,如下所示: ver person = new Object( ) ; person.name = “Nicholas” ; person.age = 29 ; 另一种方式是使用对象字面量表示法: var person = { name : “Nicholas”, age : 29 } ; 对象字面量是向函数传递大量可选参数的首选形式. function displayIn

JavaScript高级程序设计(第3版)第五章读书笔记

第五章 引用类型 创建Object实例的方式有两种,第一种是使用new操作符后跟Object构造函数,例如: var person = new Object( ); person.name = “Nicholas”; person.age=29; 第二种是使用对象字面量表示法.如: var person = { name : “Nicholas”, age : 29 }; 在最后一个属性后面添加逗号,会在IE7及更早版本和Opera中导致错误. 两种访问对象属性的方法,一是方括号语法,例如per