MAQOMOTI fayli - COM file

MAQOMOTI
Fayl nomi kengaytmasi
.COM
Format turiBajariladigan
KengaytirilganDOS MZ bajarilishi mumkin
Bir qator MAQOMOTI fayllari IBM PC DOS 1.0

A MAQOMOTI fayli oddiy turidir bajariladigan fayl. Ustida Raqamli uskunalar operatsion tizimlar 1970-yillar, .COM sifatida ishlatilgan fayl nomini kengaytirish uchun matnli fayllar operatsion tizimga beriladigan buyruqlarni o'z ichiga olgan (a ga o'xshash ommaviy ish fayli ).[1] Kirish bilan CP / M (a mikrokompyuter operatsion tizim), odatda MAQOMOTI kengaytmasi bilan bog'langan fayllarning turi bajariladigan fayllarga o'zgartirildi. Keyinchalik ushbu anjuman o'tkazildi DOS. Hatto umumiyroq bilan to'ldirilganda ham exe fayl formati bajariladigan fayllar uchun ixcham MAQOMOTI fayllari hayotiy bo'lib qoldi va DOS ostida tez-tez ishlatiladi.

The .COM fayl nomi kengaytmasi bilan hech qanday aloqasi yo'q .com ("tijorat" uchun) yuqori darajadagi Internet-domen nomi. Biroq, nomdagi ushbu o'xshashlikdan foydalanilgan zararli dastur yozuvchilar.

DOS ikkilik formati

MAQOMOTI formati - ishlatilgan asl ikkilik bajariladigan format CP / M (shu jumladan SCP va MSX-DOS ) shu qatorda; shu bilan birga DOS. Bu juda oddiy; unda sarlavha yo'q (CP / M 3 fayllari bundan mustasno),[2] va hech qanday standartni o'z ichiga olmaydi metadata, faqat kod va ma'lumotlar. Ushbu soddalik narxga ta'sir qiladi: ikkilik maksimal hajmi 65,280 (FF00)h ) bayt (256 bayt 64 KB ga qisqaradi) va uning hammasini saqlaydi kod va ma'lumotlar bittasida segment.

Yo'qligi sababli ko'chirish ma'lumot, bu shunday yuklandi operatsion tizim tomonidan oldindan o'rnatilgan manzilda, ofsetdan keyin darhol soat 0100 dan keyin PSP, qaerda u bajariladi (shu sababli bajariladigan dastur hajmining cheklanishi): the kirish nuqtasi soat 0100 da belgilangan. Bu 8 bitli mashinalarda muammo emas edi, chunki ular 64 k xotirani maksimal darajada hal qilishlari mumkin, ammo 16 bitli mashinalar juda katta manzil maydoniga ega, shuning uchun format ishlatilmay qoldi.

