版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Linux內(nèi)核分析與應(yīng)用進階2007,7Linux!Linux是通過網(wǎng)絡(luò)合作寫成的一個Free/Open的操作系統(tǒng)內(nèi)核。它采用單一內(nèi)核(monolithic)結(jié)構(gòu),而支持內(nèi)核模塊運行時動態(tài)加載(LoadableKernelModule)。廣義的Linux是指結(jié)合了大量的GNU應(yīng)用軟件的發(fā)行版本,著名的有Redhat、Debian、Mandrake等。Linux系統(tǒng)在服務(wù)器、安全、專用及嵌入式系統(tǒng)等領(lǐng)域有應(yīng)用潛力。Linux是一個實際的系統(tǒng),是一個優(yōu)秀的學(xué)習(xí)對象。對于深入了解操作系統(tǒng)的原理,探索系統(tǒng)軟件的開發(fā)方式都很有好處。Linux是一個軟件系統(tǒng)模式,是一種精神,一種信念。ToC[1]LinuxisaUNIXclone[2]GNU/GPL許可[3]Linux目錄結(jié)構(gòu)[4]GNU/Linux軟件包[5]Linux發(fā)行版[6]Linux試用[7]Linux管理[8]ProgramminginLinuxUNIXsIBMAIXSGIIrixCompaqTru64Unix HP-UX
SCOUnixWare/OpenServerSunSolaris關(guān)于差異和IEEE/POSIXBSD:FreeBSD,OpenBSDMINIX、Nachos}Solaris9
Linux功能兼容unix多用戶環(huán)境多進程、SMP進程調(diào)度進程間通信IPC、Pipe、Socket網(wǎng)絡(luò)支持TCP/IPv4/IPv6▽各種硬件平臺支持CPUs存儲管理內(nèi)存管理磁盤交換空間高速緩存動態(tài)和共享庫(.so)文件系統(tǒng)ext2、ext3、FAT、
NTFS、ISO9660Linux特色特色Open開發(fā)工作活躍可靠性性能移植性好性價比,硬件要求低可為我所用前景和趨勢服務(wù)器領(lǐng)域桌面嵌入式商業(yè)化cnLinux當(dāng)前狀態(tài)LinuxKernelGNU/LinuxDistributionFedora7,RedhatEnterpriseLinux5Debian3.1/4.0,Ubuntu7.04…OfficeSuite: staroffice/openofficeWeb/ApplicationServerDevelopGameLinux應(yīng)用現(xiàn)狀應(yīng)用網(wǎng)絡(luò)服務(wù)器(Netcraft)集群和分布式(Top500和Beowulf/Networx)嵌入式/設(shè)備驅(qū)動安全領(lǐng)域進一步個人桌面應(yīng)用服務(wù)和支持付費/盈利方式教學(xué)與科研
【2】GNU/GPL:Free/OpenTheGNUProject OpenSources
RichardStallman EricRaymondLinux,gcc,Emacs GPL:GNUGeneralPublicLicenseGPLv3其他LicenseBSD~Apache~Mozilla~…許可比較MS,GPL,BSD,ApacheFollowing[Wheeler2001],freelicenses:15185987(50.36%)GPL 2498084(8.28%)MIT2305001(7.64%)LGPL 2065224(6.85%)MPL1315348(4.36%)BSD 907867(3.01%)BSD-like455980(1.51%)GPL,LGPL 323730(1.07%)GPL/MIT321123(1.07%)ArtisticorGPL比較GNU保護用戶的利益,要求GNU被作為商業(yè)軟件時必須附帶源代碼BSD許可更寬松,允許商業(yè)隨便使用于商業(yè)軟件相比,自由軟件不提供功能承諾和服務(wù)支持Free和Open之別開源運動EricRaymondCathedralvs.Bazaar
OpenSourcevs.FreeSoftware業(yè)余vs.專業(yè)Open/Free軟件的開發(fā)人員多數(shù)是世界各地的志愿者開發(fā)的,如操作系統(tǒng),編譯器,編輯器,WebServer等。這些軟件不需要非計算機領(lǐng)域的知識,并且它們的用戶多是有熟練計算機知識的人。而專業(yè)軟件,如CAD、IC設(shè)計、企業(yè)管理等軟件則不是志愿者能夠完成的。版權(quán)保護還是開放《計算機軟件保護條例》2002年1月1日版,第17、24條關(guān)于FreeSoftware和OpenSource 學(xué)習(xí)并利用前面提到的資料和參考網(wǎng)址, 寫一個關(guān)于GNU/Open/Free…的報告和總結(jié),并闡述自己的看法 M$怎么想?【3】Linux運行時目錄結(jié)構(gòu)以Redhat/Fedora系列為例/binlinux常用的命令,如cp,ls,ping,mount,vi,tar,kill,grep,rpm,dd,ps,ln,gzip,cat等/boot啟動文件,如vmlinuz/dev設(shè)備文件,如fd0,hda,hda1,hdb,sda,sda1,cdrom(hdc),mouse(psaux),等/etc配置文件,如hosts,lilo.conf,inittab,rc.d(dir),rc.d/rc[0-6].d,samba/smb.conf等
/var執(zhí)行中記錄數(shù)據(jù)/proc內(nèi)存文件,報告程序執(zhí)行的在線動態(tài)信息如進程id數(shù)字目錄,sys,net等/sbin啟動時需要和系統(tǒng)管理員程序工具、配置等如fsck,lilo,init,fdisk等/tmp臨時文件夾/usr用戶應(yīng)用程序和文件./X11R6BasicComponent/inGNUKernelLinuxkernel,Hurd,initShellbashEditorvi,ed,emacsCompilergccApps【4】Packages(inRedhat8/9)(適用于Redhat/Fedora系列發(fā)行版)rpmrpm-qawhereislsrpm-qf/bin/lsrpm-qlcoreutils
bashGNUBourne-AgainShell內(nèi)置命令 cd、exec、exit、export、pwd、echo、set重定向(redirection) <stdin >stdout 2>stderr管道 a|ba的輸出做為b的輸入
procpsps reportprocessstatusw whoisonandwhatdoingsysctl configurekernelparametersatruntimetop displaytopCPUprocessesuptime Tellhowlongthesystemhasbeenrunningpstree/inpsmisciputilspingping6traceroute(tracepath)
textutilscat concatenatesortheadtailmd5sumsplit splitapieceswc printthenumberofbytes,words, andlinesinfilessh-utilsdatesleepsuwhounameprintsysteminformation
util-linuxkillmoremkfs makealinuxmksupalinuxsfdisk whereisdmesg printorcontrolthekernelringbuffer
coreutilssupwdunamemd5sumwhoduprintf…
e2fsprogsfsck,mke2fs例子:內(nèi)存虛擬盤 mkdir/mnt/ramdisk mke2fs/dev/ramdisk mount/dev/ramdisk/mnt/ramdisk例子:文件里的虛擬盤(loopback) ddif=/dev/zeroof=mydbs=1kcount=1024 losetup[-edes|-exor]/dev/loop0myd mke2fs/dev/loop0 mount/dev/loop0/mnt/myd … umount/mnt/myd losetup-d/dev/loop0(detach)
net-toolsifconfignetstatroutearphostnameSysVinitinit processcontrolinitializationreboot poweroffhaltshutdown
Binutilsas assemblerar archivesobjdump displayinformationfromobjectfilesld theGNUlinker
Othersmailftptelnetssh/puttyssh[-llogin_name][hostname|user@hostname][command]rpmrpm-qf/bin/ls或rpm-qarpm-q或rpm-qlrpm-i<pkgfile> installrpm-U<pkgfile> upgraderpm-e<pkgname> erase-vverbose-hhashcvs ConcurrentVersionsSystemvi gcc/g++gdbnasm grep ps-A|grep[-v]initgziptarcfz/zxf
mount mount[-fnrsvw][-tvfstype][-ooptions]devicedirumount less/more find find.-namexxx.doc-printfinger userinformationlookupprogramgpgpgpmanwhatis
samba/etc/samba/smb.conf/etc/samba/smbuserssmbapsswd-a啟用smb服務(wù)sambastart
或smbd;nmbd
或用setup或servicesmbstartsmbclient-Lxxx.xxx.xxx列目錄smbmountwindows中映射即可 [gen] path=/ writable=yes
xinetdtheextendedInternetservicesdaemon/etc/xinetd.conf/etc/xinetd.dtalkftp disableyes->notelnetfinger在redhat中把ftp后來換成了vsftpd【5】LinuxDistribution發(fā)行版的共同基本組成Kernellinuxvs,hurdGNUpackagesbash,gcc,vi,emacs,gnome,gimpOpen/Freesoftwareapache、openssl、perl,KDE(koffice),PostgreSQL,BIND,SendMail,其他軟件對標(biāo)準(zhǔn)組件的定制:優(yōu)點與缺點
不同發(fā)行版的區(qū)別Kernel版本rh71/2.4.2,rh73/2.4.18,rh9/2.4.20fc1/2.4.22,fc2/2.6.5,fc3/2.6.10fc4/2.6.11,f7/2.6.21不同的側(cè)重服務(wù)器、桌面或綜合不同的發(fā)行版,不同的安裝模式商業(yè)、自由redhat,debian本國語言、本地/國際裁剪、加強實時的、嵌入的Linux發(fā)行版舉例Fedora/RedhatDebian/UbuntuGentooOpenSUSEMandrivaKNOPPIXSlackware
Redhat9Fedoracore1Fedoracore3Fedora7RedhatAS4RedhatAS5Debian安裝Debian?r?安裝源3.1r6a/4.0最小安裝debian-?r?-i386-netinst.iso從U盤安裝也是可以的組件安裝工具#apt-get/aptitudeinstall?安裝中文環(huán)境#apt-getinstallzhconknoppix中文linux發(fā)行版北京中科紅旗Linux
國際化i18n-internationalizationl10n-localization(本地化)unicodeRedflag4Redflagworkstation5coCreateTinyLinux小Linux在1~2+張軟盤上Tomsrtbt TINYLinux
embedLinux在DOM(DiskOnModule)電子盤容量限制、可靠性、讀寫次數(shù)Linux裁減裁減內(nèi)核裁剪文件系統(tǒng)LinuxFromScratchLFSLinuxFromScratch(LFS)isaprojectthatprovidesyouwiththestepsnecessarytobuildyourowncustomLinuxsystem.
GentooLinuxStandardBaseLSB
標(biāo)準(zhǔn)和流派
【6】Linux試用了解不同的發(fā)行版取得安裝介質(zhì)決定安裝方式選擇安裝組件登錄方式網(wǎng)絡(luò)設(shè)置了解發(fā)行版上網(wǎng)查詢了解Linux的基礎(chǔ)知識了解不同的Linux發(fā)行版之差別和擅長選擇合適的發(fā)行版,并注意其最新版本推薦Fedora7
Debian3.1/4
中文版紅旗LinuxWS5
安裝方式分區(qū)磁盤空間全裝約6G(Fedora7)刻盤安裝從硬盤上的iso文件安裝在虛擬機中安裝VMware
LinuxRun-readyinVMware
選擇Package建議kernel開發(fā)得安裝X可以不安裝關(guān)于完全安裝必須安裝內(nèi)核源代碼GCC等開發(fā)和編譯環(huán)境網(wǎng)絡(luò)工具登錄和共用SSHServer:OpenSSHbyOpenBSDSSHClient:puTTYSecureShellClientsshincygwinUnix體驗中心
RemoteXRemotedesktopconnection“遠程桌面連接”rdesktop
XserverforWIN32xmanager演示文件和數(shù)據(jù)交換FTP在Linux上開FTP服務(wù)#servicevsftpdstart在Windows上開FTP服務(wù)通過第三方FTP站點交換文件從Linux訪問Windows分區(qū)mount/dev/hdax/mnt/hdaxSambainLinuxmansamba在linux中用samba訪問windows的共享目錄在Window中映射虛擬驅(qū)動器【7】Linux管理Shell磁盤操作服務(wù)相關(guān)Shell目錄ShellBASHShellProgramShellimplementShellOSkernelShellAppprogramscommandcmdexplorer/desktop*sh*KDEGnomeshshkshcshbshbashzsh/bin/sh/bin/bash/sbin/nologin/bin/bash2/bin/ash/bin/bsh/bin/tcsh/bin/csh/bin/ksh/bin/zsh/etc/shells:bashhome
RPMrpm-qlbash“Linux&UnixShell編程指南”.boookBashProgramming例子/etc/rc.d/init.d/cattree-a.txt|grep011|sortcattree-a.txt|…|wc*cygwinLinux中的磁盤/dev/hda,/dev/hdb/dev/hda1,/dev/hda2,…/dev/sda,/dev/sdb/dev/sda1,/dev/sda2,…fdiskmke2fs,mkreiserfs,…mkswap,swapone2labelLinux中的服務(wù)xinetdrshrexecsshinit/etc/inittab/etc/rc.d/etc/rc.d/init.d =?= /etc/init.d/etc/rc.d/rc[0~6].dlogin/etc/passwd/etc/shadowlogoutrebootCTL+ALT+DELpoweroffusermanagementserviceSERVICEDIR="/etc/init.d"/etc/init.d/smb#servicesmbrestartxinetd*theextendedInternetservicesdaemon/etc/xinetd.confincludedir/etc/xinetd.d/etc/xinetd.d/telnet/etc/rc.d/init.d/telnettstart|stop|status/etc/services
xinetd.confxinetd.conf.xls屬性 適用范圍socket_type所有服務(wù)user Non_internalserviceonly非內(nèi)部服務(wù)server Non_internalserviceonly非內(nèi)部服務(wù)wait 所有服務(wù)protocol 不在/etc/services中的所有RPC服務(wù)和所 有其他服務(wù)rpc_vision 所有RPC服務(wù)rpc_number 不列在/etc/rpc中的任何RPC服務(wù)port 不在/etc/services中的非RPC服務(wù)rshport514/etc/xinetd.d/rshpvm&rshrshinwindows【8】ProgramminginLinuxlibcforkopen/read/write/close…printfWindows中的進程進程對象session、job、process、thread、fiber進程包含一個自然的主線程,但可以通過beginthread創(chuàng)建新的thread優(yōu)先級空閑、低于正常、正常、高于正常、高、實時(最高和關(guān)鍵)但是內(nèi)部優(yōu)先級分0~31遞增,比如1,6,7,8,9,(10,15)線程調(diào)度使用starvation機制,即只在沒有高優(yōu)先級進程等待運行時才給低的機會fork()fork()wait()signal()aboutfork()fork1.c: #include<unistd.h> main() { fork(); //1分為2 fork(); //2分為4 puts(“hi”);//給點提示 }output: hi hi hi hi編譯和運行
#gccfork1.c-ofork1 #./fork1aboutfork():parent/child#include<unistd.h>inti=5;main(){ i=6; if(fork()==0)//在子進程 { printf(“inchild%di=%d”,getpid(),i); sleep(2);//等會 } else//在父進程 { printf(“inparent%di=%d”, getpid(),i); wait(0);//等兒子退出 printf(“end.\n”); }}output: inparent1503i=6 inchild1504i=6 end.signal#include<sys/types.h>#include<unistd.h>#include<signal.h>voidhandler(inti){ //給點提示
puts("inhandler,Iwillexit"); exit(1);}輸出: inhandler-main(){ pid_tpid=fork(); if(pid!=0){ //在父進程
sleep(1);//等兒子準(zhǔn)備好
kill(pid,SIGUSR1);//給兒子發(fā)個信號 wait(0);//等兒子退出
puts(“bye”);// } else{ //在兒子的地盤 //當(dāng)收到信號SIGUSR1時,執(zhí)行handler signal(SIGUSR1,handler); sleep(100);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色環(huán)保抹灰材料供應(yīng)承包合同4篇
- 二零二五版醫(yī)療器械包裝模具采購合同4篇
- 2025年模具設(shè)計軟件授權(quán)使用合同3篇
- 2025年個人購房貸款合同爭議調(diào)解合同4篇
- 二零二五年度鋼制門設(shè)計與生產(chǎn)合同4篇
- 二零二五版房地產(chǎn)測繪及房屋質(zhì)量檢測一體化服務(wù)合同3篇
- 2025年度新型城鎮(zhèn)化項目場地推廣合作合同4篇
- 2025年草原放牧權(quán)轉(zhuǎn)讓與資源保護管理服務(wù)合同3篇
- 2025年許娟離婚協(xié)議中共同債務(wù)處理及子女撫養(yǎng)權(quán)合同
- 2025年度個人二手房買賣合同裝修標(biāo)準(zhǔn)與維修責(zé)任協(xié)議4篇
- 深圳2024-2025學(xué)年度四年級第一學(xué)期期末數(shù)學(xué)試題
- 中考語文復(fù)習(xí)說話要得體
- 《工商業(yè)儲能柜技術(shù)規(guī)范》
- 華中師范大學(xué)教育技術(shù)學(xué)碩士研究生培養(yǎng)方案
- 醫(yī)院醫(yī)學(xué)倫理委員會章程
- xx單位政務(wù)云商用密碼應(yīng)用方案V2.0
- 風(fēng)浪流耦合作用下錨泊式海上試驗平臺的水動力特性試驗
- 高考英語語法專練定語從句含答案
- 有機農(nóng)業(yè)種植技術(shù)操作手冊
- 【教案】Unit+5+Fun+Clubs+大單元整體教學(xué)設(shè)計人教版(2024)七年級英語上冊
- 2024-2025學(xué)年四年級上冊數(shù)學(xué)人教版期末測評卷(含答案)
評論
0/150
提交評論