லினக்ஸில் ஒரு கணினி அழைப்பு என்றால் என்ன, அது எவ்வாறு எடுத்துக்காட்டுகளுடன் வேலை செய்கிறது

What Is System Call Linux



கணினி அழைப்பு என்பது லினக்ஸ் கர்னலுடன் தொடர்பு கொள்ள ஒரு செயல்முறையை அனுமதிக்கும் ஒரு செயல்பாடாகும். ஒரு கணினி நிரல் இயக்க முறைமையின் கர்னலில் இருந்து ஒரு வசதியை ஆர்டர் செய்ய இது ஒரு நிரல் வழி. கணினி அழைப்புகள் இயக்க முறைமையின் ஆதாரங்களை பயனர் நிரல்களுக்கு API (அப்ளிகேஷன் புரோகிராமிங் இன்டர்ஃபேஸ்) மூலம் வெளிப்படுத்துகிறது. கணினி அழைப்புகள் கர்னல் கட்டமைப்பை மட்டுமே அணுக முடியும். வளங்கள் தேவைப்படும் அனைத்து சேவைகளுக்கும் கணினி அழைப்புகள் தேவை.

லினக்ஸ் கர்னல் தனியுரிம மென்பொருளாகும், இது சாதனத்தை குறைந்தபட்ச சாத்தியமான கட்டத்தில் ஏற்றுகிறது மற்றும் செயல்படுத்துகிறது. விசைப்பலகை, வட்டு இயக்கி மற்றும் நெட்வொர்க் நிகழ்வுகள் முதல் வெவ்வேறு நிரல்களை ஒரே நேரத்தில் செயல்படுத்துவதற்கான நேரத் துண்டுகளை வழங்குவது வரை இயந்திரத்தில் நடக்கும் அனைத்தையும் ஒழுங்கமைப்பதே இதன் வேலை. மென்பொருள் மற்றும் வன்பொருளைப் பிரிப்பது ஒரு பாதுகாப்பான குமிழியை உருவாக்குகிறது, அது பாதுகாப்பு மற்றும் நம்பகத்தன்மையை மேம்படுத்துகிறது. சலுகை இல்லாத பயன்பாடுகள் மற்ற நிரலின் சேமிப்பகத்தை அடைய முடியவில்லை, ஒன்று தோல்வியுற்றால், கர்னல் செயல்முறையை இடைநிறுத்துகிறது, இதனால் அது முழு அமைப்பையும் சேதப்படுத்தாது.







வேஃபர் மெல்லிய மடக்கு:

லினக்ஸ் கணினி அழைப்புகள் சில நிரல்களில் கர்னலுக்கு வெளிப்படையாக வழங்கப்படவில்லை. ஏறக்குறைய அனைத்து நிரல்களும் அடிப்படை சி நூலகத்தைப் பயன்படுத்துகின்றன மற்றும் லினக்ஸ் கணினி அழைப்புகளில் இலகுரக ஆனால் அத்தியாவசியமான ரேப்பரை வழங்குகின்றன. அம்ச அளவுருக்கள் சரியான செயலி பதிவேடுகளில் மொழிபெயர்க்கப்பட்டிருப்பதை உறுதிசெய்த பிறகு களஞ்சியம் அதனுடன் வரும் லினக்ஸ் இயந்திர அழைப்பை வழங்குகிறது. கணினி அழைப்பிலிருந்து ரேப்பர் தரவைப் பெறும்போதெல்லாம், அதை பகுப்பாய்வு செய்து, திட்டத்திற்கு தெளிவாகப் பங்களிக்கிறது. ஒரு நிரலில் எந்த இயந்திர-ஊடாடும் செயல்பாடு இறுதியில் ஒரு கணினி அழைப்பாக மாற்றப்படும். எனவே, அவற்றில் சிலவற்றைப் பார்ப்போம். நம் லினக்ஸ் கணினியில் நாம் பயன்படுத்தக்கூடிய லினக்ஸ் கணினி அழைப்புகளின் நீண்ட பட்டியல் உள்ளது. சில பொதுவான மற்றும் பெரும்பாலும் பயன்படுத்தப்படும் லினக்ஸ் கணினி அழைப்புகளின் பட்டியல் இங்கே.



  • திற
  • நெருக்கமான
  • நிறைவேற்று
  • எழுது
  • படி
  • Lseek
  • தேர்ந்தெடுக்கவும்