In Intel 8080 CPU arxitekturasi, faqat 65.536 baytli xotiraga murojaat qilish mumkin edi (manzil oralig'i 0000h dan FFFFhgacha). CP / M ostida ushbu xotiraning 0000h dan 00FFh gacha bo'lgan dastlabki 256 baytlari tizim tomonidan foydalanish uchun zaxiralangan. nol sahifa va har qanday foydalanuvchi dasturini bajarish uchun to'liq soat 0100 da yuklash kerak edi. MAQOMOTI fayllari ushbu modelga to'liq mos keladi. Kirishdan oldin MP / M va Bir vaqtning o'zida CP / M, bir vaqtning o'zida bir nechta dastur yoki buyruqni bajarish imkoniyati yo'q edi: soat 0100 da yuklangan dastur ishga tushirildi va boshqasi yo'q.

Fayl formati DOS va CP / M da bir xil bo'lishiga qaramay, ikkita operatsion tizim uchun .COM fayllari mos kelmaydi; DOS MAQOMOTI fayllari mavjud x86 ko'rsatmalar va ehtimol DOS tizim qo'ng'iroqlari, CP / M COM fayllari esa 8080 ko'rsatmalar va CP / M tizim qo'ng'iroqlari (ba'zi mashinalar bilan cheklangan dasturlarda qo'shimcha ko'rsatmalar ham bo'lishi mumkin 8085 yoki Z80 ).

DOS-dagi .COM fayllari barcha x86 segment registrlarini bir xil qiymatga va SP (stack pointer) registrini FFFCh yoki FFFEh ga o'rnatgan,[3] Shunday qilib, stek xotira segmentining eng yuqori qismidan boshlanadi va u erdan pastga ishlaydi.[4]

Dastlabki DOS 1.x da API, CP / M API ning hosilasi bo'lgan .COM faylini dasturni bekor qilish, xuddi shu maqsadga xizmat qilgan INT 20h (Program Terminate) funktsiyasini yoki INT 21h Funktsiyasini 0 chaqirish orqali amalga oshiriladi va dasturchi ham tizimning ishdan chiqishiga yo'l qo'ymaslik uchun kod va ma'lumotlar segmenti registrlari dasturni tugatishda bir xil qiymatga ega bo'lishini ta'minlash. Bu har qanday DOS versiyasida ishlatilishi mumkin bo'lsa-da, Microsoft DOS 2.x dan boshlab dasturni to'xtatish uchun INT 21h Function 4Ch dan foydalanishni tavsiya qildi, bu ma'lumotlar va kod segmentlarini bir xil qiymatga o'rnatishni talab qilmadi.

Ikkala operatsion tizim ostida a shaklida ishlash uchun .COM faylini yaratish mumkin yog 'ikkilik. Ko'rsatmalar darajasida haqiqiy muvofiqlik yo'q; da ko'rsatmalar kirish nuqtasi funktsional jihatdan teng, ammo ikkala operatsion tizimda ham bir-biridan farq qiladi va dastur bajarilishini ishlatilayotgan operatsion tizim bo'limiga o'tkazadi. Bu asosan bitta faylda bir xil funktsiyaga ega bo'lgan ikki xil dastur bo'lib, undan oldin foydalanishni tanlash uchun kod tanlangan.

CP / M 3 ostida, agar COM faylining birinchi bayti C9h bo'lsa, unda 256 baytli sarlavha mavjud;[2] chunki C9h ga mos keladi 8080 ko'rsatma RET, bu MAQOMOTI fayli ushbu kengaytmani qo'llab-quvvatlamaydigan CP / M ning oldingi versiyasida ishlasa darhol tugatilishini anglatadi. (8085 va Z80 buyruqlar to'plamlari 8080 buyruqlar to'plamining yuqori to'plamlari bo'lgani uchun, bu uchta protsessorda ham ishlaydi.) C9h yaroqsiz kod 8088/8086 da va protsessor tomonidan yaratilgan 6 ta uzilishga olib keladi v86 rejimi ustida 386 va keyinchalik x86 chiplari. C9h beri LEAVE uchun opkod hisoblanadi, chunki 80188 /80186 va shuning uchun amaldagi dasturda birinchi ko'rsatma sifatida foydalanilmaydi, DOS-ning ba'zi versiyalarida bajariladigan yuklovchi, ishlamay qolishdan saqlanib, C9h bilan boshlanadigan MAQOMOTI fayllarini rad etadi.

Fayllarda .COM bilan tugaydigan nomlar bo'lishi mumkin, lekin yuqorida bayon qilingan oddiy formatda emas; bu a bilan ko'rsatilgan sehrli raqam faylning boshida. Masalan, COMMAND.COM fayl DR DOS 6.0 aslida ichida DOS-ning bajarilishi mumkin format, dastlabki ikki bayt bilan ko'rsatilgan MZ (4Dh 5Ah), bosh harflari Mark Zbikovski.

Katta dasturlar

Ostida DOS bu yerda yo'q xotirani boshqarish tomonidan COM fayllari uchun taqdim etilgan yuklovchi yoki ijro etish muhiti. MAQOMOTI fayli uchun barcha xotiralar mavjud. Amalga oshirilgandan so'ng, operatsion tizim buyrug'i qobig'i, COMMAND.COM, qayta yuklangan. Bu MAQOMOTI fayli juda oddiy bo'lishi mumkin bo'lgan imkoniyatlarni qoldiradi segment yoki o'zboshimchalik bilan murakkab, o'z xotirasini boshqarish tizimini ta'minlaydi. Murakkab dasturning misoli - COMMAND.COM, DOS qobig'i bo'lib, u boshqa MAQOMOTI yoki exe dasturlar. .COM tizimida kattaroq dasturlarni (mavjud bo'lgan xotira hajmiga qadar) yuklash va ishga tushirish mumkin, ammo tizim yuklagichi barcha kodlar va ma'lumotlar birinchi segmentda deb hisoblaydi va har qanday narsani taqdim etish .COM dasturiga bog'liq. keyingi tashkilot. Mavjud xotiradan kattaroq yoki katta dasturlar ma'lumotlar segmentlari, tomonidan boshqarilishi mumkin dinamik bog'lanish, agar kerakli kod .COM dasturiga kiritilgan bo'lsa. .EXE formatidan ko'ra .COM dan foydalanishning afzalligi shundaki, ikkilik rasm odatda kichikroq bo'ladi va montajchi.[5] Bir marta kompilyatorlar va bog'lovchilar etarli quvvatga ega bo'ldi, endi murakkab dasturlar uchun .COM formatidan foydalanish foydasiz bo'ldi.

Platformani qo'llab-quvvatlash

Format hanuzgacha bajariladigan ko'plab zamonaviylarda Windows NT asoslangan platformalar, lekin u MS-DOS - kichik tizimni taqlid qilish, NTVDM mavjud emas 64-bit variantlar. MAQOMOTI fayllari kabi DOS emulyatorlarida ham bajarilishi mumkin DOSBox, ushbu emulyatorlar tomonidan qo'llab-quvvatlanadigan har qanday platformada.

Moslik sabablari uchun foydalaning

