Offset (computer science)
கணினி அறிவியலில், ஒரு வரிசை அல்லது பிற தரவு அமைப்பு பொருளுக்குள் ஒரு ஆஃப்செட் என்பது பொருளின் தொடக்கத்திற்கும் கொடுக்கப்பட்ட உறுப்பு அல்லது புள்ளிக்கும் இடையிலான தூரத்தை (இடப்பெயர்ச்சி) குறிக்கும் ஒரு முழு எண் ஆகும், அநேகமாக அதே பொருளுக்குள். பொருளின் அனைத்து உறுப்புகளும் ஒரே அளவில் இருந்தால் மட்டுமே தூரம் என்ற கருத்து செல்லுபடியாகும் (பொதுவாக பைட்டுகள் அல்லது சொற்களில் கொடுக்கப்படுகிறது). எடுத்துக்காட்டாக, A என்பது "abcdef" கொண்ட எழுத்துக்களின் வரிசையாக இருந்தால், 'd' என்ற எழுத்தைக் கொண்ட நான்காவது உறுப்பு A இன் தொடக்கத்திலிருந்து மூன்று எழுத்துக்களை ஈடுசெய்கிறது. கணினி பொறியியல் மற்றும் குறைந்த அளவிலான நிரலாக்கத்தில் (அசெம்பிளி மொழி போன்றவை), ஒரு ஆஃப்செட் பொதுவாக ஒரு குறிப்பிட்ட முழுமையான முகவரியைப் பெறுவதற்காக ஒரு அடிப்படை முகவரியில் சேர்க்கப்பட்ட முகவரி இருப்பிடங்களின் எண்ணிக்கையைக் குறிக்கிறது. ஆஃப்செட்டின் இந்த (அசல்) அர்த்தத்தில், ஆஃப்செட்டின் அளவைக் குறிப்பிட அடிப்படை முகவரி அலகு, பொதுவாக 8-பிட் பைட் மட்டுமே பயன்படுத்தப்படுகிறது. இந்த சூழலில் ஒரு ஆஃப்செட் சில நேரங்களில் ஒரு உறவினர் முகவரி என்று அழைக்கப்படுகிறது. ஐபிஎம் சிஸ்டம்/360 அறிவுறுத்தல்களில், சில அறிவுறுத்தல்களுக்குள் உட்பொதிக்கப்பட்ட 12-பிட் ஆஃப்செட் 0 முதல் 4096 பைட்டுகள் வரை வரம்பை வழங்கியது. எடுத்துக்காட்டாக, நிபந்தனையற்ற கிளை அறிவுறுத்தலுக்குள் (எக்ஸ் '47 எஃப்0 எஃப்எக்ஸ்எக்ஸ்'), XXX 12 பிட் ஹெக்ஸாடெசிமல் ஆஃப்செட் அடிப்படை பதிவேட்டில் (15) இருந்து கிளைக்கு பைட் ஆஃப்செட்டை வழங்கியது. ஒரு ஒற்றைப்படை ஆஃப்செட் ஒரு நிரல் சரிபார்ப்பை ஏற்படுத்தும் (அடிப்படை பதிவேட்டில் ஒரு ஒற்றைப்படை முகவரியும் இல்லையென்றால்)-ஏனெனில் ஒரு நிரல் அல்லது வன்பொருள் குறுக்கீடு இல்லாமல் செயல்படுத்த அறிவுறுத்தல்கள் அரை-சொல் எல்லைகளில் சீரமைக்கப்பட வேண்டும். முந்தைய உதாரணம் பிரிவின் வடிவத்தில் ஒரு நினைவக இருப்பிடத்திற்கு உரையாற்ற ஒரு மறைமுக வழியை விவரிக்கிறதுஃ ஆஃப்செட். எடுத்துக்காட்டாக, நினைவக இருப்பிடம் 0xF867 ஐக் குறிக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம். இதைச் சாதிக்க ஒரு வழி என்னவென்றால், முதலில் 0xF000 என்ற தொடக்க முகவரியுடன் ஒரு பிரிவை வரையறுத்து, பின்னர் 0x0867 இன் ஆஃப்செட்டை வரையறுப்பது. மேலும், இறுதி முழுமையான நினைவக முகவரியை அடைய ஹெக்ஸாடெசிமல் பிரிவை மாற்றவும் நாம் அனுமதிக்கப்படுகிறோம். இங்கே கவனிக்க வேண்டிய ஒரு விஷயம் என்னவென்றால், நமது இறுதி முழுமையான முகவரியை பல வழிகளில் அடைய முடியும். ஒரு ஆஃப்செட் எப்போதும் தொகுதியின் அடிப்படை முகவரியுடன் தொடர்புடையது அல்ல, எடுத்துக்காட்டாகஃ உங்களிடம் ஒரு வகுப்பு (GUI) இருந்தால், இந்த வகுப்பின் "வண்ண" பண்புக்கூறை நீங்கள் மீட்டெடுக்க விரும்பினால், ஆஃப்செட் 0x0100 ஆக இருக்கலாம், ஆனால் இந்த ஆஃப்செட் வகுப்பின் ஆஃப்செட்டில் சேர்க்கப்பட வேண்டும், அடிப்படை முகவரி அல்ல. வகுப்பின் ஆஃப்செட் 0xFF881 ஆகவும், அடிப்படை முகவரி 0x0A100 ஆகவும் இருந்தால், "வண்ண" பண்புக்கூறை மீட்டெடுக்க இரண்டு ஆஃப்செட்டுகளும் அடிப்படை முகவரியில் சேர்க்கப்படும். 0x0A100 (அடிப்படை) + 0xFF881 (வகுப்பு) + 0x0100 (பண்புக்கூறு). இறுதியில் பண்புக்கூறின் முகவரி 0x109A81 ஆக இருக்கும். ஒன்றாக சேர்க்கப்பட்ட ஆஃப்செட்களின் தொகுப்பு கணினி நிரலாக்கம் என்று அழைக்கப்படுகிறது. மேலும் காண்க வரிசை குறியீட்டு கணினி நினைவகம்