Chagua lugha yako
Kozi ya Linux System Programming
+ ya wataalamu 400,000 kwenye jukwaa
Maalum kwa kampuni

Kozi ya Linux System Programming

Ingia ndani ya kiini cha mfumo cha Linux na ujifunze kuandika programu za C za kiwango cha uzalishaji zinazozungumza moja kwa moja na mfumo wa uendeshaji. Kozi hii inashughulikia I/O ya faili, michakato, ishara, IPC, usimamizi wa kumbukumbu, soketi, na utumiaji wa nyuzi nyingi kuanzia misingi. Kila mada inategemea simu halisi za mfumo, msimbo unaofanya kazi, na mifano ya akili ambayo wataalamu hutumia kila siku.

Kile timu yako itamudu:

Utajenga uelewa sahihi wa jinsi Linux inavyosimamia michakato, kumbukumbu, faili, na miunganisho ya mtandao katika kiwango cha simu za mfumo. Utaandika programu za C zinazotumia API za POSIX kwa I/O ya faili, mawasiliano kati ya michakato, na mtandao wa soketi. Utaweka programu zenye nyuzi nyingi na kuondoa mbio za data kwa kutumia mbinu za usawazishaji za pthreads. Utatumia zana za juu ikiwemo GDB, strace, Valgrind, AddressSanitizer, perf, na io_uring. Pia utashughulikia misingi ya usalama ya Linux kama vile maeneo ya majina, seccomp, na uwezo. Mwishoni, utakuwa na ujuzi wa kubuni, kutatua hitilafu, na kuboresha programu za mifumo zinazoendesha kwa kutegemeka katika mazingira ya uzalishaji ya Linux.

Jinsi timu yako inavyosoma kwa vitendo Kozi ya Linux System Programming

Jinsi timu yako inavyofanya mazoezi Kozi ya Linux System Programming

Wataalamu kutoka kampuni hizi wanasoma Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Maudhui ya Kozi

Sura 8 • Masomo 40Muda kati ya saa 4 na 360 (unachagua)

Sura ya 1Angalia maelezo

Misingi ya Uprogramu wa Mfumo wa Linux

  • Somo la 1 • Utangulizi wa Simu za Mfumo

    Inaonyesha jinsi programu za mtumiaji zinavyotumia huduma za kiini cha mfumo kupitia simu za mfumo kwa kutumia vizibo vya glibc na syscall ghafi. Inaunganisha vitendakazi vya maktaba ya C na shughuli zao za msingi za kiini cha mfumo.

  • Somo la 2 • Muundo wa Linux na Muhtasari wa Kiini cha Mfumo

    Inashughulikia nafasi ya kiini cha mfumo dhidi ya nafasi ya mtumiaji, muundo wa kiini cha mfumo cha monolithic, na uondoaji wa maunzi. Inaanzisha mfumo wa dhana ambao mada zote zinazofuata za uprogramu zinategemea.

  • Somo la 3 • Kukusanya, Kuunganisha, na Kupakia

    Inaelezea bomba kamili la zana kutoka chanzo hadi programu inayoweza kutekelezwa, ikijumuisha uunganishaji tuli na unaobadilika. Inawatayarisha wanafunzi kutambua makosa ya ujenzi na kuelewa muundo wa binary.

  • Somo la 4 • Mambo Muhimu ya Lugha ya C kwa Kazi za Mfumo

    Inakagua viashiria, mpangilio wa kumbukumbu, structs, na shughuli za bitwise muhimu kwa msimbo wa mfumo. Inaunganisha maarifa ya jumla ya C na ruwaza za kiwango cha chini zinazotumika katika kozi nzima.

  • Somo la 5 • Usanidi wa Mazingira ya Uendelezaji

    Inasanidi mazingira ya uendelezaji ya Linux yenye GCC, GDB, Make, na maktaba muhimu. Inahakikisha kila mwanafunzi ana msingi wa ujenzi unaoweza kuzalishwa tena kabla ya kuandika msimbo wowote.

Sura ya 2Angalia maelezo

Uingizaji/Pato la Faili na Tabaka la VFS

  • Somo la 1 • Shughuli za Saraka na Data za Kumbukumbu

    Inafundisha stat(), upitaji wa saraka, na usimamizi wa viungo ikijumuisha viungo ngumu na ishara. Inawezesha programu kukagua na kuendesha muundo wa mfumo wa faili kwa njia ya programu.

  • Somo la 2 • Shughuli za Faili za POSIX

    Inashughulikia open(), read(), write(), lseek(), na close() pamoja na bendi na aina zote muhimu. Inafundisha ruwaza sahihi za matumizi na mitego ya kawaida kama usomaji na uandikaji wa sehemu.

  • Somo la 3 • Faili Zilizobawishwa kwa Kumbukumbu

    Inaonyesha mmap() kwa kubawisha faili kwenye anwani ya mchakato kwa I/O ya haraka na data inayoshirikiwa. Inaunganisha I/O ya faili na dhana za kumbukumbu pepe zinazoletwa katika sura za baadaye.

  • Somo la 4 • Viteuzi vya Faili na Faili Wazi

    Inaelezea jedwali la faili wazi, nambari kamili za viteuzi vya faili, na miundo ya data ya kiini cha mfumo iliyo nyuma yao. Inaweka msingi wa kazi zote za I/O zinazofuata katika modeli sahihi ya jinsi kiini cha mfumo kinavyofuatilia faili wazi.

  • Somo la 5 • Shughuli za Juu za Faili

    Inaanzisha I/O ya scatter-gather, ukataji wa faili, na utoboaji kwa faili chache. Inapanua ujuzi wa msingi wa I/O hadi mazingira ya utendaji wa juu na uhifadhi wa ufanisi.

Sura ya 3Angalia maelezo

Michakato: Uundaji, Udhibiti, na Ukomeshaji

  • Somo la 1 • Mambo ya Ndani na Sifa za Mchakato

    Inachunguza PID, PPID, UID, GID, na sehemu za data za kumbukumbu za mchakato ambazo kiini cha mfumo huhifadhi. Inatoa msamiati na modeli ya data inayohitajika kudhibiti michakato kwa njia ya programu.

  • Somo la 2 • Kusubiri na Kuvuna Watoto

    Inafundisha wait(), waitpid(), na waitid() kwa kukusanya hali ya kutoka kwa mtoto na kuzuia zombie. Inahakikisha wanafunzi wanaandika programu za michakato mingi zisizo na uvujaji.

  • Somo la 3 • Kutekeleza Programu kwa exec()

    Inaelezea familia ya exec, upitishaji wa hoja na mazingira, na kile kinachohifadhiwa wakati wa exec. Inawezesha wanafunzi kujenga shells na vianzisha programu vinavyobadilisha picha za mchakato kwa usahihi.

  • Somo la 4 • Kuunda Michakato kwa fork()

    Inashughulikia maana za copy-on-write, ushughulikiaji wa thamani ya kurudi, na urithi wa rasilimali baada ya fork(). Inajenga msingi wa ruwaza zote za uprogramu wa michakato mingi katika kozi.

  • Somo la 5 • Hati za Mchakato na Upendeleo

    Inashughulikia biti za setuid/setgid, seti za uwezo, na kupunguza upendeleo kwa muundo salama wa mchakato. Inawatayarisha wanafunzi kuandika programu zinazoshughulikia ruhusa zilizoinuliwa kwa usalama.

Sura ya 4Angalia maelezo

Ishara: Uwasilishaji, Ushughulikiaji, na Kuficha

  • Somo la 1 • Dhana za Ishara na Ishara za Kawaida

    Inaanzisha nambari za ishara, mapatano ya msingi, na utaratibu wa uwasilishaji wa kiini cha mfumo. Inaanzisha modeli ya dhana inayohitajika kabla ya kuandika msimbo wowote wa ushughulikiaji wa ishara.

  • Somo la 2 • Vinyago vya Ishara na Uzuiaji

    Inafundisha sigprocmask(), uchezaji wa sigset_t, na ulinzi wa sehemu muhimu kwa kuzuia. Inawezesha wanafunzi kuzuia mbio za ishara katika shughuli za hatua nyingi.

  • Somo la 3 • Uprogramu Salama kwa Async na Ishara

    Inatambua vitendakazi na ruwaza salama kwa async na ishara kwa kuandika vishikilia sahihi na vyenye kuingia tena. Inazuia hitilafu ndogo zinazotokea kwa kuita vitendakazi visivyo salama ndani ya vishikilia.

  • Somo la 4 • Ishara za Wakati Halisi na signalfd

    Inashughulikia ishara za wakati halisi za POSIX, dhamana za kuweka kwenye foleni, na kiolesura cha signalfd() kwa ushughulikiaji wa maingiliano. Inapanua ujuzi wa ishara hadi usanifu wa kuaminika wa juu na unaoendeshwa na matukio.

  • Somo la 5 • Kusakinisha Vishikilia Ishara

    Inashughulikia muundo wa sigaction(), SA_flags, na tofauti kutoka kwa signal() ya kizamani. Inafundisha njia sahihi na inayoweza kubebeka ya kusakinisha vishikilia vinavyoepa hali za mbio.