எங்கள் கட்டுரையில் உள்ள சி மொழியைப் பயன்படுத்தி சில லினக்ஸ் கணினி அழைப்புகளைப் பற்றி விவாதிக்கலாம்.



கணினி அழைப்பைத் திறக்கவும்:

ஆவணத்தை விரைவாகத் திறக்க எங்கள் லினக்ஸ் விநியோகத்தில் ஓபன் சிஸ்டம் அழைப்பைப் பயன்படுத்தலாம், அதை நாங்கள் சி மொழியின் குறியீட்டில் குறிப்பிடுவோம். கட்டளை முனையத்தை முதலில் துவக்கவும். நீங்கள் குறுக்குவழி Ctrl+Alt+T ஐப் பயன்படுத்தலாம். முகப்பு கோப்பகத்தில் ஒரு உரை கோப்பு test.txt உள்ளது என்று வைத்துக்கொள்வோம், அதில் சில உள்ளடக்கங்கள் உள்ளன. எனவே, ஆரம்பத்தில், நானோ எடிட்டர் வழியாக டெர்மினலில் புதிய சி வகை கோப்புப்பெயர் new.c ஐ உருவாக்க வேண்டும். எனவே, கீழே உள்ள எளிய நானோ அறிவுறுத்தலை முயற்சிக்கவும்.





$நானோபுதிய சி

இப்போது, ​​நானோ எடிட்டர் தொடங்கப்பட்டது. கீழே காட்டப்பட்டுள்ள குறியீட்டை அதில் தட்டச்சு செய்யவும். குறியீட்டில் எங்களிடம் இரண்டு கோப்பு விளக்கங்கள் உள்ளன. இரண்டு கோப்புகளையும் திறந்த கணினி அழைப்பைப் பயன்படுத்தி திறக்க முடியும். முதல் விளக்கத்தில் வாசிப்பு அழைப்பு உள்ளது, இரண்டாவதாக எழுதும் செயல்பாடு உள்ளது. முதல் திறந்த அழைப்பு உரை கோப்பு test.txt ஐ திறந்து அதன் உள்ளடக்கத்தை கோப்பு விவரிப்பு fd இல் சேமிக்கிறது. இரண்டாவது திறந்த கணினி அழைப்பு இலக்கு என்ற கோப்பை உருவாக்குகிறது. ஆவண இலக்கு ஒரு fd1 கோப்பு விளக்கத்திற்கு திருப்பிச் செலுத்தப்பட்டது. இடையகத்தில் உள்ள தரவு பைட்டுகளை படியெடுக்க எழுத்து அறிவுறுத்தல் பயன்படுத்தப்படுகிறது. குறியீட்டைச் சேமிக்க Ctrl+S ஐத் தட்டவும் மற்றும் கோப்பை விட்டு வெளியேற குறுக்குவழி விசை Ctrl+X ஐ அழுத்தவும்.



இந்த சி குறியீட்டை தொகுக்க gcc தொகுப்பு அறிவுறுத்தலை இயக்கவும்.

$gccபுதிய சி

ஷெல்லில் எளிய a.out வினவலைப் பயன்படுத்தி குறியீட்டை பின்வருமாறு செயல்படுத்துவோம்:

$./a. அவுட்

வெளியீட்டு தரவு கோப்பு இலக்குக்கு அனுப்பப்பட்டது. பூனை வினவலைப் பயன்படுத்தி இலக்கு கோப்பை சரிபார்க்கலாம். வெளியீட்டுத் திரை இலக்குக் கோப்பில் 20 எழுத்துத் தரவைக் காட்டுகிறது.

$பூனைஇலக்கு

Exec கணினி அழைப்பு:

