Кіріспе

Файлдың форматын анықтау немесе көрсету үшін қолданылатын байттар тізбегі. Компьютерлік бағдарламалауда, "сиқырлы сан" – келесілердің кез келгені: түсіндірілмейтін мағынасы бар немесе бірнеше рет кездесетін бірегей мән, оны (көбінесе) атаулы тұрақтымен алмастыруға болады; файл форматын немесе протоколды анықтау үшін қолданылатын тұрақты сандық немесе мәтіндік мән (файлдар үшін, файл қолтаңбалары тізілімін қараңыз); басқа мағыналармен шатастырылуы екіталай ерекше бірегей мән (мысалы, жаһандық бірегей идентификаторлар).

Аталмаған сандық тұрақтылар

Сиқырлы сан немесе сиқырлы тұрақты терминдері бастапқы кодта тікелей сандарды пайдаланудың анти-үлгісін білдіреді. Бұл бағдарламалаудың ең көне ережелерінің бірін бұзу болып саналады, бұл ереже 1960 жылдардағы COBOL, FORTRAN және PL/1 нұсқаулықтарында көрсетілген. Кодта аталмаған сиқырлы сандарды қолдану дамытушылардың осы санды таңдау ниетін жасырады, көзге көрінбейтін қателерге мүмкіндік жасайды (мысалы, 3.14159265358979323846 санының әр цифры дұрыс па және бұл 3.14159 санына тең бе?) және бағдарламаны болашақта өзгерту мен кеңейтуді қиындатады. Барлық маңызды сиқырлы сандарды атаулы тұрақтылармен (түсіндірмелі айнымалылар деп те аталады) алмастыру бағдарламаны оқуды, түсінуді және күтіп ұстауды жеңілдетеді. Бағдарлама контексінде мағыналы болып таңдалған атаулар, бастапқы автор емес (немесе тіпті бастапқы автор кейінірек) бағдарламаны күтіп ұстаушыға оңай түсінілетін кодты қамтамасыз етеді. Unix-тің алтыншы нұсқасына дейінгі нұсқалары орындалатын файлды жадқа оқып, бағдарламаның бірінші төмен жад адресіне, яғни нөлге қатысты адреске секіріп өтетін. Unix-тің беттік жадты пайдаланатын нұсқаларының дамуымен орындалатын кескіннің компоненттерін сипаттау үшін басқыш құрылды. Сонымен қатар, бөлімше нұсқаулық ретінде енгізілген бірінші сөз ретінде басқышты өткіріп, бағдарламаны іске қосу үшін нұсқау берілді. Осылайша бағдарлама ескі, жылжымалы жад мекенжайларын пайдаланатын (стандартты) режимде немесе беттік жад режимінде орындалуы мүмкін. Орындалатын форматтардың саны артқан сайын, жаңа тұрақтылар тармаққа қатысты ауысуды ұлғайту арқылы қосылды. Unix бағдарламалық жүктеушісінің алтыншы нұсқасының бастапқы кодында exec функциясы файлдық жүйеден орындалатын (бинарлық) кескінді оқиды. Файлдың алғашқы 8 байты бағдарламаның (мәтін) және инициализацияланған (жалпы) деректер аймақтарының өлшемдерін қамтитын басқыш болды. Сонымен қатар, басқыштың алғашқы 16 биттік сөзі екі тұрақтымен салыстырылып, орындалатын кескінде жылжымалы жад мекенжайлары (нормалды), жаңадан енгізілген беттік жадты тек оқуға арналған орындалатын кескін немесе бөлек нұсқаулар мен деректерді беттік жадта сақтау бар-жоғын анықтау үшін салыстырылды. Басқыш тұрақтысының екі қызметі туралы ештеңе айтылмады, бірақ тұрақтының жоғары ретті байты PDP 11 тармақ нұсқаулығының операциялық коды болды (сегіздік 000407 немесе он алтылық 0107). Бағдарлама санағышына жеті қосылса, егер бұл тұрақты орындалса, Unix exec қызметі сегіз байттық орындалатын кескін басқышынан өтіп, бағдарламаны іске қосатынын көрсетті. Unix-тің алтыншы және жетінші нұсқалары беттік жадты пайдаланғандықтан, басқыш тұрақтысының екі қызметі жасырылды. Яғни, exec қызметі орындалатын файлдың бас (мета) деректерін ядролық кеңістіктегі буферге оқиды, бірақ орындалатын кескінді пайдаланушы кеңістігіне оқиды, осылайша тұрақтының тармақталу мүмкіндігін пайдаланбайды. Сиқырлы сандарды құру Unix сілтемелеушісі мен жүктеушісінде іске асырылды және сиқырлы сандарды тармақтау, мүмкін, әлі де алтыншы және жетінші нұсқаларымен бірге келген дербес диагностикалық бағдарламалар жиынтығында қолданылған. Осылайша, басқыш тұрақтысы иллюзияны қамтамасыз етті және сиқырлы сандардың критерийлеріне сай келді. Version Seven Unix-те басқыш тұрақтысы тікелей тексерілмеді, бірақ ux mag деп аталатын айнымалыға тағайындалды және кейіннен "сиқырлы сан" деп аталды. Мүмкін, оның бірегейлігіне байланысты, сиқырлы сан термині бастапқыда орындалатын файлдың форматын білдірді, содан кейін файлдық жүйенің түрін, ал соңында кез келген файл түрін білдірді.

GUID-тер

Жасалған немесе өзгертілген жаһандық бірегей идентификаторларды (GUID) есте сақтауға болатынымен, мұндай амалға көшуге кеңес берілмейді, себебі бұл олардың дерлік бірегей идентификаторлар ретіндегі қауіпсіздігін төмендетеді. GUID және UUID құру ережелері өте күрделі, осының нәтижесінде олар дұрыс жүзеге асырылған жағдайда іс жүзінде бірегей болады. Microsoft Windows өнімдерінің идентификациялық нөмірлері, әсіресе Microsoft Office өнімдері үшін, кейде 0000 0000 0000000FF1CE ("OFFICE") кодымен аяқталады, мысалы {90160000 008C 0000 0000 0000000FF1CE} – "Office 16 Click to Run Extensibility Component" өнімінің идентификаторы. Java бірнеше GUID-ті пайдаланады, олар CAFEEFAC-пен басталады. GPT бөлу схемасының GUID Partition Table-інде BIOS Boot бөлімдері {21686148 6449 6E6F 744E 656564454649} арнайы GUID-ін қолданады, ол GUID анықтамасына сәйкес келмейді; керісінше, ол "Hah!IdontNeedEFI" жолының ASCII кодтарын шағын ендік тәртібімен ішінара пайдалану арқылы құрылады.