বৃহস্পতিবার, ১৭ জুন, ২০২১

বিশ্বের প্রথম ইলেকট্রনিক কম্পিউটার ইনিয়াকের গল্প

ENIAC এর পূর্ণরূপ হচ্ছে Electronic Numerical Integrator and Computer, এটি ছিল প্রথম প্রোগ্রামেবল জেনারেল পারপাস ইলেকট্রনিক ডিজিটাল কম্পিউটার, যা দ্বিতীয় বিশ্বযুদ্ধের সময় মার্কিন যুক্তরাষ্ট্র দ্বারা নির্মিত হয়েছিল। আমেরিকান পদার্থবিজ্ঞানী জন মাউচলি, আমেরিকান প্রকৌশলী প্রেসপার একর্টি জুনিয়র এবং পেনসিলভানিয়া বিশ্ববিদ্যালয়ের মুর স্কুল অফ ইলেকট্রিক্যাল ইঞ্জিনিয়ারিং-এ তাদের সহকর্মীরা একটি অল-ইলেকট্রনিক কম্পিউটার নির্মাণের জন্য একটি সরকারী অর্থায়নে প্রকল্পের নেতৃত্ব দিয়েছিলেন। সেনাবাহিনীর সাথে চুক্তির অধীনে এবং হারম্যান গোল্ডস্টেইনের নির্দেশনায়, ১৯৪৩ সালের শুরুতে ইনিয়াকের কাজ শুরু হয়। পরের বছর, বিখ্যাত গণিতবিদ ও আধুনিক কম্পিউটারের জনক ভন নিউম্যান এই কাজে যোগ দেন।

ENIAC
                 বিশ্বের প্রথম ইলেকট্রনিক কম্পিউটার ENIAC


ইনিয়াক একটি সার্বজনীন কম্পিউটারের স্বপ্নের চেয়ে কম কিছু ছিল না।ত্রিশ টন ওজনের উনিশ হাজার ইলেক্ট্রনিক টিউব দিয়ে তৈরী এই কম্পিউটারই প্রথম যেখানে প্রোগ্রাম ঢুকানো হয়েছিলো। তবে সেই সময় এটির আরো দরকারী মেশিনের অভাব ছিল।এটা চালাতে বিদ্যুৎ খরচ হতো ১৩০ কিলোওয়াট। এই মেশিনে দশ অংকের দুটি সংখ্যাকে গুন করতে সেকেন্ডের হাজার ভাগের তিন ভাগ অর্থাৎ তিন মিলি সেকেন্ড সময় লাগত।তবে অসুবিধাটি হ'ল প্রতিটি নতুন সমস্যার জন্য মেশিনটি পুনরায় নির্মাণ করতে কয়েক দিন সময় লেগেছিল। 


কিন্তু তার পরেও, ইনিয়াক আজ পর্যন্ত নির্মিত সবচেয়ে শক্তিশালী গণনাকারী ডিভাইস ছিল। এটি ছিল বিশ্বের প্রথম প্রোগ্রামেবল জেনারেল পারপাস ইলেকট্রনিক ডিজিটাল কম্পিউটার।ইনিয়াক দেখতে চার্লস ব্যাবেজের অ্যানালিটিক্যাল ইঞ্জিন (ঊনবিংশ শতাব্দী) এবং দ্বিতীয় বিশ্বযুদ্ধের কম্পিউটার কলসাসের মতো। যদিও এটি একটি নির্দিষ্ট উদ্দেশ্যে নির্মিত হয়েছিল, কিন্তু এটি অনেক সমস্যা সমাধানে ব্যাবহার করা যেতো।

                 ইনিয়াক কম্পিউটার পরিচালনা
        


