Mainframe sort merge
সার্ট/মার্জ ইউটিলিটি হল একটি মেইনফ্রেম প্রোগ্রাম যা একটি ফাইলের রেকর্ডগুলিকে একটি নির্দিষ্ট ক্রমে সাজাতে, পূর্ব-সাজানো ফাইলগুলিকে একটি সাজানো ফাইলে একত্রিত করতে বা নির্বাচিত রেকর্ডগুলি অনুলিপি করতে পারে। অভ্যন্তরীণভাবে, এই ইউটিলিটিগুলি প্রায়শই মালিকানাধীন সূক্ষ্ম-সুরযুক্ত কোড সহ এক বা একাধিক স্ট্যান্ডার্ড বাছাই অ্যালগরিদম ব্যবহার করে। মেইনফ্রেমগুলি মূলত আজকের মান দ্বারা সীমিত প্রধান মেমরি সরবরাহ করা হয়েছিল এবং বাছাই করা তথ্যের পরিমাণ প্রায়শই খুব বড় ছিল। এই কারণে, আরও সাম্প্রতিক বাছাই প্রোগ্রামগুলির বিপরীতে, প্রাথমিক বাছাই/মার্জ প্রোগ্রামগুলি গৌণ সঞ্চয়স্থান, সাধারণত টেপ বা ডিস্কে ডেটা বাছাই করার জন্য দক্ষ কৌশলগুলির উপর প্রচুর জোর দেয়। 1968 সালে ওএস/360 সার্ট/মার্জ প্রোগ্রাম পাঁচটি ভিন্ন "সিকোয়েন্স ডিস্ট্রিবিউশন কৌশল" প্রদান করে যা উপলব্ধ ডিভাইসের সংখ্যা এবং প্রকারের উপর নির্ভর করে ব্যবহার করা যেতে পারে। সিস্টেম/370-এর আগে, সমস্ত আইবিএম মেইনফ্রেম অপারেটিং সিস্টেমে সার্ট/মার্জ ইউটিলিটি অন্তর্ভুক্ত ছিল। ভার্চ্যুয়াল স্টোরেজ অপারেটিং সিস্টেম, ডস/ভিএস এবং ওএস/ভিএস-এর ঘোষণার সাথে সাথে আইবিএম বেশিরভাগ সফ্টওয়্যারকে একত্রিত করে এবং চার্জযোগ্য বাছাই/মার্জ প্রোগ্রাম পণ্য সরবরাহ করে। ওএস/ভিএস-এর জন্য আইবিএম 5740-এসএম1, ওএস/ভিএস সার্ট/মার্জের প্রস্তাব দেয়, যা পরে ডেটা ফেসিলিটি সার্ট (ডিএফএসওআরটি) নামকরণ করা হয়। 1990 সালে আই. বি. এম. ডি. এফ. এস. ও. এস/360 বাছাই/সংযুক্তির উত্তরসূরি ডি. এফ. এস. ও. আর. টি-তে ব্লকসেট নামে একটি নতুন সংযুক্ত অ্যালগরিদম চালু করে। ঐতিহাসিক দ্রষ্টব্য, ব্লকসেট অ্যালগরিদম 1963 সালে একজন আইবিএম সিস্টেম ইঞ্জিনিয়ার দ্বারা উদ্ভাবিত হয়েছিল এবং আইবিএমের আর্কাইভে আবিষ্কৃত হয়েছিল এবং 1990 সালে প্রয়োগ করা হয়েছিল। বাছাই/একত্রীকরণ খুব ঘন ঘন ব্যবহৃত হয়; প্রায়শই একটি মেইনফ্রেম দোকানে সর্বাধিক ব্যবহৃত অ্যাপ্লিকেশন প্রোগ্রাম সাধারণত দোকানের প্রক্রিয়াকরণ শক্তির প্রায় কুড়ি শতাংশ ব্যবহার করে। আধুনিক সাজানো/একীভূতকরণ প্রোগ্রামগুলি ফাইলগুলি অনুলিপি করতে পারে, নির্দিষ্ট রেকর্ডগুলি নির্বাচন করতে বা বাদ দিতে পারে, রেকর্ডগুলির সংক্ষিপ্তসার করতে পারে, প্রতিলিপিগুলি সরাতে পারে, রেকর্ডগুলি পুনরায় তৈরি করতে পারে, নতুন তথ্য যুক্ত করতে পারে এবং প্রতিবেদন তৈরি করতে পারে। প্রকৃতপক্ষে, বেশিরভাগ সার্ট/মার্জ অ্যাপ্লিকেশনগুলি সম্পূর্ণরূপে রেকর্ডগুলি বাছাই বা একীভূত করার পরিবর্তে অতিরিক্ত প্রক্রিয়াকরণ ক্ষমতার বিস্তৃত পরিসর ব্যবহার করেঃ সার্ট/মার্জ পণ্যটি এই ফাংশনগুলি থেকে ইনপুট এবং আউটপুট সম্পাদনের একটি খুব দ্রুত উপায়। বেশ কয়েকটি "ব্যবহারকারী প্রস্থান" সমর্থিত, এবং এগুলি লোড মডিউল (অর্থাৎ, একটি লাইব্রেরির সদস্য), বা অবজেক্ট ডেক (অর্থাৎ, একটি অ্যাসেম্বলারের আউটপুট) হতে পারে, বাছাই/মার্জ অ্যাপ্লিকেশন লোডিং (লোড মডিউল) বা লিঙ্কিং (অবজেক্ট ডেক; ডিএফএসওআরটি-তে "ডায়নামিক লিঙ্ক সম্পাদনা" বলা হয়) সহ প্রস্থান, নির্দিষ্ট এবং প্রয়োজনীয় হিসাবে। ওয়ার্কিং স্টোরেজ ডেটাসেট (অর্থাৎ, SORTWK01,., SORTWKnn) ডিস্ক বা টেপ হতে পারে, যদিও BLOCKSET অ্যালগরিদম ডিস্ক ওয়ার্কিং স্টোরেজের মধ্যে সীমাবদ্ধ; আরও কার্যকরী স্টোরেজ ডেটাসেট সাধারণত কর্মক্ষমতা উন্নত করে। সাজানো/একত্রীকরণ এতটাই গুরুত্বপূর্ণ যে একাধিক সংস্থা রয়েছে যারা প্রত্যেকে আইবিএম মেইনফ্রেম এবং তাদের জেড/ওএস, জেড/ভিএম এবং জেড/ভিএসই অপারেটিং সিস্টেমের জন্য তাদের নিজস্ব সাজানো/একত্রীকরণ প্যাকেজ বিক্রি করে। এই প্রোগ্রামগুলি মূলত আইবিএম-এর এসওআরটি প্রোগ্রামগুলির সাথে সামঞ্জস্যপূর্ণ, প্রায়শই কিছু এক্সটেনশনের সাথে। প্রধান সাজানো/একীভূতকরণ প্যাকেজগুলি হলঃ আইবিএম দ্বারা বিক্রি করা ডিএফএসওআরটি। সিঙ্কসর্ট, ইনকর্পোরেটেড দ্বারা সিঙ্কসর্ট বিক্রি করা হয়। সিএ টেকনোলজিস দ্বারা সিঙ্কসর্ট বিক্রি করা হয়। (এই সংস্থাগুলির মধ্যে কিছু ইউনিক্স, লিনাক্স বা উইন্ডোজের মতো অন্যান্য প্ল্যাটফর্মের জন্যও সংস্করণ বিক্রি করে।) বাছাই/একত্রীকরণ অনেক মেইনফ্রেম পরিবেশের একটি গুরুত্বপূর্ণ উপাদান। মেইনফ্রেম থেকে ইউনিক্স, লিনাক্স বা উইন্ডোজের মতো অন্যান্য প্ল্যাটফর্মে স্থানান্তরিত হওয়ার সময়, একটি বাছাই/মার্জ ইউটিলিটি প্রয়োজন। মাইক্রো ফোকাস এবং এএইচএলএসওআরটি থেকে এমএফএসওআরটি। এই পণ্যগুলি মেইনফ্রেম পরিবেশের বাইরে ডিএফএসওআরটি-র কার্যকারিতা অনুকরণ করে। ঐতিহাসিকভাবে, "উপনাম" এস. ও. আর. টি একটি ইনস্টলেশনের পছন্দের সাজানো প্রোগ্রাম, আই. বি. এম-এর সাজানো/সংযুক্তি, এবং তৃতীয় পক্ষের সাজানো/সংযুক্তি প্রোগ্রাম (অর্থাৎ, সিনকর্ট, সি. এ. এস. ও. আর. টি) বোঝাতে ব্যবহৃত হয়েছে। ডি. এফ. এস. ও. আর. টি প্রায়শই তার প্রোগ্রামের নাম, আই. সি. ই. এম. এ. এন দ্বারা উল্লেখ করা হয় (উপাদান আই. সি. ই; মূল ওএস/360 সাজানো/মার্জ প্রোগ্রামের নাম ছিল আই. ই. আর. সি. ও. টি, উপাদান আই. ই. আর, এছাড়াও "উপনাম" এস. ও. আর. টি সহ)। আইবিএম ওএস/360 এসওআরটি ভার্চ্যুয়াল স্টোরেজ অপারেটিং সিস্টেমের আগে, "ইনপুট ডেটা সেট প্রায় সবসময়ই এত বড় ছিল যে মূল স্টোরেজে আনা যায় না এবং একবারে সাজানো যায় না।" এস. ও. আর. টি সংরক্ষণের ব্যবহার কমাতে একটি প্রতিস্থাপন নির্বাচন কৌশল ব্যবহার করে। প্রোগ্রামটি সিকোয়েন্স ডিস্ট্রিবিউশন কৌশলগুলির উপর জোর দিয়েছিল, যা উপলব্ধ ডিভাইসের সংখ্যা এবং প্রকারের উপর নির্ভর করে ডিফল্ট করা যেতে পারে, বা ব্যবহারকারী দ্বারা নির্দিষ্ট করা যেতে পারে, সেকেন্ডারি স্টোরেজ "সার্ট ওয়ার্ক" (SORTWK) ফাইলগুলির সর্বোত্তম ব্যবহারের জন্য। এই কৌশলগুলি ছিল রেকর্ডগুলির আংশিকভাবে সাজানো ক্রমগুলি সবচেয়ে দক্ষতার সাথে বিতরণ করার পদ্ধতি। ওএস/360 এস. ও. আর. টি-তে পাঁচটি বিতরণ কৌশল উপলব্ধ ছিলঃ চৌম্বকীয় টেপ কৌশল ভারসাম্যপূর্ণ (বি. এ. এল. এন)-প্রধান সংরক্ষণের জন্য ন্যূনতম 12,000 বাইট এবং মধ্যবর্তী সংরক্ষণের জন্য 2x + 1 টেপ ডিভাইসের প্রয়োজন হয়, যেখানে x হল ইনপুট টেপ ভলিউমের সংখ্যা, সর্বোচ্চ 15টি ইনপুট রিল পর্যন্ত। পলিফেজ (পিওএলওয়াই)-ন্যূনতম 12,000 বাইট এবং 3টি মধ্যবর্তী স্টোরেজ টেপ ডিভাইসের প্রয়োজন। শুধুমাত্র একটি ইনপুট রিল অনুমোদিত ছিল। অসিলেটিং (ও. এস. সি. এল)-এর জন্য 21,000 বাইট এবং সর্বোচ্চ (x + 2,4) মধ্যবর্তী টেপ যন্ত্রের প্রয়োজন হয়, যেখানে x হল ইনপুট ভলিউমের সংখ্যা, সর্বোচ্চ 15 পর্যন্ত। ডাইরেক্ট অ্যাক্সেস টেকনিকস ব্যালেন্সড (বিএএলএন)-এর জন্য ন্যূনতম 13,000 বাইট এবং 3 থেকে 6 টি ডিস্ক ওয়ার্ক এরিয়া প্রয়োজন। বাছাই করা যেতে পারে এমন রেকর্ডের সর্বাধিক সংখ্যা উপলব্ধ প্রধান এবং সহায়ক সংরক্ষণাগারের উপর নির্ভর করে। ক্রিসক্রস (সি. আর. সি. এক্স)-আই. বি. এম 2311 বা আই. বি. এম 2301 অক্জিলিয়ারী স্টোরেজ ডিভাইসের জন্য উপলব্ধ নয়। ন্যূনতম 24,000 বাইট প্রধান স্টোরেজ এবং 6 থেকে 17 টি সহায়ক স্টোরেজ ওয়ার্কেরিয়ার প্রয়োজন। বাছাই করা যেতে পারে এমন রেকর্ডের সর্বাধিক সংখ্যা উপলব্ধ প্রধান এবং সহায়ক সংরক্ষণাগারের উপর নির্ভর করে। আইবিএম ওএস/ভিএস এসওআরটি টেপ প্রকারের জন্য তালিকাভুক্ত বিতরণ কৌশলগুলি ওএস/ভিএস এসওআরটি প্রোগ্রাম দ্বারা ধরে রাখা হয়েছিল, যা এখন "প্রচলিত কৌশল" নামে পরিচিত। ডিস্ক সাজানোর কৌশলগুলি চারটি নতুন কৌশল দ্বারা প্রতিস্থাপিত হয়েছিলঃ নির্দিষ্ট দৈর্ঘ্যের রেকর্ডের জন্য এফএলআর-ব্লকসেট, পরিবর্তনশীল-দৈর্ঘ্যের রেকর্ডের জন্য ভিএলআর-ব্লকসেট, নির্দিষ্ট দৈর্ঘ্যের রেকর্ডের জন্য পীরাজ, স্থির এবং পরিবর্তনশীল-দৈর্ঘ্যের উভয় রেকর্ডের জন্য ভ্যালে, আরও দেখুন ব্যাচপাইপের বাহ্যিক বাছাই নোটস রেফারেন্স বাহ্যিক লিঙ্ক আইবিএম ডিএফএসওআরটি ম্যানুয়াল কিছু মৌলিক ডিএফএসওআরটি এবং সিঙ্কসোর্ট উদাহরণ মেইনফ্রেম ইউটিলিটি প্রোগ্রাম ডেটা প্রসেসিং