Սկիզբ » Հեղինակ ՝ Neutrino

Հեղինակի հոդվածները: Neutrino

Ժապավեն

Գրել է 28 հոդված:

Բաժինները ` Ծրագրավորում , C և C++ , Ժեշտ , *Nix-եր , Լինուքս/Յունիքս հրամաններ , Խելախոսներ , Ալգորիթմներ , Assembler , Ծրագրավորման լեզուներ , Օպերացիոն համակարգեր , Ծրագրեր , Ինֆորմացիոն Անվտանգություն , Թեյնիկներին , WIndows , Չդասակարգված , Վեբ , Հայկական բաց պրոեկտներ , ԾԻՄ (IDE) , Java , Python , Կոմպիլյատորներ

Հետաքրքրությունները` C++ , Arduino , android , անդրոիդ , Java , Wire , sockets , Linux , atmega , Էլեկտրոնիկա , Մերկ Ժեշտ

malloc ֊ի անատոմիան։ Մաս 2, malloc ֊ի իրականացումը։

| Մարտ 16, 2015 |
malloc ֊ի անատոմիան։ Մաս 2, malloc ֊ի իրականացումը։

malloc/kmalloc/vmalloc ֊ընտանիքի ֆունկցիաները (համապատասխանաբար հիշողության ազատման ֆունկցիաներն են՝ free/kfree/vfree) նախատեսված են դինամիկ հիշողության հատկացման համար։ kmalloc ֊ն ու vmalloc֊ը օգտագործվում են միջուկի կոդում։ kmalloc -ը վերադարձնում է ցուցիչ  ֆիզիկական հիշողության մեջ անընդհատ բլոկի վրա, այսինքն հիշողության տվյալ բլոկում բոլոր հասցեները ֆիզիկապես հաջորդում են մեկը մյուսին։ vmalloc֊ը նույնպես վերադարձնում է հիշողության անընդհատ բլոկ, բայց այն տարբերությամբ, որ այդ […]

Կարդալ ամբողջը

malloc ֊ի անատոմիան։ Մաս 1, համակարգային կանչեր (system calls):

| Մարտ 11, 2015 |
malloc ֊ի անատոմիան։ Մաս 1, համակարգային կանչեր (system calls):

Թույլ տվեք առանց երկար֊բարակ նախաբանների միանգամից անցնել գործի system call ֊ը ինտերֆեյս է, որը թույլ է user-space ծրագրերին դիմել օպերացիոն համակարգի միջուկին (ring 0 ) և պահանջել նրանից որոշակի գործողությունների կատարում, օրինակ ֆայլ բացել, դրա մեջ ինչ֊որ բաներ գրել, նոր պրոցեսս ստեղծել և այլն։ Այլ կերպ ասած, system call ֊ը միջոց է user mode ֊ից […]

Կարդալ ամբողջը

Կանչում ենք C ֊ական ֆունկցիաներ Assembler ֊ի կոդից:

| Մայիս 4, 2014 |
Կանչում ենք C ֊ական ֆունկցիաներ Assembler ֊ի կոդից:

Բոլորը գիտեն, որ C/C++ ֊ի կոդից կարելի է կանչել ասսեմբլերական հրամաններ inline assembler ֊ի միջոցով։ Պարզվում է, որ հակառակ կանչը ոչ միայն հնարավոր է, այլ նաև օգտագործվում է օպերացիոն համակարգի սկզբնական բեռնիչից (bootloader) միջուկի (kernel) կոդի թողարկման համար (քանի որ որպես կանոն օպերացիոն համակարգի բեռնիչը գրված է assembler֊ով, իսկ միջուկը C֊ով)․ ասսեմբլերի կոդից կարելի է […]

Կարդալ ամբողջը

Ծրագրի կարգաբերում gdb -ի միջոցով։

| Մարտ 16, 2014 |
Ծրագրի կարգաբերում gdb -ի միջոցով։

gdb -ն gnu նախագծի source code մակարդակի, բազմապլատֆորմային debugger է։ source code մակարդակը նշանակում է, որ  տվյալ debugger-ով կարելի է կարգաբերել միայն այն ծրագրերը, որոնք թողարկվել են արդեն բեռնված օպերացիոն համակարգում։ Բացի այդ source code debugger -ի դեպքում մեքենայական կոդի փոխարեն, տեսնում ենք ծրագրի ելակետային կոդը, որը կարող է գրված լինել ինչ-որ բարձր մակարդակի լեզվով, օրինակ՝ C/C++: Նկար 1։ cgdb […]

Կարդալ ամբողջը

C++ hack կամ private -ը այնքան էլ չի պաշտպանում ձեր տվյալները

| Նոյեմբեր 19, 2013 |
C++ hack կամ private -ը այնքան էլ չի պաշտպանում ձեր տվյալները

