Linux kernel的Android編程語言

Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在壹般GNU/Linux 裏支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 並非標準的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。
    目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網絡堆棧(Network Stack),驅動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的壹個工具。

Cisco CCNA 640-802考試內容

640-802是獲得思科CCNA認證必須通過的綜合考試。 640-802考試綜合測試了應試者的安裝操作和調試小型網絡的能力(包括如何連接到廣域網和實施網絡安全)。考試大綱:以下是考試中所包含內容的指導提綱,但是其他CCNA相關內容也可能在正式考試中出現,為了更好地反映考試內容清晰考試目的,以下提綱可能隨時更新。

1.描述網絡如何工作:

(1)描述不同網絡設備的功能和效用

(2)根據不同網絡需求選擇相應的網絡設備組合

(3)用OSI和TCP/IP模型及相關協議解釋網絡中數據傳遞過程

(4)描述基本的網絡應用(包括Web應用)

(5)描述OSI和TCP/IP模型及相關協議的作用和基本運作原理

(6)描述Voice Over IP and Video Over IP的網絡應用及其影響

(7)互聯網絡拓撲圖

(8)決定跨網絡的兩台主機的通訊路徑

(9)描述因特網通訊和網絡的組成要素

(10)使用分層模型確定和糾正1、2、3和7層的網絡故障

(11)局域網和廣域網運作原理及特性的區別

2.在交換機VLAN和交換機互聯的配置、檢查及排錯:

(1)選擇合適的介質、線纜、端口和連接器把交換機連接到其他的網絡設備及主機上

(2)解釋以太網的技術和介質訪問控制方式

(3)解釋網絡分段和基本的流量管理概念

(4)解釋基本的交換概念和思科交換機的操作方法

(5)完成並檢查交換機的初起配置(包括使用遠程訪問管理的方式)

(6)使用基本的命令完成網絡狀況和交換機工作狀態的檢查(包括ping, traceroute, telnet,SSH, arp, ipconfig, show,debug)

(7)鑑別,確定並解決普通的交換網絡介質故障,配置錯誤,自動協商不匹配問題及交換機硬件故障

(8)描述增強交換技術(包括VTP, RSTP, VLAN, PVSTP, 802.1q)

(9)描述VLAN如何在邏輯上實現網段的隔離及VLAN間路由

(10)VLAN的配置,檢查和排錯

(11)思科交換機Truck的配置,檢查和排錯

(12)VLAN間路由的配置,檢查和排錯

(13)VTP的配置,檢查和排錯

(14)RSTP的配置,檢查和排錯

(15)使用不同show和debug命令檢查思科交換網絡的工作狀況並解釋輸出

(16)實現基本的交換安全(包括端口安全,Trunk訪問,非native VLAN的管理等)
3.在中等規模的公司分支辦公室網絡中實現滿足網絡需求的IP地址規劃及IP服務:

(1)分別描述公有和私有地址的應用及優點

(2)解釋DHCP和DNS的作用和優點

(3)在路由器上實現DHCP和DNS的配置,檢查和排錯(包括命令行方式和SDM方式)

(4)在局域網中實施靜態和動態地址服務

(5)在支持VLSM(變長子網掩碼)的網絡中計算並應用IP地址規劃

(6)使用VLSM和地址匯總決定合適的無類地址規劃,以滿足不同局域網/廣域網的地址規劃要求

(7)描述在與IPv4網絡共存情況下實施IPv6的技術要求(包括協議放式,雙棧方式,隧道方式)

(8)描述IPv6地址

(9)鑑定並糾正普通的IP地址和主機配置問題
4.基本的路由器操作和思科設備路由的配置,檢查和排錯:

(1)描述路由的基本改概念(包括IP數據包轉發,路由查詢)

(2)描述思科路由器的運作過程(包括路由器初起過程,POST加電自檢,路由器的物理組成)

(3)選擇適當的介質、線纜、端口和連接器將路由器連接到其他的網絡設備和主機

(4)RIPv2的配置,檢查和排錯

(5)訪問路由器並配置基本的參數(包括命令行方式和SDM方式)

(6)連接,配置並檢查設備接口的工作狀態

(7)檢查設備的配置並使用ping, traceroute, telnet, SSH等命令檢驗網絡連接性

(8)在給定的路由需求下實施並檢驗靜態路由和默認路由的配置

(9)管理IOS配置文件(包括保存,修改,更新和恢復)

(10)管理思科IOS

(11)比較不同的路由實現方法和路由協議

(12)OSPF配置,檢查和排錯

(13)EIGRP配置,檢查和排錯

(14)檢查網絡連接性(包括使用ping, traceroute, telnet, SSH等命令)

(15)路由故障排錯

(16)使用show和debug命令檢查路由器的硬件及軟件運作狀態

(17)實施靜態路由器安全
5.解釋並選擇適當的可管理無線局域網作業:

(1)描述無線介質的標準制定聯盟(包括IEEE WI-FI聯盟,ITU/FCC)