தற்போது செயலாக்கப்படும் ஒரு கோப்பை இயக்க exec கணினி அழைப்பு நீக்கப்பட்டது. முந்தைய இயங்கக்கூடிய கோப்பு மாற்றாக உள்ளது, மேலும் தற்போதைய கோப்பு exec என்று அழைக்கப்படும் போதெல்லாம் இயக்கப்படும். எக்ஸெக் சிஸ்டம் அழைப்பைப் பயன்படுத்துவதன் மூலம், அவ்வாறு செய்வதன் மூலம் பழைய ஆவணம் அல்லது லூப்பில் உள்ள அப்ளிகேஷனை புதியதாக மேலெழுதலாம் என்று நாம் கருதலாம். முழு செயல்முறையின் பொருளையும் மீற புதிய மென்பொருள் பயன்படுத்தப்படுகிறது. Exec () ஐ அழைக்கும் போதெல்லாம் அறிக்கையில் தலைப்பு கொடுக்கப்பட்ட ஆவணம் exec () கணினி அழைப்பு () இயங்கும் பயனர் தகவல் பிரிவுக்கு மாற்றாக இருக்கும். எனவே கட்டளை முனையத்தைத் திறந்து, நானோ எடிட்டரைப் பயன்படுத்தி, புதிய சி வகை கோப்பை பின்வருமாறு உருவாக்கவும்:

$நானோexp.c

எடிட்டர் இப்போது திறக்கப்பட்டுள்ளது. கீழே உள்ள சி மொழி குறியீட்டை முழுவதுமாக எழுதுங்கள். இதில் மூன்று முக்கிய நூலகங்கள் உள்ளன. அதன் பிறகு, முக்கிய செயல்பாடு உடனடியாக நிறுவப்பட்டது. அச்சு அறிக்கை சரம் தரவு மற்றும் கோப்பு exp.c. இன் செயல்முறை ஐடியைக் காட்டுகிறது. இந்த நோக்கத்திற்காக getpid () செயல்பாடு பயன்படுத்தப்பட்டுள்ளது. பின்னர் எங்களிடம் ஒரு எழுத்து வகை வரிசை உள்ளது, அதில் சில மதிப்புகள் உள்ளன. கோப்பு பெயர் மற்றும் வரிசைக்கு மேலே உள்ள ஒரு வரி ஒரு வாதமாக எடுத்துக்கொள்ள exec கணினி அழைப்பு பயன்படுத்தப்படுகிறது. இப்போது hello.c கோப்பு செயலாக்கப்படும். அதன்பிறகு, மற்றொரு அச்சு அறிக்கை இதுவரை வருகிறது, ஆனால் அது ஒருபோதும் செயல்படுத்தப்படாது. இந்தக் கோப்பைச் சேமிக்க Ctrl+S ஐ அழுத்தவும். வெளியேற Ctrl+X ஐ அழுத்தவும்.

நானோ எடிட்டரைப் பயன்படுத்தி hello.c என்ற மற்றொரு c கோப்பை உருவாக்க வேண்டிய நேரம் இது. அவ்வாறு செய்ய ஷெல்லில் கீழே உள்ள வினவலைப் பயன்படுத்தவும்.

$நானோவணக்கம். சி

கீழே உள்ள குறியீட்டை அதில் எழுதுங்கள். இந்த குறியீட்டில் முக்கிய செயல்பாட்டில் இரண்டு அச்சு அறிக்கைகள் உள்ளன. முதலாவது அதில் கொடுக்கப்பட்ட ஒரு சரத்தை மட்டுமே அச்சிடுவது, இரண்டாவது ஹலோ.சி என்ற தற்போது பயன்படுத்தப்படும் கோப்பின் செயல்முறை ஐடியைப் பெறும்போது சரத்தை அச்சிடுவது.

ஜிசிசியைப் பயன்படுத்தி இரண்டு கோப்புகளையும் ஒன்றன் பின் ஒன்றாகத் தொகுப்போம்.

$gcc–O exp exp.c

$gcc–ஓ வணக்கம் வணக்கம். சி

நாங்கள் exp.c கோப்பை இயக்கும்போது, ​​அது exp.c கோப்பிலிருந்து முதல் அச்சு அறிக்கையையும், hello.c கோப்பிலிருந்து இரண்டு அச்சு வரிகளையும் வெளியிடும்.

$./exp

முடிவுரை:

லினக்ஸ் சிஸ்டம் அழைப்புகளின் முழு கருத்து மற்றும் அவை உங்கள் லினக்ஸ் சிஸ்டத்தில் எவ்வாறு பயன்படுத்தப்படலாம் என்பதை நாங்கள் விரிவாக விவரித்துள்ளோம். இந்த கருத்தை செயல்படுத்தும் போது நாங்கள் உபுண்டு 20.04 ஐப் பயன்படுத்தியுள்ளோம்.