১৯৪৬ সালের ফেব্রুয়ারী মাসে শেষ হওয়া ইনিয়াকের জন্য মার্কিন সরকার ৪০০,০০০ মার্কিন ডলার ব্যয় করেছিল এবং এটি যুদ্ধ জিততে সাহায্য করার জন্য ডিজাইন করা হয়েছিল। মূলত এর প্রথম কাজ ছিল হাইড্রোজেন বোমা নির্মাণের জন্য গণনা করা। মেশিনের একটি অংশ এখনো ওয়াশিংটন ডিসির স্মিথসোনিয়ান ইনস্টিটিউশনে প্রদর্শিত হচ্ছে। মজার বিষয় হচ্ছে তিন দেয়াল জুড়ে থাকা কম্পিউটারটি একসময় পঞ্চাশ ফুট বাই ত্রিশ ফুটের ভূ-গর্ভস্থ কক্ষে চল্লিশ জন বিজ্ঞানী মিলে চালাতেন।
                
                স্মিথসোনিয়ান যাদুঘরে প্রদর্শিত ইনিয়াক (ENIAC)

শনিবার, ৬ ফেব্রুয়ারী, ২০২১

বাংলাদেশের সর্বপ্রথম কম্পিউটার প্রোগ্রামার মোঃ হানিফউদ্দিন মিয়া

আমরা যারা প্রোগ্রামিং করতে ভালোবাসি, তাদের অনেকেই জানি না বাংলাদেশের সর্বপ্রথম কম্পিউটার প্রোগ্রামার কে ছিলেন।আজ আমরা জানবো সেই কির্তীমান ব্যাক্তিটি সম্পর্কে।তার নাম মোঃ হানিফউদ্দিন মিয়া। তিনি ১লা নভেম্বর ১৯২৯ সালে নাটোর জেলার সিংড়া উপজেলার চৌগ্রাম ইউনিয়নের হুলহুলিয়া গ্রামে জন্মগ্রহণ করেন।

মোঃ হানিফউদ্দিন মিয়া
            চিত্রঃ আইবিএম মেইনফ্রেম ১৬২০ কম্পিউটার ব্যাবহার করছেন মোঃ হানিফউদ্দিন মিয়া

তিনি পড়াশোনা করেছেন কম্পিউটার বিজ্ঞান ও গণিত বিষয়ের উপর। তিনি ১৯৫২ সালে ঢাকা বিশ্ববিদ্যালয় থেকে ফলিত গণিতে স্বর্ণপদকসহ প্রথম শ্রেণিতে প্রথম স্থান লাভ করেন।অদম্য এই মেধাবী ১৯৬৪ সালে যুক্তরাষ্ট্রের Massachusetts Institute of Technology (MIT)-এর কম্পিউটার সেন্টার থেকে সিস্টেম অ্যানালিসিস, নিউমারাল ম্যাথমেটিকস, অ্যাডভান্স কম্পিউটার প্রোগ্রামিংয়ের প্রশিক্ষণ নেন এবং ১৯৭৫ সালে লন্ডনের আইবিএম রিসার্চ সেন্টার থেকে অপারেটিং সিস্টেম ও সিস্টেম প্রোগ্রামিংয়ের উপর প্রশিক্ষণ নেন।

১৯৬৪ সালে বাংলাদেশ তথা তাৎকালীন পূর্ব পাকিস্তানে মার্কিন যুক্তরাষ্ট্র থেকে জাহাজ দিয়ে আনা হয় আইবিএম (International Business Machines - IBM) মেইনফ্রেম ১৬২০ কম্পিউটার। খোঁজাখুঁজি শুরু হলো এমন একজন লোকের যিনি জানেন এই কম্পিউটারটির ব্যাবহার।তখনি খুঁজ মিলল প্রথম বাংলাদেশি প্রোগ্রামার হানিফউদ্দিন মিয়ার। তখন তিনিই একমাত্র জানতেন এই কম্পিউটারটির ব্যাবহার।


আইবিএম মেইনফ্রেম ১৬২০ কম্পিউটার
চিত্রঃ আইবিএম মেইনফ্রেম ১৬২০ কম্পিউটার

তিনি ছিলেন বাংলাদেশ আণবিক শক্তি কমিশনের কম্পিউটার সার্ভিস বিভাগের পরিচালক।আমাদের দেশের প্রথম এই মেধাবী প্রোগ্রামার ২০০৭ সালের ১১ই মার্চ মৃত্যুবরণ করেন।আমরা যারা প্রোগ্রামার হওয়ার আশা পোষণ করি তাদের জন্য উজ্জ্বল আদর্শ হতে পারে এই প্রোগ্রামার মোঃ হানিফউদ্দিন মিয়া।

