Dynamic software updating
কম্পিউটার বিজ্ঞানে, ডায়নামিক সফ্টওয়্যার আপডেটিং (ডিএসইউ) হল প্রোগ্রামগুলি চলার সময় আপগ্রেড করার সাথে সম্পর্কিত গবেষণার একটি ক্ষেত্র। ডি. এস. ইউ বর্তমানে শিল্পে ব্যাপকভাবে ব্যবহৃত হয় না। যাইহোক, গবেষকরা ডিএসইউ বাস্তবায়নের জন্য বিভিন্ন ধরনের পদ্ধতি এবং কৌশল তৈরি করেছেন। এই সিস্টেমগুলি সাধারণত বাস্তব-বিশ্বের প্রোগ্রামগুলিতে পরীক্ষা করা হয়। বর্তমান অপারেটিং সিস্টেম এবং প্রোগ্রামিং ভাষাগুলি সাধারণত ডি. এস. ইউ-কে মাথায় রেখে তৈরি করা হয় না। যেমন, ডিএসইউ বাস্তবায়নগুলি সাধারণত বিদ্যমান সরঞ্জামগুলি ব্যবহার করে বা বিশেষ সংকলকগুলি প্রয়োগ করে। এই সংকলকগুলি মূল প্রোগ্রামের শব্দার্থবিজ্ঞান সংরক্ষণ করে, তবে একটি গতিশীলভাবে হালনাগাদযোগ্য প্রোগ্রাম তৈরি করার জন্য সোর্স কোড বা অবজেক্ট কোডের যন্ত্র। গবেষকরা নিরাপত্তা এবং কর্মক্ষমতা মূল্যায়নের জন্য মূল প্রোগ্রামের সাথে ডি. এস. ইউ-সক্ষম রূপগুলির তুলনা করেন। ভূমিকা যে কোনও চলমান প্রোগ্রামকে একটি টুপল হিসাবে বিবেচনা করা যেতে পারে, যেখানে বর্তমান প্রোগ্রামের অবস্থা এবং বর্তমান প্রোগ্রাম কোড। গতিশীল সফ্টওয়্যার আপডেটিং সিস্টেম একটি চলমান প্রোগ্রামকে একটি নতুন সংস্করণে রূপান্তরিত করে। এটি করার জন্য, রাষ্ট্রকে অবশ্যই প্রত্যাশিত প্রতিনিধিত্বে রূপান্তরিত করতে হবে। এর জন্য একটি স্টেট ট্রান্সফরমার ফাংশন প্রয়োজন। এইভাবে, ডিএসইউ একটি প্রোগ্রামকে রূপান্তরিত করে। একটি আপডেট বৈধ বলে বিবেচিত হয় যদি এবং শুধুমাত্র যদি চলমান প্রোগ্রামটি এমন একটি পয়েন্ট টুপলে হ্রাস করা যায় যা প্রোগ্রামের নতুন সংস্করণের সূচনা বিন্দু থেকে পৌঁছানো যায়, একটি প্রোগ্রামের অবস্থান যেখানে একটি গতিশীল আপডেট ঘটে তাকে একটি আপডেট পয়েন্ট হিসাবে উল্লেখ করা হয়। বর্তমান ডি. এস. ইউ বাস্তবায়নের ক্ষেত্রে আপডেট পয়েন্টগুলির ক্ষেত্রে ব্যাপকভাবে পার্থক্য রয়েছে। কিছু সিস্টেমে, যেমন আপস্টেয়ার এবং পলাসে, একটি আপডেট কার্যকর করার সময় যে কোনও সময় ঘটতে পারে। জিনসেং-এর সংকলক আপডেট পয়েন্টগুলির জন্য ভাল অবস্থানগুলি অনুমান করার চেষ্টা করবে, তবে প্রোগ্রামার-নির্দিষ্ট আপডেট পয়েন্টগুলিও ব্যবহার করতে পারে। কিটসুন এবং একিডেনের জন্য ডেভেলপারদের সমস্ত আপডেট পয়েন্টগুলি ম্যানুয়ালি নির্দিষ্ট করতে এবং নাম দিতে হবে। আপডেটিং সিস্টেমগুলি যে ধরনের প্রোগ্রাম পরিবর্তনগুলিকে সমর্থন করে তার মধ্যে পার্থক্য রয়েছে। উদাহরণস্বরূপ, কেস্প্লাইস শুধুমাত্র ফাংশনে কোড পরিবর্তনকে সমর্থন করে এবং রাষ্ট্রের প্রতিনিধিত্বে পরিবর্তনকে সমর্থন করে না। এর কারণ হল কেস্প্লাইস প্রাথমিকভাবে সাধারণ আপডেটের পরিবর্তে নিরাপত্তা পরিবর্তনকে লক্ষ্য করে। এর বিপরীতে, একিডেন একটি প্রোগ্রামকে অন্য যে কোনও প্রোগ্রামে আপডেট করতে পারে যা কার্যকর করতে সক্ষম, এমনকি একটি ভিন্ন প্রোগ্রামিং ভাষায় লেখা। সিস্টেম ডিজাইনাররা আপডেটের সুযোগ সীমিত করে মূল্যবান কর্মক্ষমতা বা নিরাপত্তা নিশ্চয়তা বের করতে পারেন। উদাহরণস্বরূপ, যে কোনও আপডেট সুরক্ষা পরীক্ষা আপডেটগুলির সুযোগকে সীমাবদ্ধ করে যা সেই সুরক্ষা পরীক্ষাটি পাস করে। কোড এবং অবস্থা রূপান্তর করতে ব্যবহৃত প্রক্রিয়াটি একটি সিস্টেম কী ধরনের আপডেট সমর্থন করবে তা প্রভাবিত করে। ডিএসইউ সিস্টেমগুলি, সরঞ্জাম হিসাবে, ডেভেলপারদের কাছে তাদের ব্যবহারের সহজতা এবং স্বচ্ছতার উপরও মূল্যায়ন করা যেতে পারে। জিনসেং-এর মতো অনেক ডি. এস. ইউ সিস্টেমে বিভিন্ন স্ট্যাটিক বিশ্লেষণ পাস করার জন্য প্রোগ্রামের প্রয়োজন হয়। যদিও এই বিশ্লেষণগুলি ডি. এস. ইউ-এর জন্য মূল্যবান প্রোগ্রামগুলির বৈশিষ্ট্য প্রমাণ করে, তবে এগুলি প্রকৃতপক্ষে পরিশীলিত এবং বোঝা কঠিন। যে ডিএসইউ সিস্টেমে স্ট্যাটিক বিশ্লেষণ ব্যবহার করা হয় না, তাদের জন্য একটি বিশেষ কম্পাইলার ব্যবহারের প্রয়োজন হতে পারে। কিছু ডিএসইউ সিস্টেমে স্ট্যাটিক বিশ্লেষণ বা বিশেষ সংকলকের প্রয়োজন হয় না। ডিএসইউ সিস্টেম দ্বারা আপডেট হওয়া প্রোগ্রামগুলিকে টার্গেট প্রোগ্রাম হিসাবে উল্লেখ করা হয়। ডিএসইউ ব্যবস্থার একাডেমিক প্রকাশনাগুলিতে সাধারণত কেস স্টাডি হিসাবে বেশ কয়েকটি লক্ষ্য প্রোগ্রাম অন্তর্ভুক্ত থাকে। ভিএসএফটিপিডি, ওপেনএসএসএইচ, পোস্টগ্রেএসকিউএল, টর, অ্যাপাচি, জিএনইউ জেব্রা, মেমক্যাচড এবং রেডিস সবই বিভিন্ন সিস্টেমের জন্য গতিশীল আপডেট লক্ষ্য। যেহেতু কয়েকটি প্রোগ্রাম গতিশীল আপডেটের কথা মাথায় রেখে লেখা হয়, তাই বিদ্যমান প্রোগ্রামগুলিকে পুনর্বিন্যাস করা ব্যবহারিক ব্যবহারের জন্য একটি ডিএসইউ সিস্টেমের মূল্যায়নের একটি মূল্যবান উপায়। সম্পর্কিত ক্ষেত্রগুলি গতিশীল আপডেটের মাধ্যমে সমাধান করা সমস্যাটিকে আরও বেশ কয়েকটি ক্ষেত্রের ছেদ হিসাবে বিবেচনা করা যেতে পারে। উদাহরণগুলির মধ্যে রয়েছে চেকপয়েন্টিং, ডাইনামিক লিঙ্কিং এবং অধ্যবসায়। উদাহরণস্বরূপ, একটি ডাটাবেস যা অবশ্যই তার অন-ডিস্ক ফাইল ফরম্যাটের পূর্ববর্তী সংস্করণগুলির সাথে পশ্চাদগামী-সামঞ্জস্যপূর্ণ হতে হবে, অবশ্যই একটি গতিশীল আপডেট সিস্টেমের প্রত্যাশিত একই ধরনের অবস্থা রূপান্তর সম্পন্ন করতে হবে। একইভাবে, একটি প্লাগইন স্থাপত্য রয়েছে এমন একটি প্রোগ্রামকে অবশ্যই রানটাইমে নতুন কোড লোড এবং কার্যকর করতে সক্ষম হতে হবে। একই ধরনের কৌশল কখনও কখনও গতিশীল ডেড-কোড অপসারণের উদ্দেশ্যেও ব্যবহার করা হয় যাতে লোড বা রানটাইমে শর্তসাপেক্ষভাবে ডেড বা পৌঁছানো যায় না এমন কোড অপসারণ করা যায় এবং অবশিষ্ট কোডটিকে তার মেমরি পদচিহ্ন হ্রাস করতে বা গতি উন্নত করতে পুনরায় একত্রিত করা যায়। ইতিহাস গতিশীল সফ্টওয়্যার আপডেটের প্রাচীনতম অগ্রদূত হল অপ্রয়োজনীয় সিস্টেম। অপ্রয়োজনীয় পরিবেশে, প্রধান সিস্টেমের ব্যর্থতার ক্ষেত্রে সক্রিয় গণনার নিয়ন্ত্রণ নেওয়ার জন্য অতিরিক্ত সিস্টেমগুলি প্রস্তুত থাকে। এই ব্যবস্থাগুলিতে একটি প্রধান যন্ত্র এবং একটি গরম যন্ত্রাংশ থাকে। হট স্পেয়ার পর্যায়ক্রমে প্রাথমিক ব্যবস্থার একটি চেকপয়েন্টের সাথে বপন করা হবে। ব্যর্থতার ক্ষেত্রে, গরম অতিরিক্ত অংশটি দখল করে নেবে এবং প্রধান যন্ত্রটি নতুন গরম অতিরিক্ত হয়ে উঠবে। এই প্যাটার্নটি আপডেট করার জন্য সাধারণীকরণ করা যেতে পারে। একটি আপডেটের ক্ষেত্রে, হট স্পেয়ার সক্রিয় হবে, মূল সিস্টেমটি আপডেট হবে এবং তারপরে আপডেট হওয়া সিস্টেমটি নিয়ন্ত্রণ পুনরায় শুরু করবে। প্রাচীনতম সত্যিকারের ডায়নামিক সফ্টওয়্যার আপডেটিং সিস্টেম হল ডিওয়াই. এম. ও. এস (ডায়নামিক মোডিফিকেশন সিস্টেম)। 1983 সালে ইনসাপ লি-র পিএইচডি গবেষণাপত্রে উপস্থাপিত, ডিওয়াইএমওএস একটি সম্পূর্ণ সমন্বিত ব্যবস্থা ছিল যার একটি ইন্টারেক্টিভ ইউজার ইন্টারফেস, একটি মডুলা বৈকল্পিকের জন্য একটি সংকলক এবং রানটাইম এবং সোর্স কোডের অ্যাক্সেস ছিল। এটি ডিওয়াই. এম. ও. এস-কে বিদ্যমান প্রোগ্রামের বিরুদ্ধে আপডেটগুলি টাইপ-চেক করতে সক্ষম করে। বাস্তবায়ন ডিএসইউ সিস্টেমগুলিকে অবশ্যই একটি চলমান প্রোগ্রামে নতুন কোড লোড করতে হবে এবং বিদ্যমান অবস্থাকে এমন একটি বিন্যাসে রূপান্তরিত করতে হবে যা নতুন কোড দ্বারা বোঝা যায়। যেহেতু ডি. এস. ইউ-এর অনেক অনুপ্রেরণামূলক ব্যবহার-কেস সময়-সমালোচনামূলক (উদাহরণস্বরূপ, একটি লাইভ এবং দুর্বল সিস্টেমে একটি নিরাপত্তা ফিক্স স্থাপন করা), ডি. এস. ইউ সিস্টেমগুলিকে অবশ্যই পর্যাপ্ত আপডেট প্রাপ্যতা প্রদান করতে হবে। কিছু ডি. এস. ইউ সিস্টেম প্রয়োগ করার আগে আপডেটগুলি নিরাপদ কিনা তা নিশ্চিত করার চেষ্টা করে। এই সমস্যাগুলির কোনওটিরই কোনও একক প্রামাণিক সমাধান নেই। সাধারণত, একটি ডি. এস. ইউ সিস্টেম যা একটি সমস্যা এলাকায় ভাল পারফর্ম করে তা অন্যদের সাথে বিনিময় করে। উদাহরণস্বরূপ, গতিশীল আপডেটগুলির পরীক্ষামূলক পরীক্ষা ইঙ্গিত দেয় যে আপডেট পয়েন্টের সংখ্যা বৃদ্ধির ফলে অনিরাপদ আপডেটের সংখ্যা বৃদ্ধি পায়। কোড রূপান্তর বেশিরভাগ ডিএসইউ সিস্টেম আপডেটের জন্য কোডের একক হিসাবে সাবরুটিন ব্যবহার করে; তবে, নতুন ডিএসইউ সিস্টেমগুলি পুরো প্রোগ্রাম আপডেটগুলি প্রয়োগ করে। যদি টার্গেট প্রোগ্রামটি একটি ভার্চ্যুয়াল মেশিন ভাষায় প্রয়োগ করা হয়, তবে ভিএম নতুন কোড লোড করার জন্য বিদ্যমান পরিকাঠামো ব্যবহার করতে পারে, কারণ আধুনিক ভার্চ্যুয়াল মেশিনগুলি ডিএসইউ (প্রধানত ডিবাগিং) ছাড়াও অন্যান্য ব্যবহারের ক্ষেত্রে রানটাইম লোডিং সমর্থন করে। হটস্পট জেভিএম রানটাইম কোড লোডিং সমর্থন করে এবং জাভা (প্রোগ্রামিং ভাষা) লক্ষ্য করে ডিএসইউ সিস্টেমগুলি এই বৈশিষ্ট্যটি ব্যবহার করতে পারে। সি বা সি + +-এর মতো স্থানীয় ভাষাগুলিতে, ডিএসইউ সিস্টেমগুলি বিশেষ কম্পাইলার ব্যবহার করতে পারে যা প্রোগ্রামে ইনডাইরেকশন সন্নিবেশ করে। আপডেটের সময়, এই নির্দেশটি নতুনতম সংস্করণের দিকে নির্দেশ করার জন্য আপডেট করা হয়। যদি কোনও ডি. এস. ইউ সিস্টেম এই নির্দেশাবলী স্থিরভাবে সন্নিবেশ করার জন্য একটি সংকলক ব্যবহার না করে, তবে এটি বাইনারি পুনর্লিখনের সাথে রানটাইমে সেগুলি সন্নিবেশ করে। বাইনারি পুনর্লিখন হল একটি চলমান নেটিভ প্রোগ্রামের মেমরি ইমেজে নিম্ন-স্তরের কোড লেখার প্রক্রিয়া যাতে ফাংশনগুলি পুনরায় পরিচালিত করা যায়। যদিও এর জন্য কোনও প্রোগ্রামের কোনও স্থির বিশ্লেষণের প্রয়োজন হয় না, এটি অত্যন্ত প্ল্যাটফর্ম-নির্ভর। একিডেন এবং কিটসুনে একটি সম্পূর্ণ নতুন প্রোগ্রাম শুরু করার মাধ্যমে নতুন প্রোগ্রাম কোড লোড করে, হয় কাঁটাচামচ বা গতিশীল লোডিংয়ের মাধ্যমে। এরপরে বিদ্যমান প্রোগ্রামের অবস্থাটি নতুন প্রোগ্রামের জায়গায় স্থানান্তরিত হয়। অবস্থার রূপান্তর একটি আপডেটের সময়, প্রোগ্রামের অবস্থাকে অবশ্যই মূল উপস্থাপনা থেকে নতুন সংস্করণের উপস্থাপনায় রূপান্তরিত করতে হবে। একে রাষ্ট্রের রূপান্তর বলা হয়। একটি ফাংশন যা একটি রাষ্ট্র বস্তু বা বস্তুর গোষ্ঠীকে রূপান্তরিত করে তাকে ট্রান্সফরমার ফাংশন বা রাষ্ট্র ট্রান্সফরমার হিসাবে উল্লেখ করা হয়। ডিএসইউ সিস্টেমগুলি হয় ট্রান্সফরমার ফাংশনগুলি সংশ্লেষ করার চেষ্টা করতে পারে, অথবা বিকাশকারীকে ম্যানুয়ালি সেগুলি সরবরাহ করার প্রয়োজন হতে পারে। কিছু সিস্টেম এই পদ্ধতিগুলিকে মিশ্রিত করে, ট্রান্সফর্মারগুলির কিছু উপাদান অনুমান করে এবং অন্যদের উপর বিকাশকারী ইনপুট প্রয়োজন। এই ট্রান্সফরমার ফাংশনগুলি হয় প্রোগ্রামের অবস্থায় অলসভাবে প্রয়োগ করা যেতে পারে, কারণ পুরানো সংস্করণের প্রতিটি অংশ অ্যাক্সেস করা হয়, অথবা অধীর আগ্রহে, আপডেটের সময় সমস্ত অবস্থাকে রূপান্তরিত করে। অলস রূপান্তর নিশ্চিত করে যে আপডেটটি স্থির সময়ের মধ্যে সম্পূর্ণ হবে, তবে অবজেক্ট অ্যাক্সেসে স্থিতিশীল-অবস্থা ওভারহেডও জড়িত। আপডেটের সময় আগ্রাসী রূপান্তরের জন্য আরও বেশি খরচ হয়, যার জন্য সমস্ত ট্রান্সফরমার চলার সময় সিস্টেমটিকে বিশ্বকে থামিয়ে দিতে হয়। যাইহোক, আগ্রহী রূপান্তর সংকলকদের অলস রূপান্তরের সাথে জড়িত স্টেডি-স্টেট ওভারহেড এড়াতে রাষ্ট্রীয় প্রবেশাধিকারকে সম্পূর্ণরূপে অনুকূল করার অনুমতি দেয়। নিরাপত্তা আপডেট করুন বেশিরভাগ ডিএসইউ সিস্টেম আপডেটের জন্য কিছু নিরাপত্তা বৈশিষ্ট্য দেখানোর চেষ্টা করে। সেফটি চেকিংয়ের সবচেয়ে সাধারণ রূপ হল টাইপ সেফটি, যেখানে কোনও আপডেটকে নিরাপদ বলে মনে করা হয় যদি এর ফলে কোনও পুরানো রাজ্যের প্রতিনিধিত্বে কোনও নতুন কোড কাজ না করে, বা তদ্বিপরীত। প্রকারের নিরাপত্তা সাধারণত দুটি বৈশিষ্ট্যের মধ্যে একটি, সক্রিয়তা নিরাপত্তা বা সহ-স্বাধীনতা নিরাপত্তা দেখিয়ে পরীক্ষা করা হয়। একটি প্রোগ্রাম সক্রিয়তা-নিরাপদ হিসাবে বিবেচিত হয় যদি আপডেটের সময় কল স্ট্যাকে কোনও আপডেট ফাংশন বিদ্যমান না থাকে। এটি নিরাপত্তা প্রমাণ করে কারণ নিয়ন্ত্রণ কখনই পুরানো কোডে ফিরে যেতে পারে না যা তথ্যের নতুন উপস্থাপনা অ্যাক্সেস করবে। কনস-ফ্রিনেস হল প্রকারের নিরাপত্তা প্রমাণ করার আরেকটি উপায়, যেখানে কোডের একটি অংশকে নিরাপদ বলে মনে করা হয় যদি এটি কোনও নির্দিষ্ট প্রকারের অবস্থাকে এমনভাবে অ্যাক্সেস না করে যার জন্য প্রকারের উপস্থাপনা সম্পর্কে জ্ঞানের প্রয়োজন হয়। এই কোডটি নির্দিষ্টভাবে রাজ্যে প্রবেশ করতে পারে না বলে বলা যেতে পারে, যদিও এটি বিমূর্তভাবে রাজ্যে প্রবেশ করতে পারে। কোডের যে কোনও বিভাগে সমস্ত ধরনের জন্য স্বাধীনতাকে প্রমাণ করা বা ভুল প্রমাণ করা সম্ভব এবং ডিএসইউ সিস্টেম জিনসেং প্রকারের নিরাপত্তা প্রমাণ করতে এটি ব্যবহার করে। যদি কোনও ফাংশন কনস-মুক্ত প্রমাণিত হয়, তবে এটি স্ট্যাকে লাইভ থাকলেও এটি আপডেট করা যেতে পারে, কারণ এটি পুরানো উপস্থাপনা ব্যবহার করে রাষ্ট্র অ্যাক্সেস করে কোনও ধরণের ত্রুটি সৃষ্টি করবে না। হেডেন এবং অন্যান্যদের দ্বারা সহ-স্বাধীনতা এবং সক্রিয়তা সুরক্ষার পরীক্ষামূলক বিশ্লেষণ। দেখান যে উভয় কৌশলই সর্বাধিক সঠিক আপডেটের অনুমতি দেয় এবং বেশিরভাগ ভুল আপডেট অস্বীকার করে। যাইহোক, ম্যানুয়ালি আপডেট পয়েন্ট নির্বাচন করার ফলে শূন্য আপডেট ত্রুটি হয় এবং এখনও ঘন ঘন আপডেট উপলব্ধতার অনুমতি দেয়। বিদ্যমান ডি. ওয়াই. এম. ও. এস ডি. ওয়াই. এম. ও. এস উল্লেখযোগ্য যে এটি ছিল প্রাচীনতম প্রস্তাবিত ডি. এস. ইউ সিস্টেম। ডি. ওয়াই. এম. ও. এস মডুলার ব্যুৎপন্ন প্রোগ্রামগুলির জন্য একটি সম্পূর্ণ সমন্বিত পরিবেশ নিয়ে গঠিত, যা সিস্টেমকে আর. ই. পি. এল-এর মতো একটি কমান্ড ইন্টারপ্রেটার, সোর্স কোড, কম্পাইলার এবং রানটাইম পরিবেশে প্রবেশাধিকার দেয়। ডিওয়াই. এম. ও. এস-এ, ইন্টারেক্টিভ পরিবেশে একটি কমান্ড সম্পাদনকারী ব্যবহারকারীর দ্বারা আপডেটগুলি শুরু করা হয়। এই কমান্ডটিতে নির্দেশাবলী অন্তর্ভুক্ত রয়েছে যা নির্দিষ্ট করে যে কখন একটি আপডেট ঘটতে পারে, যাকে কখন-শর্ত বলা হয়। ডি. ওয়াই. এম. ও. এস-এর কাছে উপলব্ধ তথ্য এটিকে চলমান লক্ষ্য প্রোগ্রামের সাথে সম্পর্কিত আপডেটের প্রকার-সুরক্ষা প্রয়োগ করতে সক্ষম করে। কে-স্প্লাইস, কে-প্যাচ এবং কে-ক্রাফট কে-স্প্লাইস হল একটি ডি. এস. ইউ সিস্টেম যা শুধুমাত্র লিনাক্স কার্নেলকে লক্ষ্য করে, যা নিজেকে বিশেষ ডি. এস. ইউ সিস্টেমগুলির মধ্যে একটি করে তোলে যা একটি অপারেটিং সিস্টেম কার্নেলকে লক্ষ্য প্রোগ্রাম হিসাবে সমর্থন করে। কেস্প্লাইস লিনাক্স কার্নেলের বর্তমান এবং আপডেটেড সংস্করণগুলির মধ্যে পরিবর্তনগুলি নির্ধারণ করতে সোর্স-লেভেল ডিফ ব্যবহার করে এবং তারপরে চলমান কার্নেলে পরিবর্তনগুলি সন্নিবেশ করতে বাইনারি পুনর্লিখন ব্যবহার করে। কেস্প্লাইস তার মূল লেখক, কেস্প্লাইস ইনকর্পোরেটেড দ্বারা প্রতিষ্ঠিত একটি বাণিজ্যিক উদ্যোগ দ্বারা রক্ষণাবেক্ষণ করা হয়েছিল, যা জুলাই 2011 সালে ওরাকল কর্পোরেশন দ্বারা অধিগ্রহণ করা হয়েছিল। কেস্প্লাইস বাণিজ্যিক ভিত্তিতে এবং একচেটিয়াভাবে ওরাকল লিনাক্স বিতরণে ব্যবহৃত হয়। এস. ইউ. এস. ই লাইভ কার্নেল প্যাচিংয়ের জন্য একটি ওপেন-সোর্স বিকল্প হিসাবে কে-গ্রাফ্ট তৈরি করেছে এবং রেড হ্যাট কে-প্যাচ-এর ক্ষেত্রেও একই কাজ করেছে। এগুলি উভয়ই একটি চলমান লিনাক্স কার্নেলে ফাংশন-স্তরের পরিবর্তনগুলি প্রয়োগ করার অনুমতি দেয়, যখন এফট্রাস দ্বারা প্রতিষ্ঠিত লাইভ প্যাচিং পদ্ধতির উপর নির্ভর করে। কে-গ্রাফ্ট এবং কে-প্যাচ-এর মধ্যে প্রাথমিক পার্থক্য হল হট প্যাচগুলি প্রয়োগ করার সময় তারা যেভাবে আপডেট হওয়া কোড বিভাগগুলির রানটাইম সামঞ্জস্য নিশ্চিত করে। কে-গ্রাফ্ট এবং কে-প্যাচ যথাক্রমে 2014 সালের এপ্রিল এবং 2014 সালের মে মাসে লিনাক্স কার্নেল মেইনলাইনে অন্তর্ভুক্তির জন্য জমা দেওয়া হয়েছিল এবং লাইভ প্যাচিংয়ের জন্য ন্যূনতম ভিত্তিগুলি কার্নেল সংস্করণ 4-এ লিনাক্স কার্নেল মেইনলাইনে একীভূত করা হয়েছিল, যা 2015 সালের 12ই এপ্রিল মুক্তি পায়। 2015 সালের এপ্রিল থেকে, লিনাক্স কার্নেল মেইনলাইন দ্বারা প্রদত্ত সাধারণ লাইভ প্যাচিং কোর-এ কে-প্যাচ এবং কে-গ্রাফ্ট পোর্ট করার কাজ চলছে। যাইহোক, ফাংশনের মূল এবং প্যাচ করা সংস্করণগুলির মধ্যে নিরাপদ রূপান্তরের জন্য প্রয়োজনীয় ফাংশন-স্তরের ধারাবাহিকতা প্রক্রিয়াগুলির বাস্তবায়ন বিলম্বিত হয়েছে কারণ লিনাক্স কার্নেল দ্বারা প্রদত্ত কল স্ট্যাকগুলি সঠিক স্ট্যাক ফ্রেম ছাড়াই অ্যাসেম্বলি কোড জড়িত পরিস্থিতিতে অবিশ্বস্ত হতে পারে; ফলস্বরূপ, পোর্টিংয়ের কাজ চলছে। কার্নেলের কল স্ট্যাকগুলির নির্ভরযোগ্যতা উন্নত করার প্রয়াসে, কার্নেলের কম্পাইল-টাইম অবজেক্ট ফাইলগুলি পরীক্ষা করার উদ্দেশ্যে এবং কল স্ট্যাকটি সর্বদা রক্ষণাবেক্ষণ করা হয় তা নিশ্চিত করার উদ্দেশ্যে একটি বিশেষ স্যানিটি-চেক ইউজারস্পেস ইউটিলিটিও তৈরি করা হয়েছে; এটি কার্নেল অপ্স বার্তাগুলির অংশ হিসাবে আরও নির্ভরযোগ্য কল স্ট্যাকগুলি অর্জনের সম্ভাবনাও খোলে। জিনসেং জিনসেং একটি সাধারণ উদ্দেশ্যের ডিএসইউ সিস্টেম। এটি একমাত্র ডিএসইউ সিস্টেম যা কনস-ফ্রিনেস সুরক্ষা কৌশল ব্যবহার করে, এটি স্ট্যাকের লাইভ ফাংশনগুলি আপডেট করার অনুমতি দেয় যতক্ষণ না তারা আপডেট করা প্রকারগুলিতে কংক্রিট অ্যাক্সেস না করে। জিনসেং ওসিএএমএল-এ সি ইন্টারমিডিয়েট ল্যাঙ্গুয়েজ ফ্রেমওয়ার্ক ব্যবহার করে লেখা একটি সোর্স-টু-সোর্স কম্পাইলার হিসাবে প্রয়োগ করা হয়। এই কম্পাইলারটি সমস্ত ফাংশন কল এবং টাইপ অ্যাক্সেসে ইনডাইরেকশন সন্নিবেশ করে, যা জিনসেংকে সম্পূর্ণ প্রোগ্রাম সম্পাদনের জন্য একটি ধ্রুবক-সময়ের ওভারহেড চাপিয়ে অলসভাবে অবস্থাকে রূপান্তরিত করতে সক্ষম করে। জিনসেং-এর সংকলক সমগ্র প্রাথমিক প্রোগ্রাম এবং গতিশীল প্যাচগুলির সহ-স্বাধীনতা বৈশিষ্ট্যগুলি প্রমাণ করে। জিনসেং-এর পরবর্তী সংস্করণগুলিও লেনদেনের সুরক্ষার ধারণাকে সমর্থন করে। এটি ডেভেলপারদের একটি লজিক্যাল ইউনিট হিসাবে ফাংশন কলগুলির একটি ক্রমকে ব্যাখ্যা করার অনুমতি দেয়, যা প্রোগ্রাম শব্দার্থবিদ্যা লঙ্ঘন থেকে আপডেটগুলিকে এমন উপায়ে প্রতিরোধ করে যা সক্রিয়তা সুরক্ষা বা সম্মতি-স্বাধীনতা সুরক্ষার দ্বারা সনাক্ত করা যায় না। উদাহরণস্বরূপ, জিনসেং-এর লেখকদের দ্বারা পরীক্ষিত ওপেনএসএসএইচ-এর দুটি সংস্করণে, গুরুত্বপূর্ণ ব্যবহারকারী যাচাইকরণ কোড দুটি ফাংশনের মধ্যে স্থানান্তরিত হয়েছিল যাকে ইন সিকোয়েন্স বলা হয়। যদি প্রথম ফাংশনের প্রথম সংস্করণটি কার্যকর করা হয়, একটি আপডেট ঘটে এবং দ্বিতীয় ফাংশনের নতুন সংস্করণটি কার্যকর করা হয়, তবে যাচাইকরণ কখনই সঞ্চালিত হবে না। এই বিভাগটিকে লেনদেন হিসাবে চিহ্নিত করা নিশ্চিত করে যে একটি আপডেট যাচাইকরণ ঘটতে বাধা দেবে না। আপস্টেয়ার একটি ডিএসইউ সিস্টেম যা একটি অনন্য আপডেট প্রক্রিয়া, স্ট্যাক পুনর্গঠন ব্যবহার করে। আপস্টেয়ার দিয়ে একটি প্রোগ্রাম আপডেট করতে, একজন ডেভেলপার যে কোনও সম্ভাব্য স্ট্যাক ফ্রেমের মধ্যে একটি ম্যাপিং নির্দিষ্ট করে। আপস্টেয়ার এই ম্যাপিং ব্যবহার করে যে কোনও সময়ে, যে কোনও সংখ্যক থ্রেড সহ এবং স্ট্যাকে লাইভ যে কোনও ফাংশন সহ প্রোগ্রামটি অবিলম্বে আপডেট করতে সক্ষম। পলাস পলাস হল সি-এর জন্য একটি বাইনারি-রি-রাইটিং ডি. এস. ইউ সিস্টেম। এটি তাদের বাস্তবায়নের যে কোনও সময়ে অপরিবর্তিত প্রোগ্রামগুলি আপডেট করতে সক্ষম। ফাংশনগুলি আপডেট করার জন্য, এটি একটি নতুন ফাংশনে পুনর্নির্দেশ করার জন্য একটি টার্গেট ফাংশনের প্রস্তাবনাটি পুনর্লিখন করে, একাধিক সংস্করণে এই পুনর্নির্দেশগুলিকে শৃঙ্খলাবদ্ধ করে। এটি আপডেট করা হয়নি এমন ফাংশনগুলিতে স্টেডি-স্টেট ওভারহেড এড়িয়ে চলে। কাতানা কাতানা একটি গবেষণা ব্যবস্থা যা ব্যবহারকারী-মোড ইএলএফ বাইনারিগুলির জন্য সীমিত গতিশীল আপডেট (কেস্প্লাইস এবং এর কাঁটার মতো) প্রদান করে। কাটানা প্যাচিং মডেল ইএলএফ বস্তুর স্তরে কাজ করে এবং এইভাবে যতক্ষণ সংকলনের লক্ষ্য ইএলএফ হয় ততক্ষণ ভাষা-অজ্ঞেয়বাদী হওয়ার ক্ষমতা রয়েছে। কিটসুনে এবং একিডেন একিডেন এবং কিটসুনে একটি একক ডিএসইউ সিস্টেমের দুটি রূপ যা সি-তে লেখা প্রোগ্রামগুলির জন্য ডিএসইউ-এর রাষ্ট্র-স্থানান্তর শৈলী প্রয়োগ করে। একক প্রোগ্রামের মধ্যে ফাংশনগুলি আপডেট করার পরিবর্তে, একিডেন এবং কিটসুনে পুরো প্রোগ্রামগুলিতে আপডেট সম্পাদন করে, দুটি কার্যকরকরণের মধ্যে প্রয়োজনীয় অবস্থা স্থানান্তর করে। একিডেন কাঁটাচামচ-এক্সইসি-এর ইউনিক্স প্রবাদ ব্যবহার করে একটি নতুন প্রোগ্রাম শুরু করে, লক্ষ্য প্রোগ্রামের অবস্থা ক্রমিক করে এবং এটি স্থানান্তর করে, কিটসুনে "ইন-প্লেস" স্টেট ট্রান্সফার সম্পাদনের জন্য ডায়নামিক লিঙ্কিং ব্যবহার করে। কিটসুনে একিডেনের কোডবেস থেকে উদ্ভূত হয়েছে এবং একেডেনের পরবর্তী সংস্করণ হিসাবে বিবেচনা করা যেতে পারে। একিডেন এবং কিটসুনেও উল্লেখযোগ্য যে এগুলি বিশেষ রানটাইম বা সংকলকের পরিবর্তে প্রাথমিকভাবে অ্যাপ্লিকেশন-স্তরের গ্রন্থাগার হিসাবে প্রয়োগ করা হয়। যেমন, একিডেন বা কিটসুনে ব্যবহার করার জন্য, একজন অ্যাপ্লিকেশন ডেভেলপারকে অবশ্যই ম্যানুয়ালি যে অবস্থাটি স্থানান্তর করতে হবে তা চিহ্নিত করতে হবে এবং ম্যানুয়ালি প্রোগ্রামের পয়েন্টগুলি নির্বাচন করতে হবে যেখানে একটি আপডেট ঘটতে পারে। এই প্রক্রিয়াটি সহজ করার জন্য, কিটসুনে একটি বিশেষ কম্পাইলার অন্তর্ভুক্ত করে যা স্টেট ট্রান্সফর্মার লেখার জন্য একটি ডোমেন-নির্দিষ্ট ভাষা প্রয়োগ করে। এরলাং এরলাং ডায়নামিক সফ্টওয়্যার আপডেটিং সমর্থন করে, যদিও এটি সাধারণত "হট কোড লোডিং" হিসাবে উল্লেখ করা হয়। এরলাং-এর আপডেটগুলির জন্য কোনও সুরক্ষা গ্যারান্টির প্রয়োজন হয় না, তবে এরলাং সংস্কৃতি পরামর্শ দেয় যে ডেভেলপাররা একটি প্রতিরক্ষামূলক শৈলীতে লেখেন যা আপডেটের মাধ্যমে উত্পন্ন টাইপ ত্রুটিগুলি সুন্দরভাবে পরিচালনা করবে। পাইমোল্ট পাইথনে লেখা গতিশীল আপডেটের জন্য একটি প্রোটোটাইপিং প্ল্যাটফর্ম। এটি অন্যান্য সিস্টেম থেকে অনেক কৌশল সংগ্রহ করে, তাদের সংমিশ্রণ এবং বিন্যাসের অনুমতি দেয়। এই প্ল্যাটফর্মের উদ্দেশ্য হল ডেভেলপারদের তাদের প্রয়োজনের জন্য আরও উপযুক্ত আপডেট কৌশলগুলি বেছে নেওয়ার অনুমতি দেওয়া। উদাহরণস্বরূপ, কিটসুনে বা একিডেনের মতো অ্যাপ্লিকেশনের পুরো কোড পরিবর্তন করার সময় জিনসেং-এর মতো রাজ্যের অলস আপডেটকে একত্রিত করা যেতে পারে। মাইক্রোসফ্ট ভিজ্যুয়াল সি + + মাইক্রোসফ্ট মাইক্রোসফ্ট ভিজ্যুয়াল সি + + এর জন্য অভ্যন্তরীণ প্যাচিং প্রযুক্তি ব্যবহার করছে যা প্যাচগুলির কার্যকরী সঠিকতা বজায় রেখে পৃথক সি + + ফাংশনগুলিকে প্যাচিং সমর্থন করে। বর্তমানে পরিচিত অ্যাপ্লিকেশনগুলি হল অ্যাজুরে এসকিউএল ডাটাবেসে এসকিউএল সার্ভার। আরও দেখুন অধ্যবসায় (কম্পিউটার বিজ্ঞান) রানটাইম যাচাইকরণ রেফারেন্স বাহ্যিক লিঙ্ক কেস্প্লাইস হোমপেজ কেস্প্লাইস সোর্স কোড জিনসেং প্রজেক্ট পেজ এবং সোর্স কোড/আপস্টেয়ার পেপার/পলাস পেপার এরলাং হোমপেজ কাটানা হোমপেজ হোয়াইটপেপার ব্লগ পোস্ট ভিজ্যুয়াল সি + + প্যাচিং সিস্টেম প্রশাসনের উপর