LinuxCLinuxCsongjinshanATakaeduDOTorg©2008,2009,Permissionisgrantedtocopy,distributeand/ormodifythisdocumentunderthetermsoftheGNUFreeDocumentationLicense,Version1.3oranylaterversionpublishedbytheFreeSoftwareFoundation;withtheInvariantSectionsbeing,withnoFront-CoverTexts,andnoBack-CoverTexts.AcopyofthelicenseisincludedinC,GNUFreeDocumentationLicenseVersion1.3,3November2008.2009.4.50.62009.2.27GFDLI.C1.1.2.3.4.2.1.HelloWorld2.3.4.5.6.3.1.2.3.4.4.1.if2.if/else3.4.switch5.1.return2.3.6.1.while2.do/while3.for4.breakcontinue5.6.goto7.1.2.3.4.8.1.2.3.4.5.9.1.2.3.4.5.indent10.gdb1.2.3.4.11.1.2.3.4.5.6.12.1.2.3.4.5.13.1.C2.3.II.C14.1.2.3.4.15.1.2.3.3.1.IntegerPromotion3.2.UsualArithmeticConversion3.3.3.4.3.5.16.1.1.1.1.2.1.3.1.4.2.2.1.2.2.2.3.2.4.sizeoftypedef3.SideEffectSequencePoint4.17.1.2.CPU3.4.MMU5.MemoryHierarchy18.x861.2.x863.4.5.ELF5.1.5.2.19.C1.2.main3.4.5.C6.volatile20.1.2.2.1.externstatic2.2.2.3.3.4.4.1.4.2.4.3.5.21.1.2.2.1.2.2.2.3.###2.4.3.4.22.Makefile1.2.3.4.5.make23.1.2.3.4.const5.6.7.8.9.24.1.1.1.strcpystrncpy1.2.mallocfree2.3.4.5.6.25.C1.1.1.1.2.1.3.1.4.1.5.1.6.1.7.2.I/O2.1.2.2.fopen/fclose2.3.stdin/stdout/stderr2.4.errnoperror2.5.I/O2.6.2.7.I/O2.8.I/O2.9.I/O2.10.CI/O3.4.5.26.1.27.1.III.Linux28.I/O1.Helloworld2.CI/OUnbufferedI/O3.open/close4.read/write5.lseek6.fcntl7.ioctl8.mmap29.1.2.ext22.1.2.2.2.3.2.4.3.VFS3.1.3.2.dupdup230.1.2.3.3.1.fork3.2.exec3.3.waitwaitpid4.4.1.4.2.IPC5.Shell31.Shell1.Shell2.Shell2.1.2.2.3.Shell3.1.3.2.Globbing*?[]3.3.`$()3.4.$(())3.5.\3.6.3.7.4.bash4.1.Shell--login4.2.Shell4.3.4.4.sh5.Shell5.1.test[5.2.if/then/elif/else/fi5.3.case/esac5.4.for/do/done5.5.while/do/done5.6.5.7.6.Shell32.1.2.3.sed4.awk5.C33.1.2.2.1.2.2.2.3.3.3.1.3.2.3.3.sigprocmask3.4.sigpending4.4.1.4.2.sigaction4.3.pause4.4.4.5.sig_atomic_tvolatile4.6.sigsuspend4.7.SIGCHLD34.1.1.1.1.2.1.3.2.2.1.Session2.2.3.35.1.2.2.1.2.2.3.3.1.mutex3.2.ConditionVariable3.3.Semaphore3.4.4.36.TCP/IP1.TCP/IP2.(RFC894)3.ARP4.IP5.IP6.UDP7.TCP7.1.7.2.7.3.37.socket1.1.1.1.2.socket2.TCP2.1.TCP2.2.2.3.client2.4.forkclient2.5.setsockopt2.6.select3.UDP4.UNIXDomainSocketIPC5.Web5.1.HTTP5.2.CGIA.1.ASCII2.UnicodeUTF-83.LinuxCUnicodeUTF-8B.1.gcc2.gcc3.binutilsC.GNUFreeDocumentationLicenseVersion1.3,3November2008GNUFreeDocumentationLicenseHowToThinkLikeAComputerScientist:LearningwithC++AllenB.DowneyGreenTeaPress:AnIntroductiontoProgrammingusingLinuxAssemblyLanguageJonathanBartlettBartlettPublishing©2000,2001,2002,2007,2008FreeSoftwareFoundation,Inc.:toassureeveryonetheeffectivefreedomtocopyandredistributeit,withorwithoutmodifyingit,eithercommerciallyornoncommercially.Secondarily,thisLicensepreservesfortheauthorandpublisherawaytogetcreditfortheirwork,whilenotbeingconsideredresponsibleformodificationsmadebyothers.ThisLicenseisakindofcopyleft,whichmeansthatderivativeworksofthedocumentmustthemselvesbefreeinthesamesense.ItcomplementstheGNUGeneralPublicLicense,whichisacopyleftlicensedesignedforfreesoftware.WehavedesignedthisLicenseinordertouseitformanualsforfreesoftware,becausefreesoftwareneedsfreedocumentation:afreeprogramshouldcomewithmanualsprovidingthesamefreedomsthatthesoftwaredoes.ButthisLicenseisnotlimitedtosoftwaremanuals;itcanbeusedforanytextualwork,regardlessofsubjectmatterorwhetheritispublishedasaprintedbook.WerecommendthisLicenseprincipallyforworkswhosepurposeisinstructionorreference.1.APPLICABILITYANDDEFINITIONSThisLicenseappliestoanymanualorotherwork,inanymedium,thatcontainsanoticeplacedbythecopyrightholdersayingitcanbedistributedunderthetermsofthisLicense.Suchanoticegrantsaworld-wide,royalty-freelicense,unlimitedinduration,tousethatworkundertheconditionsstatedherein.TheDocument,below,referstoanysuchmanualorwork.Anymemberofthepublicisalicensee,andisaddressedasyou.Youacceptthelicenseifyoucopy,modifyordistributetheworkinawayrequiringpermissionundercopyrightlaw.AModifiedVersionoftheDocumentmeansanyworkcontainingtheDocumentoraportionofit,eithercopiedverbatim,orwithmodificationsand/ortranslatedintoanotherlanguage.ASecondarySectionisanamedappendixorafront-mattersectionoftheDocumentthatdealsexclusivelywiththerelationshipofthepublishersorauthorsoftheDocumenttotheDocument'soverallsubject(ortorelatedmatters)andcontainsnothingthatcouldfalldirectlywithinthatoverallsubject.(Thus,iftheDocumentisinpartatextbookofmathematics,aSecondarySectionmaynotexplainanymathematics.)Therelationshipcouldbeamatterofhistoricalconnectionwiththesubjectorwithrelatedmatters,oroflegal,commercial,philosophical,ethicalorpoliticalpositionregardingthem.TheInvariantSectionsarecertainSecondarySectionswhosetitlesaredesignated,asb