বুধবার, ৩ ফেব্রুয়ারী, ২০২১

নেটওয়ার্ক টপোলজি

Topology

একটি নেটওয়ার্কে নেটওয়ার্কের ফিজিক্যাল ডিভাইস ও কম্পোনেন্ট গুলো যে পদ্ধতিতে একে অপরের সাথে জুড়ে দিতে হয় সেই পদ্ধতিকে বলা হয় নেটওয়ার্ক টপোলজি।ব্যাপারটা বুঝে আসলো না।

তাহলে আরেকটু সহজভাবে বলি, যেই পদ্ধতিতে কম্পিউটার,রাউটার,ক্যাবল ও নেটওয়ার্কের অন্যান্য ডিভাইসগুলো যেভাবে নেটওয়ার্কে পরস্পর সংযুক্ত থাকে সেই পদ্ধতিকে নেটওয়ার্ক টপোলজি বলে।


কম্পিউটার নেটওয়ার্কিং এর জন্য মূলত ছয় ধরনের টপোলজি ব্যাবহার করা হয়।যথাঃ

  1. বাস টপোলজি (Bus Topology)
  2. রিং টপোলজি (Ring Topology)
  3. স্টার টপোলজি (Star Topology)
  4. ট্রি টপোলজি (Tree Topology)
  5. হাইব্রিড টপোলজি (Hybird Topology)
  6. মেশ টপোলজি (Mesh Topology)


বাস টপোলজি (Bus Topology)

