Skip to content

Commit 3e94bf1

Browse files
committed
Add Computer Architecture & History Content
1 parent c849df9 commit 3e94bf1

7 files changed

+146
-4
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<br>
66

7-
> **🌟Best Golang Community Ever🌟**
7+
>**🌟Best Golang Community Ever🌟**
88
99
We have an active and growing community on Facebook where you can connect with like-minded individuals, ask questions, share ideas, and stay updated on the latest developments. Whether you're looking for support, collaboration, or just want to chat, this is the place for you!
1010

@@ -28,6 +28,7 @@ This is a complete ongoing **Golang Interview QnA** guideline that is growing fo
2828
- [বেসিক প্রশ্ন](basic-questions.md)
2929
- [ইন্টারমিডিয়েট প্রশ্ন](intermediate-questions.md)
3030
- [অ্যাডভান্সড প্রশ্ন](advanced-questions.md)
31+
- [কম্পিউটার আর্কিটেকচার এন্ড অপারেটিং সিস্টেম](computer-architecture-&-operating-system.md)
3132

3233
## কন্ট্রিবিউট করার নির্দেশিকা
3334
আপনি চাইলে এই প্রোজেক্টে কন্ট্রিবিউট করতে পারেন। কন্ট্রিবিউট করার আগে [CONTRIBUTING.md](CONTRIBUTING.md) ফাইলটি পড়ুন।
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# 🖥️ Class 32 - Computer Architecture & History
2+
*(Reference: [YouTube Lecture By Go With Habib](https://youtu.be/vzrpgfCgRmU?si=Ah-EgF8qXlK9qovb))*
3+
4+
**🔍 Key Topics:**
5+
1. **Evolution Timeline**
6+
- Abacus → Analytical Engine → Modern CPUs
7+
- Diffrent Generations of Computers
8+
9+
2. **Core Components**
10+
- CPU (ALU, CU, Registers)
11+
- Memory Hierarchy (Cache, RAM, Storage)
12+
- I/O Systems
13+
14+
3. **Bit Magic**
15+
- 32-bit vs 64-bit Systems
16+
- Data Units: Bit → Byte → GB → TB
17+
18+
4. **Milestones**
19+
- ENIAC (1946)
20+
- Transistors (1947)
21+
- Microprocessors (1971)
22+
23+
**💡 Did You Know?**
24+
- Charles Babbage = "Father of Computers"
25+
- 1st Programmer: Ada Lovelace (1843)
26+
27+
📌 *Pro Tip:* Watch the lecture for vintage computer visuals!
28+
29+
30+
## 📚 কন্টেন্ট সূচি
31+
32+
| ক্রম | বিষয় | লিংক |
33+
|-----|--------------------------------------------------|------------------------------------------------------|
34+
|| Analytical Engine কিভাবে কাজ করতো? | [👉 এখানে দেখুন](#_1-analytical-engine-কিভাবে-কাজ-করতো) |
35+
|| Punch Card কি এবং এটি দিয়ে কিভাবে প্রোগ্রাম লিখতো? | [👉 এখানে দেখুন](#_2-punch-card-কি-এবং-এটি-দিয়ে-কিভাবে-প্রোগ্রাম-লিখতো) |
36+
|| Punch Card থেকে ডাটা কিভাবে Ram এ উঠতো? | [👉 এখানে দেখুন](#_3-punch-card-থেকে-ডাটা-কিভাবে-ram-এ-উঠতো) |
37+
|| CPU কিভাবে Pointing Register এর সাহায্যে RAM এর ডাটাকে Execute করে? | [👉 এখানে দেখুন](#_4-cpu-কিভাবে-pointing-register-এর-সাহায্যে-ram-এর-ডাটাকে-execute-করে) |
38+
|| কোনটা ৩২ বিট, ৬৪ বিট, ২০ বিট কম্পিউটার কিভাবে বুঝবো? | [👉 এখানে দেখুন](#_5-কোনটা-৩২-বিট-৬৪-বিট-২০-বিট-কম্পিউটার-কিভাবে-বুজবো) |
39+
|| কম্পিউটারের ডেটা প্রকাশের এককগুলো | [👉 এখানে দেখুন](#_6-কম্পিউটারের-ডেটা-প্রকাশের-এককগুলো-কি-কি) |
40+
41+
---
42+
43+
## 1. Analytical Engine কিভাবে কাজ করতো?
44+
45+
এনালিটিক্যাল ইঞ্জিনের মূল কাজ ছিল গাণিতিক হিসাব-নিকাশ করা। এটি যোগ, বিয়োগ, গুণ এবং ভাগের মতো মৌলিক গাণিতিক কাজ করতে সক্ষম ছিল। এটি আধুনিক কম্পিউটারের পূর্বসূরি বা ভিত্তি হিসেবে বিবেচিত হয়।
46+
47+
**ইতিহাসঃ**
48+
49+
চার্লস ব্যাবেজের অ্যানালিটিক্যাল ইঞ্জিন (Analytical Engine) হলো বিশ্বের প্রথম প্রস্তাবিত জেনারেল-পারপাস কম্পিউটার (সাধারণ উদ্দেশ্যে ব্যবহারযোগ্য গণনাযন্ত্র)। এটি ১৮৩৭ সালে ডিজাইন করা হয়েছিল, কিন্তু সম্পূর্ণ বাস্তবায়িত হয়নি। এটির কাজের পদ্ধতি আধুনিক কম্পিউটারের মতোই ছিল, নিচে সহজভাবে বোঝানো হলো:
50+
51+
**১. ইনপুট দেওয়া (Input)**
52+
অ্যানালিটিক্যাল ইঞ্জিনে ডেটা এবং নির্দেশনা (প্রোগ্রাম) দেওয়া হতো পাঞ্চ কার্ড (ছিদ্রযুক্ত কার্ড) এর মাধ্যমে। এটি আজকের কী-বোর্ড বা মাউসের মতো কাজ করত।
53+
54+
**২. প্রসেসিং ইউনিট (Mill)**
55+
এটির মূল গণনাকারী অংশকে "Mill" বলা হতো (আজকের CPU-র মতো)। এটি যোগ, বিয়োগ, গুণ, ভাগ সব ধরনের গাণিতিক অপারেশন করতে পারত।
56+
57+
**৩. মেমোরি (Store)**
58+
ডেটা সংরক্ষণের জন্য ছিল "Store" (আজকের RAM বা হার্ড ডিস্কের মতো)। এখানে সংখ্যা এবং মধ্যবর্তী ফলাফল জমা রাখা হতো।
59+
60+
**৪. কন্ট্রোল মেকানিজম**
61+
এটি শুধু গাণিতিক হিসাব করতে পারত না, বরং এটি শর্তসাপেক্ষ সিদ্ধান্তও নিতে পারত। যেমন, যদি একটি সংখ্যা শূন্যের চেয়ে বড় হয়, তবে একটি নির্দিষ্ট কাজ করবে; অন্যথায় আরেকটি কাজ করবে। (if-else লজিকের মতো)।
62+
63+
**৫. আউটপুট**
64+
চূড়ান্ত ফলাফল (Output) প্রিন্ট করা যেত বা নতুন পাঞ্চ কার্ডে সংরক্ষণ করা যেত, যাতে পরে ব্যবহার করা যায়।
65+
66+
<p align="center"><img alt="how analytical engine work" src="https://raw.githubusercontent.com/dynamiclance/golang-interview-questions-and-answers-bangla/img/how analytical engine work.png"></p>
67+
<p align="center">Picture Credit: Chatgpt</p>
68+
69+
## 2. Punch Card কি এবং এটি দিয়ে কিভাবে প্রোগ্রাম লিখতো?
70+
71+
**পাঞ্চ কার্ডঃ**
72+
পাঞ্চ কার্ড ছিল মোটা কাগজের কার্ড, সাধারণত ৭.৩৮ ইঞ্চি লম্বা আর ৩.২৫ ইঞ্চি চওড়া। এই কার্ডে ৮০টা কলাম থাকতো, আর প্রতি কলামে ১২টা সারি।
73+
74+
<p align="center">Picture Credit: Chatgpt</p>
75+
76+
**কোড লেখার প্রক্রিয়াটা ছিল এমন:**
77+
<p align="center">Picture Credit: Cloude ai</p>
78+
79+
**১. কোড হাতে লেখা:**
80+
**২. পাঞ্চিং মেশিনে টাইপ:**
81+
**৩. কার্ডের স্ট্যাক তৈরি:**
82+
**৪. কম্পিউটারে দেওয়া:**
83+
84+
মজার ব্যাপার হলো, এই পাঞ্চ কার্ডে ভুল হলে পুরো কার্ডটা ফেলে নতুন করে লিখতে হতো।
85+
86+
## 3. Punch Card থেকে ডাটা কিভাবে Ram এ উঠতো?
87+
88+
<p align="center">Picture Credit: Chatgpt</p>
89+
90+
অ্যানালিটিক্যাল ইঞ্জিনের যুগে RAM ছিল না, ছিল “স্টোর” যেটা RAM-এর মতোই কাজ করত।
91+
92+
**১. পাঞ্চ কার্ড পড়ার যন্ত্র (কার্ড রিডার):**
93+
**২. ডাটা ট্রান্সফার:**
94+
**৩. মেমরিতে জমা হওয়া:**
95+
96+
### উদাহরণ:
97+
১০ এর কার্ড পড়ে স্টোরের সেল ০ এ জমা হতো।
98+
২০ এর কার্ড পড়ে স্টোরের সেল ১ এ জমা হতো।
99+
+ এর কার্ড পড়ে মিল সেল ০ ও সেল ১-এর ডাটা যোগ করে সেল ২-তে রাখত।
100+
101+
**সংক্ষেপে:**
102+
পাঞ্চ কার্ড → Card Reader পড়ে → বাইনারি বানায় → RAM/STORE এ পাঠায় → CPU কাজ করে
103+
104+
## 4. CPU কিভাবে Pointing Register এর সাহায্যে RAM এর ডাটাকে Execute করে?
105+
106+
Pointing Register হলো CPU-এর জন্য একটা "গাইড"। ধাপে ধাপে যেভাবে কাজ হয়:
107+
108+
**1. Program Counter (PC)**
109+
**2. Instruction Fetch**
110+
**3. Decode & Execute**
111+
**4. Program Counter আপডেট হয়**
112+
113+
### উদাহরণ:
114+
```go
115+
RAM এ আছে এমন ৩টা লাইন:
116+
100: LOAD A
117+
104: ADD B
118+
108: PRINT
119+
```
120+
121+
## 5. কোনটা ৩২ বিট, ৬৪ বিট, ২০ বিট কম্পিউটার কিভাবে বুজবো?
122+
123+
**বিট কী?**
124+
৮ বিট = ১ বাইট
125+
126+
- ৩২-বিট: ৪ জিবি পর্যন্ত RAM
127+
- ৬৪-বিট: ১৮ কোটি GB পর্যন্ত RAM
128+
- ২০-বিট: পুরোনো সিস্টেম, ১ মেগাবাইট পর্যন্ত RAM
129+
130+
## 6. কম্পিউটারের ডেটা প্রকাশের এককগুলো কি কি?
131+
132+
বিট → বাইট → কিলোবাইট → মেগাবাইট → গিগাবাইট → টেরাবাইট → পেটাবাইট
133+
134+
| একক | সমান | উদাহরণ |
135+
|------------------|--------------|------------------------|
136+
| 1 KB (Kilobyte) | 1024 Bytes | ছোট TXT ফাইল |
137+
| 1 MB (Megabyte) | 1024 KB | ছবি, গান |
138+
| 1 GB (Gigabyte) | 1024 MB | মুভি, অ্যাপ |
139+
| 1 TB (Terabyte) | 1024 GB | হার্ডডিস্ক, SSD |
140+
| 1 PB (Petabyte) | 1024 TB | ডেটা সেন্টার |
141+
| 1 EB (Exabyte) | 1024 PB | পুরো ইন্টারনেটের ডেটা! |

img/how-analytical-engine-work.png

2.09 MB
Loading
2.21 MB
Loading

img/punch-card-example.png

1.49 MB
Loading
40.5 KB
Loading

index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
property="og:description"
2020
content="A collection of Golang interview questions and answers in Bangla for job preparation."
2121
/>
22-
<meta
22+
<!-- <meta
2323
property="og:image"
24-
content="https://github.com/dynamiclance/golang-interview-questions-and-answers-bangla/blob/db23749ae4bfb9ffc99008f6b089911a30ee43ae/img/banner.png"
25-
/>
24+
content="https://raw.githubusercontent.com/dynamiclance/golang-interview-questions-and-answers-bangla/main/img/Banner.png"
25+
/> -->
2626
<meta
2727
property="og:url"
2828
content="https://dynamiclance.github.io/golang-interview-questions-and-answers-bangla/"

0 commit comments

Comments
 (0)