Sura ya 5Angalia maelezo

Mawasiliano Kati ya Michakato

  • Somo la 1 • Foleni za Ujumbe za POSIX

    Inafundisha mq_open(), mq_send(), mq_receive(), na uwasilishaji wa ujumbe unaozingatia kipaumbele. Inatoa njia mbadala ya muundo na iliyochapishwa kwa mabomba ya mfuatano wa byte kwa IPC inayolenga ujumbe.

  • Somo la 2 • Kulinganisha na Kuchagua Utaratibu wa IPC

    Inachambua biashara ya kiwango cha uwasilishaji wa data, muda wa kuchelewa wa mtandao, uchangamano, na uendelevu katika aina zote za IPC. Inawapa wanafunzi uwezo wa kufanya maamuzi ya usanifu yenye taarifa katika miundo halisi ya mfumo.

  • Somo la 3 • Semaphores za POSIX

    Inashughulikia semaphores zenye majina na zisizo na majina, sem_wait/sem_post, na ruwaza za kutengwa kwa pande zote. Inatoa tabaka la usawazishaji linalohitajika kutumia kumbukumbu iliyoshirikiwa kwa usalama.

  • Somo la 4 • Mabomba na FIFOs

    Inashughulikia mabomba yasiyojulikana, uundaji wa FIFO, na ruwaza ya mzalishaji-mtumiaji kwa michakato inayohusiana na isiyohusiana. Inaanzisha IPC ya mfuatano wa byte ya mwelekeo mmoja kama msingi rahisi zaidi wa uratibu.

  • Somo la 5 • Kumbukumbu Iliyoshirikiwa ya POSIX

    Inaonyesha shm_open(), ftruncate(), na mmap() kuunda maeneo ya kumbukumbu iliyoshirikiwa kati ya michakato. Inawezesha ubadilishanaji wa data usio na nakala wenye kiwango cha juu cha uwasilishaji na inawatayarisha wanafunzi kwa usawazishaji unaozingatia semaphore.

Sura ya 6Angalia maelezo

Usimamizi wa Kumbukumbu na Kumbukumbu Pepe

  • Somo la 1 • Matumizi ya Juu ya mmap()

    Inaonyesha MAP_ANONYMOUS, MAP_FIXED, kurasa kubwa, na madvise() kwa urekebishaji wa utendaji. Inapanua ujuzi wa mmap() kutoka I/O ya faili hadi usimamizi wa kumbukumbu wa matumizi ya jumla.

  • Somo la 2 • Ugawaji wa Lundo na Kipa Rasilimali

    Inashughulikia malloc(), calloc(), realloc(), free(), na mambo ya ndani ya kipa rasilimali cha glibc ikijumuisha arenas. Inafundisha ruwaza sahihi za ugawaji na jinsi ya kuepuka uharibifu wa lundo.

  • Somo la 3 • Ulinzi wa Kumbukumbu na Ruhusa

    Inafundisha mprotect() kwa kubadilisha ruhusa za kurasa na kurasa za ulinzi kwa utambuzi wa kufurika kwa bafa. Inawezesha wanafunzi kutekeleza mbinu za kuimarisha usalama katika kiwango cha kumbukumbu.

  • Somo la 4 • Usanifu wa Kumbukumbu Pepe

    Inaelezea majedwali ya kurasa, mpangilio wa anwani pepe, na kiolesura cha /proc/pid/maps. Inatoa modeli ya akili inayohitajika kuelewa tabia ya kipa rasilimali na maana za mmap().

  • Somo la 5 • Kutambua na Kurekebisha Makosa ya Kumbukumbu

    Inatumia Valgrind, AddressSanitizer, na LeakSanitizer kupata uvujaji, matumizi baada ya kutolewa, na kufurika. Inajenga ujuzi wa uchunguzi unaohitajika kudumisha usalama wa kumbukumbu wa kiwango cha uzalishaji.

Sura ya 7Angalia maelezo

