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

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

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

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

இணைப்புகளின் புதிய பதிப்பு, இணைப்புகளின் முதல், இரண்டாவது, மூன்றாவது மற்றும் நான்காவது பதிப்புகளின் விவாதத்தின் போது செய்யப்பட்ட கருத்துகளை நீக்குவதைத் தொடர்கிறது. புதிய பதிப்பில்:

  • இன்டெல்-ஆதரவு 0DAY/LKP போட் அடிப்படையிலான தொடர்ச்சியான ஒருங்கிணைப்பு அமைப்பில் ரஸ்ட் ஆதரவுக்கான உபகரண சோதனை சேர்க்கப்பட்டது மற்றும் சோதனை அறிக்கைகளின் வெளியீடு தொடங்கப்பட்டுள்ளது. கெர்னல்சிஐ தானியங்கு சோதனை அமைப்பில் ரஸ்ட் ஆதரவை ஒருங்கிணைக்க நாங்கள் தயாராகி வருகிறோம். கிட்ஹப் சிஐ அடிப்படையிலான சோதனை, கொள்கலன்களின் பயன்பாட்டிற்கு மாற்றப்பட்டது.
  • "#![no_std]" மற்றும் "#![feature(...)]" ஆகிய க்ரேட் பண்புகளை வரையறுக்க வேண்டிய அவசியத்திலிருந்து ரஸ்ட் கர்னல் தொகுதிகள் விடுவிக்கப்படுகின்றன.
  • ஒற்றை சட்டசபை இலக்குகளுக்கான ஆதரவு சேர்க்கப்பட்டது (.o, .s, .ll மற்றும் .i).
  • குறியீடு வழிகாட்டுதல்கள் கருத்துகளைப் பிரிப்பதற்கான விதிகளை வரையறுக்கின்றன (“//”) மற்றும் ஆவணப்படுத்தல் குறியீடு (“///”).
  • is_rust_module.sh ஸ்கிரிப்ட் மறுவேலை செய்யப்பட்டுள்ளது.
  • "CONFIG_CONSTRUCTORS" செயல்படுத்தலின் அடிப்படையில் நிலையான (உலகளாவிய பகிரப்பட்ட மாறி) ஒத்திசைவு முதன்மைகளுக்கான ஆதரவு சேர்க்கப்பட்டது.
  • பூட்டு மேலாண்மை எளிமைப்படுத்தப்பட்டுள்ளது: காவலர் மற்றும் GuardMut ஒருங்கிணைக்கப்பட்டு ஒரு அளவுரு வகை.
  • சாதனங்களை பதிவு செய்யும் போது கூடுதல் அளவுருக்களை வரையறுக்க முடியும்.
  • "RwSemaphore" சுருக்கம் சேர்க்கப்பட்டது, இது rw_semaphore C கட்டமைப்பின் மீது ரேப்பராக செயல்படுகிறது.
  • mmap ஐப் பயன்படுத்த, ஒரு புதிய mm தொகுதி மற்றும் VMA சுருக்கம் சேர்க்கப்பட்டுள்ளது (vm_area_struct கட்டமைப்பின் மேல் ஒரு ரேப்பர்).
  • GPIO PL061 இயக்கி “dev_*!” ஐப் பயன்படுத்துவதற்கு மாற்றப்பட்டது.
  • குறியீட்டின் பொது சுத்தம் செய்யப்பட்டது.

ஆதாரம்: opennet.ru

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