(2)確定並描述小型無線網絡中組成結構的用途(包括SSID服務集標識,BSS基本服務集,ESS擴展服務集)

(3)確定無線網絡設備的基本配置以保證它連接到正確的介入點

(4)比較不同無線安全協議的特性及性能(包括開放認證,WEP協議,WPA-1/WPA-2協議)

(5)確定實施無線網絡時出現的普通故障(包括接口,配置錯誤)
6.確定網絡安全威脅並描述減少安全威脅的一般方法:

(1)描述當前的網絡安全威脅並解釋實施全面的安全策略以降低安全威脅的必要性

(2)解釋降低網絡設備、主機和應用所遭受安全威脅的一般方法

(3)描述安全設備和應用軟件的功能

(4)描述安全操作規程建議(包括網絡設備的的初起安全配置)

7.在中等規模公司分支辦公室中NAT和ACL的實施、檢查和排錯:

(1)描述ACLs的作用和類型

(2)配置和應用基於網絡過濾要求的ALCs(包括命令行方式和SDM方式)

(3)配置和應用ALCs以限制對路由器的telnet和SSH訪問(包括命令行方式和SDM方式)

(4)檢查和監控網絡環境中的ACLs

(5)ACL排錯

(6)描述NAT基本運作原理

(7)配置基於給定網絡需求的NAT(包括命令行方式和SDM方式)

(8)NAT排錯

8.實施並檢查廣域網鏈接:

(1)描述連接到廣域網的不同方式

(2)配置並檢查基本的廣域網串行鏈接

(3)在思科路由器上配置並檢查幀中繼

(4)廣域網實施故障排錯

(5)描述VPN(虛擬專用網)技術(包括重要性,優點,影響,組成)

(6)在思科路由器間配置並檢查PPP鏈接

用ClusterSSH管理多臺Linux服務器

Cluster SSH 是壹個可以用來通過SSH協議同時管理多臺遠程計算機的工具。它非常適合用來快速配置壹個集群中的所有運行相同服務和具備相同配置的計算機節點。現在有大量的開源管理工具,都可以實現這樣的管理,比如dsh、SUSE Manager等。下面是用ClusterSSH管理多臺Linux服務器的具體過程。
    如果妳是壹名Linux系統管理員,那妳每天壹定會和許許多多的機器打交道,因為妳要定期監測和維護這些機器,如壹批Web服務器,如果妳要同時在多臺機器上敲入相同的命令,妳可能會通過SSH登錄,然後逐臺敲入,如果使用ClusterSSH,可以為妳節省不少類似的工作時間。
    ClusterSSH是用Tk/Perl包裝XTerm和SSH後形成的新工具,就其本身而言,它可以運行在任何兼容POSIX的操作系統上,我曾經在Linux,Solaris和Mac OS X上運行過它,它需要Perl庫Tk(在Debian或Ubuntu上就是perl-tk)和X11::Protocol(在Debian或Ubuntu上就是libx11-protocol-perl),此外,xterm和OpenSSH是必不可少的。
    安裝
    在Debian或Ubuntu上安裝ClusterSSH是相當簡單的,只需要敲入sudo apt-get install clusterssh就可以安裝好,至於依賴包妳也不必擔心,壹切都會為妳裝好的,它也提供了適合Fedora的rpm包,在FreeBSD上可通過port系統安裝,還為Mac OS X準備了MacPort版本,因此妳可以在妳的蘋果電腦上安裝ClusterSSH,當然,如果妳是極客,也可以下載源代碼自己編譯。
    配置
    可以通過ClusterSSH的全局配置文件/etc/clusters,或用戶home目錄下的。csshrc文件來配置它,我喜歡用戶級的配置方式,這樣同壹個系統中的不同用戶可以根據自己的喜好進行配置,ClusterSSH定義了壹個“cluster”機器組,妳可以通過壹個界面來控制這個組中的所有機器,在配置文件的頂端“clusters”部分,妳可以詳盡地列出妳的集群,然後用獨立的段落來描述每個集群。
    例如,假設我有兩個集群,每個集群由兩臺機器組成,“Cluster1”由“Test1”和“Test2”兩臺機器組成,“Cluster2”由“Test3”和“Test4”兩臺機器組成,~.csshrc(或/etc/clusters)配置文件的內容看起來應該是:
    clusters = cluster1 cluster2
    cluster1 = test1 test2
    cluster2 = test3 test4妳也可以創建中間集群(包含其它集群的集群),如果妳想創建壹個名叫“all”的集群包含所有的機器,有兩種實現手段,首先,妳可以創建壹個包含所有機器的集群,如:
    clusters = cluster1 cluster2 all
    cluster1 = test1 test2
    cluster2 = test3 test4
    all = test1 test2 test3 test4但我更喜歡的方法是使用壹個包含其它集群的中間集群:
    clusters = cluster1 cluster2 all
    cluster1 = test1 test2
    cluster2 = test3 test4
    all = cluster1 cluster2