Nyuzi za POSIX na Usawazishaji

  • Somo la 1 • Uundaji na Mzunguko wa Maisha wa Nyuzi

    Inashughulikia pthread_create(), sifa za nyuzi, hali ya kutenganisha, na pthread_join(). Inaanzisha modeli ya mzunguko wa maisha wa nyuzi ambayo mada zote za usawazishaji zinajengwa juu yake.

  • Somo la 2 • Kufuli za Kusoma-Kuandika na Vizuizi

    Inashughulikia rwlock kwa mizigo ya kazi inayotegemea usomaji na pthread_barrier kwa usawazishaji wa awamu. Inapanua mkusanyiko wa zana za usawazishaji hadi ruwaza ambapo kufuli kwa kipekee ni mzito sana.

  • Somo la 3 • Vigeu vya Hali

    Inaonyesha pthread_cond_wait(), kuamshwa kwa uwongo, na ruwaza ya mzunguko wa kitabiri. Inawezesha nyuzi kusubiri kwa ufanisi mabadiliko ya hali bila kusubiri kwa shughuli nyingi.

  • Somo la 4 • Mutexes na Sehemu Muhimu

    Inafundisha uanzishaji wa mutex, nidhamu ya kufuli/kufungua, na aina za mutex za kukagua makosa. Inatoa chombo kikuu cha kulinda data iliyoshirikiwa dhidi ya marekebisho sambamba.

  • Somo la 5 • Hifadhi ya Nyuzi Maalum na Usalama

    Inaelezea __thread, pthread_key_t, na usalama wa async na ishara katika programu za nyuzi nyingi. Inafundisha ruwaza za hali ya nyuzi maalum zinazozuia ushirikishaji na kupunguza mizozo ya kufuli.

Sura ya 8Angalia maelezo

Sockets na Uprogramu wa Mtandao

  • Somo la 1 • I/O Isiyozuia na epoll

    Inatekeleza seva inayoendeshwa na matukio kwa kutumia sockets zisizozuia, epoll_create(), na hali ya kutriga kwa kingo. Inapanua ushughulikiaji wa miunganisho zaidi ya modeli ya nyuzi moja kwa kila muunganisho.

  • Somo la 2 • Misingi ya API ya Socket

    Inashughulikia socket(), bind(), listen(), accept(), connect(), na miundo ya anwani kwa IPv4 na IPv6. Inaanzisha uso wa msingi wa API ambao uprogramu wote wa mtandao unajengwa juu yake.

  • Somo la 3 • UDP na Sockets za Datagram

    Inashughulikia sendto(), recvfrom(), na ruwaza za mawasiliano zisizo na muunganisho kwa UDP. Inalinganisha uwasilishaji usioaminika wa UDP na TCP na kutambua matukio yanayofaa.

  • Somo la 4 • Chaguzi za Socket na Vipengele vya Juu

    Inafundisha getsockopt()/setsockopt() kwa kurekebisha bafa, keepalive, na udhibiti wa algorithm ya Nagle. Inawezesha urekebishaji wa kina wa utendaji na kuaminika kwa miunganisho ya mtandao.

  • Somo la 5 • Uprogramu wa Seva na Mteja wa TCP

    Inatekeleza seva kamili ya echo na mteja kwa ushughulikiaji sahihi wa muunganisho na uharibishaji. Inafundisha mawasiliano ya mfuatano unaoaminika na umuhimu wa kushughulikia uwasilishaji na upokezaji wa sehemu.

Cheti

Cheti chako halali cha kukamilisha

Kozi hii ni kwa ajili yako:

  • Watengenezaji wa mfumo wa nyuma wanaotaka kuelewa kinachotokea chini ya mifumo yao ya uendelezaji.

  • Wahandisi wa vifaa vya kupachika wanaohamia kwenye mifumo inayotegemea Linux na API za POSIX.

  • Wahitimu wa sayansi ya kompyuta wanaojaza pengo kati ya masomo na kazi za mifumo katika tasnia.

  • Wahandisi wa DevOps wanaotaka kugundua matatizo ya kiwango cha kiini cha mfumo bila kukisia.

  • Waprogramu wa C wa burudani walio tayari kuondoka kwenye mafunzo ya msingi kwenda kwenye mwingiliano halisi na mfumo wa uendeshaji.

  • Watafiti wa usalama wanaohitaji kuelewa mambo ya ndani ya Linux ili kupata udhaifu.

Kozi Zinazohusiana

Maswali Yanayoulizwa Mara kwa Mara

Dedika ni nani?

Je, cheti kinatumika nchini Tanzania?

Je, kozi ni bure?

Mzigo wa masomo wa kozi ni upi?

Kozi zikoje?

Kozi zinafanyaje kazi?

Muda wa kozi ni upi?

Gharama au bei ya kozi ni ipi?

Kozi ya EAD au mtandaoni ni nini na inafanyaje kazi?

Kozi ya PDF