Windows NT asoslangan operatsion tizimlar .com kengaytmasidan MS-DOS kunlaridan beri o'tkazilgan oz sonli buyruqlar uchun foydalanadilar, ammo aslida ular amalda .exe fayllar. Operatsion tizim .exe fayl sarlavhasini taniydi va texnik jihatdan noto'g'ri .com kengaytmasiga qaramay ularni to'g'ri bajaradi. (Aslida har qanday .exe faylini .com nomi bilan o'zgartirish mumkin va u hali ham to'g'ri bajarilishi mumkin.) Ushbu buyruqlar uchun asl .com kengaytmalaridan foydalanish eski DOS ommaviy ish fayllari bilan mosligini ta'minlaydi, bu ularga to'liq asl fayl nomlari bilan murojaat qilishi mumkin. Ushbu buyruqlar DISKCOMP, DISKKOPI, FORMAT, Rejim, KO'PROQ va DARAXT.

Ijro etish afzalligi

DOS-da, agar katalogda ham COM fayli bo'lsa, ham exe bir xil nomdagi fayl, agar kengaytma ko'rsatilmagan bo'lsa, MAQOMOTI fayli ijro etish uchun afzalroq tanlangan. Masalan, agar tizim yo'li nomli ikkita faylni o'z ichiga oladi foo.com va foo.exe, quyidagilar amalga oshiriladi foo.com:

C: > foo

Ishlamoqchi bo'lgan foydalanuvchi foo.exe to'liq fayl nomidan aniq foydalanishi mumkin:

C: > foo.exe

Ushbu odatiy xatti-harakatlardan foydalanib, virus yozuvchilar va boshqa zararli dasturchilar shunga o'xshash ismlardan foydalanganlar notepad.com agar ular mos keladigan EXE fayli bilan bir xil katalogga joylashtirilgan bo'lsa, buyruq yoki ommaviy ish fayli tasodifan matn muharriri o'rniga ularning dasturini ishga tushirishi mumkin deb umid qilib, ularning asarlari uchun notepad.exe. Shunga qaramay, ushbu .com fayllari aslida .exe formatida bajarilishi mumkin.

Yoqilgan Windows NT va hosilalar (Windows 2000, Windows XP, Windows Vista va Windows 7 ), the YO'L o'zgaruvchisi buyruq satridan kengaytmani ko'rsatmasdan fayllarni chaqirish uchun afzallik tartibini (va qabul qilinadigan kengaytmalarni) bekor qilish uchun ishlatiladi. Standart qiymat hali ham saqlanib qoladi .com oldin fayllar .exe fayllar. Bu ilgari JP Software-ning kengaytirilgan buyruq qatori protsessorlari qatorida mavjud bo'lgan xususiyatga o'xshaydi 4DOS, 4OS2 va 4NT.

.Com kengaytmasidan zararli foydalanish

Ba'zi kompyuter viruslari mualliflari zamonaviy kompyuter foydalanuvchilari, ehtimol, ular haqida bilim etishmasligi imkoniyatlaridan foydalanishga umid qilishdi .com fayl kengaytmasi va ular bilan bog'liq ikkilik format, shuningdek, .com Internet-domen nomi. Elektron pochta xabarlari "www.example.com" ga o'xshash qo'shimcha nomlari bilan yuborilgan. Ehtiyot bo'lmang Microsoft Windows foydalanuvchilar bunday qo'shimchani bosgan holda nomlangan saytni ko'rib chiqishni boshlashlari mumkin http://www.example.com/, lekin buning o'rniga biriktirilgan ikkilik buyruq faylini ishga tushiradi www.example, uning muallifi nima deb o'ylagan bo'lsa, ularning mashinasida ishlashga to'liq ruxsat berish.

MAQOMOTI fayl formatida zararli narsa yo'q; Bu .com o'rtasidagi tasodifiy to'qnashuvning ekspluatatsiyasi command fayllari va .com commehribon veb-saytlar.

Shuningdek qarang

Adabiyotlar

  1. ^ Xristian, Brayan; Markson, Tom; Skrenta, boy (tahrir.). "5.3-bo'lim". PDP-11 kitobi qanday yoziladi (Tahrir 1-nashr). Arxivlandi asl nusxasidan 2018-08-01. Olingan 2018-08-01. (NB. Uchun ma'lumotnoma mavjud RT-11 da ishlaydigan operatsion tizim PDP-11 5.3-bo'limda .COM buyruq fayliga murojaat qilish uchun ishlatilishini ko'rsatadigan minikompyuter.)
  2. ^ a b Elliott, Jon S.; Lopushinskiy, Jim (2002) [1998-04-11]. "CP / M 3 COM faylining sarlavhasi". Seasip.info. Arxivlandi asl nusxasi 2018-08-01 da.
  3. ^ "DOS .COM boshlang'ich registrlari". fysnet.net.
  4. ^ Paul, Mattias R. (2002-10-07) [2000]. "Qayta: MAQOMOTI faylini ishga tushirish". Yangiliklar guruhialt.msdos.programmer. Arxivlandi asl nusxasidan 2017-09-03. Olingan 2017-09-03. [1]
  5. ^ Scanlon, Leo J. (1991). "2-bob". MS-DOS uchun yig'ilish tili dasturlari (2 nashr). Windcrest kitoblari. p. 16. ISBN  0-8306-7649-X.

Tashqi havolalar