ரஸ்ட் மொழிக்கான ஆதரவுடன் லினக்ஸ் கர்னலுக்கான இணைப்புகளின் இரண்டாவது பதிப்பு

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

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

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

இணைப்புகளின் புதிய பதிப்பில் மிகவும் குறிப்பிடத்தக்க மாற்றங்கள்:

  • நினைவக ஒதுக்கீட்டுக் குறியீடு நினைவகம் இல்லாதது போன்ற பிழைகள் ஏற்படும் போது "பீதி" நிலையை உருவாக்குவதிலிருந்து விடுவிக்கப்படுகிறது. Rust alloc நூலகத்தின் மாறுபாடு சேர்க்கப்பட்டுள்ளது, இது தோல்விகளைக் கையாள குறியீட்டை மறுவேலை செய்கிறது, ஆனால் இறுதி இலக்கு கர்னலுக்குத் தேவையான அனைத்து அம்சங்களையும் alloc இன் முதன்மை பதிப்பிற்கு மாற்றுவதாகும் (மாற்றங்கள் ஏற்கனவே தயாரிக்கப்பட்டு தரநிலைக்கு மாற்றப்பட்டுள்ளன. ரஸ்ட் நூலகம்).
  • இரவைக் கட்டுவதற்குப் பதிலாக, ரஸ்ட் ஆதரவுடன் கர்னலைத் தொகுக்க, இப்போது பீட்டா வெளியீடுகள் மற்றும் rustc கம்பைலரின் நிலையான வெளியீடுகளைப் பயன்படுத்தலாம். தற்போது, ​​rustc 1.54-beta1 குறிப்பு தொகுப்பியாக பயன்படுத்தப்படுகிறது, ஆனால் 1.54 வெளியீடு மாத இறுதியில் வெளியிடப்பட்ட பிறகு, அது குறிப்பு தொகுப்பியாக ஆதரிக்கப்படும்.
  • ரஸ்டுக்கான நிலையான “#[test]” பண்புக்கூறைப் பயன்படுத்தி சோதனைகளை எழுதுவதற்கான ஆதரவு மற்றும் சோதனைகளை ஆவணப்படுத்த டாக்டெஸ்ட்களைப் பயன்படுத்தும் திறன் ஆகியவை சேர்க்கப்பட்டது.
  • முன்பு ஆதரிக்கப்பட்ட x32_86 மற்றும் ARM64 க்கு கூடுதலாக ARM64 மற்றும் RISCV கட்டமைப்புகளுக்கான ஆதரவு சேர்க்கப்பட்டது.
  • GCC ரஸ்ட் (ரஸ்டுக்கான GCC முன்பக்கம்) மற்றும் rustc_codegen_gcc (GCC க்கான rustc பின்தளம்) ஆகியவற்றின் மேம்படுத்தப்பட்ட செயலாக்கங்கள், இது இப்போது அனைத்து அடிப்படை சோதனைகளிலும் தேர்ச்சி பெற்றுள்ளது.
  • சிவப்பு-கருப்பு மரங்கள், குறிப்பு எண்ணப்பட்ட பொருள்கள், கோப்பு விளக்க உருவாக்கம், பணிகள், கோப்புகள் மற்றும் I/O வெக்டர்கள் போன்ற C இல் எழுதப்பட்ட கர்னல் பொறிமுறைகளின் ரஸ்ட் நிரல்களில் பயன்படுத்த புதிய அளவிலான சுருக்கம் முன்மொழியப்பட்டது.
  • இயக்கி மேம்பாடு கூறுகள் file_operations தொகுதி, தொகுதி மேக்ரோ, மேக்ரோ பதிவு மற்றும் அடிப்படை இயக்கிகள் (ஆய்வு மற்றும் நீக்க) ஆகியவற்றிற்கான மேம்பட்ட ஆதரவைக் கொண்டுள்ளன.
  • பைண்டர் இப்போது கோப்பு விளக்கங்கள் மற்றும் LSM ஹூக்குகளை அனுப்புவதை ஆதரிக்கிறது.
  • ரஸ்ட் இயக்கியின் மிகவும் செயல்பாட்டு உதாரணம் முன்மொழியப்பட்டது - ராஸ்பெர்ரி பை போர்டுகளின் வன்பொருள் சீரற்ற எண் ஜெனரேட்டருக்கான bcm2835-rng.

கூடுதலாக, கர்னலில் ரஸ்ட் பயன்படுத்துவது தொடர்பான சில நிறுவனங்களின் திட்டங்கள் குறிப்பிடப்பட்டுள்ளன:

  • மைக்ரோசாப்ட் லினக்ஸ் கர்னலில் ரஸ்ட் ஆதரவை ஒருங்கிணைக்கும் பணியில் பங்கேற்க ஆர்வத்தை வெளிப்படுத்தியுள்ளது மேலும் வரும் மாதங்களில் ரஸ்டில் ஹைப்பர்-விக்கான இயக்கி செயலாக்கங்களை வழங்க தயாராக உள்ளது.
  • ARM அடிப்படையிலான அமைப்புகளுக்கான ரஸ்ட் ஆதரவை மேம்படுத்த ARM செயல்படுகிறது. ரஸ்ட் திட்டம் ஏற்கனவே 64-பிட் ARM அமைப்புகளை அடுக்கு 1 தளமாக மாற்றும் மாற்றங்களை முன்மொழிந்துள்ளது.
  • கூகிள் நேரடியாக ரஸ்ட் ஃபார் லினக்ஸ் திட்டத்திற்கு ஆதரவை வழங்குகிறது, ரஸ்டில் பைண்டர் இடைச்செயல் தொடர்பு பொறிமுறையின் புதிய செயலாக்கத்தை உருவாக்குகிறது, மேலும் ரஸ்டில் பல்வேறு இயக்கிகளை மறுவேலை செய்வதற்கான சாத்தியக்கூறுகளை பரிசீலித்து வருகிறது. ISRG (இன்டர்நெட் செக்யூரிட்டி ரிசர்ச் க்ரூப்) மூலம், லினக்ஸ் கர்னலில் ரஸ்ட் ஆதரவை ஒருங்கிணைக்கும் பணிக்கான நிதியை Google வழங்கியது.
  • பவர்பிசி அமைப்புகளுக்கான ரஸ்டுக்கான கர்னல் ஆதரவை ஐபிஎம் செயல்படுத்தியுள்ளது.
  • LSE (Systems Research Laboratory) ஆய்வகம் ரஸ்டில் SPI இயக்கியை உருவாக்கியுள்ளது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்