Շատերի համար C++ լեզուն առաջին հերթին հետաքրքիր է նրանով, որ թույլ է տալիս անմիջականորեն գործ ունենալ հիշողության հետ ՝ օգտագործելով ցուցիչները (pointers)։ Բայց հիշողությանը ուղղակիորեն դիմելը նաև անկանխատեսելի հետևանքներ կարող է առաջացնել ;)։ Ցուցիչները առաջին հերթին հետաքրքիր են նրանով, որ թույլ են տալիս դիմել հիշողության որոշակի հասցեների և խմբագրել դրանք։ Եվ ահա այստեղ է, որ առաջանում են բազմաթիվ գլխացավանքներ, որոնք […]

Կարդալ ամբողջը

Տրանզիստորային ինվերտոր կամ ինչպես հեռավորության վրա տեղեկանալ դռան բացվելու մասին: Մաս 1.

| Օգոստոս 25, 2013 |
Տրանզիստորային ինվերտոր կամ ինչպես հեռավորության վրա տեղեկանալ դռան բացվելու մասին: Մաս 1.

Պատկերացրեք մի իրավիճակ, երբ դուք տանից դուրս էք գալիս և տանը ոչ մեկ չկա: Անվտանգության նկատառումներով լավ կլիներ, եթե դուք հնարավորություն ունենայիք հեռավորության վրա տեղեկանալ, թե արդյոք ձեր տուն որևէ մեկը եկել է, թո ոչ: Իսկ ինչպես կարող ենք դա իմանալ, բնականաբար դրսի դռան բացվելուց 😀 : Այսպիսով պետք է մի ինչ-որ համակարգ, որը թույլ […]

Կարդալ ամբողջը

Ստանում ենք ծանուցում սեփական համարին, անվճար sms հաղորդագրության տեսքով linux օհ-ից։

| Օգոստոս 18, 2013 |
Ստանում ենք ծանուցում սեփական համարին, անվճար sms հաղորդագրության տեսքով linux օհ-ից։

Հաճախ անհրաժեշտ է լինում ինչ-որ գործընթացի ընթացքի կամ ավարտի վերաբերյալ ծանուցումներ ստանալ և դրա հիման վրա համապատասխան որոշումներ կայացնել։ Օրինակ՝ դիտարկենք հետևյալ իրավիճակը, որն իսկապես տեղի է ունեցել․ ունենք սերվեր, որը տեղակայված է Նյու-Յորքում, իսկ մենք գտնվում ենք Երևանում։ Նախատեսված է սերվերի GPU -ի միջոցով ինչ-որ բարդ հաշվարկներ կատարել և ինչ-որ կերպ պետք է համոզվել, արդյոք […]

Կարդալ ամբողջը

Ալգորիթմական բարդություն և ասիմպտոտիկ վերլուծություն

| Օգոստոս 17, 2013 |
Ալգորիթմական բարդություն և ասիմպտոտիկ վերլուծություն

Մեքենայական ցիկլ և մեքենայական տակտ կամ ծրագրի կատարման ժամանակային բնութագրերը կապոտի տակից

Կարդալ ամբողջը

Տվյալների տարրական կառուցվածքներ։ Երկկապակցված գծային ցուցակ (doubly linked list)

| Օգոստոս 3, 2013 |
Տվյալների տարրական կառուցվածքներ։ Երկկապակցված գծային ցուցակ (doubly linked list)

Գծային ցուցակում տարրերը հաջորդականորեն կարգավորված են, բայց տարրերի հաջորդման կարգը որոշվում է ոչ թե ինդեքսով, այլ ցուցիչով, որոնք հանդիսանում են «ցուցակ» տվյլաների կառուցվածքի անբաժանելի մաս և դրանով  է պայմանավորված տվյալների այս կառոցվածքի հիմնական տարբերությունը մյուսից՝ վեկտորից ( պարզ ասած՝ զանգվածից)։   Վեկտոր  դիմում ցանկացած տարրին ինդեքսով, ալգորիթմի բարդությունը O(1), վեկտորի սկզբում կամ միջնամասում նոր տարր ավելացնելու ալգորիթմի […]

Կարդալ ամբողջը

Smart Sight կամ խելացի նշանոց

| Հունիս 15, 2013 |
Smart Sight կամ խելացի նշանոց

              Խելացի նշանոցի հիմնական գործառույթը կայանում է հետաքրքրող օբյեկտի ընդգծման, նրա տեղաշարժի և ուղղության հետևման, ինչպես նաև օբյեկտի ճանաչման մեջ։ Շատ կուզենայի նման բան ստանալ Բայց նման բան ստանալու համար շատ թանկ սարքավորումներ են պետք, օրինակ thermographic camera և այլն, այնպես որ դեռ կբավարարվենք ցերեկվա լույսով : OpenCv պատկերների […]

Կարդալ ամբողջը

93