বাস টপোলজি (Bus Topology


এই টপোলজিতে সবগুলো ডিভাইস একটি মূল তারের সাথে সংযুক্ত থাকে।এই মূল তার বা এই টপোলজির প্রধান ক্যাবলটিকে মূল বাস/ব্যাকবোন (Backbone) বলা হয়।বাস টপোলজিতে কোনো একটি কম্পিউটার যদি কোনো তথ্য প্রেরণ করে তখন এটি সকল কম্পিউটারের কাছেই পৌঁছে যায়। কিন্তু যেই কম্পিউটারের সেই তথ্যটি পাওয়ার কথা শুধুমাত্র সেই কম্পিউটারটিই এই তথ্য গ্রহণ করে আর বাকি কম্পিউটারগুলো একে উপেক্ষা করে।এই টপোলজি ছোট আকারের নেটওয়ার্ক তৈরিতে খুবই সহজ। উল্লেখ্য যে মূল বাস/ব্যাকবোন (Backbone) নষ্ট হয়ে গেলে সম্পূর্ণ নেটওয়ার্ক নষ্ট হয়ে যায়।তবে এই টপোলজিতে কোনো কম্পিউটার নষ্ট হয়ে গেলে সম্পূর্ণ নেটওয়ার্ক নষ্ট হয়ে যায় না।


রিং টপোলজি (Ring Topology)

রিং টপোলজি (Ring Topology)


রিং টপোলজিতে প্রত্যেকটি কম্পিউটার অন্য দুটি কম্পিউটারের সাথে সংযুক্ত। রিং টপোলজি গোলাকার বৃত্তের মতো মনে হলেও আসলে কম্পিউটারগুলো বৃত্তাকারে থাকে না।তবে কম্পিউটারগুলোর মাঝে বৃত্তাকার যোগাযোগ থাকে।ফলে এই টপোলজিকে রিং টপোলজি (Ring Topology) নামে নামকরণ করা হয়।এই টপোলজিতে কোন প্রধান বা কেন্দ্রীয় কম্পিউটার থাকে না।যার ফলে প্রত্যোকটি কম্পিউটারের গুরুত্ব সমান।এই টপোলজিতে নেটওয়ার্কের কোনো কম্পিউটার তথ্য পুনঃপ্রেরণের ক্ষমতা হারালে অথবা কম্পিউটারটি নষ্ট হয়ে গেলে পুরো নেটওয়ার্কটি অকেজো হয়ে যায়। তখন নষ্ট কম্পিউটারটি অপসারণ করে পুনরায় সংযোগ স্থাপন করতে হয়।


স্টার টপোলজি (Star Topology)

স্টার টপোলজি (Star Topology)


স্টার টপোলজির সকল হোস্ট / নোড (একটি নেটওয়ার্কে সংযুক্ত প্রতিটি ডিভাইসকে নোড বলা হয়) একটি কেন্দ্রীয় হাব (Hub)/সুইচ (Switch)-এর সাথে সংযুক্ত থাকে।স্টার টপোলজিতে কম্পিউটারগুলো কে স্টারের মতোই সাজাতে হবে তা কিন্তু নয়।এই টপোলজিতে কোনো একটি কম্পিউটার ডেটা/তথ্য প্রেরণ করতে চাইলে তা প্রথমে হাব (Hub)/সুইচ (Switch)-এ পাঠিয়ে দেয়। এরপর হাব (Hub)/সুইচ (Switch) সেই সিগন্যাল প্রাপক কম্পিউটারকে পাঠিয়ে দেয়।কেউ যদি তাড়াতাড়ি খুব সহজেই একটি নেটওয়ার্ক তৈরি করতে চায় তাহলে তার জন্য স্টার টপোলজি (Star Topology) উপযোগী।



ট্রি টপোলজি (Tree Topology)

ট্রি টপোলজি (Tree Topology)


অনেকগুলো স্টার টপোলজির সম্প্রসারিত রূপ হলো ট্রি টপোলজি। গাছের যেমন অনেক শাখা প্রশাখা থাকে ঠিক‌ তেমনি এই টপোলজির কম্পিউটারগুলো শাখা প্রশাখার মতো বিন্যস্ত থাকে।ট্রি টপোলজি মূলত বাস টপোলজি এবং স্টার টপোলজির বৈশিষ্ট্যগুলোকে একত্রিত করে।শাখা-প্রশাখা সৃষ্টির মাধ্যমে ট্রি টপোলজির নেটওয়ার্ক সম্প্রসারণ করা যায়। ট্রি টপোলজি হায়ারার্কিকাল টপোলজি নামেও পরিচিত।



হাইব্রিড টপোলজি (Hybird Topology)

হাইব্রিড টপোলজি (Hybird Topology)


হাইব্রিড টপোলজি বাস, রিং,স্টার ইত্যাদি টপোলজির সমন্বয়ে গঠিত হয়। ইন্টারনেট হলো এই টপোলজির অন্যতম উদাহরণ কেননা ইন্টারনেট এমন একটি নেটওয়ার্ক, যেখানে প্রায় সব ধরণের নেটওয়ার্কই সংযুক্ত আছে।এই টপোলজিতে প্রয়োজন অনুযায়ী নেটওয়ার্ক বৃদ্ধি করার সুযোগ রয়েছে।

এই টপোলজির অন্যতম সুবিধা হলো এই নেটওয়ার্কের কোনো একটি অংশ নষ্ট হয়ে গেলে সম্পূর্ণ নেটওয়ার্ক অচল হয় না বরং উক্ত অংশবিশেষ নষ্ট হয়ে যায়।


 

মেশ টপোলজি (Mesh Topology)

মেশ টপোলজি (Mesh Topology)


মেশ টপোলজিতে নেটওয়ার্কে যুক্ত প্রত্যেকটি হোস্ট একে অপরের সাথে সরাসরি যুক্ত থাকে।এই টপোলজিতে কম্পিউটারগুলো একাধিক পথে যুক্ত হতে পারে।একটি কমপ্লিট মেশ টপোলজিতে প্রতিটি কম্পিউটার সরাসরি নেটওয়ার্কভুক্ত অন্যান্য সকল কম্পিউটারের সাথে সংযুক্ত থাকে।রিং টপোলজিতে প্রতিটি কম্পিউটারকে প্রতিটির সাথে অতিরিক্ত নোড দিয়ে যুক্ত করলেই তা মেশ টপোলজিতে পরিণত হবে।