வசதிகளற்ற லினக்ஸ் நூலகம் ஒரு அறிமுகம்

வசதிகளற்ற லினக்ஸ் நூலகம் (Featureless Linux Library (FLL)) என்பது குனு லினக்ஸ் அமைவுகளில் (இப்போது SystemdD லினக்ஸ் அமைவுகளில்) காணப்படுகின்ற வித்தியாசமான வடிவமைப்பு முன்னுதாரணத்தை மையமாகக் கொண்டசிறிய நிரலாக்கங்களுடன் கூடிய ஒரு நூலகமாகும்.
கணினியின் திறன் அதிகரிக்கும் போது,பொதுவாக நிரலாளர்கள் அதிக “வசதி வாய்ப்புகளை” கூடுதலாக அதற்கேற்ப சேர்க்கிறார்கள்,இதனால் புதிய வன் பொருளில் ஏற்கனவே அடைந்த செயல்திறன்கள் முக்கியத்துவமில்லாதவைகளாக மாறிவிடுகின்றன
இந்தத் செயல்திட்டம், இவ்வாறான முக்கியத்துவமில்லாதவைகளாக ஆகின்ற பயங்கரமான வளையத்திலிருந்து வெளியேறுவதற்காக libcக்கு மேலே ஒரு நூலகத்தை உருவாக்குகின்ற தொருமுயற்சியாகும்.
sourceforge.net/projects/fll/ எனும் இணையதள முகவரியிலுள்ள இந்த gitlab களஞ்சியமான செயல் திட்டமானது இது உருவான sourceforge.net இல் உள்ள முதன்மை repo இணையதளத்திற்கு பிற்காப்புநகலாக/மாற்றாக உள்ளது:
வெளியீடுகளை எளிமையாக வைத்திருக்க, இயல்புநிலையில் முன்-தொகுக்கப்பட்ட வெளியீட்டு tarballsஆனவை monolithic modeபயன்படுத்துகின்ற தொகுப்புகளாகும்.
இந்த mode -m monolithic பயன்முறையைப் பயன்படுத்தி தொகுக்க மறக்கவேண்டாம்
மற்ற உருவாக்க முறைகள், நிலை, தனிநபர் ,தனித்து நிற்கும் முறைகள், repoஐ பொருத்தமான பதிப்பு குறிச்சொல்லுடன் (gitlab.com/kevuxer/fll/-/tags)பதிவிறக்கம் செய்து bootstrap.sh build script ஐ பயன்படுத்தி அணுகலாம்.
gitlab.com/kevuxer/fll/-/blob/gitlab/build/scripts/bootstrap-example.sh எனும் இணையதள முகவரியிலுள்ள build/scripts/ எனும் கோப்பகத்தின் கீழ் காணப்படும் bootstrap-example.sh இன் உரைநிரலில் எவ்வாறு கட்டமைப்பைக் காணலாம் என்பதற்கான சிறந்த எடுத்துக்காட்டாகும்.
நோக்கங்களுடனான வசதிவாய்ப்புகள்
Wrapper to POSIX , Linux libc எனும்செயலி.
குறிமுறைவரிகளை மனிதர்கள் படிக்கக்கூடியதாகவும் தாக்குபவர்களை தடை செய்வதற்கு ஏற்றதாகவும் மாற்றுவதில் முக்கியத்துவம் கொண்டுவருகின்றது.
ஒருமைப்பாடு வடிவமைப்பு நடைமுறைகள் மூலம் பாதுகாப்பு.
UTF-8 சொந்த ஆதரவு.ஓரளவிற்குபலவேறு மொழிகளின் ஆதரவு, .
மனித நேயத்தை தியாகம் செய்யாமல், எளிமையாக (KIS) கொள்கைகளை வைத்திருத்தல.
ஒரு நிலையான API வடிவமைப்பின் முன்னுதாரணம்.
நீண்ட காலம்செயலில்இருத்தல், மென்பொருள் 20+ ஆண்டுகளுக்கு ஒரே மாதிரியாக இருக்க வேண்டும் , “காலாவதியானது” என்று கருதக்கூடாது.
ஒரு நிலையான வெளியீடு முடிந்ததும், அதன் API மாறாமல் இருக்க வேண்டும்.
Features”, அல்லது “bells and whistles” அல்லது “buzzword”. “bells and whistles” என்பதைத் தவிர்த்திடுக.
“Make” என்பதற்கு “Fake”ஆனது ஒரு மாற்றாகும்
“Hex Dump” என்பதற்கு “Byte Dump”,ஆனது ஒரு மாற்றாகும்
SystemD கட்டணமற்றது
வசதிகளற்ற அமைப்புகளின் விவரக்குறிப்பு (FSS)
இது பொதுமக்களின் பயன்பாட்டிற்காக GNU LGPLv2.1எனும் உரிமத்தின்கீழ் வெளியிடபெற்றுள்ளது.
செயல்திட்ட வடிவமைப்பு
hackability இல் அதிக கவனம் செலுத்தி நிலையான API ஐ வழங்குவதற்கேற்ப இதன் நிரல் வடிவமைக்கப்பட்டுள்ளது. இது ஒரு கட்டற்ற பயன்பாடாகும், எனவே அனைவரும் இதை எடுத்து, அவர்கள் விரும்பும் விதத்தில் மாற்றிக்கொள்ள ஊக்குவிக்கப்படுகின்றது.
hackabilityஐ ஊக்குவிக்க, இந்த செயல்திட்டத்தின் பல்வேறு பகுதிகள் என்ன நடக்கிறது என்பதைத் தெரிவித்திடுமாறு வடிவமைக்கப்பட்டுள்ளன. வெளியீடுகளுடன் கூடிய பதிப்பு எண் கூட தொடர்ந்து தொடர்பு கொள்ளும் வகையில் அமைக்கப்பட்டுள்ளது.
FLL Project மூன்று “நிலைகளின்” செயல்திட்டங்களாக பிரிக்கப்பட்டுள்ளது, இதில் “4th நஆவது நிலையில் நிரல்கள் வழங்கப்படுகின்றன. நிலை 0 இல் உள்ள சில முக்கிய செயல்திட்டங்களைத் தவிர, நிலைகள் 0, 1 , 2 ஆகியவற்றில் உள்ள ஒவ்வொரு செயல்திட்டமும் குறைந்த அளவை மட்டுமே சார்ந்திருக்கின்றன.
FLL Project ஆனது பின்வருமாறான மூன்று வெவ்வேறு வகையான தொகுப்பு முறைகளாக தொகுக்கப்படுகின்றன:
1.தனிநபர், ஒவ்வொரு நூலக திட்டமும் நிரலும் தனித்தனியாக தொகுக்கப் பட்டுள்ளது.
2.நிலை, ஒவ்வொரு நூலகமும், ஆனால் ஒவ்வொரு நிரலும் ஒரு நிலையின் அடிப்படையில் தொகுக்கப்பட்டுள்ளது.
3.Monolithic, இங்கு அனைத்து நூலகங்களும், ஆனால் ஒவ்வொரு நிரலும் அன்று, ஒரே நூலகத்தில் தொகுக்கப்பட்டுள்ளன.
இந்த தொகுப்பு முறைகள் நூலகங்கள் எவ்வாறு இணைக்கப்பட்டுள்ளன என்பதை தீர்மாணிக்கின்றது கணினி நிர்வாகிகள் அல்லது வெளியிடுபவர்கள் முடிவு செய்து கொள்ளலாம். main.c எனும் எடுத்துக்காட்டில் இந்த main.cஆனது .சில f_string (A level 0 project). என்பதை சார்ந்திருக்கின்றது
1.தனிநபர் தொகுத்தல் எடுத்துக்காட்டு: gcc -lc -lf_string.
2.நிலையின் தொகுத்தல் எடுத்துக்காட்டு: gcc -lc -lfll_0.
3.Monolithic, தொகுத்தல் எடுத்துக்காட்டு: gcc -lc -lfll.
செயல்திட்டமானது கணினியில் நிறுவுகைசெய்வதில் அதிக கவணம் செலுத்த வில்லை என்றாலும், மிகவும் எளிமையான நிறுவுகையின் உரைநிரல் (install.sh) உதவியாளராகவும் செயல்பாட்டின் எடுத்துக்காட்டாகவும் வழங்கப்படுகிறது.
பதிப்புஎண்
மனித நட்பு , இயந்திர நட்பு ஆகிய இரண்டிலும் மறைமுகமாக தொடர்பு கொள்வதற்காக பதிப்பு எண் பிரிக்கப்பட்டுள்ளது. பதிப்பு எண்ணில் Major, Minor, Micro ஆகிய மூன்று பகுதிகள் உள்ளன:
Major எண் முதன்மை API இன் இணக்கத்தன்மையைக் குறிக்கிறது. இங்கே வெவ்வேறு எண்கள் அடிப்படையில் வெவ்வேறு செயல்திட்டங்களைத் தெரிவிக்கின்றன.
Minor எண் நிலையான ,வளர்ச்சி நிலையைக் குறிக்கிறது. ஒரு நிலையான வெளியீட்டைக் குறிக்க 0 உட்பட இரட்டை எண் பயன்படுத்தப்படுகிறது. சீரான எண்களுடன், API ஆனது துண்டிக்கின்ற(breaking) வழியில் மாறாது என்று உத்தரவாதம் அளிக்கப்படுகிறது, ஆனால் புதிய செயலியை சேர்க்கலாம். விதிவிலக்குகளும் செயல்படுகின்றன, எனவே எந்த விதிவிலக்குகளும் கடுமையாக ஊக்கப்படுத்தப்பட வேண்டும் கடைசி முயற்சியாகப் பயன்படுத்தப்பட வேண்டும்.
இதில்ஒற்றைப்படை எண் வளர்ச்சி வெளியீட்டைக் குறிக்கிறது. வெளியீடுகளுக்கு இடையில் API துண்டிக்கலாம்(breaking) , ஆனால் அது கூட மாறாது.
Micro எண் தனிப்பட்ட வெளியீட்டு மாற்றங்களைக் குறிக்கிறது. இது ஒரு மாற்றம் செய்யப்பட்டுள்ளது என்று அர்த்தமாகும் என்றாலும்,மீச்சிறுபதிப்பு எண் மாற்றங்களில் பொதுவான வகை மாற்றங்கள் காணப்படுகின்றன. நிலையான வெளியீடுகளுக்கு, இவை பெரும்பாலும் பாதுகாப்பு, புதிய செயலிகளுடன் பிழைத்திருத்தங்கள் அரிதாகவே இருக்கும். மேம்படுத்துதல் வெளியீடுகளுக்கு, இது எதை பற்றியதுமாகும்.
பொதுவாக, இணக்கத்தன்மையை உறுதிப்படுத்த, புதிய செயலிகள் ஒரு புதியமீச்சிறுபதிப்பை உருவாக்க வேண்டும், அதைத் தொடர்ந்து நிலையான மீச்சிறுபதிப்பைப் பின்பற்றுகின்ற. செயல்திட்டங்களின் முக்கிய இலக்குகள் 1.0.0 ஆக வெளியிடப்பட்டவுடன், இது போன்றசெயல்கள் எப்போதாவது இருக்கக்கூடாது என்பதே இந்தத் செயல்திட்டத்தின் முக்கியகுறிக்கோள் ஆகும்.
எண்களுக்கு உச்சவரம்பு இல்லை, எனவே 1.70.10241 இன் பதிப்பு முற்றிலும் செல்லுபடியாகும் தன்மையுடையது.

%d bloggers like this: