Foundationপ্রথম নীতি থেকে

ABOUT

এই সিস্টেম সম্পর্কে

এটা কী

এটা একটা Computer Science foundations curriculum — কোনো tutorial blog নয়, framework শেখার কোর্স নয়। উদ্দেশ্য একটাই: কম্পিউটার আসলে কীভাবে কাজ করে, সেটা প্রথম নীতি থেকে বোঝা।

১৬টা মডিউল, ৫৭টা প্রজেক্ট, আনুমানিক ১৯০০ ঘণ্টার পথ — transistor থেকে শুরু করে distributed systems আর research methodology পর্যন্ত।

শেখানোর দর্শন

প্রতিটা topic একই পথে যায়:

Physical reality → abstraction → implementation → theory → experiment

আর প্রতিটা concept-এ এই নয়টা প্রশ্নের উত্তর থাকে:

  1. এটা কোন সমস্যার সমাধান?
  2. কেন আবিষ্কার হলো?
  3. ভেতরে আসলে কী ঘটে?
  4. কীভাবে implement করা হয়?
  5. কী abstraction দেয়?
  6. সেই abstraction-এর নিচে কী আছে?
  7. সীমাবদ্ধতা কী?
  8. নিজে কীভাবে যাচাই করব?
  9. বাস্তব সিস্টেমে কোথায় আছে?

ভাষা নিয়ে

ব্যাখ্যা বাংলায়, কিন্তু technical termইংরেজিতেই। কারণ kernel-কে "অন্তঃকরণ" বা thread-কে "সুতা" বললে শেখা সহজ হয় না — বরং documentation, paper আর Stack Overflow পড়া কঠিন হয়ে যায়।

Process হলো running program-এর একটি execution instance, যার নিজস্ব virtual address space আছে।

এভাবে — অপ্রয়োজনীয় অনুবাদ ছাড়া।

কীভাবে ব্যবহার করবেন

  1. ক্রম মানুন। Level 0 থেকে শুরু করুন। লাফ দিলে নিচের স্তর ফাঁকা থেকে যাবে।
  2. Experiment বাদ দেবেন না। প্রতিটা লেসনে যে command বা code আছে, সেটা নিজের মেশিনে চালান। পড়ে বোঝা আর চালিয়ে দেখার মধ্যে যে ফাঁক, সেখানেই আসল শেখা।
  3. প্রশ্নের উত্তর নিজে ভাবুন, তারপর খুলুন। উত্তর দেখে "হ্যাঁ জানতাম" ভাবাটা শেখা না।
  4. প্রজেক্ট বানান। মডিউল শেষ করে প্রজেক্ট না বানালে জ্ঞানটা ভঙ্গুর থেকে যায়।
  5. নোট লিখুন। প্রতিটা লেসনের নিচে নোট লেখার জায়গা আছে — নিজের ভাষায় লিখলে বোঝাটা পাকা হয়।

আপনার ডেটা

কোনো account নেই, কোনো tracking নেই, কোনো backend নেই। আপনার অগ্রগতি আর নোট শুধু আপনার ব্রাউজারের localStorage-এ থাকে।অগ্রগতি পাতা থেকে export/import করে অন্য device-এ নিতে পারবেন।

প্রয়োজনীয় সরঞ্জাম

Level 4 (Operating Systems) থেকে একটা Linux পরিবেশ লাগবে। বিকল্পগুলো:

  • নেটিভ Linux (সবচেয়ে ভালো) — Ubuntu, Fedora, বা Arch
  • WSL2 (Windows-এ ভালো কাজ করে, তবে kernel আলাদা)
  • VM (VirtualBox / UTM / QEMU) — kernel নিয়ে খেলার জন্য সবচেয়ে নিরাপদ
  • macOS — অনেক কিছু চলে, কিন্তু strace, /proc, perf নেই; Linux VM রাখুন

যেসব সরঞ্জাম বারবার লাগবে:gcc, gdb, python3, strace,ltrace, perf, tcpdump, docker,qemu, postgresql