0
توجه: بعلت محدودیتهای صفحات وب، برخی از ویژگی‌های این کتاب، مانند فرمول‌ها و جداول، بصورت صحیح در مرورگرهای اینترنتی نمایش داده نمی‌شوند. برای مشاهده دقیق این موارد باید فایل PDF را مطالعه فرمایید. در ضمن، این فایل کامل نیست و تنها شامل گزیده‌هایی از متن کتاب است. متن اصلی حدود 505 صفحه، و به فرمت pdf است و فرمت‌بندی صفحات و فانت‌ها در آن حفظ شده و به راحتی روی دستگاه‌های موبایل قابل خواندن است. برای دریافت فایل کامل به این آدرس مراجعه کنید. برای مشاهده فهرست محتویات کامل کتاب به این آدرس مراجعه کنید.

نقل مطالب این سایت در رسانه‌های اینترنتی یا چاپی فقط با ذکر آدرس منبع مجاز است.
برای تنظیم بزرگنمایی حروف از دکمه‌های زیر استفاده کنید.
            


 تاریخچه کامپیوتر و علوم رایانه‌ای


ترجمه کامران بزرگزاد‌ایمانی

 

جرارد اُ ریگان

 


فهرست مندرجات

مقدمه مترجم. 8

درباره‌این کتاب.. 8

این کتاب مورد استفاده چه کسانی است؟. 9

درباره نویسنده کتاب.. 9

مقدمه مؤلف.. 10

نمای کلی کتاب.. 10

سازماندهی و ویژگی‌های کتاب.. 11

مخاطبین این کتاب.. 16

فصل 1، کامپیوتر چیست؟. 17

1.1 مقدمه. 17

1.2 کامپیوترهای آنالوگ.. 18

1.3 کامپیوترهای دیجیتال.. 20

1.4 معماری فون نویمان.. 29

1.5 سخت‌افزار و نرم‌افزار. 31

1.6 سؤالات دوره‌ای.. 31

1.7 خلاصه. 32

فصل 2، محاسبات در تمدن‌های باستانی.. 33

2.1 مقدمه. 33

2.2 بابلیان.. 36

فصل 3، مبانی رایانش.... 41

3.1 مقدمه. 41

3.2 ماشین حساب چرخ دنده‌ای لایب‌نیتس.... 42

فصل4، اولین کامپیوترهای دیجیتال.. 45

4.1 مقدمه. 45

4.2 Harvard Mark I. 46

فصل 5، اولین کامپیوترهای تجاری.. 50

5.1 مقدمه. 50

5.2 UNIVAC. 51

فصل 6، کامپیوترهای تجاری و اختراع ترانزیستور. 53

6.1 مقدمه. 53

6.2 کامپیوترهای اولیه IBM.. 54

فصل 7، مدارات مجتمع و پیدایش دره سیلیکون.. 56

7.1 مقدمه. 56

7.2 اختراع مدارات مجتمع. 57

فصل 8، کامپیوتر IBM System/360. 59

8.1 مقدمه. 59

8.2 پیشینه توسعه کامپیوتر System/360. 60

فصل 9، مینی‌کامپیوترها و مین‌فریم‌های نسل بعد. 63

9.1 مقدمه. 63

9.2 مینی کامپیوترهای DEC. 64

فصل 10، انقلاب ریزپردازنده‌ها 66

10.1 مقدمه. 66

10.2 اختراع ریزپردازنده. 67

فصل 11، کامپیوترهای شخصی و خانگی.. 69

11.1 مقدمه. 69

11.2 کامپیوتر شخصی Alto Xerox. 70

فصل 12، کامپیوترهای شخصی IBM.. 72

12.1 مقدمه. 72

12.2 کامپیوتر شخصی IBM.. 73

فصل 13، تاریخچه سیستمعامل‌ها 75

13.1 مقدمه. 75

فصل 14، تولد صنعت نرم‌افزار و تعامل انسان با کامپیوتر. 79

14.1 مقدمه. 79

14.2 تولد صنعت نرم‌افزار. 80

فصل 15، تاریخچه زبان‌های برنامهنویسی.. 82

15.1 مقدمه. 82

فصل 16، تاریخچه مهندسی نرم‌افزار. 85

16.1 مقدمه. 85

فصل 17، تاریخچه کوتاه صنعت مخابرات.. 88

17.1 مقدمه. 88

فصل 18، انقلاب اینترنت.. 91

18.1 مقدمه. 91

فصل 19، تلفن‌های هوشمند و رسانه‌های اجتماعی.. 94

19.1 مقدمه. 94

19.2 تکامل تلفن‌های هوشمند. 95

فصل20، نوآوری‌های گوناگون.. 97

20.1 مقدمه. 97

20.2 سیستم‌های توزیع شده. 99

فصل 21، تاریخچه پایگاه‌های داده. 100

21.1 مقدمه. 100

فصل 22، تاریخچه هوش مصنوعی.. 103

22.1 مقدمه. 103

فصل 23، اخلاق و مسئولیت‌های حرفهای.. 106

23.1 مقدمه. 106

23.2 اخلاق تجاری.. 107

فصل 24، جنبه‌های حقوقی رایانش.... 109

24.1 مقدمه. 109

24.2 مالکیت فکری.. 110

 

 


 


توجه: به دلیل کامل نبودن این فایل، ممکن است برخی از لینک‌های کار نکنند.مرور اول: 1401/08/20

مرور دوم: 1401/09/25

خاتمه مرور 1401/10/15‌

مقدمه مترجم

درباره‌این کتاب

کامپیوتر به طور آشکار به یکی از ابزارهای اصلی انسان تبدیل شده و آگاهی از سیر تکامل این ابزار می‌تواند روشن کند که در طول بیش از دویست سال گذشته چگونه توانسته چنین تحولات عجیبی را رقم زند.

منابع اندکی درمورد تاریخچه کامپیوتر به زبان فارسی وجود دارند که بیشتر آنها بصورت مقالات پراکنده در اینترنت هستند. ولی کتاب کاملی به زبان فارسی که تکامل کامپیوترها، فن‌آوری‌های مدرن، و کلاً علوم رایانه‌ای را شرح دهد نادر بود. به همین دلیل مترجم تصمیم به ترجمه این کتاب گرفت.

این کتاب طیف گسترده‌ای از موضوعات را پوشش می‌دهد، و سیر تحول کامپیوترها را از ماشین‌های حساب مکانیکی در قرن 18، تا کامپیوترهای کوانتومی در قرن 21 دنبال می‌کند. در طول این مسیر خواه‌ ناخواه به موضوعاتی برمی‌خوریم که تکامل فن‌آوری کامپیوتر به آنها وابسته بوده، چیزهای مثل ماشین حساب‌های چرخ دنده‌ای، ماشین‌های رله‌ای، لامپی، ترانزیستوری، ICها و ریزپردازنده‌ها، فن‌آوری‌های شبکه و مخابراتی، و خیلی از موارد دیگری که در تکامل کامپیوترهای امروزی نقش داشته‌اند.

قسمت عمده‌ای از این کتاب به وجه دیگر  رایانش، یعنی صنعت نرم‌افزار و تکامل آن می‌پردازد، که شامل بررسی نسل‌های مختلف زبان‌های برنامه‌نویسی، سیستم‌ عامل‌ها، پایگاه‌های داده، فن‌آوری‌های اینترنتی، و غیره است.

واژه‌گزینی در این کتاب

عنوان اصلی کتاب "A Brief History of Computing" است که ترجمه دقیق آن "تاریخچه رایانش" است. ولی با توجه به مانوس نبودن لغت "رایانش" مترجم ترجیح داده از همان کلمه آشنای کامپیوتر استفاده کند. رایانش حوزه وسعی است و می‌تواند مواردی مانند سخت‌افزار و نرم‌افزار و حتی حوزه‌هایی از ریاضیات را نیز در برگیرد. کلاً در زبان انگلیسی ریشه لغاتی مانند Computing، Compurter، از لغت  Compute به معنای محاسبه گرفته شده. در این کتاب نیز، بسته به زمینه، از لغات کامپیوتر، رایانش، و محاسبه استفاده شده.

این کتاب مورد استفاده چه کسانی است؟

مطالعه این کتاب هیچ پیش‌نیازی ندارد و می‌تواند مورد استفاده کلیه علاقه‌مندانِ فن‌آوری قرار گیرد.

 

درباره نویسنده کتاب

جرارد اُ ریگان (Gerard O’Regan) متولد 1960، استاد دانشگاه و مهندس نرم‌افزار ایرلندی است. او در سال 1987 دکترای خودش در رشته علوم رایانه‌ای را از دانشگاه ترینیتی دابلین گرفت، و در بسیاری از دانشگاه‌های جهان، از جمله در ایرلند، چین، مالزی، مصر، عربستان صعودی، و ... مشغول تدریس بوده. او یک مهندس ارشد نرم‌افزار نیز هست و طی 40 سال گذشته در توسعه و مدیریت پروژه‌های نرم‌افزاری مشارکت داشته. بیشتر کتاب‌های او در زمینه نرم‌افزار، تاریخ کامپیوتر، و ریاضیات هستند. کتاب حاضر یکی از کتاب‌های او است که برای اولین بار در سال 2008 منتشر شد و هم‌گام با تحولات فن‌آوری‌های کامپیوتر تاکنون 3 بار تجدید ویرایش شده، و این ترجمه ویرایش سوم کتاب است.

بهار 1404

                       کامران بزرگزاد ‌ایمانی


 


15/08/1403

مقدمه مؤلف

نمای کلی کتاب

هدف ‌این کتاب ارائه مقدمه‌ای بر تاریخ کامپیوتر است. رایانش (computing) حوزه وسیعی است و ارائه یک بررسی جامع از تاریخچه آن به چند جلد کتاب نیاز دارد. ولی اهداف ‌این کتاب ساده‌تراند و قصد دارد حال و هوای برخی از رویدادهای مهم تاریخِ کامپیوتر را به خواننده ارائه دهد. امید است‌ این امر خواننده علاقه‌مند را به مطالعه کُتب و مقالات پیشرفته‌تر ترغیب کند.

سرآغاز تاریخ رایانش به طلوع تمدن بشر بازمی‌گردد. جوامع اولیه شکارچی نیاز داشتند بتوانند محاسبات ابتدایی مثل شمارش و حساب را انجام دهند. همانطور که جوامع انسانی به شهرها و جوامع بزرگتر رفتند، نیاز به محاسباتِ پیچیده‌تر به وجود آمد.

داستان ما با سهمی‌که مصریان و بابلیان باستان در محاسبات داشتند شروع شده و سپس به سرعت به سمت دوران جدید حرکت می‌کنیم. ما در طول سفرمان برخی از کامپیوترهای اولیه، مانند ماشین‌های Zuse، کامپیوتر Atanasoff-Berry و ENIAC را معرفی می‌کنیم. ما پیشرفت‌هایی مانند سیستم دفاع هوایی SAGE، کامپیوتر IBM 360، و خانواده مینی کامپیوترهای PDP را بررسی می‌کنیم. تحولاتی که در 40 سال اخیر در حوزه کامپیوتر بوجود آمده، مانند اختراع کامپیوترهای شخصی و اختراع شبکه جهانی وب نیز در این کتاب بررسی شده.

ما برخی از زبان‌های برنامه‌نویسی، و همچنین تاریخچه مهندسی نرم‌افزار را بررسی خواهیم کرد. نهایتاً برخی از افرادی که سهم مهمی‌‌ در زمینه علومِ رایانشی و کامپیوتر داشته‌اند را معرفی خواهیم کرد.‌این افراد شامل شخصیت‌های تاریخی مانند جورج بول، چارلز بابیج، آلن تورینگ، کلود شانون، و جان فون نویمان هستند.

سازماندهی و ویژگی‌های کتاب

فصل اول مقدمه‌ای بر کامپیوتر‌های آنالوگ و دیجیتال و همچنین معماری فون نویمان را ارائه می‌کند که معماری اصلی کامپیوترهای دیجیتال امروزی است. فصل 2 سهم تمدن‌های نخستین در زمینه محاسبات را بررسی می‌کند. ما دستاوردهای بابلیان، مصریان، یونانیان، و رومیان باستان، و همچنین تمدنِ اسلامی ‌را مورد بررسی قرار می‌دهیم.

فصل 3 مقدمه‌ای بر اصول رایانش را ارائه می‌دهد. ما در مورد دستگاه اعداد دودویی و ماشین حساب چرخ‌دنده‌ای لایب‌نیتس توضیح می‌دهیم. چالز بابیج ماشین تفاضلی خودش را به عنوان ماشینی برای ارزیابی چندجمله‌ای‌ها طراحی کرد و ماشین تحلیلی او چشم انداز یک کامپیوتر مدرن را ارائه داد. منطق نمادی بول نیز پایه و اساس محاسبات دیجیتال را فراهم آورد.

فصل 4 اولین کامپیوترهای دیجیتال، از جمله کامپیوتر آتاناسف-برری (Atanasoff-Berry) که در ایالات متحده توسعه یافت، را مورد بررسی قرار می‌دهد. همچنین کامپیوترهای ENIAC و EDVAC که در ایالات متحده ساخته شد، کامپیوتر Colossus که در انگلستان توسعه یافت، کامپیوترهای Zuse که در آلمان ساخته شدند، و کامپیوتر Manchester Mark I که در انگلستان توسعه یافت، نیز بررسی خواهند شد.

فصل 5 اولین کامپیوترهای تجاری از جمله UNIVAC، که توسط EMCC/Sperry در ایالات متحده توسعه یافت، کامپیوتر LEO I که توسط J. Lyons and Co در انگلستان ساخته شد، کامپیوتر Z4 که توسط Zuse KG در آلمان ساخته شد، و کامپیوتر Ferranti Mark I که توسط Ferranti در انگلستان توسعه یافت، را بررسی می‌کند.

فصل 6 کامپیوترهای تجاری اولیه، از جمله کامپیوترهای  704 و IBM 701 را مورد بحث قرار می‌دهد. ما در مورد سیستم دفاع هوایی SAGE صحبت خواهیم کرد که از کامپیوتر AN/FSQ-7 که توسط IBM ساخته شده بود استفاده می‌کرد. ما در مورد اختراع ترانزیستور توسط ویلیام شاکلی و دیگران در آزمایشگاه‌های بل، و کامپیوترهای اولیه ترانزیستوری صحبت خواهیم کرد.

فصل 7 اختراع مدار مجتمع توسط جک کربی در تگزاس اینسترومنتز، و کارهای بعدی توسط رابرت نویس در Fairchild Semiconductors در مورد مدارهای مجتمع سیلیکونی را بررسی می‌کند. قانون مور (Moore’s Law) که در مورد رشد تصاعدی چگالی ترانزیستور در مدار مجتمع است، و همچنین ارتباط آن با قدرت محاسباتی دستگاه‌های الکترونیکی مورد بحث قرار خواهد گرفت.

فصل 8 به توسعه سیستم IBM/360 و تأثیر آن بر توسعه کامپیوترهای بعدی می‌پردازد. System/360 خانواده‌ای از کامپیوترهای بزرگ (Mainframe) بود و کاربر می‌توانست با یکی از اعضای این خانواده که مشخصات پایین‌تری دارد کارش را شروع کرده و به تدریج کامپیوتر خودش را به یکی از اعضای قدرتمندتر این خانواده ارتقا دهد. این آغاز دوران سازگاری کامپیوترها بود و باعث شد طی 20 سال آینده IBM در مسیر تسلط بر حوزه کامپیوتر قرار گیرد.

فصل 9 به مِین‌فریم‌های نسل بعد و مینی‌کامپیوترها، از جمله مینی‌کامپیوترهای PDP-1، PDP-11 و VAX 11/780 DEC، که در جوامع علمی/مهندسی پرطرفدار بودند، می‌پردازد. ما در مورد کامپیوتر‌های اصلی امدال (Amdahl)، مانند Amdahl 470V/6، و رقابت شدید بین IBM و Amdahl صحبت خواهیم کرد.

فصل 10 به اختراع انقلابی ریزپردازنده می‌پردازد که منجر به توسعه کامپیوتر‌های خانگی و شخصی شد. ما در مورد ریزپردازنده‌های اولیه، مانند اینتل  4004، موتورولا  6800 توضیح خواهیم داد. پردازنده 16-بیتی اینتل  8086 در سال 1979 به بازار آمد و به عنوان ریزپردازنده کامپیوتر شخصی IBM انتخاب شد.

فصل 11 کامپیوترهای خانگی، نظیر کامپیوترهای خانگی Apple I و II که به ترتیب در سال 1976 و 1977 عرضه شدند، را مورد بحث قرار می‌دهد. ما در مورد کامپیوتر Commodore PET که در سال 1977 معرفی شد و کامپیوترهای Atari 400 و  800 که در سال 1979 منتشر شدند صحبت می‌کنیم. در سال 1982 کامپیوتر Commodore 64 معرفی شد و بسیار مورد استقبال قرار گرفت. کامپیوترهای Sinclair ZX 81 و ZX Spectrum به ترتیب در سال‌های 1980 و 1981 بیرون آمدند. و به دنبال آنها کامپیوتر اپل مکینتاش در سال 1984 عرضه شد.

فصل 12 به معرفی کامپیوتر شخصی IBM می‌پردازد که نقطه عطفِ مهمی ‌در زمینه کامپیوتر بود. هدف IBM ورود هرچه سریعتر به بازار کامپیوتر‌های خانگی بود و این امر باعث شد که IBM کامپیوترهای خودش را از قطعات آماده‌ای که توسط برخی از شرکت‌های دیگر تولید می‌شد بسازد. IBM توسعه سیستم‌عامل را به یک شرکت کوچک به نام مایکروسافت برون‌سپاری کرد، و شرکت اینتل را برای تامین ریزپردازنده کامپیوتر جدید خودش انتخاب کرد.

فصل 13 تاریخچه کوتاهی از سیستم‌عامل‌ها ارائه می‌دهد، از جمله IBM OS/360 که سیستم‌عامل خانواده کامپیوترهای IBM System/360 بود. ما در مورد سیستم‌عامل‌های MVS و VM صحبت می‌کنیم که در کامپیوتر اصلی IBM System/370 استفاده می‌شد. در اوایل دهه 1970 کن تامپسون و دنیس ریچی سیستم‌عامل محبوب یونیکس را توسعه دادند. DEC سیستم‌عامل VAX/VMS را در اواخر دهه 1970 برای مینی‌کامپیوترهای خانواده VAX خودش توسعه داد. مایکروسافت در سال 1981 MS/DOS را برای کامپیوتر شخصی IBM توسعه داد و ویندوز را به عنوان پاسخی به سیستم‌عامل مبتنی بر رابطِ کاربرِ گرافیکی اپل مکینتاش معرفی کرد.

در فصل 14 تولد صنعت نرم‌افزار و توسعه تعامل انسان و کامپیوتر مورد بررسی قرار می‌گیرد. ما در مورد تصمیم IBM در اواخر دهه 1960 برای جداسازی نرم‌افزارهای خودش بحث می‌کنیم. این موضوع صنعت کامپیوتر را برای همیشه تغییر داد و نرم‌افزار را از کالایی که قبلاً روی سخت‌افزار عرضه می‌شد، به محصولی تبدیل کرد که به نوبه خودش دارای ارزش تجاری و صنعتی است. تصمیم IBM به تولد صنعت نرم‌افزار و خدماتی منجر شد که امروزه شاهد آن هستیم و کیفیت نرم‌افزار و استفاده‌پذیری آن اهمیت فزاینده‌ای پیدا کرد.

فصل 15 تاریخچه کوتاهی از زبان‌های برنامه‌نویسی را ارائه می‌دهد که از زبان‌های ماشین شروع شده و به زبان‌های اسمبلی، زبان‌های رَویه‌ای سطح بالا مانند Fortran و COBOL می‌رود. این مسیر به زبان‌های سطح بالای بعدی، مانند Pascal و C، و زبان‌های شیء‌گرا مانند C++ و Java ادمه می‌یابد. سپس زبان‌های برنامه‌نویسی تابعی و زبان‌های برنامه‌نویسی منطقی مورد بحث قرار می‌گیرند و بحث کوتاهی در مورد حوزه مهم نحو (syntax) و معناشناسی (semantics) خواهد آمد.

فصل 16 تاریخچه کوتاهی از مهندسی نرم‌افزار را از بدو تولد آن در کنفرانس گارمیش در آلمان ارائه می‌دهد، و تاکید می‌کند که مهندسی نرم‌افزار چیزی فراتر از برنامه‌نویسی است. ما چالش‌های کلیدی در مهندسی نرم‌افزار و همچنین برخی از خرابی‌های نرم‌افزاری معروف را مورد بحث قرار می‌دهیم. چرخه‌های حیات آبشاری و مارپیچی، و همچنین بحث مختصری در مورد فرآیند یکپارچه منطقی ارائه خواهد شد. ما در مورد فعالیت‌های کلیدی در مدل سنتی آبشاری مانند الزامات، طراحی، اجرا، و آزمایش واحدی صحبت می‌کنیم.

فصل 17 تاریخچه کوتاهی از صنعت مخابرات را ارائه می‌دهد و بر توسعه فناوری تلفن همراه تمرکز دارد. توسعه سیستم AXE توسط اریکسون بررسی می‌شود. AXE اولین سیستم سوئیچینگ دیجیتال کاملاً خودکار بود. ما در مورد مفهوم سیستم سلولی که توسط آزمایشگاه‌های بل معرفی شد، و همچنین معرفی اولین تلفن همراه DynaTAC توسط موتورولا صحبت می‌کنیم.

فصل 18 انقلاب اینترنت را توضیح می‌دهد که از پروژه ARPANET شروع شد. ARPANET یک شبکه راه‌گزینی بسته‌ای کوچک (packet switching) بود. TCP/IP،که مجموعه‌ای از استانداردهای شبکه برای اتصال شبکه‌ها و کامپیوترها به یکدیگر است، را توضیح می‌دهیم. این تحولات منجر به تولد اینترنت شد. کار تیم برنرز لی (Tim Berners-Lee) در سِرن منجر به تولد شبکه جهانی وب شد. حباب دات کام و انفجار بعدی آن در اواخر دهه 1990/ اوایل 2000 مورد بحث قرار می‌گیرد، و در مورد برخی از پیشرفت‌های جدیدتر، از جمله اینترنت اشیا و پول اینترنتی، صحبت می‌کنیم.

فصل 19 اختراع تلفن هوشمند و ظهور رسانه‌های اجتماعی را مورد بحث قرار می‌دهد. این فصل تکامل تلفن‌های هوشمند از دستیاران شخصی (PDA) و فناوری تلفن همراه را توضیح می‌دهد. تلفن‌های هوشمند امروزی اساساً کامپیوترهای کوچک لمسی هستند که روی یک تلفن همراه جاسازی شده‌اند. تاثیر فیس بوک و توییتر در شبکه‌های اجتماعی مورد بحث قرار می‌گیرد. فیس بوک پیشروترین سایت رسانه اجتماعی در جهان است و راهی برای گفتگو درباره امیدها و آرزوهای جوانان، و همچنین ابزاری برای اعتراض و انقلاب اجتماعی را فراهم آورده. توییتر به ابزاری محبوب در ارتباطات سیاسی و همچنین راهی موثر برای کسب و کارها برای تبلیغ محصولات خودشان به مخاطبانِ هدف تبدیل شده است.

فصل 20 نوآوری‌های متفرقه‌ که در زمینه کامپیوتر ارائه شده، از جمله سیستم‌های توزیع شده، معماری سرویس گرا (SOAنرم‌افزار به عنوان سرویس (SaaSرایانش ابری و سیستم‌های تعبیه شده را توضیح می‌دهد. ما همچنین در مورد GPS، ویکی پدیا، رایانش کوانتومی ‌و فناوری نانو صحبت خواهیم کرد.

فصل 21 تاریخچه کوتاهی از پایگاه‌های داده را ارائه می‌دهد، که شامل بحث در مورد مدل‌های سلسله مراتبی و مدل شبکه است. ما مدل رابطه‌ای که توسط کاد  در IBM توسعه داده شد را با جزئیات بیشتری مورد بحث قرار می‌دهیم، زیرا اکثر پایگاه‌های داده‌ که امروزه به کار گرفته می‌شوند از نوع رابطه‌ای هستند. توضیح کوتاهی نیز در مورد زبان پرس و جوی SQL و پایگاه داده اوراکل ارائه خواهد شد.

فصل 22 تاریخچه کوتاهی از هوش مصنوعی ارائه می‌کند. آزمون تورینگ را مورد بحث قرار می‌دهیم که آزمونی برای سنجش هوش ماشین است، و شامل هوش مصنوعی قوی و ضعیف می‌باشد. کامپیوتری که برنامه‌ریزی آن طوری باشد که خاصیت هوش مصنوعی قوی داشته باشد، اساساً شبیه یک ذهن انسانی است، ولی کامپیوتری که برنامه‌ریزی شده تا هوش مصنوعی ضعیف داشته باشد، فقط فکر انسانی را شبیه‌سازی می‌کند و درک واقعی ندارد. ما استدلال اتاق چینی سرل را مورد بحث قرار می‌دهیم که استلالی برای رد هوش مصنوعی قوی است. سپس نظرات وایزنباوم در مورد اخلاق هوش مصنوعی و مسائل فلسفی هوش مصنوعی را مورد بحث قرار می‌دهیم. همچنین درمورد مدل‌های زبانی بزرگ و چت‌بات‌هایی نظیر Chat-GPT صحبت می‌کنیم که در اوایل دهه 2020 ظهور کردند و تحول مهمی را در زمینه هوش مصنوعی ایجاد نمودند.

فصل 23 اخلاق و مسئولیت‌های حرفه‌ای در حوزه کامپیوتر را مورد بحث قرار می‌دهد. اخلاق شاخه‌ای از فلسفه است که به مسائل اخلاقی نظیر اینکه چه چیزی درست یا نادرست است می‌پردازد. اخلاقِ کامپیوتری مجموعه‌ای از اصولی است که رفتار افراد هنگام استفاده از منابع کامپیوتری را هدایت می‌کند. اخلاق حرفه‌ای یک آیین نامه رفتاری است که نحوه برخورد اعضای یک حرفه با یکدیگر و اشخاص ثالث را کنترل می‌کند و ما در مورد سهم دیوید پارناس در مسئولیت حرفه‌ای و آیین نامه اخلاقی ACM و BCS صحبت خواهیم کرد.

فصل 24 جنبه‌های حقوقی رایانش را مورد بحث قرار می‌دهد که به همپوشانی قانون و رایانش مربوط می‌شود. ما در مورد مالکیت فکری، مانند حق ثبت اختراع، حق تکثیر (کپی‌رایت) و علائم تجاری، و مجوز نرم‌افزار صحبت می‌کنیم. ما حوزه هک و جرایم کامپیوتر‌ی را بررسی می‌کنیم و ماهیت حریم خصوصی، آزادی بیان و سانسور را مورد بحث قرار می‌هیم. بعداً مسائل حقوقی مربوط به توسعه نرم‌افزارهای سفارشی ‌و جنبه‌های قانونی اینترنت را نیز در نظر می‌گیریم.

مخاطبین این کتاب

مخاطبان اصلی این کتاب دانشجویان رشته کامپیوتر هستند که علاقه دارند با تاریخچه کامپیوتر آشنایی پیدا کنند. این کتاب همچنین برای همه خوانندگانی که در مورد تاریخچه کامپیوتر و علوم رایانه‌ای کنجکاو هستند، جالب خواهد بود.

 جرارد اُ ریگان

کورک، ایرلند


17/08/1403

فصل 1، کامپیوتر چیست؟

1.1 مقدمه

کامپیوترها بخش ‌جدایی ناپذیرِ جوامع مدرن هستند و فناوری‌های جدید باعث شده دنیای امروز به یک دهکده جهانی بدل شود. امروزه ارتباط انسان‌ها می‌تواند با استفاده از پیام‌های متنی، واتس‌اپ، اسکایپ، تلفن‌های همراه، تماس‌های ویدیویی از طریق اینترنت، ایمیل و رسانه‌های اجتماعی مانند فیس‌بوک، توییتر، و اینستاگرام انجام شود. فن‌آوری‌های جدید به مردم اجازه می‌دهد تا در سراسر جهان با دوستان و خانواده خودشان در تماس باشند. شبکه جهانی وب به کسب و کارها اجازه می‌دهد تا در بازار جهانی رقابت کنند.

کامپیوتر یک دستگاه الکترونیکی قابل برنامه‌ریزی است که می‌تواند داده‌ها را پردازش، ذخیره، و بازیابی کند، یا طبق مجموعه‌ای از دستورالعمل‌ها یا برنامه‌ها، داده‌ها را پردازش کند. همه ‌کامپیوترها از دو بخش اصلی تشکیل شده‌اند: سخت‌افزار و نرم‌افزار. سخت‌افزار بخش فیزیکی دستگاه را تشکیل می‌دهد. اجزای یک کامپیوتر دیجیتال شامل این موار است: حافظه برای ذخیره کوتاه مدت داده‌ها یا دستورات، واحد حساب/منطق برای انجام عملیات حسابی و منطقی، واحد کنترل برای اجرای دستورات کامپیوتر در حافظه، و تجهیزات جانبی که عملیات ورودی و خروجی را انجام می‌دهند. نرم‌افزار مجموعه‌ای از دستورات است که به کامپیوتر می‌گوید چه کاری انجام دهد.

در اصل کلمه "کامپیوتر" به معنای حسابگر است، و قبلاً بجای اینکه به ماشین خاصی اشاره کند، به کسانی اطلاق می‌شد که کارشان انجام محاسبات بود. کامپیوترهای دیجیتال اولیه، که در دهه‌های 1940 و 1950 ساخته شدند، ماشین‌های خیلی بزرگی ‌بودند که از هزاران لامپ خلاء تشکیل می‌شدند. آنها معمولاً یک اتاق بزرگ را پر می‌کردند، اما قدرت محاسباتی آنها کسر کوچکی از کامپیوتر‌های شخصی است که امروزه همه از آنها استفاده می‌کنند.

دو خانواده متفاوت از دستگاه‌های کامپیوتری وجود دارد که عبارتند از کامپیوترهای دیجیتالِ مدرن و کامپیوترهای آنالوگِ قدیمی. اولین کامپیوترها از نوع آنالوگ بودند نه دیجیتال، و این دو نوع کامپیوتر بر اساسِ اصولِ کاملاً متفاوتی کار می‌کنند.

محاسبات در یک کامپیوتر دیجیتال بر اساس ارقام باینری ، یعنی "0" و "1"، است، و از مدارهای الکترونیکی برای نمایش اعداد دودویی استفاده می‌شوند، که حالت یک کلید الکتریکی (مثلاً، "روشن" یا "خاموش" بودن آن) در داخل یک کامپیوتر یک رقم دودویی را نشان می‌دهد.

کامپیوتر دیجیتال یک دستگاه ترتیبی است که مرحله به مرحله روی داده‌ها عملیات انجام می‌دهد.

داده‌ها در قالب باینری نمایش داده می‌شوند، و برای نمایش یک رقم باینری در یک کامپیوتر دیجیتال، از یک ترانزیستور استفاده می‌شود. برای ذخیره اعداد بزرگتر به چندین ترانزیستور نیاز است. اولین کامپیوترهای دیجیتال در دهه 1940 توسعه یافتند.

در مقایسه با یک کامپیوتر دیجیتال، یک کامپیوتر آنالوگ به روشِ کاملاً متفاوتی عمل می‌کند. نمایش داده‌ها در یک کامپیوتر آنالوگ، ویژگی‌ داده‌هایی را منعکس می‌کند که آنها را مدل سازی کرده. به عنوان مثال، در یک کامپیوتر آنالوگ داده‌ها و اعداد می‌توانند با مقادیر فیزیکی مانند ولتاژ الکتریکی نمایش داده شوند، ولی این مقادیر در یک کامپیوتر دیجیتال توسط جریانی از ارقام باینری نشان داده می‌شود.

 1.2 کامپیوترهای آنالوگ

در قرن نوزدهم، جیمز تامپسون (که برادر لرد کلوینِ فیزیکدان بود) کارهای بنیادی اولیه را روی محاسبات آنالوگ انجام داد. او یک چرخ و یک دیسک انتگرال‌گیر را اختراع کرد که از آن در دستگاه‌های آنالوگ مکانیکی استفاده می‌شد. او در ساخت دستگاهی برای انتگرال‌گیری حاصل‌ضرب دو تابع با برادرش همکاری کرد. کلوین بعداً یک ماشین آنالوگ همه منظوره را برای انتگرال‌گیری از معادلات دیفرانسیل خطی با هر مرتبه‌ای طرح ریزی کرد (ولی آن را نساخت). او یک کامپیوتر آنالوگ برای پیش‌بینی جزر و مد ساخت که تا دهه 1960 در بندر لیورپول مورد استفاده قرار می‌گرفت[1].

عملیات در یک کامپیوتر آنالوگ به صورت موازی انجام می‌شود. این کامپیوترها در شبیه سازی سیستم‌های پویا کاربرد دارند. آنها برای شبیه سازی پرواز، نیروگاه‌های هسته‌ای، و فرآیندهای شیمیایی صنعتی به کار می‌روند.

اولین کامپیوتر آنالوگ مکانیکی همه منظوره در مقیاس بزرگ توسط وانی‌وار بوش (Vannevar Bush) در موسسه فناوری ماساچوست ساخته شد. این دستگاه تحلیلگر تفاضلی بوش (differential analyzer) نام داشت (شکل 1.1) و یک کامپیوتر آنالوگ مکانیکی بود که برای حل معادلات دیفرانسیل مرتبه ششم از طریق انتگرال‌گیری طراحی شده بود، و از مکانیزم چرخ و دیسک برای انتگرال‌گیری استفاده می‌کرد. ماشینی  کردن حلِ مسائل باعث شد تا مسائل مربوط به انتگرال گیری و معادلات دیفرانسیل با سرعت بیشتری حل شوند. این دستگاه فضایی به اندازه یک میز 20 متری را اشغال می‌کرد و  حدود 100 تن وزن داشت.

شکل 1.1 وانی‌وار بوش  در کنار تحلیلگر تفاضلی خودش

 این دستگاه برای انجام محاسبات از چرخ‌ها، دیسک‌ها، شفت‌ها، و چرخ‌دنده‌ها استفاده می‌کرد. تکنسین‌ها به زمان قابل توجهی نیاز داشتند تا این دستگاه را برای حل یک معادله خاص تنظیم کنند. این دستگاه شامل 150 موتور و هزاران متر سیم بود که رله‌ها و لامپ‌های خلاء را به هم متصل می‌کرد.

نمایش داده‌ها در یک کامپیوتر آنالوگ جمع و جور و ساده است، اما ممکن است در معرض خرابی با پارازیت قرار گیرد. یک خازن تکی می‌تواند یک متغیر پیوسته را در یک کامپیوتر آنالوگ نشان دهد، در حالی که برای همین کار در یک کامپیوتر دیجیتال به چندین ترانزیستور نیاز است. مدت کوتاهی پس از پایان جنگ جهانی دوم کامپیوترهای آنالوگ با کامپیوترهای دیجیتال جایگزین شدند.

 1.3 کامپیوترهای دیجیتال

کامپیوترهای دیجیتال اولیه برای ذخیره اطلاعات باینری از لامپ‌های خلاء استفاده می‌کردند، که هر لامپ خلاء می‌توانست یک مقدار دودویی "0" یا "1" را نشان دهد. این لامپ‌ها بزرگ و حجیم بودند و مقدار قابل توجهی گرما تولید می‌کردند. برای خنک کردن دستگاه به تهویه مطبوع نیاز بود و در قابلیت اطمینان لامپ‌ها مشکلاتی وجود داشت.

در اواخر دهه 1940، شاکلی و همکارانش ترانزیستور را اختراع کردند و از اواخر دهه 1950 ترانزیستورها جایگزین لامپ‌های خلاء شدند. ترانزیستورها کوچک هستند و انرژی بسیار کمی‌ مصرف می‌کنند و کامپیوتر‌های ساخته شده از آنها کوچکتر، سریعتر، و قابل اعتمادتر بودند.

در اوایل دهه 1960 مدارهای مجتمع (ICها) به بازار آمدند و می‌شد مقدار زیادی از توان محاسباتی را روی یک تراشه بسیار کوچک قرار داد. مدارهای مجتمع کوچک هستند و انرژی بسیار کمی ‌مصرف می‌کنند و می‌توانند با استانداردهایی در کیفیت بسیار بالا تولید شوند. ولی اصلاح یا تعمیر مدارهای مجتمع دشوار است و تقریباً همیشه به تعویض نیاز دارند.

معماری کلی یک کامپیوتر از زمانی که فون نویمان و دیگران آن را در اواسط دهه 1940 طراحی کردند، تقریباً یکسان باقی مانده است. این شامل یک واحد پردازش مرکزی (CPU) است که شامل واحد کنترل و واحد حساب، یک واحد ورودی و خروجی و حافظه است.

 1.3.1 لامپ‌های خلاء

لامپ خلاء (Vacuum Tube) دستگاهی است که به عبور جریان الکتریکی از خلاء متکی است. پیش از اختراع ترانزیستور از لامپ‌های خلاء (یا دریچه‌های گرمایونی) به طور گسترده در وسایل الکترونیکی مانند تلویزیون، رادیو، و کامپیوتر استفاده می‌شد.

مکانیزم اصلی یک لامپ خلاء بر این اساس است که جریان برق از یک رشته عبور کرده و آن را گرم می‌کند تا از خودش الکترون ساطع کند. الکترون‌ها دارای بار منفی هستند و در لامپ جذب صفحه مثبتِ کوچکی به نام آند می‌شوند. بنابراین یک جریان یک طرفه بین رشته و صفحه برقرار می‌شود. قبلاً توماس ادیسون در حین بررسی شکستن رشته‌های لامپ این موضوع را مشاهده کرده بود. او به سیاه شدن ناهموار لامپ‌های رشته‌ای خود اشاره کرد و گفت که یک جریان میان رشته لامپ و صفحه‌ در خلاء جریان می‌یابد.

کامپیوترهای نسل اول از چندین هزار لامپ خلاء بزرگ استفاده می‌کردند، و چند ردیف از این لامپ‌های خلاء، فضایی به اندازه یک اتاق بزرگ را اشغال می‌کردند. لامپ‌های خلاء که در کامپیوترهای اولیه از آنها استفاده می‌شد، یک لامپ سه پایه بودند که از یک کاتد، یک شبکه، و یک صفحه تشکیل شده بود. از یک لامپ خلاء برای نشان دادن یکی از دو حالت باینری، یعنی مقدار باینری "0" یا "1" استفاده می‌شد.

در این لامپ‌ها رشته به مرور زمان ناپایدار می‌شود. علاوه براین، اگر هوا به داخل لامپ نشت می‌کرد، اکسیژن با رشته داغ واکنش کرده و به آن آسیب می‌رساند. اندازه بزرگ، و غیرقابل اعتماد بودن لامپ‌های خلاء، انگیزه‌ای برای تحقیق در مورد فناوری‌های کوچکتر و قابل اعتمادتر شد، که نهایتاً در اواخر دهه 1940 به اختراع ترانزیستور انجامید.

نسل اول کامپیوترهای دیجیتال همگی از لامپ‌های خلاء استفاده می‌کردند: برای مثال، کامپیوتر آتاناسوف-بری (ABC) در سال 1942 در دانشگاه آیووا توسعه یافت. Colossus در بلچلی پارک انگلستان در سال 1944 ساخته شد. ENIAC در اواسط دهه 1940 در ایالات متحده توسعه یافت. UNIVAC I در سال 1951 ساخته شد. Whirlwind در سال 1951 توسعه یافت. و IBM 701 در سال 1953 توسعه یافت.

 1.3.2 ترانزیستور

ترانزیستور (Transistor) یک عنصر اصلی در سیستم‌های الکترونیکی امروزی است و اختراع آن انقلابی در زمینه الکترونیک ایجاد کرد. این دستگاه نسبت به لامپ‌های خلاء کوچک‌تر، ارزان‌تر، و قابل اعتمادتر بود.

ترانزیستور یک وسیله الکترونیکی است که سه ترمینالِ حالتِ جامد دارد. این دستگاه می‌تواند یک جریان الکتریکی یا یک ولتاژ را بین دو پایانه با اعمال جریان یا ولتاژ الکتریکی به ترمینال سوم کنترل کند. ترانزیستور سه ترمیناله (سه‌پایه) امکان ساخت یک کلید الکتریکی را می‌دهد که می‌تواند توسط یک کلید الکتریکی دیگر کنترل شود. مدارهای منطقی پیچیده ممکن است با آبشاری از این سوئیچ‌ها ساخته شوند (سوئیچ‌هایی که خودشان سوئیچ‌هایی را کنترل می‌کنند که آنها نیز سوئیچ‌هایی را کنترل می‌کنند، و به همین ترتیب).

این مدارهای منطقی بسیار فشرده می‌توانند روی یک تراشه سیلیکونی قرار بگیرند (مثلاً با چگالی میلیون‌ها یا میلیاردها ترانزیستور در هر سانتی متر مربع). سوئیچ‌ها می‌توانند خیلی سریع روشن و خاموش شوند (به عنوان مثال، در هر  0.000000001 ثانیه). این تراشه‌های الکترونیکی در قلب دستگاه‌های الکترونی امروزی قرار دارند.

ترانزیستور (شکل 1.3) پس از جنگ جهانی دوم در آزمایشگاه‌های بل توسعه یافت. هدف از این تحقیق یافتن یک جایگزین حالتِ جامد برای لامپ‌های خلاء بود، زیرا این فناوری بیش از حد حجیم و غیرقابل اعتماد بود. سه مخترع آزمایشگاه بل (شاکلی، باردین و براتین) در سال 1956 به پاس اختراع ترانزیستور جایزه نوبل فیزیک را دریافت کردند.

ویلیام شاکلی (William Shockley) (شکل 1.2) در طول جنگ جهانی دوم در تحقیقات راداری و عملیات ضد زیردریایی شرکت داشت و پس از جنگ به همراه همکارانش باراتین (Brattain) و باردین (Bardeen) یک گروه تحقیقاتی را برای یافتن جایگزینی که حالت جامد داشته باشد برای لامپ‌های خلاء که از شیشه استفاده می‌کردند رهبری کرد.

 

شکل 1.2 ویلیام شاکلی.

 باردین و براتین در سال 1947 مستقل از شاکلی موفق به ساخت یک ترانزیستور تماس نقطه‌ای شدند که روی ترانزیستور مبتنی بر اتصال کار می‌کرد. شاکلی معتقد بود که ترانزیستور تماس نقطه‌ای از نظر تجاری قابل دوام نخواهد بود، ولی ترانزیستور تماس نقطه‌ای شاکلی در سال 1951 اعلام شد (شکل 1.3).

شکل 1.3 ماکت ترانزیستور اولیه.

 شاکلی کسی نبود که کارکردن با او آسان باشد، و روابط میان او و همکارانش بدتر شد. او در سال 1955 شرکت Shockley Semiconductor (بخشی ‌از Beckman Instruments) را تشکیل داد.

نسل دوم کامپیوترها به جای لامپ‌های خلاء از ترانزیستور استفاده می‌کردند. کامپیوترِ ترانزیستوری دانشگاه منچستر یکی از اولین کامپیوترهای ترانزیستوری بود. نمونه اولیه این ماشین در سال 1953 بیرون آمد و نسخه کامل آن در سال 1955 راه اندازی شد. ما در فصل 6 با جزئیات بیشتری اختراع ترانزیستور را مورد بحث قرار می‌دهیم.

 1.3.3 مدارهای مجتمع

در سال 1958 جک کیلبی در شرکت تگزاس اینسترومنتز مدار مجتمع را اختراع کرد. ترانزیستور او از یک ویفر ژرمانیوم استفاده می‌کرد. بعداً رابرت نویس از شرکت Fairchild Semiconductors کار روی مدارهای مجتمع سیلیکونی را انجام داد. مدارهای یکپارچه راه حلی برای مشکل ساخت مدارها با تعداد زیادی از اجزا الکترونیکی بود. به دلیل مشارکتی که کیلبی در اختراع مدارهای مجتمع داشت، در سال 2000 جایزه نوبل فیزیک به او اهدا شد.

ایده مدارهای‌مجتمع (IC) این بود که به جای ساختن تک تک ترانزیستورها، بتوان همزمان چند ترانزیستور را روی یک قطعه نیمه‌هادی جا داد. این اجازه می‌دهد تا ترانزیستورها و سایر اجزای الکتریکی، مانند مقاومت‌ها، خازن‌ها، و دیودها در یک فرآیندِ یکسان و با مواد یکسان ساخته شوند.

یک مدار مجتمع شامل مجموعه‌ای از مدارهای الکترونیکی است که بر روی یک تراشه کوچکِ مواد نیمه‌هادی قرار دارند و از مداری که از اجزای جداگانه ساخته شده بسیار کوچکتر است. مدارهای مجتمع امروزی بسیار فشرده هستند و می‌توانند در ناحیه کوچکی، حاوی میلیاردها ترانزیستور و سایر قطعات الکترونیکی باشند. به دلیل پیشرفت تکنولوژی در طول سال‌ها، پهنای هر خط رسانا کمتر و کوچکتر شده است و اکنون بر حسب چند ده‌ نانومتر اندازه گیری می‌شود.

در 30 سال گذشته، هر 1 تا 2 سال یکبار تعداد ترانزیستورها در واحد سطح  (تقریباً) دو برابر شده است. این پیشرفت شگفت انگیز در ساخت مدارها، به عنوان قانون مور شناخته می‌شود که برگرفته از نام گوردون مور (یکی از بنیانگذاران اینتل) است که در اواسط دهه 1960 این قانون را معرفی کرد، (به فصل 7 مراجعه کنید).

کیلبی در حال طراحی ماژول‌های کوچک برای ارتش بود، که شامل اتصال بسیاری از ویفرهای ژرمانیوم[2] بود که از اجزای مجزا تشکیل شده بودند و ویفرها باید بر روی یکدیگر چیده می‌شدند. اتصالات توسط سیم‌هایی ایجاد می‌شد که از کناره‌ ویفرها عبور می‌کردند.

کیلبی این فرآیند را غیرضروری و پیچیده دید و متوجه شد که اگر یک قطعه ژرمانیوم به درستی مهندسی شود، می‌تواند به طور همزمان به عنوان چند جزء مختلف عمل کند. این ایده‌ای بود که منجر به تولد اولین مدار مجتمع شد و توسعه آن شامل کوچک سازی ترانزیستورها و قرار دادن آنها بر روی تراشه‌های سیلیکونی به نام نیمه‌هادی‌ها  (Semiconductor) بود. استفاده از نیمه‌هادی‌ها به تولید کامپیوتر‌های نسل سوم منجر شد و سرعت و کارایی آنها را افزایش داد.

کاربرانِ کامپیوترهای نسل سوم از طریق صفحه کلید و مانیتور با کامپیوتر تعامل داشتند و از طریق یک سیستم‌عامل با آن ارتباط برقرار می‌کردند. سیستم‌عامل به دستگاه اجازه می‌داد بسیاری از برنامه‌های کاربردی مختلف را با یک برنامه مرکزی که بر حافظه نظارت داشت اجرا کند. در این دوره کامپیوتر‌ها برای مخاطبان بیشتری در دسترس قرار گرفتند، زیرا آنها کوچکتر و ارزان‌تر از کامپیوترهای قبلی بودند. اختراع مدارهای مجتمع در فصل 7 با جزئیات بیشتری مورد بررسی قرار گرفته است.

 1.3.4 ریزپردازنده‌ها

ریزپردازنده Intel P4004 (شکل 1.4) اولین ریزپردازنده جهان بود و در سال 1969 عرضه شد. این اولین دستگاه نیمه‌هادی بود که در سطح یک تراشه، عملکردهای یک کامپیوتر را ارائه می‌داد.

شکل 1.4 ریزپردازنده Intel 4004

ریزپردازنده‌ به جای اینکه از اول طراحی شود، اختراع آن بطور تصادفی اتفاق افتاد. یک شرکت ژاپنی بنام Busicom، از اینتل خواست تا مجموعه‌ای از مدارهای مجتمع را برای خانواده جدید ماشین حساب‌های‌ برنامه‌پذیرِ پیشرفته این شرکت طراحی کند. یکی از مهندسین اینتل، بنام تد ‌هاف، طرح Busicom را مطالعه کرد و آن را رد کرد. او راه حل کارآمد‌تری را پیشنهاد کرد که فقط به 4 مدار مجتمع نیاز داشت (طراحی اولیه Busicom به 12 مدار مجتمع نیاز داشت). طراحی ‌هاف شامل تراشه‌ای بود که یک دستگاه منطقی همه منظوره بود که دستورالعمل‌های خود را از حافظه نیمه‌هادی استخراج می‌کرد. این همان ریزپردازنده اینتل 4004 بود.

این ریزپردازنده  اجزاء سازنده اصلی که در میکروکامپیوترهای امروزی از آنها استفاده می‌شود، از جمله واحد حساب و منطق، و واحد کنترل، را در خودش داشت. اینتل 4004 چهار بیتی بود و با سرعت 108 کیلوهرتز کار می‌کرد و حاوی 2300 ترانزیستور بود. اینتل  4004 داده‌ها را در 4 بیت پردازش می‌کرد، اما دستورالعمل‌های آن 8 بیت بودند. این می‌توانست حافظه برنامه را تا 1 کیلوبایت و حافظه داده را حداکثر تا 4 کیلوبایت آدرس دهی کند.

گری کیلدال از شرکت Digital Research یکی از اولین افرادی بود که به توانایی‌های یک ریزپردازنده به عنوان یک کامپیوترِ کامل پی برد. او به عنوان مشاور با اینتل کار کرد و شروع به نوشتن برنامه‌های آزمایشی ‌برای ریزپردازنده اینتل  4004 کرد. او بعداً سیستم‌عامل CP/M را برای تراشه اینتل 8080 توسعه داد و Digital Research را برای بازاریابی و فروش این سیستم‌عامل راه اندازی کرد.

ساخت ریزپردازنده‌ها به نسل چهارم کامپیوترها منجر شد که هزاران مدار مجتمع داشتند که روی یک تراشه سیلیکونی قرار می‌گرفت. حالا یک تراشه واحد می‌توانست شامل تمام اجزای یک کامپیوتر، از CPU و حافظه گرفته تا کنترل‌های ورودی و خروجی باشد. این ریزپردازنده‌ها می‌توانستند در کف یک دست جا شوند، در حالی که پردازنده نسل اول کامپیوترها کُل یک اتاق را پر می‌کردند. در فصل 10 اختراع ریزپردازنده‌ها با جزئیات بیشتری مورد بررسی قرار می‌گیرد. ظهور ریزپردازنده‌ها به صنعت کامپیوترهای خانگی و شخصی منجر شد.

 1.4 معماری فون نویمان

کامپیوترهای اولیه ماشین‌هایی با برنامه‌های ثابت بودند که برای انجام یک کار خاص طراحی می‌‌شدند. بعداً ثابت شد که این یک محدودیت بزرگ است، زیرا برای تنظیم دستگاه برای حل یک مسئله خاص، به یک فرآیند پیچیده سیم کشی مجدد نیاز بود که باید بصورت دستی انجام می‌گرفت.

کامپیوترهایی که امروزه مورد استفاده قرار می‌گیرند، ماشین‌های همه منظوره هستند که به گونه‌ای طراحی شده‌اند که می‌توانند برنامه‌های گوناگون را بر روی دستگاه اجرا ‌کنند. در اواخر دهه 1940 جان فون نویمان (von Neumann) و برخی از دانشمندان دیگر، معماری اصلی کامپیوتر‌های امروزی را طراحی کردند، که به معماری فون نویمان  معروف است (شکل 1.5).

شکل 1.5 معماری فون نویمان (von Neumann architecture)

 

شکل 1.6 چرخه واکشی/اجرا

 معماری فون نویمان بر اساس کارهای انجام شده توسط فون نویمان، اکرت، ماچلی و دیگران بود که بر اساس آن کامپیوتر EDVAC ساخته شد که جانشین کامپیوتر ENIAC بود. پیش‌نویس گزارش فون نویمان در مورد EDVAC جزئیات این معماری جدید را تشریح کرد.

معماری فون نویمان منجر به تولد کامپیوتر‌هایی شد که علاوه بر داده‌ها، برنامه‌ها نیز در حافظه ذخیره می‌شدند، و برای ذخیره دستورات کامپیوتر و داده‌ها از یک انباره واحد استفاده می‌شد.

طبق نظر فون نویمان، رویکرد اصلی برای ساختن یک دستگاه همه منظوره، داشتن این توانایی بود که حافظه نه تنها داده‌ها و نتایج میانی محاسبات را ذخیره کند، بلکه دستورالعمل‌ها یا دستورات محاسباتی را نیز ذخیره کند. در کامپیوتر‌های تخصصی، دستورات می‌توانند بخشی ‌از سخت‌افزار کامپیوتر باشند، اما برای ماشین‌های همه منظوره، دستورات کامپیوتر باید به اندازه داده‌هایی که دستورات بر اساس آنها عمل می‌کنند، قابل تغییر باشند. بینش مهم او این بود که تشخیص داد دستورات کامپیوتر و داده‌ها می‌توانند در یک حافظه واحد ذخیره شوند.

مزیت کلیدی معماری فون نویمان نسبت به رویکرد قبلی این بود که برای انجام یک کار متفاوت، پیکربندی مجدد کامپیوتر بسیار ساده‌تر بود. تنها چیزی که لازم بود انجام شود این بود که به جای سیم‌کشی مجدد کامپیوتر، دستورالعمل‌های جدید را در حافظه کامپیوتر وارد کنید، و این همان‌کاری بود که در ENIAC انجام شد. یکی از محدودیت‌های‌ معماری فون نویمان این است که فقط می‌تواند پردازش متوالی را انجام دهد و برای پردازش موازی چندان مناسب نیست.

 1.5 سخت‌افزار و نرم‌افزار

سخت‌افزار بخشِ فیزیکی دستگاه را تشکیل می‌دهد، که قابل تشخیص است و می‌توان آن را دید یا لمس کرد. این شامل کارتهای‌ منگنه شده (پانچ‌‌شده)، لامپ‌های خلاء، ترانزیستورها، بُرد مدارها، مدارهای مجتمع، و ریزپردازنده‌ها است. سخت‌افزارِ کامپیوترهای شخصی شامل صفحه کلید، کارت شبکه، ماوس، درایو DVD، ‌هارد دیسک، چاپگرها،  اسکنرها و غیره است. ولی نرم‌افزار ناملموس است و شامل مجموعه‌ای از دستورالعمل‌هاست که به کامپیوتر می‌گوید چه کاری انجام دهد. نرم‌افزار حاصل خلاقیت فکری یک برنامه‌نویس یا تیمی ‌از برنامه‌نویسان است. سیستم‌عامل (Operating system) یک نرم‌افزار است که سخت‌افزار و منابع کامپیوتر را مدیریت می‌کند و به عنوان یک واسط بین برنامه‌های کاربردی و سخت‌افزار کامپیوتر عمل می‌کند. مثال‌هایی از سیستم‌عامل عبارتند از OS/360 برای مین‌فریم IBM System 360؛ سیستم‌عامل یونیکس (UNIX )، نسخه‌های مختلف مایکروسافت ویندوز برای کامپیوتر شخصی، و سیستم‌عامل مک (Mac) برای کامپیوترهای مکینتاش.

 1.6 سؤالات دوره‌ای

1.     تفاوت کامپیوترهای آنالوگ و دیجیتال را توضیح دهید.

2.     تفاوت سخت‌افزار و نرم‌افزار را توضیح دهید.

3.     ریزپردازنده چیست؟

4.     تفاوت بین لامپ‌های خلاء، ترانزیستورها، و مدارهای مجتمع را توضیح دهید.

5.     معماری فون نویمان را توضیح دهید.

6.     مزایا و محدودیت‌های معماری فون نویمان چیست؟

7.     تفاوت بین کامپیوترهای برنامه ثابت و کامپیوترهای برنامه ذخیره شده را توضیح دهید.

 1.7 خلاصه

کامپیوتر یک دستگاه الکترونیکی قابل برنامه‌ریزی است که می‌تواند داده‌ها را پردازش، ذخیره، و بازیابی کند. این دستگاه داده‌ها را مطابق با مجموعه‌ای از دستورالعمل‌ها پردازش می‌کند که برنامه نامیده می‌شوند. همه کامپیوتر‌ها از سخت‌افزار و نرم‌افزار تشکیل شده‌اند. سخت‌افزار بخش فیزیکی دستگاه است، در حالی که نرم‌افزار نامحسوس بوده و شامل مجموعه‌ای از دستورالعمل‌ها است که به کامپیوتر می‌گوید چه کاری انجام دهد.

دو خانواده مجزا از کامپیوترها وجود دارد که عبارتند از کامپیوترهای دیجیتال و کامپیوترهای آنالوگ. این کامپیوترها بر اساس اصولِ کاملا متفاوتی عمل می‌کنند. یک کامپیوتر دیجیتال یک دستگاه ترتیبی است که معمولاً مرحله به مرحله روی داده‌هایی که فرمت باینری دارند عمل می‌کند. یک ترانزیستور تنها می‌تواند دو حالت را ذخیره کند: روشن و خاموش. برای ذخیره اعداد بزرگتر به چند ترانزیستور نیاز است.

نمایش داده‌ها در یک کامپیوتر آنالوگ منعکس کننده ویژگی‌ داده‌هایی است که آنها را مدل‌سازی می‌کند. به عنوان مثال، در یک کامپیوتر آنالوگ داده‌ها و اعداد می‌توانند با مقادیر فیزیکی مختلف مانند ولتاژِ الکتریکی نمایش داده شوند. ولی در یک کامپیوتر دیجیتال جریانی از ارقام باینری نشان دهنده داده‌ها است.

 


فصل 2، محاسبات در تمدن‌های باستانی

2.1 مقدمه

طی 20 تا 30 سال گذشته سرعت تغییر و نوآوری در جوامع غربی بسیار چشمگیر بوده. فناوری‌های پیچیده‌‌ای مانند کامپیوتر‌، تلفن‌های هوشمند، اینترنت، شبکه جهانی وب، رسانه‌های اجتماعی، و غیره، بطور روز افزونی گسترش یافته‌اند. نرم‌افزار در همه جا فراگیر شده و به بخش ‌جدایی ناپذیری از خودروها، هواپیماها، تلویزیون‌ها، و ارتباطات موبایل تبدیل شده. سرعت تغییرات بی‌وقفه است و امروزه ارتباطات آنی از طریق تماس‌های ویدیویی، پیام‌های متنی، تلفن‌های همراه، و ایمیل انجام می‌شوند. امروزه افراد می‌توانند پروازهای خود را از طریق شبکه جهانی وب رزرو کنند و همچنین در هر نقطه از جهان با اعضای خانواده خودشان در تماس باشند. در نسل‌های قبل، ارتباط میان افراد اغلب شامل نوشتن نامه‌هایی بود که ممکن بود ماه‌ها طول بکشد تا به گیرنده برسند. در اواخر قرن نوزدهم ارتباطات از طریق تلگراف و تلفن بهبود یافت، اما امروزه آنی هستند .

فن‌آوری‌های جدید مزایای عمده‌ای[3] برای جامعه به همراه آورده‌اند، که این به بهبود سطح زندگی بسیاری از شهروندان جهان غرب منجر شده است. همچنین نیاز انسان به انجام برخی از کارهای دستی خسته کننده یا خطرناک را کاهش داده، زیرا حالا کامپیوتر‌ها می‌توانند بسیاری از این کارها را بصورت خودکار انجام دهند. به دلیل فناوری‌های کامپیوتر‌ی، حداقل از لحاظ تئوری، افزایش بهره‌وری به انسان‌ها اجازه داده تا به کارهای خلاقانه‌تر و با ارزش‌تری بپردازد.

جوامع انسانی در طول هزاران سال تکامل یافته‌اند و برخی از جوامع ابتدایی واژگان محدودی برای شمارش داشتند: به عنوان مثال، در برخی از جوامع اولیه فقط از "یک، دو، سه، و خیلی"  استفاده می‌شد، که نشان دهنده توانایی‌های ‌محدودِ شمارش  آن جوامع بود. این نشان می‌دهد که مسائلی که در این فرهنگ‌ها به آن پرداخته می‌شده بسیار ابتدایی بوده است. این جوامع بدوی عموماً از انگشتان خود برای شمارش استفاده می‌کردند و از آنجایی که انسان‌ها در هر دست و پایشان پنج انگشت دارند، به طور آشکار پایه‌های شمارشِ آنها 5، 10 و 20 بوده است. هنوز هم نشانه‌های استفاده از پایه 20 در زبان‌های مدرن مانند انگلیسی و فرانسوی به چشم می‌خورد. این شامل عباراتی مانند "سه بیست" (three score) در انگلیسی و "چهار بیست" (quatre vingt) در فرانسه است.

امروزه از دستگاه اعشاری (پایه 10) استفاده می‌شود، اما در حدود 1500 قبل از میلاد، پایه 60 برای محاسبات رایج بود. یکی از نمونه‌های استفاده از پایه 60 هنوز هم در تقسیم ساعت به 60 دقیقه و تقسیم دقیقه به 60 ثانیه دیده می‌شود. دستگاه پایه 60 (که سِکساجِسی‌مال sexagesimal نیز نامیده می‌شود) از بابلیان باستان به ما به ارث رسیده. بابلیان قادر بودند اعداد بزرگِ دلخواه یا کسرها را تنها با دو نماد نشان دهند.

دستاوردهای برخی از این تمدن‌های اولیه چشمگیر است. بقایای باستان شناسی مصر باستان، مانند اهرام گیزه، و معابد کنار رود نیل، مانند کارناک و ابوسیمبل الهام‌بخش هستند. این بناها نشانه‌ای از پیچیدگی مهندسی مصر باستان هستند. اشیای یافت شده در مقبره توت‌عنخ‌آمون[4] اکنون در موزه مصر در قاهره به نمایش گذاشته شده‌اند و نشان‌دهنده مهارت‌های هنری مصری‌ها هستند.

یونانیان باستان سهم عمده‌ای در تمدن غرب داشتند، از جمله در ریاضیات، فلسفه، منطق، نمایشنامه‌نویسی، معماری، زیست‌شناسی، و دموکراسی[5]. چیزهایی که برای فیلسوفان یونانی جالب بودند، چند مسئله اساسی مانند اخلاق، ماهیت هستی، چگونگی خوب زیستن، و ماهیت عدالت و سیاست بود. فیلسوفان یونانی عبارتند از پارمنیدس، هراکلیتوس، سقراط، افلاطون، و ارسطو. یونانی‌ها دموکراسی را اختراع کردند، ولی دموکراسی آنها با دموکراسی امروزی تفاوت‌های زیادی داشت[6]. پیچیدگی معماری و مجسمه سازی یونانی از پارتنون در آکروپولیس و سنگ‌های مرمر الگین[7] که امروزه در موزه بریتانیا در لندن نگهداری می‌شوند، مشهود است.

دوره هلنیستی[8] با اسکندر مقدونی آغاز شد که منجر به گسترش فرهنگ یونانی در سراسر جهان شد. شهر اسکندریه در دوره هلنیستی به مرکز آموزش تبدیل گشت. یکی از محققان آن دوره اقلیدس بود که پایه‌ منظمی را برای هندسه فراهم آورد. اثر معروف او کتاب "اصول" (Elements) است که شامل سیزده جلد کتاب بود.

لغات بسیاری با ریشه یونانی وجود دارد که بخشی ‌از زبان انگلیسی شده‌اند. اینها شامل کلماتی مانند روانشناسی (psychology) هستند که از دو کلمه یونانی مشتق شده است: کلمه یونانی "روان" psyche (ψυχη)   به معنای ذهن یا روح، و کلمه "لوگوس" logos (λογος) به معنای شناختن یا گفتمان است. نمونه‌های دیگر شامل انسان‌شناسی (anthropos) است که از  (ανθροπος)و  (λογος) مشتق شده است.

رومی‌ها تحت تأثیر فرهنگ یونانی‌ قرار گرفتند و پس از شکست دولت‌شهرهای یونانی توسط رُم، بسیاری از یونانی‌ها معلم رومی‌ها شدند، زیرا رومی‌ها به ارزش فرهنگ و دانش یونانی پی بردند. رومی‌ها قنات، پل‌، و آمفی تئاتر ساختند. آنها تقویم جولی را توسعه دادند. قوانین مدون باعث شد صلح در سراسر امپراتوری روم حفظ شود. ویرانه‌های پمپئی و هرکولانیوم برتری مهندسی آنها را نشان می‌دهد. سیستم شماره گذاری رومی‌ هنوز در ساعت‌ها، و برای شماره گذاری صفحه‌های اسناد به کار می‌رود، اما این سیستم برای محاسبات جدی دست و پا گیر است. فروپاشی ‌امپراتوری روم در اروپای غربی منجر به افول دانش و آموزش در اروپا شد. ولی بخش شرقی امپراتوری روم در قسطنطنیه ادامه یافت تا اینکه در سال 1453 میلادی  عثمانی‌ها آن را فتح کردند.

 2.2 بابلیان

تمدن بابلی از حدود 2000 قبل از میلاد تا حدود 500 قبل از میلاد در بین‌النهرین (عراق امروزی) شکوفا شد. در قرن نوزدهم از لوح‌های گِلی مختلف که به خط میخی نوشته شده بود و حاوی متون ریاضی بودند، رمزگشایی شد. اینها شامل جداولی برای ضرب، تقسیم، مربعات، مکعبات، جذرها، اندازه گیری مساحت و طول، و حل معادلات خطی و درجه دوم بودند. لوح‌های به جا مانده از اواخر دوره بابلی (حدود 500 قبل از میلاد) شامل کارهایی در زمینه نجوم نیز هست.

بابلیان از ابزارهای گوه‌ای شکل برای ایجاد خطوط میخی استفاده می‌کردند، و مطالب ریاضی خود را بر روی خاک رُسِ نرم ثبت می‌کردند. سپس لوح‌های سفالی را در کوره یا گرمای خورشید می‌پختند. آنها برای نشان دادن اعداد فقط از دو علامت (1 و 10) استفاده می‌کردند، سپس برای تشکیل بقیه اعداد این علائم را با هم ترکیب می‌کردند. آنها یک سیستم اعداد مکانی[9] را بکار گرفتند و از دستگاه پایه 60 استفاده کردند. علامتی که 1 را نشان می‌داد،  (بسته به زمینه) می‌توانست نشان دهنده  60 ،  602،  603 و غیره باشد. همچنین می‌توانست به معنای 1/60،  1/3600 و غیره نیز باشد. در این سیستم از صفر اصلاً استفاده نمی‌شد، و هیچ ممیزی هم وجود نداشت، بنابراین دانستنِ زمینه کاملاً ضروری بود.

شکل بالا نمونه‌ای از خط میخی را نشان می‌دهد و نشان دهنده عدد  60+10+1=71 است. آنها برای محاسبات خودشان از سیستم پایه 60 استفاده می‌کردند. یک دلیل ممکن برای این کار، سهولت تقسیم 60 به مقسوم‌علیه مختلف است، زیرا این عدد بر 2 ، 3 ، 4، 5، 6، 10، 12، 15، 20 و 30 قابل تقسیم است. بابلیان قادر به نمایش اعداد بزرگ و کوچک بودند و در کار با کسرها (در پایه 60) و در ضرب کسرها مشکلی نداشتند. به غیر از اعدادی مانند 7، 11، و ...، که به شکل 2α3β5γ نیستند و نمی‌توان آنها را در مبنای 60 به صورت متناهی نوشت، بابلیان توانستند جداولی برای معکوس این اعداد (یعنی 1/n و n=1,...59 ) تهیه کنند.

اعداد بابلی را می‌توان بصورت مدرن‌تری در مبنای 60 نشان داد. به عنوان مثال، عدد 1;24,51,10نشان دهنده عدد زیر است:

1+24/60+51/3600+10/216000=1+0.4+0.0141666+0.0000462=1.4142129

و نشان دهنده جذر 2 به شکل بابلی است. بابلیان ضرب را به صورت زیر محاسبه  می‌کردند  (20) × (1;24, 51, 10) ، یعنی   که بصورت زیر نشان داده شده:

 

به نظر می‌رسد که بابلی‌ها حدود 1000 سال پیش از فیثاغورث از قضیه او آگاه بوده‌اند. لوح Plimpton 322 (شکل 2.1) سه‌گانه‌های فیثاغورثی مختلفی را ثبت کرده. این سه‌گانه‌ها اعدادی به شکل (a, b, c) هستند که در آن a2+b2=c2. قدمت این لوح تقریباً به 1700 پیش از میلاد ( یعنی زمان بابلیان) بازمی‌گردد.

شکل 2.1 لوح Plimpton 322

بابلیان برای حل برخی مسائل نوعی از جبر را اختراع کردند که اجازه می‌داد مسائل مربوط به طول، عرض، و مساحت بررسی شوند و بتوان  آنها را حل کرد. آنها برای نمایش مقادیر مجهول از علائم استفاده نمی‌کردند (مثل اینکه x طول، و y عرض باشد)، در عوض آنها از کلماتی مانند "طول" و "عرض" استفاده می‌کردند. آنها با جذر آشنا بودند و از تکنیک‌های حل معادلات درجه دوم استفاده می‌کردند.

همانطور که به صورت هندسی در شکل 2.2 نشان داده شده، آنها با اتحادهای ریاضی مختلف، مثل (a+b)2=(a2+2ab+b2) آشنا بودند. آنها همچنین روی مسائل نجومی‌ کار کردند و برخی نظریه‌های ریاضی‌ ابداع کردند که از آنها برای پیش‌بینی زمان وقوع خسوف‌ و سایر رویدادهای نجومی استفاده می‌کردند. آنها همچنین به طالع‌بینی علاقه داشتند و خدایان مختلف را با اجرام آسمانی، مثل سیارات و همچنین خورشید و ماه، مرتبط می‌کردند، و موجودات آشنایی مانند شیر، بز، و غیره با صور فلکی مختلف مرتبط بودند.

شکل 2.2 نمایش هندسی اتحاد (a+b)2=(a2+2ab+b2).

 بابلی‌ها برای سهولت در شمارش و محاسبات ساده از تخته‌های شمارش استفاده می‌کردند. تخته شمارش نسخه اولیه چرتکه بود و معمولاً از چوب یا سنگ ساخته می‌شد. یک تخته شمارش دارای شیارهایی بود که امکان جابجایی مهره‌ها یا سنگ‌ها را در طول شیار فراهم می‌کرد. تفاوت چرتکه با تخته‌ شمارش این بود که مهره‌های چرتکه حاوی سوراخ‌هایی بودند که آنها را قادر می‌ساخت تا در میله خاصی در چرتکه قرار بگیرند.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 

 


06/09/1403

فصل 3، مبانی رایانش

 3.1 مقدمه

این فصل کارهای مهمی که توسط ویلهلم لایب‌نیتس ((Willhelm Leibniz چارلز بابیج (Charles Babbage)، جورج بول (George Boole)، ایدا لاولیس (Ada Lovelace)، و کلود شانون (Claude Shannon) در زمینه رایانش انجام شد ‌را بررسی می‌کند. لایب‌نیتس ریاضیدان، فیلسوف، و مخترع آلمانی قرن هفدهم بود که (به همراه ایزاک نیوتن) به عنوان مخترع حسابان شناخته می‌شود.او همچنین سیستم اعداد باینری را اختراع کرد (که در محاسبات کامپیوتری از آن بسیار استفاده می‌شود).

با اختراع ماشین تحلیلی توسط بابیج، چشم‌انداز یک حسابگر مکانیکی پدیدار شد، بول نیز با ابداع منطق بولی، پایه و اساس کامپیوتر‌های دیجیتال امروزی را فراهم آورد، از این رو بول و بابیج  اجداد ماشین‌های حساب هستند.

بابیج دانشمند و مخترع انگلیسی قرن نوزدهم ‌بود که کارهای پیشگامانه‌ای روی ماشین‌های محاسبه انجام داد. او ماشین تفاضلی (Difference Engine) (ماشین حساب پیچیده‌ای که می‌شد از آن برای تولید جداول ریاضی استفاده کرد) را اختراع کرد. او همچنین ماشین تحلیلی (اولین کامپیوتر مکانیکی جهان) را طراحی کرد. طرحِ ماشین تحلیلی شامل پردازنده، حافظه و راهی برای ورود اطلاعات و خروج نتایج بود.

ایدا لاولیس در یک مهمانی شام با ایده‌های بابیج در مورد ماشین تحلیلی آشنا شد. او مجذوب بابیج شد و پیش‌بینی کرد که از چنین ماشینی می‌توان برای آهنگسازی، تولید گرافیک، و همچنین حل مسائل ریاضی و علمی ‌استفاده کرد. او توضیح داد که چگونه ماشین تحلیلی می‌تواند برنامه ریزی شود، و چیزی را طرح ریزی کرد که اولین برنامه کامپیوتری در نظر گرفته می‌شود.

بول ریاضیدان انگلیسی قرن نوزدهم ‌بود که سهم مهمی‌ در ریاضیات، نظریه احتمالات، و منطق داشت. منطق بولی پایه و اساس کامپیوتر‌های دیجیتال را تشکیل می‌دهد.

کلود شانون اولین کسی بود که منطق بول را در نظریه سوئیچینگ به کار گرفت و نشان داد که منطق بول می‌تواند طراحی مدارها و سوئیچ‌های مسیریاب تلفن را ساده کند. او با استفاده از منطق بول یک مدلِ ریاضی کامل را برای نظریه سوئیچینگ و طراحی مدارهای دیجیتال و کامپیوترها ارائه داد.

 3.2 ماشین حساب چرخ دنده‌ای لایب‌نیتس

لایب‌نیتس (شکل 3.1) فیلسوف، ریاضیدان، و مخترع آلمانی بود که در زمینه ماشین حساب‌های مکانیکی نیز کار می‌کرد. او سیستم اعداد دودویی (binary)، که در کامپیوترهای دیجیتال از آن استفاده می‌شود، را توسعه داد، و مستقل از ایزاک نیوتن حسابان (Calculus) را اختراع کرد. او در اوایل دهه 1670 زمانی که در پاریس بود با ماشین حساب پاسکال، معروف به پاسکالین (Pascaline) آشنا شد. به دلیل اینکه این ماشین فقط می‌توانست عملیات جمع و تفریق را انجام دهد، او به محدودیت‌های آن پی برد.

شکل 3.1 ویلهلم گوتفرید لایب‌نیتس

 او ماشین حسابی را طراحی کرد و آن را ساخت که می‌توانست جمع، تفریق، ضرب، تقسیم، و استخراج ریشه‌ها را انجام دهد. او کار بر روی ماشین خودش را در سال 1672 آغاز کرد، که در سال 1694 تکمیل شد. این اولین ماشین حسابی بود که می‌توانست هر چهار عمل اصلی را انجام دهد و ماشین حساب چرخ دنده‌ای لایب‌نیتس (Step Reckoner) نام داشت (شکل 3.2). این اجازه می‌داد تا عملیات حسابی معمولی به صورت مکانیکی انجام شود.

شکل 3.2 ماکت ماشین حساب چرخ‌دنده‌ای در موزه درسدن

 مکانیسم مورد استفاده در ماشین حساب او بر اساس یک دستگاه شمارنده به نام استوانه پلکانی یا "چرخ لایب نیتس" بود. این مکانیسم به یک چرخ دنده اجازه می‌داد که در یک دور گردش، یک رقم اعشاری از صفر تا نه را نشان دهد. طی 200 سال آینده، این روش بعنوان رویکردِ غالب در طراحی ماشین‌های محاسبه باقی ماند. اساساً این یک دستگاه شمارش بود که از مجموعه‌ای از چرخ‌ها تشکیل شده بود که از آنها در محاسبه استفاده می‌شد. ماشین حساب چرخ‌دنده‌ای از یک انباشته تشکیل شده بود که می‌توانست 16 رقم اعشاری و یک بخش ورودی 8 رقمی‌ را در خود جای دهد. هشت شماره‌گیر در جلوی دستگاه، عددِ عملوند را تنظیم می‌کرد، که بعداً از آن در محاسبه استفاده می‌شد.

این ماشین، ضرب را با جمع مکرر، و تقسیم را با تفریق مکرر انجام می‌داد. کار اصلی این است که عملوند را به تعداد دلخواه از انباشتگر کم یا اضافه کنیم. این دستگاه می‌توانست یک عدد 8 رقمی ‌را به انباشتگر 16 رقمی‌ اضافه، یا کم کند تا یک نتیجه 16 رقمی‌ایجاد کند، یا اینکه می‌توانست دو عدد 8 رقمی‌ را ضرب کند تا یک عدد 16 رقمی‌ به دست آید و می‌توانست یک عدد 16 رقمی را بر یک عدد 8 رقمی ‌تقسیم کند. جمع و تفریق در یک مرحله انجام می‌شود و برای تفریق میل‌لنگ در جهت مخالف چرخانده می‌شد. نتیجه نیز در انباشتگر ذخیره می‌شد.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


فصل4، اولین کامپیوترهای دیجیتال

4.1 مقدمه

این فصل به معرفی بعضی از کامپیوترهای اولیه می‌پردازد که در ایالات متحده، بریتانیا، و آلمان ساخته شد. وقوع جنگ جهانی دوم محققان را برانگیخت تا راه‌های سریع‌تری را برای انجام محاسبات و حل مسائل عملی در نظر بگیرند. این امر به تحقیق در توسعه کامپیوتر‌های دیجیتالی منجر شد تا معلوم شود که آیا آنها می‌توانند محاسبات را سریع‌تر انجام دهند یا خیر.

کامپیوتر‌های اولیه عمدتاً ماشین‌های حجیم و بزرگی بودند که از چندین هزار لامپ خلاء ساخته شده بودند. اغلب این کامپیوترها فضای یک اتاقِ بزرگ را اشغال می‌کردند و خیلی آهسته و غیر قابل اعتماد بودند.

کامپیوترهایی که در این فصل بررسی می‌کنیم شامل Harvard Mark I است که توسط‌ هاوارد آیکن و IBM طراحی و ساخته شد. این یک ماشین حساب الکترومکانیکی بزرگ بود که می‌توانست محاسبات ریاضی را به سرعت انجام دهد. جان آتاناسوف و کلیفورد بری کامپیوتر Atanasoff-Berry (ABC) را طراحی کرده و آن را توسعه دادند. این ماشین برای حل مجموعه‌ای از معادلات خطی با استفاده از روش حذف گاوسی طراحی شد بود. جان ماکلی و پرسپر اکرت کامپیوترهای ENIAC و EDVAC را طراحی کردند. ENIAC یک کامپیوترِ برنامه ثابت بود که برای حل مسائل مختلف نیاز به سیم کشی مجدد داشت، اما کامپیوتر EDVAC مفهوم برنامه ذخیره شده را پیاده سازی کرد. این بدان معنی بود که دستورات برنامه را می‌شد در حافظه ذخیره کرد و تنها چیزی که برای انجام یک کار جدید لازم بود، بارگذاری یک برنامه جدید در حافظه بود.

در طول جنگ جهانی دوم، تیم بلچلی پارک در انگلستان کامپیوتر COLOSSUS را به عنوان بخشی ‌از دستگاه رمزشکن خودشان طراحی و توسعه دادند. این به آنها اجازه داد تا پیام‌های رمزی آلمانی‌ها را بشکنند و اطلاعات نظامی ‌مهمی ‌را برای روز حمله به آلمان‌ها در سال 1944 فراهم کنند.

در آلمان کُنراد تسوزه ماشین‌های Z1، Z2 و Z3 را طراحی کرد و آنها را ساخت. Z3 در سال 1941 عملیاتی شد و اولین کامپیوتر قابل برنامه ریزی جهان بود.

 4.2‌ Harvard Mark I

هوارد آیکن (شکل 4.1) چند سهم مهم در زمینه کامپیوترهای اولیه داشت. او نشان داد که می‌توان یک ماشین محاسبه بزرگ را ساخت که بتواند سریعاً برخی مسائل ریاضی را حل کند.

شکل 4.1 هوارد آیکن (Howard Aiken)

 ایده او ساخت یک ماشین الکترومکانیکی بود که بتواند عملیات ریاضی را به سرعت و بطور کارآمد انجام دهد. این ماشین باید می‌توانست اعداد مثبت و منفی، توابع عِلمی ‌مثلِ لگاریتم و غیره را محاسبه کند و بتواند با حداقل دخالت انسان کار کند.

او این ایده را با همکارانش و شرکت IBM در میان گذاشت. او برای ساخت این ماشین موفق شد از IBM بودجه بگیرد. این دستگاه در آزمایشگاه‌های IBM در Endicott توسط چندین مهندس IBM ساخته شد. ساخت آن 7 سال طول کشید و در سال 1943 به پایان رسید.

این ماشین به عنوان Harvard Mark I نامگذاری شد (که در داخل شرکت IBM به نام ASCC شناخته می‌شد). آیکن تحت تأثیر ایده‌های بابیج در مورد طراحی ماشین تفاضلی و ماشین تحلیلی قرار گرفته بود.

IBM در سال 1944 این ماشین را به دانشگاه‌ هاروارد ارائه داد. اساساً ASCC یک ماشین حساب الکترومکانیکی بود که می‌توانست محاسبات بزرگ را به طور خودکار انجام دهد. این ماشین می‌توانست جمع، تفریق، ضرب و تقسیم را انجام دهد و می‌توانست نتایج قبلی را نیز بکار بگیرد.

Harvard Mark I (شکل 4.2) برای کمک به حلِ عددی معادلات دیفرانسیل طراحی شده بود و 15 متر طول، 2.5 متر ارتفاع، و 5 تن وزن داشت. این ماشین جمع را در کمتر از یک ثانیه، ضرب را در 6 ثانیه، و تقسیم را در حدود 12 ثانیه انجام می‌داد. برای انجام محاسبات از رله‌های الکترومکانیکی استفاده می‌کرد و می‌توانست محاسبات طولانی را به صورت خودکار انجام دهد.

شکل 4.2‌ Harvard Mark I (ASCC)

 این ماشین از کلیدها، رله‌ها، میله‌های گردان و کلاچ ساخته شده بود و در آن از 500 مایل سیم و بیش از 750000 قطعه بکار رفته بود. این بزرگترین ماشین حساب الکترومکانیکی آن زمان بود و دارای 60 مجموعه 24 سوئیچی برای ورودِ دستی داده‌ها بود. این دستگاه می‌توانست 72 عدد، که هر کدام 23 رقم اعشاری بودند را ذخیره کند. دستورالعمل‌ها از روی نوار کاغذی خوانده می‌شد و از کارت‌های پانچ شده برای وارد کردن داده‌ها استفاده می‌شد و نتایج محاسبه روی کارت‌های پانچ شده، یا روی ماشین تحریر برقی چاپ می‌شدند.

نیروی دریایی ایالات متحده از Harvard Mark I برای محاسبات بالستیک استفاده کرد و این ماشین تا سال 1959 مورد استفاده قرار می‌گرفت، و تقریباً نیم میلیون دلار قیمت داشت، اما IBM هرگز آن را بصورت انبوه تولید نکرد. تفاوت آن با اکثر کامپیوترهای دیجیتال اولیه در این بود که به جای لامپ‌های خلاء از رله استفاده می‌کرد.

ورود Harvard Mark I به تنش بین آیکن و IBM منجر شد، زیرا آیکن بدون اذعان به نقش مهم‌ ای‌بی‌ام، خود را تنها مخترع این ماشین معرفی کرد.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


14/09/1403

فصل 5، اولین کامپیوترهای تجاری

5.1 مقدمه

در این فصل برخی از اولین کامپیوترهایی که در ایالات متحده، بریتانیا، آلمان، و استرالیا طراحی و ساخته شد را بررسی می‌کند. این ماشین‌ها بر اساس اولین کامپیوترهایی که در طول جنگ جهانی دوم ساخته شدند کار می‌کردند.

ما در مورد کامپیوتر UNIVAC I که توسط شرکت EMCC در ایالات متحده، کامپیوتر LEO I که توسط شرکت J. Lyon در انگلستان توسعه یافت، کامپیوتر Z4 که توسط شرکت Zuse KG در آلمان توسعه یافت، و Ferranti Mark I که توسط شرکت Ferranti در انگلستان ساخته شد، و CSIRAC که توسط CSIR در استرالیا ساخته شده‌اند، توضیح می‌دهیم.

کامپیوتر UNIVAC I توسط جان ماکلی و پرسپر اکارت از شرکت EMCC، برای اداره سرشماری ایالات متحده، و برای استفاده تجاری و اداری طراحی شده بود.

کامپیوتر LEO I توسط شرکت J. Lyons با مشارکت دانشگاه کمبریج در انگلستان توسعه یافت. این ماشین بر اساس کامپیوتر EDSAC توسط موریس ویلکس در دانشگاه کمبریج، و برای استفاده تجاری طراحی شده بود.

کامپیوتر Z4 در آلمان توسط کنراد تسوزه طراحی و توسعه یافت. تسوزه قبلاً تعدادی ماشین طراحی و ساخته بود و کامپیوتر Z4 تقریباً در پایان جنگ جهانی دوم کامل شد. تسوزه بعد از جنگ برای تکمیل این ماشین شرکت Zuse ZG را تاسیس کرد.

دانشگاه منچستر اولین کامپیوتر با برنامه ذخیره شده را اجرا کرد (که در فصل قبل در مورد آن توضیح داده شد)، و دولت بریتانیا شرکت فرانتی را تشویق کرد تا Manchester Mark I را بصورت یک محصول تجاری درآورد.

 5.2 UNIVAC

اکرت و ماکلی پس از استعفای از دانشگاه پنسیلوانیا، شرکت کامپیوتریEMCC  را در سال 1947 تأسیس کردند. این یکی از اولین شرکت‌های کامپیوتری در جهان بود و پیشگام تعدادی از مفاهیم اساسی کامپیوتر مانند "برنامه ذخیره شده"، "زیر روال‌ها"، "زبان‌های برنامه‌نویسی" و "کامپایلرها" بود.

EMCC در سال 1948 قراردادی را با اداره سرشماری آمریکا برای توسعه کامپیوتر خودکار جهانی (UNIVAC) برای سرشماری سال 1950 منعقد کرد. این یکی از اولین کامپیوترهای تجاری موجود بود که در سال 1951 تحویل داده شد (از سرشماری 1950 خیلی گذشته بود) و برای استفاده تجاری و اداری طراحی شده بود، نه برای محاسبات علمیِ پیچیده. ماشین UNIVAC بعدها با استفاده از 1٪ از جمعیت نمونه برای پیش بینی دقیق نتیجه انتخابات ریاست جمهوری 1952 در ایالات متحده مورد استفاده قرار گرفت (پیروزی قاطع دوایت آیزنهاور).

UNIVAC I (شکل 5.1) در ابتدا 159000 دلار قیمت داشت و در طول سال‌ها قیمت آن به تدریج افزایش یافت و به 1.2 تا 1.5 میلیون دلار رسید. بیش از 46 عدد از این کامپیوترها ساخته و تحویل داده شد.

شکل 5.1 کامپیوتر UNIVAC I

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


16/09/1403

فصل 6، کامپیوترهای تجاری و اختراع ترانزیستور

 6.1 مقدمه

این فصل برخی از کامپیوتر‌هایی را توضیح می‌دهد که در دهه 1950 توسعه ‌یافتند و شامل کامپیوتر‌هایی است که برپایه لامپ‌های خلاء و همچنین ترانزیستور ساخته شدند. یکی از محرک‌های طراحی و توسعه کامپیوتر‌های قوی‌تر، تهدید اتحاد جماهیر شوروی بود. این به یک مسابقه تسلیحاتی میان دو ابرقدرت منجر شد، و واضح بود که فناوری کامپیوتر نقش مهمی‌در توسعه سلاح‌ها و سیستم‌های دفاعی پیشرفته‌ ایفا می‌کرد. توسعه سیستم دفاع هوایی SAGE در ایالات متحده و کانادا، یکی از نمونه‌های اولیه استفاده از فناوری کامپیوتر در امور نظامی بود.

عامل مهم دیگر در ساخت کامپیوتر‌های قدرتمندتر، حمایت از تجارت، و مراکز دانشگاهی و دولتی بود. ماشین‌های توسعه‌یافته در این دوره عمدتاً مین‌فریم‌های (کامپیوترهای بزرگ) اختصاصی بودند که برای استفاده تجاری، علمی‌، و دولتی طراحی شده بودند. آنها گران بودند، که این در نهایت باعث شد تا در دهه 1960 شرکت‌هایی مانند IBM و DEC خانواده‌ ارزان‌تری از کامپیوتر‌ها را معرفی کنند، بنابراین مشتری برای برآورده کردن نیازهای خودش می‌توانست یک کامپیوتر کوچک و ارزان‌ را انتخاب کند، و سپس به مرور زمان، با افزایش نیازهای کامپیوتری خودش، این دستگاه‌ها را به یک کامپیوتر بزرگتر ارتقاء دهد.

سرآغاز شرکت IBM از از زمانی بود که هرمان هولریث (Hermann Hollerith) می‌خواست برای پردازش اطلاعات مربوط به سرشماری 1890 ایالات متحده  یک ماشین حساب بسازد. بعدها شرکت ‌ای‌بی‌ام به یک شرکت بین‌المللی بسیار موفق در فروش ماشین‌های حساب و کارت‌های پانچ شده تبدیل شد. از سال 1912 تا 1952  توماس واتسونِ پدر،شرکت IBM را رهبری کرد و در سال 1952 توماس واتسونِ پسر مدیرعامل این شرکت شد. او معتقد بود که آینده شرکت ‌ای‌بی‌ام در ساخت کامپیوتر‌ها است، نه ماشین‌های محاسب. او ‌ای‌بی‌ام را به یک رهبر جهانی در صنعت کامپیوتر تبدیل کرد.

 6.2 کامپیوترهای اولیه IBM

در طول جنگ جهانی دوم IBM با سرمایه گذاری مشترک خودش با‌ هاوارد آیکن در ساخت ‌Harvard Mark I،  کار روی کامپیوتر‌ها را آغاز کرد. این ماشین اساسا یک ماشین حساب الکترومکانیکی بود که می‌توانست محاسبات بزرگ را به طور خودکار انجام دهد (به فصل 4 مراجعه کنید)، این دستگاه در سال 1941 به دانشگاه‌ هاروارد تحویل داده شد.

IBM در سال 1943 ضرب‌کننده لامپ خلاء را معرفی کرد که تغییر جهت مهمی ‌از ماشین‌های الکترومکانیکی به ماشین‌های الکترونیکی بود (Harvard Mark I از رله‌های الکترومکانیکی برای انجام محاسبات استفاده می‌کرد). این یکی از اولین ماشین‌های کامل بود که با جایگزینی لامپ‌های خلاء به جای رله‌های الکتریکی، محاسبات را به صورت الکترونیکی انجام می‌داد. مزیت اصلی لامپ‌های خلاء این بود که سریع‌تر و کوچک‌تر بودند، و راحت‌تر از سوئیچ‌های الکترومکانیکی مورد استفاده در‌ Harvard Mark I عوض می‌شدند.

در سال 1952 IBM اولین کامپیوتر بزرگ خود که بر اساس لامپ‌های خلاء ساخته شده بود را معرفی کرد. این دستگاه IBM 701 نام داشت (شکل 6.1) و 17000 دستورالعمل در ثانیه را اجرا می‌کرد. از این کامپیوتر عمدتاً برای کارهای دولتی و برای کاربردهای تجاری استفاده می‌شد.

شکل 6.1 IBM 701

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 


فصل 7، مدارات مجتمع و پیدایش دره سیلیکون

7.1 مقدمه

اختراع ترانزیستور یک انقلاب در رایانش محسوب می‌شد و به ساخت کامپیوترهای کوچکتر، سریعتر، و قابل اعتمادتر منجر شد. با این حال هنوز طراحی مدارهای پیچیده ترانزیستوری برای مهندسان چالش برانگیز بود، زیرا آنها مجبور بودند صدها (یا هزاران) جزء مجزا را به هم متصل کنند.

هنگام ساخت یک مدار ضروری است که تمام اتصالات سالم باشند، زیرا در غیر این صورت جریان الکتریکی در مسیر عبور از مدار متوقف می‌شود و مدار از کار می‌افتد. پیش از اختراع مدارات مجتمع (یا به اختصار IC)، مهندسان مجبور بودند مدارهای خودشان را به صورت دستی بسازند، که این شامل لحیم کاری هر یک از اجزاء و اتصال آنها با سیم بود. ولی مونتاژ دستی تعداد زیادی از اجزاء که در در یک کامپیوتر به آنها نیاز بود، اغلب به اتصالات معیوب منجر می‌شد و کامپیوترهای پیشرفته به تعداد زیادی اتصال نیاز داشتند که ساختن آنها با دست تقریبا غیرممکن بود. به طور وضوح، به راه حل بهتری نیاز بود.

اختراع مدارات مجتمع اجازه داد تا تعداد زیادی از ترانزیستورها روی یک تراشه واحد ترکیب شوند، و این انقلابی در ساخت کامپیوترها بود. کاری که مدارات مجتمع انجام می‌داند این بود که تعداد زیادی از ترانزیستورها، مقاومت‌ها‌، خازن‌ها، و مدارهای سیم‌کشی را روی یک تراشه منفرد، که از سیلیکون یا ژرمانیوم ساخته شده بود، قرار می‌دادند. مدارات مجتمع، اندازه و هزینه ساخت وسایل الکترونیکی را کاهش دادند و تأثیر عمده‌ای بر طراحی کامپیوترها و وسایل الکترونیکی بعدی داشتند. این به ساخت کامپیوترهای سریعتر و قدرتمندتر منجر شد.

 7.2 اختراع مدارات مجتمع

تا اواسط دهه 1950 صنعت الکترونیک تحت سلطه لامپ‌های خلاء قرار داشت. ولی لامپ‌های خلاء یک سری محدودیت‌های عمده داشتند، زیرا آنها حجیم و غیرقابل اعتماد بودند، گرمای نسبتاً زیادی تولید، و همچنین انرژی زیادی را مصرف می‌کردند. در اواخر دهه 1940 ترانزیستور در آزمایشگاه‌های بل اختراع شد که در مقایسه با لامپ‌های خلاء کوچک‌تر بودند، انرژی بسیار کمی ‌مصرف می‌کردند، سریع‌تر بودند، و قابلیت اطمینان‌ و دوام بیشتری داشتند. اختراع ترانزیستور مهندسان را برانگیخت تا مدارات و تجهیزات الکترونیکی پیچیده‌تری را طراحی کنند که شامل صدها یا هزاران اجزاء مختلف، مانند ترانزیستورها، دیودها، یکسو کننده‌ها، و خازن‌ها هستند.

انگیزه اختراع مدارات مجتمع یافتن راه حل برای مشکلاتی بود که مهندسان با افزایش تعداد قطعات در طراحی مدارات با آن مواجه بودند تا عملکرد آن را افزایش دهند. هر جزء نیاز داشت به اجزاء زیاد دیگری متصل شود، و سیم کشی و لحیم کاری به صورت دستی انجام می‌شد. واضح است که برای بهبود عملکرد به اجزای بیشتری نیاز بود و بنابراین به نظر می‌رسید که طرح‌های آینده تقریباً به طور کامل به سیم کشی وابسته باشد.

برای ساخت مدارهای الکترونیکی، اجزا مختلف باید به هم متصل می‌شدند و این شامل لحیم کاری دستی هزاران جزء به هزاران تکه سیم بود. این کار پرهزینه،  وقت گیر، و همچنین غیرقابل اعتماد بود، زیرا هر اتصال لحیم شده منبع بالقوه مشکل بود. چالش پیش روی صنعت، یافتن راهی مقرون به صرفه و قابل اعتماد برای تولید این قطعات و اتصال آنها به یکدیگر بود.

در سال 1958 جک کیلبی (Jack Kilby) (شکل 7.1) به شرکت تگزاس اینسترومنتز پیوست و شروع به بررسی حل این مشکل کرد. او متوجه شد آنچه که واقعاً مورد نیاز است نیمه‌هادی‌ها هستند، زیرا مقاومت‌ها و خازن‌ها را می‌توان از همان ماده‌ای ساخت که ترانزیستورها از آن ساخته می‌شوند. او متوجه شد از آنجایی که همه اجزا می‌توانند از یک ماده ساخته شوند، می‌توان آنها را نزدیک به هم به یکدیگر متصل کرد تا یک مدار کامل را تشکیل دهند.

شکل 7.1 جک کیلبی

 

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 


23/09/1403

فصل 8، کامپیوتر IBM System/360

8.1 مقدمه

IBM System/360[10] خانواده‌ای از کامپیوتر‌های بزرگ (mainframe) بود که توسط IBM طراحی و ساخته شد، و برای 20 سال آینده IBM را در مسیر تسلط خودش بر حوزه کامپیوتر قرار داد. این مسیر همچنان ادامه داشت تا اینکه در دهه 1980 کامپیوترهای شخصی به بازار آمدند. ظهور IBM System/360  آغاز عصر سازگاری کامپیوترهای بزرگ با یکدیگر بود، جایی که دستگاه‌ها در سراسر خط تولید می‌توانستند با یکدیگر کار کنند. این بدان معنا بود که مشتریان IBM می‌توانستند کارشان را با کامپیوتری با مشخصات پایین شروع کرده و به مرور زمان با افزایش نیازهای کامپیوتری خود‌شان، آن را به کامپیوتر جدید و قدرتمندتری که با قبلی سازگار بود ارتقا دهند.

این به مشتری این امکان را می‌داد تا مدل مناسبی را برای برآوردن نیازهای فعلی خود انتخاب کند، و با افزایش نیازها، این کامپیوتر می‌توانست به عضوی قدرتمندتر از خانواده ارتقا یابد. این یک سرمایه گذاری عظیم 5 میلیارد دلاری توسط مدیرعامل IBM، توماس واتسون جونیور بود، و با فرض این که آینده به IBM System/360 تعلق خواهد داشت، IBM از تجارت سنتی و خطوط تولید خودش منحرف شد و به قمار نامعلومی دست زد.

توماس واتسون جونیور[11] در سال 1964 IBM System/360 را معرفی کرد. این کامپیوتر، دنیای تجارت و کامپیوتر را بطور  اساسی تغییر داد. System/360 هر پنج خط تولید کامپیوتر‌های موجود IBM را با یک خانواده کاملاً سازگار جایگزین کرد. این کامپیوترها از یک معماری جدید استفاده می‌کردند که از مدارهای مجتمع ترکیبی استفاده می‌کرد، و پیشگام استفاده از بایتِ 8-بیتی بود که امروزه در تمام کامپیوتر‌ها از آن استفاده می‌شود.

System/360 شامل یک سیستم‌عامل دیسک-پایه چندزبانی بود که OS/360 نام داشت. این شامل بسته‌های نرم‌افزاری رایگان، مانند کامپایلرهایی برای چند زبان برنامه‌نویسی، و همچنین بسته‌هایی برای عملیات شبکه بود.

System/360 خط تولید بسیار موفقی برای IBM بود که سفارش آن به سرعت از پیش‌بینی‌ها فراتر رفت. موفقیت این سری، بسیار فراتر از انتظارات IBM  رفت، زیرا در ماه اول معرفی آن، بیش از هزار عدد از آن سفارش داده شد. محبوبیت System/360 باعث شد تا برای رقبای IBM (مانند باروز،‌هانیول و اسپری رند) رقابت در بازار کامپیوترهای همه منظوره دشوار شود.

قیمت اجاره ماهانه این سری از زیر 3000 دلار در ماه برای ساده‌ترین سیستم شروع می‌شد و تا بیش از 100000 دلار در ماه برای یک کامپیوتر چند سیستمی ‌بزرگ متغیر بود. قیمت خرید آن از 130000 دلار برای یک سیستم پایه تا بیش از 5 میلیون دلار برای یک سیستم بزرگ متغیر بود. در سال 1989، 25 سال پس از اعلام System/360، محصولات مبتنی بر معماری System/360 و الحاقات آن همچنان بیش از 50 درصد از درآمد IBM را تشکیل می‌دادند.

 8.2 پیشینه توسعه کامپیوتر System/360

توماس واتسونِ پسر، فرزند توماس واتسونِ پدر (نخستین رئیس IBM) بود، که در سال 1952 رئیس IBM شد. او متوجه شد که در سال‌های پیش رو کامپیوتر‌ها برای تجارت نقش کلیدی خواهند داشت، او همچنین فهمید که آینده IBM در تجارتِ کامپیوتر است، نه در ماشین‌های اداری. برای او واضح بود که IBM نیاز به تغییر دارد. او در تبدیل این شرکت به رهبر جهانِ کامپیوتر نقشی اصلی ایفا کرد.

IBM قبلاً در دهه 1950 یک شرکت کامپیوتری موفق بود. این شرکت اولین کامپیوتر بزرگ خود را در سال 1952 معرفی کرد (IBM 701)، که مبتنی بر لامپ‌های خلاء بود، سپس در سال 1954 IBM 650 (ماشین حساب درام مغناطیسی)، و کامپیوتر سیستم پردازش داده IBM 704 (به فصل 6 مراجعه کنید) را بیرون داد. IBM همچنین نقش کلیدی در توسعه سیستم دفاع هوایی SAGE در ایالات متحده داشت. IBM بازیگر اصلی، و رهبر بازار بود که در سراسر جهان بیش از 100000 کارمند داشت. این یعنی IBM "سفید برفی" صنعت کامپیوتر بود، و شرکت‌هایی مثل Burroughs، Sperry، NCR، Control Data Corporation، Honeywell، General Electric و RCA هفت کوتوله صنعت کامپیوتر محسوب می‌شدند.

ولی نگرانی‌هایی در داخل‌ IBM وجود داشت که این شرکت به یک وضع ثابت رسیده، و رقبا در حال عرضه محصولات جایگزین برای ‌ای‌بی‌ام هستند. خاستگاه System/360 به اواخر دهه 1950 و عزم واتسون برای تغییر IBM برمی‌گردد تا آن را برای موفقیت در آینده تغییر دهد. IBM تا سال 1959 از پنج خط تولید مختلف پشتیبانی می‌کرد و آموزش کارکنان برای خدمت رسانی و نگهداری نرم‌افزار برای پشتیبانی از بسیاری از محصولات کامپیوتری مختلف، به یک چالش بزرگ تبدیل می‌شد.

علاوه بر اینها، مشکلات عمده‌ای در مورد ناسازگاری میان سخت‌افزارها و نرم‌افزارهای مختلف، و همچنین ناسازگاری بین خودِ محصولات IBM وجود داشت. ‌ای‌بی‌ام یک خط تولید از چند کامپیوتر داشت که هر کدام به تنهایی عالی بودند، اما همه آنها معماری‌های ناسازگاری داشتند. این یعنی مشتریانی که می‌خواستند از کامپیوتر کوچکِ موجود خودشان به یک سیستم بزرگتر بروند، باید هم روی یک سیستم جدید، چاپگرهای جدید، دستگاه‌های ذخیره‌سازی جدید، و نرم‌افزارهای جدید (که اغلب باید برای دستگاه جدید بازنویسی می‌شدند) سرمایه‌گذاری کنند.

برای واتسون و دیگر مدیران ارشد IBM واضح بود که به توسعه یک محصول کاملاً یکپارچه نیاز بود تا کامپیوتر‌های تولید شده در تأسیسات مختلف IBM با یکدیگر سازگار باشند. IBM یک کار-گروه گسترده برای شرکت ایجاد کرد تا یک برنامه کلی برای محصولات آینده خود ایجاد کند. این کار-گروه مخفف SPREAD (برنامه‌نویسی سیستم، تحقیق، مهندسی، و طراحی) بود و در اواخر سال 1961 گزارش نهایی خود را تکمیل کرد. این گروه یک سری توصیه‌هایی را ارائه داد. در سال 1962 IBM تصمیم شجاعانه‌ای گرفت تا کلِ خط تولید کامپیوتر‌های شرکت را جایگزین کند، و خانواده جدیدی از دستگاه‌های سازگار با هم را بسازد.

این یعنی برنامه نوشته شده برای کوچکترین عضو خانواده با تمام پردازنده‌های خانواده بالایی سازگاری داشت. علاوه بر این، دستگاه‌های جانبی مختلف، مانند چاپگرها و دستگاه‌های ذخیره‌سازی در کُل خانواده با یکدیگر سازگار بودند. این یک تصمیم فوق‌العاده شجاعانه بود و بعداً مجله فورچون از آن به عنوان قمار پنج میلیارد دلاری IBM یاد کرد.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 

 


فصل 9، مینی‌کامپیوترها و مین‌فریم‌های نسل بعد

9.1 مقدمه

مینی‌کامپیوترها (یا کامپیوترهای کوچک) دسته جدیدی از کامپیوترهای ارزان قیمت بودند که در دهه 1960 به بازار آمدند. با معرفی مدارهای مجتمع و بهبود عملکرد و کاهش هزینه آنها عرضه مینی‌کامپیوترها آسانتر شد. تفاوت مینی‌کامپیوترها با کامپیوترهای بزرگ (مین‌فریم‌ها) در قیمت و اندازه آنها است. آنها دسته‌ای از کوچکترین کامپیوترهای همه منظوره را تشکیل می‌دادند.

کامپیوترهای مین‌فریم ماشین‌های گران‌قیمتِ بزرگی بودند، که معمولاً بیش از 1 میلیون دلار قیمت داشتند،و برای کارمندان و کارهای خودشان به اتاق‌های جداگانه‌ای نیاز داشتند. ولی مینی کامپیوتر‌ها کمتر از 100000 دلار قیمت داشتند و برای تعامل مستقیمِ برنامه‌نویس طراحی شده بودند.

در اوایل دهه 1960 شرکت‌هایی مثل [12]DEC و CDC[13] مینی‌کامپیوترهایی را معرفی کردند. اینها شامل PDP-1 از شرکت DEC بود که در سال 1961، و CDC-160A که در سال 1960 عرضه شدند. قیمت این کامپیوترها به ترتیب 110000 و 60000 دلار بود.

در دهه 1960 سری مینی‌کامپیوترهای DEC PDP رایج شدند. مینی کامپیوتر PDP-8 که در سال 1965 عرضه شد، یک ماشین 12-بیتی بود که مجموعه دستورالعمل‌های کوچکی داشت. PDP-11  یک سری بسیار موفق از مینی‌کامپیوترهای 16-بیتی بود که به مدت بیش از 20 سال از عرضه آن در سال 1970 تا اوایل دهه 1990 یک محصول پرطرفدار باقی ماند.

جین امدال که معمار اصلی IBM System/360 بود، از IBM استعفا داد تا در سال 1970 شرکت Amdahl را تاسیس کند. هدف او این بود که یک کامپیوتر مین‌فریم را طراحی کند که نسبت به کامپیوترهای موجود IBM کارآمدتر و ارزان‌تر باشد، و با سخت‌افزارها و نرم‌افزارهای موجود IBM نیز سازگار باشند.

شرکت Amdahl اولین محصول خود با نام Amdahl 470V/6 را در سال 1975 عرضه کرد. این کامپیوتر دارای یک پردازنده مرکزی سازگار با IBM S/370 بود که می‌توانست نرم‌افزارهای IBM را اجرا کند و بنابراین جایگزینی برای کامپیوتر‌های اختصاصی IBM بود. این بدان معنا بود که حالا شرکت‌ها در سراسر جهان این انتخاب را داشتند که اجرای نرم‌افزارهای موجود خود را بر روی دستگاه‌های IBM ادامه دهند، یا کامپیوترهای ارزان‌تر و قدرتمندتر تولید شده توسط Amdahl را خریداری کنند. شرکت Amdahl به رقیب اصلی IBM در بازار کامپیوترهای بزرگ تبدیل شد.

موفقیت شرکتAmdahl  به یک جنگ قیمت با IBM منجر شد، و IBM برای محافظت از سهم خود در بازار، تخفیف‌هایی را به مشتریان خود داد.

 9.2 مینی کامپیوترهای DEC

کن اولسن و ‌هارلان اندرسون در سال 1957 شرکت DEC را تأسیس کردند. این شرکت انشعابی از آزمایشگاه کامپیوتر لینکلن MIT بود و شرکتی نوآور و آینده نگر محسوب می‌شد. این شرکت در اواخر دهه 1980 با درآمدی بیش از 14 میلیارد دلار و بیش از 100000 کارمند به دومین شرکت بزرگ کامپیوتر در جهان تبدیل شد. این شرکت از دهه 1960 تا 1980 با سری کامپیوترهای PDP و VAX خودش، که در میان جوامع علمی و مهندسی خیلی پرطرفدار بود، بر بازار مینی‌کامپیوترها تسلط داشت.‌

اولین کامپیوتر شرکت DEC، PDP-1 نام داشت، که در سال 1961 منتشر شد (شکل 9.1). در آن زمان این دستگاه 18-بیتی یک کامپیوتر نسبتاً ارزان بود و قیمت آن 110000 دلار بود. مین‌فریم‌های موجود IBM به‌طور قابل‌توجهی گران‌تر بودند، و بنابراین مینی کامپیوتر‌های DEC برای کسب ‌و کارهای کوچک نسبتاً مقرون به صرفه بودند. این یک کامپیوتر ساده بود که کار با آن نسبتاً بود و  دارای یک حافظه 4000 کلمه‌ای بود.

شکل 9.1 کامپیوتر PDP-1

 

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


فصل 10، انقلاب ریزپردازنده‌ها

10.1 مقدمه

ریزپردازنده (microprocessor) بخش مرکزی هر کامپیوتر شخصیِ مدرن (یا هر دستگاه کامپیوتری) است. ریزپردازنده عملکردهای واحدِ پردازش مرکزی (CPU)، یعنی بخشی ‌از کامپیوتر که دستورالعمل‌های برنامه را پردازش می‌کند، را در یک IC جمع می‌کند و مقدار زیادی از قدرت پردازش کامپیوتر را روی یک تراشه کوچک قرار می‌دهد.

اختراع ریزپردازنده اینتل در سال 1971 انقلابی در زمینه رایانش بود، و قدرت یک کامپیوتر را بر روی یک تراشه کوچک قرار داد. در ابتدا ریزپردازنده‌ها برای کمک به توسعه کامپیوترها در نظر گرفته می‌شدند تا کاربران بتوانند حافظه بیشتری را اضافه کنند. ولی خیلی زود مشخص شد که ریزپردازنده‌ها پتانسیل بالایی برای همه چیز، از ماشین‌های حساب گرفته تا صندوق‌های ‌فروش، و چراغ‌های راهنمایی دارد. اختراع آن امکان ساخت کامپیوتر‌های شخصی، تبلت‌ها، و تلفن‌های موبایل را فراهم کرد.

کامپیوترها در دهه 1960 بزرگ و گران قیمت بودند، و فقط در دسترس تعداد اندکی از افراد و آزمایشگاه‌های دولتی بودند. اختراع ترانزیستور توسط شاکلی و دیگران، و اختراع مدارات مجتمع توسط جک کربی در تگزاس اینسترومنتز، به کاهش اندازه و هزینه کامپیوترها کمک کرد. ولی در دستیابی به مدارات یک‌پارچه مقیاس بزرگ (LSI)، که در آن می‌شد تعداد زیادی ترانزیستور را روی یک تراشه سیلیکونی قرار داد، هنوز راه زیادی بود.

در اواخر دهه 1960 چند کارمند شرکت Fairchild Semiconductors استعفا دادند تا در منطقه سیلیکون وَلِی شرکت‌های نیمه‌هادی خودشان را تاسیس کنند. اینها شامل شرکت‌هایی مانند Intel، National Semiconductors و AMD بودند. اینتل کارِ ساختِ تراشه‌های حافظه را آغاز کرد و اولین محصول خود،یعنی  تراشه 64-بیتی SRAM  ( 3101) را در سال 1969 به‌ شرکت هانیول تحویل داد. در سال 1970 تراشه DRAM (1103)، و در سال 1971 ریزپردازنده‌ها را معرفی کرد. اختراع ریزپردازنده‌ها به کلی حوزه کامپیوتر را متحول کرد.

 10.2 اختراع ریزپردازنده

اختراع ریزپردازنده (که در ابتدا ریزکامپیوتر نامیده می‌شد) در سال 1971 انقلابی در کامپیوتر بود. حالا قدرت اصلی کامپیوتر‌ روی یک تراشه کوچک ریزپردازنده قرار می‌گرفت.

ریزپردازنده اساساً یک کامپیوتر است که روی یک تراشه قرار گرفته و اختراع آن منجر به ظهور ماشین‌حساب‌های کوچک و کامپیوتر‌های شخصی (PC) شد. در اکثر کامپیوتر‌های شخصی و لپ تاپ‌ها از ریزپردازنده‌های اینتل استفاده می‌شوند.

اختراع ریزپردازنده‌ها به جای اینکه حاصل یک طراحی باشد، بصورت تصادفی اتفاق افتاد. شرکت Nippon  (که بعدها به Busicom معروف شد)، یک شرکت ژاپنی بود که از اینتل خواست تا مجموعه‌ای از مدارات مجتمع را برای ماشین حساب‌های جدید برنامه‌پذیر طراحی کند. در آن زمان مرسوم بود که برای هر یک از محصولات مشتریان، بطور جداگانه تراشه‌هایی طراحی شود، و واضح بود که طراحی یک تراشه منطقی به یک محصول خاص اختصاص داشت.

طرح درخواست شده توسط Busicom به 12 مدار مجتمع نیاز داشت. یکی از مهندسین اینتل، به نام تد ‌هاف، طرح Busicom را مطالعه و آن را رد کرد. او راه حل بهتری را پیشنهاد کرد که فقط به چهار مدار مجتمع نیاز داشت. طراحی او شامل تراشه‌ای بود که یک دستگاه منطقی همه منظوره (ریزپردازنده) بود و دستورالعمل‌های خود را از حافظه نیمه‌هادی می‌گرفت. Busicom طرح پیشنهادی او را پذیرفت و مهندسان اینتل ساخت آن را آغاز کردند.

طراحی ریزپردازنده  4004‌ شامل یک واحد پردازش مرکزی (CPU) روی یک تراشه بود. این شامل  2300  ترانزیستور روی یک تراشه 5 سانت در 1.8 سانت بود که با سه مدار مجتمع ROM، رجیستر شیفت، پورت‌های ورودی/خروجی، و RAM احاطه شده بود.

Busicom حق انحصاری طراحی و اجزاء این تراشه را داشت، اما پس از بحث و مذاکره، Busicom موافقت کرد که از حقوق انحصاری خود در مورد آن صرف نظر کند. اندکی بعد، اینتل اعلام کرد اولین ریزپردازنده این شرکت، یعنی Intel 4004 در دسترس عموم قرار دارد (شکل 10.1).

شکل 10.1 ریزپردازنده Intel 4004

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


فصل 11، کامپیوترهای شخصی و خانگی

11.1 مقدمه

اختراع ریزپردازنده‌ها انقلابی در صنعت کامپیوتر بود و به توسعه کامپیوترهای خانگی و شخصی منجر شد. در این فصل ما مجموعه‌ای از کامپیوتر‌های خانگی و شخصی را بررسی می‌کنیم، از جمله کامپیوتر‌های خانگی اولیه مانند MITS Altair 8800، Apple I و II؛ کامپیوتر PET Commodore، کامپیوترهای آتاری  400 و  800، و کامپیوتر Commodore 64. بعداً در مورد کامپیوترهای Atari و Amiga، و کامپیوتر مکینتاش اپل که نقطه عطف مهمی‌در کامپیوترهای شخصی بود صحبت خواهیم کرد. ظهور کامپیوتر شخصی IBM را در فصل 12 مورد بررسی قرار خواهیم داد.

بسیاری از کامپیوترهای خانگی اولیه که در این فصل مورد بررسی قرار می‌گیرند بر اساس ریزپردازنده 8-بیتی MOS 6502 هستند. کامپیوتر MITS Altair 8800 بر پایه ریزپردازنده اینتل  8080 بود. این یکی از اولین کامپیوترهای خانگی بود که در اواخر سال 1974 معرفی شد.

بعدها کامپیوترهای خانگی و شخصی از ریزپردازنده‌های مختلفی استفاده کردند. کامپیوتر خانگی ZX spectrum بر پایه ریزپردازنده 8-بیتی Zilog Z80 بود . کامپیوترهای اپل مکینتاش، و آمیگا  1000 بر پایه ریزپردازنده موتورولا  68000 بودند. کامپیوتر شخصی آتاری بر اساس ریزپردازنده اینتل  8088 بود.

ما کارمان را با توضیح در مورد کامپیوتر  Alto Xerox، که در PARC  Xerox توسعه یافت شروع می‌کنیم. این کامپیوتر پیشگام چند مفهومِ کلیدی در کامپیوترهای شخصی بود و تأثیر زیادی بر طراحی کامپیوتر  مکینتاش اپل داشت.

 11.2 کامپیوتر شخصی Alto Xerox

زیراکس آلتو (شکل 11.1) یکی از اولین کامپیوترهای شخصی بود که در اوایل سال 1973 معرفی شد. چاک تاکر و دیگران این کامپیوتر را در شرکت زیراکس طراحی کردند و این یکی از اولین کامپیوترهایی بود که از رابطِ کاربرِ گرافیکی (GUI) بر پایه ماوس استفاده می‌کرد. این کامپیوتر به جای اینکه استفاده خانگی داشته باشد، بیشتر برای استفاده فردی طراحی شده بود، و فقط فردی که پشت میز نشسته بود از آن استفاده می‌کرد. در اصل این یک مینی‌کامپیوتر کوچک بود تا یک کامپیوتر شخصی، و با کامپیوترهای شخصی مدرن فرق داشت، زیرا بر پایه ریزپردازنده نبود. اهمیت زیراکس آلتو این است که تأثیر زیادی بر طراحی کامپیوتر‌های شخصی اولیه، به ویژه بر طراحی کامپیوتر مکینتاش اپل، داشت.

شکل 11.1 کامپیوتر Xerox Alto

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


03/10/1403

فصل 12، کامپیوترهای شخصی IBM

12.1 مقدمه

معرفی کامپیوتر شخصی IBM در سال 1981 یک نقطه عطف بزرگ در زمینه کامپیوتر بود. پیش از آن رویکرد سنتی IBM در توسعه محصولاتش، ارائه یک راه حل اختصاصی کامل بود. ولی با توجه به وضعیت پرشتاب مرتبط با کامپیوترهای شخصی، شرکت IBM تصمیم گرفت به جای توسعه یک ریزپردازنده اختصاصی توسط خودش، اینکار را به یک شرکت کوچک به نام اینتل، و توسعه سیستم‌عامل را به شرکت کوچک دیگری به نام مایکروسافت برون سپاری کند. بعداً این تصمیمات برای IBM گران تمام شد، زیرا بعدها هم مایکروسافت و هم اینتل به غول‌های فناوری تبدیل شدند (که در کُل این به زیان IBM بود).

معرفی کامپیوتر شخصی IBM یک تغییر الگو در استفاده از کامپیوتر بود که باعث شد قدرت کامپیوترها در دستان میلیون‌ها نفر قرار گیرند. الگوی قبلی این بود که کاربران کنترل محدودی بر یک کامپیوتر داشتند و مدیران سیستم امتیاز دسترسی کاربران را کنترل می‌کردند.

اعطای قرارداد توسعه سیستم‌عامل به مایکروسافت، بعداً بحث برانگیز شد. IBM قصد داشت این قرارداد را به شرکت Digital Research بدهد که سیستم‌عامل CP/M را برای چند ریزپردازنده توسعه داده بود. ولی IBM و Digital Research نتوانستند بر روی شرایط قرارداد با یکدیگر به توافق برسند (ممکن است مشکلاتی در مورد زمان تحویل از سوی IBM وجود داشت، یا ممکن است حق امتیاز درخواست شده توسط Digital Research بیش از حد بوده). در عوض IBM قرارداد را به مایکروسافت (شرکت کوچکی که کارش ارائه مفسر زبان BASIC بود) اعطا کرد. مایکروسافت مشاوری را برای انتقال سیستم‌عامل CP/M موجود به ریزپردازنده  8088 استخدام کرد و بعداً برای Digital Research مشخص شد که از نرم‌افزار آنها برای توسعه سیستم‌عامل کامپیوترهای شخصی IBM استفاده شده است.

 12.2 کامپیوتر شخصی IBM

در سال 1981 شرکت IBM کامپیوتر شخصی خود را (که بطور مخففPC نامیده ‌می‌شد) به ‌عنوان ماشینی برای استفاده در مشاغل کوچک و کاربران خانگی معرفی کرد. در آن زمان هدف IBM این بود که سریعاً به بازار کامپیوتر‌های خانگی وارد شود که در آن زمان تحت سلطه Commodore، Atari و Apple بود.

IBM تیم کوچکی متشکل از 12 نفر را به رهبری دان استریج گردآوری کرد (شکل 12.1) و هدف آنها این بود که این کامپیوتر شخصی را به سرعت وارد بازار کنند. آنها در عرض یک سال کامپیوتر شخصی IBM را طراحی کرده و آن را ساختند، و با توجه به اینکه محرک اصلی آنها عرضه سریع این محصول بود، دستگاه را با استفاده از قطعات ساخته شده توسط چند تولیدکننده دیگر ساختند. قبلاً رویکرد عادی IBM برای طراحی و ساخت یک کامپیوتر، توسعه یک راه حل اختصاصی کامل بود که تمام اجزاء آن توسط خود IBM انجام می‌گرفت.

شکل 12.1 دان استریج.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


05/10/1403

 

فصل 13، تاریخچه سیستم‌عامل‌ها

13.1 مقدمه

یک سیستم‌عامل (Operating System) مجموعه‌ای از برنامه‌های نرم‌افزاری است که سخت‌افزار کامپیوتر را کنترل کرده و آن را قابل‌استفاده می‌کند. سیستم‌عامل قدرت سخت‌افزار کامپیوتر را در اختیار کاربران قرار می‌دهد و برای دستیابی به عملکرد خوب سیستم، سخت‌افزار را مدیریت می‌کند. سخت‌افزارهای کامپیوتر، مانند پردازنده‌ها، ذخیره‌سازها، دستگاه‌های ورودی/خروجی، دستگاه‌های ارتباطی، و داده‌ها توسط سیستم‌عامل مدیریت می‌شوند. همچنین سیستم‌عامل عملکردهایی مانند به اشتراک گذاری سخت‌افزار میان کاربران، تقسیم منابع بین کاربران، جلوگیری از تداخل کاربران با یکدیگر، و تسهیل ورود/خروج اطلاعات، بازیابی خطاها، و مدیریت ارتباطات شبکه را فراهم می‌کند.

کامپیوترهای اولیه سیستم‌عامل نداشتند و کاربران برای مدت زمان مشخصی، روی کامپیوترهای بزرگ کنترل انحصاری داشت. در آن زمان‌ها کاربران هر بار یک بیت برنامه را به زبان ماشین  وارد می‌کردند (در ابتدا با استفاده از سوئیچ‌های مکانیکی و بعداً با دسته‌ای از کارت‌های پانچ شده) و منتظر نتیجه می‌ماندند. کم‌کم برنامه‌نویسان برای اشتراک‌گذاری برنامه‌هایشان در فعالیت‌های مشترک، شروع به توسعه کتابخانه‌های نرم‌افزاری کردند، و از این نظر، کتابخانه‌ها پیشگام سیستم‌عامل‌های امروزی بودند.

با هدف استفاده موثرتر از منابعِ گران قیمت کامپیوتری، اولین سیستم‌عامل‌ها در دهه 1950 طراحی شدند. این سیستم‌های پردازش دسته‌ای، فقط یک کار را در یک زمان اجرا می‌کردند و برنامه‌ها و داده‌ها به صورت گروهی (یا دسته‌ای) ارسال می‌شدند، که در آن هر دسته شامل چندین کار (یا برنامه) بود که برای پردازش ارسال می‌شد.

این روند در اوایل دهه 1960 به سیستم‌های چند‌کاره منجر شدند که برای بهبود استفاده از منابع کامپیوتر‌ی گران قیمت طراحی شده بودند. آن‌ها می‌توانستند همزمان چندین کار مختلف را انجام دهند، و اجرای همزمان چندین کار، راهی برای استفاده بهینه از کامپیوتر ارائه می‌داد. یک کار می‌تواند استفاده از پردازنده باشد، در حالی که کارِ دیگر می‌تواند استفاده از دستگاه‌های مختلف ورودی/خروجی باشد. این سیستم‌های پردازش دسته‌ای (batch) شامل خیلی از دستگاه‌های جانبی، مانند کارت‌خوان‌ها، کارت پانچ‌ها، چاپگرها، درایوهای نَواری، و دیسک درایوها بودند.

کارها معمولاً از طریق کارت‌های پانچ شده و نَوارها به کامپیوتر ارسال می‌شدند، و اغلب کارها تا زمانی که نوبت پردازش آنها برسند، می‌توانستند ساعت‌ها (یا روزها) در یک جدول ورودی منتظر بمانند. ولی حتی یک خطای بسیار جزئی در یک برنامه باعث از کار افتادن کُل این روند می‌شد، و نیاز بود تا داده‌ها مجدد ارسال شوند. این بدان معنی بود که توسعه نرم‌افزار در چنین محیط‌هایی بسیار کند بود. این امر باعث شد تا طراحان سیستم‌عامل مفهوم چندبرنامه‌گی را توسعه دهند که در آن چندین کار به طور همزمان در حافظه اصلی قرار دارند، و مفهوم وقفه‌ها، که در آن وقفه (interrupt) به یک واحد اجازه می‌دهد توجه واحد دیگری را جلب کند ولی پیش از پردازش وقفه، وضعیت واحد متوقف شده ذخیره می‌شود، و پس از تکمیل پردازش دوباره بازیابی می‌شود.

مرکز محاسبات دانشگاه MIT در اوایل دهه 1960 سیستم اشتراک‌ زمانی سازگار CTSS[14] را توسعه داد. برای اطمینان از استفاده موثر از منابع پرهزینه کامپیوتر‌ی، سیستم‌عامل یک جریان دسته‌ای معمولی را اجرا می‌کرد، اما همچنین قادر بود به کاربرانی که برنامه‌ها را ویرایش یا اشکال‌زدایی می‌کردند، سریعاً پاسخ‌ دهد. این یک محیط بسیار تعاملی بود که در آن کامپیوتر به درخواست‌های کاربر سریعاً پاسخ‌ می‌داد. IBM در سال 1964 کار بر روی سیستم‌عامل CP/CMS را آغاز کرد و این سیستم در نهایت به سیستم‌عامل VM IBM تبدیل شد.

IBM در سال 1964 خانواده کامپیوترهای System/360 را معرفی کرد و کامپیوترهای این خانواده بر اساس سیستم‌عاملIBM System/360)) طراحی شدند. OS/360 یک سیستم‌عامل دسته‌گرا  (batch-oriented) بود و IBM از سه نوع OS/360 پشتیبانی می‌کرد که امکان چندبرنامه‌گی را برای اعضای ‌رده میانی و رده بالای خانواده فراهم می‌کرد. سیستم‌عامل اصلی دیگری که در System/360 استفاده شد، Disk Operating System  یا [15](DOS/360) بود. در طول سالهای بعد،IBM System/360 به سری System/370 تبدیل شد.

جانشینی که دانشگاه MIT برای سیستم‌عامل CTSS ارائه داد و آزمایشگاه‌های بل در ابتدا در توسعه آن شرکت داشت، یک سیستم‌عاملِ اشتراک زمانی عمومی ‌به نام "Multics" بود. به دنبال توسعه Multics، در اوایل دهه 1970 سیستم‌عامل یونیکس (UNIX) در آزمایشگاه Bell توسعه یافت. این سیستم‌عامل چند وظیفه‌ای و چند کاربره است.

کامپیوتر شخصی IBM در سال 1981 معرفی شد. IBM توسعه سیستم‌عامل این کامپیوتر را به یک شرکت کوچک به نام مایکروسافت برون سپاری کرد (که در فصل قبل توضیح داده شد). شرایط قرارداد با IBM به مایکروسافت این حق را می‌داد که سیستم‌عامل خود، یعنی MS/DOS، را بر روی دستگاه‌های سازگار با IBM ارائه دهد، درحالی که PC/DOS (یا به سادگی DOS) فقط برای کامپیوتر‌های شخصی IBM بود. سیستم‌عاملِ MS/DOS دیسک‌ها و فایل‌ها، ورودهای و خروجی‌ها، و حافظه را مدیریت می‌کرد و حاوی یک پردازشگر فرمان بود که دستورات کاربر را تفسیر می‌کرد و به کاربر اجازه می‌داد تا با کامپیوتر تعامل داشته باشد.

معرفی مکینتاش در سال 1984 یک تغییر الگو برای صنعت کامپیوتر بود. سیستم‌عامل این کامپیوتر (MAC) بر پایه یک رابط کاربر گرافیکی بود که استفاده از آن را آسان  می‌کرد، و واضح بود که به جای سیستم‌عامل‌های فرمان محور اولیه مانند MS/DOS، آینده سیستم‌عامل‌ها در سیستم‌هایی است که رابط کاربر گرافیکی دارند.

مایکروسافت ویندوز (Windows) خانواده‌ای از سیستم‌عامل‌های گرافیکی است که توسط مایکروسافت ساخته شده و به سیستم‌عامل اصلی لپ‌تاپ‌ها و کامپیوتر‌های شخصی تبدیل شده است، اما نتوانسته بر بازار سیستم‌عامل تلفن‌های هوشمند، که تحت سلطه iOS اپل و اندروید (Android) گوگل است، تاثیری بگذارد.

سیستم‌عامل اندروید که عمدتا توسط گوگل و Open Handset Alliance توسعه داده شده، برای گوشی‌های هوشمند و تبلت‌های لمسی طراحی شده است. اندروید بر پایه هسته لینوکس ساخته شد، و اولین نسخه آن در اواخر سال 2007 منتشر شد.

سیستم‌عامل iOS، که در سال 2007 معرفی شد، یک سیستم‌عامل موبایلی است که روی دستگاه‌های همراه  اپل، مانند گوشی‌های هوشمند و تبلت‌ها از آن استفاده می‌شود.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


فصل 14، تولد صنعت نرم‌افزار و تعامل انسان با کامپیوتر

14.1 مقدمه

در ابتدای دوران کامپیوتر، فعالان بازار شامل تعداد انگشت‌شماری از شرکت‌های کامپیوتری مانند IBM، که یک شرکت بسیار بزرگ بود، و شرکت‌های کوچکتری مانند Burroughs، Sperry، NCR و غیره بودند. بازیگر اصلی در بازار IBM بود و در آن زمان صنعت کامپیوتر به عنوان سفید برفی (یعنی IBM) و هفت کوتوله (یعنی رقبای IBM در بازار) توصیف می‌شد.

در دوران اولیه کامپیوتر، نرم‌افزارهای تولید شده اختصاصی بودند و توسط فروشندگان تجاری مانند IBM و رقبای آن ساخته می‌شدند. هنگامی‌که یک مشتری تصمیم به خرید یک کامپیوتر خاص از یک شرکت کامپیوتری می‌گرفت، به آن شرکت وابسته می‌شد تا برای آن کامپیوتر نرم‌افزار اختصاصی ارائه کند.

سخت‌افزار‌های مختلف که توسط فروشندگان مختلف ارائه می‌شدند با هم ناسازگار بودند، که یعنی اگر مشتری به فروشنده‌ دیگری رجوع می‌کرد، مجبور بود برای کامپیوتر جدید خودش کلاً نرم‌افزارهایش را بازنویسی کند.

کامپیوترهای اولیه کاربر پسند نبودند و کاربران برای کار با آنها به مهارت نیاز داشتند. تعامل انسان و کامپیوتر شاخه‌ای از علوم کامپیوتری است که به طراحی، سنجش، و پیاده‌سازی سیستم‌های کامپیوتری تعاملی برای استفاده انسان می‌پردازد. این شاخه بر روی روابط بین کاربران و کامپیوتر‌ها تمرکز دارد و در طول دهه‌ها رشد کرده است و شامل سیستم‌های تعامل مبتنی بر متن، رابط‌های کاربرِ گرافیکی، و رابط‌های کاربرِ صوتی می‌شود.

توسعه کامپیوتر‌های خانگی از اواسط دهه 1970 به این معنی بود که حالا همه مردم جهان یک کاربر بالقوه کامپیوتر بودند، و واضح بود که نیاز به بهبود قابلیت استفاده از کامپیوتر‌ها وجود داشت. انسان‌ها به طرق مختلف با کامپیوتر‌ها تعامل دارند، بنابراین برای تسهیل این تعامل درک میانجی (interface) میان آنها مهم است.

 14.2 تولد صنعت نرم‌افزار

اکثریت قریب به اتفاق نرم‌افزارهای تولید شده در دوران اولیه کامپیوتر، اختصاصی بودند و توسط شرکت‌هایی نظیر IBM و UNIVAC توسعه یافته بودند. شرکت‌های کامپیوتری راه‌حل‌های کاملی، از جمله سخت‌افزار و نرم‌افزار را برای مشتریان خود ارائه می‌دادند. شرکت‌های مستقلِ نرم‌افزاری بسیار انگشت‌شماری وجود داشتند که نرم‌افزار را برای مشتریان خاص خودشان توسعه می‌داد. کارِ شرکت‌های کامپیوتری اساساً تجارت سخت‌افزار بود، و بنابراین نرم‌افزار را همراه با کامپیوتر‌های خود ارائه می‌دادند، این یعنی اساساً نرم‌افزار رایگان بود و روی کامپیوتر اصلی ارائه داده می‌شد می‌شد. به عبارت دیگر، سیستم‌عامل، نرم‌افزار‌های سیستم، و برنامه‌های کاربردی همراه با کامپیوتر اصلی ارائه می‌شدند و جدا از سخت‌افزار کامپیوتر، نرم‌افزارها قیمتی نداشتند.

در دهه 1960 IBM بازیگر اصلی در زمینه کامپیوتر بود. این شرکت در دهه‌های 1960 و 1970 تقریباً 70 درصد از سهم بازار صنعت کامپیوتر را در اختیار داشت و همین امر باعث شده بود که به عنوان یک انحصارگر با قدرت بیش از حد در نظر گرفته شود. در سال 1969 وزارت دادگستری ایالات متحده (DOJ) یک پرونده ضد انحصار بزرگ علیه IBM به راه اندخت، زیرا این شرکت را به عنوان یک انحصارگرِ غالب در نظر گرفته بود. هدف آن از بین بردن قدرت بیش از حد IBM بر صنعت کامپیوتر، توسط تقسیم این شرکت به واحدهای تجاری کوچک‌تر بود که با یکدیگر رقابت کنند. تا زمان معرفی کامپیوتر شخصی IBM در اوایل دهه 1980، به مدت 13 سال پرونده ضد انحصار (با بیش از 30 میلیون صفحه سند به عنوان بخشی ‌از پرونده) ادامه یافت. حکم نهایی که در سال 1982 صاد شد این بود که این پرونده "بی‌اساس" بوده.

 

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


15/10/1403

فصل 15، تاریخچه زبان‌های برنامه‌نویسی

 15.1 مقدمه

سخت‌افزار یک چیز فیزیکی است که می‌توان آن را دید و لمس کرد، در حالی که نرم‌افزار ناملموس و یک کارِ فکری است که توسط تیمی‌ از برنامه‌نویسان انجام می‌گیرد. نرم‌افزارها به یکی از زبان‌های برنامه‌نویسی نوشته می‌شوند. از زمان توسعه کامپیوتر‌های اولیه صدها زبان بوجود آمده‌اند. اولین زبان‌های برنامه‌نویسی شامل زبانِ ماشین بودند که از آنها برای دادن دستورات به کامپیوتر استفاده می‌شد. پیشرفتِ بعدی در این زمینه، استفاده از زبان‌های اسمبلی (assembly) برای نمایش دستورهای زبان ماشین بود، که بعداً دستورات این زبان توسط یک اسمبلر (assembler) به زبان ماشین ترجمه می‌شد. گام بعدی توسعه زبان‌های برنامه‌نویسی سطح بالا، مانند FORTRAN و COBOL بود. استفاده از این زبان‌ها نسبت به زبان‌های اسمبلی و زبان ماشین آسان‌تر بود و آنها به بهبود کیفیت و بهره‌وری برنامه‌ها کمک کردند.

زبان‌های برنامه‌نویسی نسل اول (یا 1GL) زبان‌هایی در سطح ماشین هستند که از بیت‌هایی به شکل1  و 0 تشکیل شده‌اند. مزیت اصلی این زبان‌ها سرعت اجراء آنها است زیرا مستقیماً می‌توانند روی کامپیوتر اجرا شوند و برخلاف زبان‌های سطح بالا، برای تبدیل به زبان ماشین نیازی به کامپایلر یا اسمبلر ندارند.

ولی نوشتن یک برنامه به زبان ماشین بسیار دشوار و مستعد بروز خطا است، زیرا شامل نوشتن یک سری از اعداد باینری می‌باشد. این امر یادگیری زبان ماشین را دشوار کرده، و در صورت بروز هرگونه خطایی، اصلاح آن را دشوار می‌کند. خیلی وقت پیش، دستورالعمل‌های برنامه از طریق سوئیچ‌های پنل جلویی کامپیوتر وارد می‌شدند و افزودن دستور جدید دشوار بود. علاوه براین، کُدهای زبان ماشین از یک کامپیوتر به کامپیوتر دیگر قابل انتقال نبوند، زیرا زبان ماشین یک کامپیوتر می‌تواند به طور قابل توجهی با کامپیوتر دیگر متفاوت باشد. غالباً برای یک کامپیوتر جدید نیاز بود تا برنامه دوباره نوشته شود. از زبان‌های نسل اول عمدتاً در کامپیوتر‌های اولیه استفاده می‌شدند.

زبان‌های نسل دوم یا  2GL، زبان‌های سطح پایینی هستند که زبان اسمبلی نامیده می‌شوند و مختص کامپیوترها و پردازنده‌های خاصی هستند. ولی زبان‌های اسمبلی آسان‌تر از زبان‌های ماشین، یا همان زبان‌های نسل اول، هستند. در این زبان‌ها، برنامه‌ای به نام اسمبلر کدهای اسمبلی را گرفته و آنها را به کدهای زبان ماشین تبدیل می‌کند تا روی کامپیوتر اجرا شود. زبان اسمبلی مختص به یک خانواده از پردازنده‌ها است، بنابراین قابل انتقال نیست. زبان‌های اسمبلی  نسبت به زبان‌های برنامه‌نویسی سطح بالا به تلاش بسیار بیشتری نیاز دارند و استفاده از آنها برای نوشتن برنامه‌های بزرگ دشوارتر است.

برنامه‌ای که به زبان اسمبلی نوشته شده، برای انتقال به پلتفرم دیگر غالباً نیاز به بازنویسی دارد. ولی از آنجایی که زبان اسمبلی به زبان بومی پردازنده بسیار نزدیک است، نسبت به زبان‌های سطح بالا سرعت بسیار بالاتری دارد. امروزه هنوز هم زبان‌های نسل دوم مورد استفاده قرار می‌گیرند، اما به طور کلی زبان‌های برنامه‌نویسی سطح بالا جایگزین آنها شده‌اند.

زبان‌های نسل سوم، یا 3GL، شامل زبان‌های برنامه‌نویسی سطح بالا مانند Pascal، C یا FORTRAN هستند. این زبان‌ها همه منظوره هستند و برای کاربردهای تجاری، علمی، ‌و عمومی ‌به کار می‌روند. عموماً برنامه‌ای که به یک زبان برنامه‌نویسی سطح بالا نوشته شده، توسط برنامه‌ای به نام کامپایلر (compiler)[16] به زبان ماشین ترجمه می‌شود تا بتوان آنها را اجراء کرد. این زبان‌ها به گونه‌ای طراحی شده‌اند که درک آنها برای انسان آسان‌تر باشد و شامل ویژگی‌هایی مانند متغیرهای نام‌گذاری شده، گزاره‌های شرطی، عبارات تکرار شونده، عبارات انتساب، و ساختار داده‌ها هستند. نمونه‌های اولیه زبان‌های نسل سوم عبارتند از FORTRAN، ALGOL و COBOL و نمونه‌های بعدی آنها C، C++  و Java هستند. مزایای زبان‌های سطح بالا عبارتند از:

-         خوانایی آسان.

-         نحوها (syntax) و معناهایی (semantics) که به روشنی تعریف شده‌اند.

-         مناسب برای کاربردهای تجاری یا علمی.

-         مستقل بودن از ماشینی که بر روی آن اجراء می‌شوند.

-         قابلیت انتقال به پلتفرم‌های دیگر.

-         آسانی رفع اشکالات.

-         سرعت اجرا.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


20/10/1403

فصل 16، تاریخچه مهندسی نرم‌افزار

16.1 مقدمه

دانشمند آمریکایی علوم رایانه‌ای فرد بروکس (Fred Brooks) معتقد بود که رویکرد توسعه نرم‌افزار در دهه‌های 1950 و 1960 مانند  "یورش مغول‌ها" بود[17]. در آن زمان با این هدف که تاخیر زمان‌بندی پروژه‌های بزرگ برطرف شود، رویکرد غالب این بود که تعداد زیادی برنامه‌نویس را به پروژه اضافه کنند. ولی این رویکرد عمیقاً ناقص بود، زیرا منجر به پیوستن برنامه نویسان بی‌تجربه‌ای به تیم می‌شد که دانش ناکافی از پروژه داشتند، و آنها ناگزیر برای آشنایی با پروژه به زمان بیشتری نیاز داشتند.

این رویکرد به تحویل دیرتر پروژه، و همچنین مشکلات بعدی در کیفیت آن منجر می‌شد (و این یعنی اضافه کردن افراد بیشتر برای حل یک مشکل، کارساز نبود). فلسفه توسعه نرم‌افزار در دهه 1950/1960 با این اعتقاد مشخص می‌شد که:

برنامه تکمیل شده همیشه پر از نقص خواهد بود.

برنامه‌نویسی باید به سرعت تمام شود تا این نقص‌ها اصلاح شود.

همانطور که برنامه‌نویسی می‌کنید طراحی کنید.

طراحان این فلسفه شکستِ خودشان در توسعه نرم‌افزار را پذیرفتند، و پیشنهاد دادند که باوجود داشتن یک رویکرد مهندسی محکم، نرم‌افزار تکمیل شده همیشه دارای ایرادات زیادی است، بنابراین منطقی است که برنامه‌نویسی در سریع ترین زمان ممکن  انجام، و سپس عیوب موجود شناسایی شود تا بتوان آنها را هر چه سریع‌تر اصلاح کرد.

از اواخر دهه 1960 روشن شده بود که رویکردهای موجود برای توسعه نرم‌افزار عمیقاً ناقص بودند و نیاز فوری به تغییر آنها وجود داشت. کمیته علمی‌ ناتو برای بحث در مورد مسائل مهم در توسعه نرم‌افزار دو کنفرانس معروف را ترتیب داد، که اولی در سال 1968 در گارمیش آلمان، و دومین کنفرانس در سال 1969 در رم برگزار شد.

بیش از پنجاه نفر از یازده کشور در کنفرانس گارمیش شرکت کردند، از جمله ادسخر دیکسترا (Edsger Dijkstra)، که کارهای نظری مهمی ‌را روی مشخصات صوری انجام داده بود. کنفرانس‌های ناتو مشکلاتی را که در اواخر دهه 1960 در بخش نرم‌افزار وجود داشت برجسته کردند و برای اشاره به این مشکلات، اصطلاح «بحران نرم‌افزار» ابداع شد. این موارد شامل بودجه و تاخیر بیش از حد تحویل برنامه، و همچنین مشکلات کیفیت و قابلیت اطمینان در نرم‌افزار ارائه شده بود.

این کنفرانس منجر به تولد مهندسی نرم‌افزار به عنوان یک رشته مستقل شد و معلوم کرد که برنامه‌نویسی کاملاً از علوم و ریاضیات متمایز است. برنامه نویسان مانند مهندسان هستند، زیرا آنها محصولاتی را می‌سازند و بنابراین به آموزش‌های مهندسی و همچنین آشنایی با آخرین فناوری‌ها نیاز دارند. تحصیلات یک مهندس سنتی شامل طراحی محصول و داشتن دانش ریاضی است. ولی غالباً آموزش‌های علوم کامپیوتری به جای آموزش پایه‌های مهندسی، بر معرفی آخرین فناوری‌ها تاکید دارند.

بنابراین برنامه‌نویسان باید مهارت‌های اصلی مهندسی را بیاموزند تا بتوانند محصولاتی را بسازند که برای استفاده عموم ایمن باشد. این شامل یک پایه محکم در طراحی و دانستن ریاضیات مورد نیاز برای ساخت محصولات نرم‌افزاری ایمن است. ریاضیات در مهندسی یک نقش کلیدی دارد و می‌تواند به مهندسانِ نرم‌افزار در ارائه محصولات نرم‌افزاری با کیفیت بالا کمک کند.

شباهت‌هایی بین بحران نرم‌افزاری در اواخر دهه 1960 و مشکلات ساخت پُل در قرن نوزدهم وجود دارد. در آن زمان به دلیل نداشتن دانش مهندسی مورد نیاز، چندین پل فروریخت و یا با تأخیر، و یا با بودجه بیش از حد، تحویل داده شد. این امر به ایجاد پل‌هایی منجر شد که طراحی و ساخت نامناسبی داشتند و به ریزش آنها و آسیب و تلفات جانی منجر شد.

این به قوانینی منجر شد که مهندسان را ملزم می‌کرد تا قبل از شروع به کار به عنوان مهندس، از سازمان‌های نظامِ مهندسی مجوز بگیرند. این سازمان‌ها مجموعه‌ای از دانش‌های اصلی را تعیین می‌کنند که یک مهندس ملزم به دانستن آنها است و نهاد صادرکننده مجوز تأیید می‌کند که مهندس دارای صلاحیت‌ها و تجربه لازم است. این کمک می‌کند تا اطمینان حاصل شود که فقط پرسنلی که برای طراحی و ساخت نرم‌افزار صاحب صلاحیت هستند، حقیقتاً این کارها را انجام ‌دهند. مهندسان مسئولیت دارند تا اطمینان حاصل کنند که محصولات آنها به درستی ساخته شده و برای استفاده عموم ایمن هستند.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


22/10/1403

فصل 17، تاریخچه کوتاه صنعت مخابرات

17.1 مقدمه

مخابرات (یا بطور دقیقتر ارتباطات از راه دور)[18] شاخه‌ای از فناوری است که به انتقال اطلاعات از راه دور مربوط است، و یک فرستنده اطلاعاتی را به یک گیرنده می‌فرستد. جوامع ابتدایی برای ارتباط بصری از علائمی مانند دود و آتش استفاده می‌کردند. آنها همچنین از طبل برای ارتباطات شنیداری استفاده می‌شد. این اجازه می‌داد تا پیام‌های ساده (مثلاً "اعلام خطر") به افراد دیگر منتقل شود.

در قرن ششم قبل از میلاد، امپراتوری ایران یک سیستم پستی ساده (به نام چاپارخانه‌) را ایجاد کرد. بعداً مصریان و رومی‌ها سیستم پستی خود را تأسیس کردند. بعدها یک سیستم پیام‌رسانی توسط کبوتران معرفی شد، که در آن از ویژگی‌های  کبوترداری برای ارسال پیام استفاده می‌شد.

در قرن چهارم قبل از میلاد، یونانیان یک سیستم سمافور(semaphore)، یا علامت‌دهی با پرچم  را معرفی کردند که اجازه می‌داد پیام‌های بسیار ساده میان افرادی که روی دو تپه ایستاده‌اند رد و بدل شود، که از لحاظی شبیه علامت دهی با دود بود. در قرن پانزدهم یک سیستم سمافور برای کشتی‌ها معرفی شد که به دو کشتی اجازه می‌داد با یکدیگر ارتباط برقرار کنند. این سیستم از پرچم‌ استفاده می‌کرد، که موقعیت و حرکت پرچم نشان دهنده یک حرف بود.

در اواخر قرن هجدهم، برادران چاپه (Chappe) در فرانسه یک سیستم تلگراف نوری ابتدایی را معرفی کردند. این سیستم از اصول مشابه سیستم سمافور کشتی‌ها استفاده می‌کرد و اجازه می‌داد تا پیام‌ها از یک برج بلند به برج دیگر ارسال شود. این سیستم توسط ارتش فرانسه مورد استفاده قرار گرفت.

در اوایل قرن نوزدهم سیستم‌های تلگراف الکتریکی اولیه معرفی شدند، و در اواخر دهه 1830 ساموئل مورس (Samuel Morse) سیستمی را ابداع کرد که ‌کُد مورس نام گرفت و اجازه می‌داد تا حروف با یک سری صداهای بلند و کوتاه نمایش داده شوند. این پایه‌ای برای تلگراف‌های الکتریکی بود، که بعداً در سیستم‌های تلفنی نیز بکار گرفته شد. در سال 1858 اولین کابل تلگراف اقیانوس اطلس بین بریتانیا و آمریکا (از طریق جزیره والنسیا در ایرلند) کشیده شد و این اجازه داد که پیام‌ها در همان روز ارسال و پاسخ داده شوند، چیزی که قبلاً برای نامه‌های ارسال شده توسط کشتی‌ها ده روزه طول می‌کشید.

تلفن در سال 1861 توسط الکساندر گراهام بل اختراع شد. تلفن‌های اولیه به یک تلفن دیگر متصل می‌شدند و با آن ارتباط برقرار می‌کردند (مثلاً از محل کار یک فرد به خانه او)، زیرا در ابتدا هیچ تلفنخانه‌ای وجود نداشت. یک مرکز تلفن، اتصال بین دو خط مشترک را فراهم می‌کند، چیزی که سوئیچینگ (switching) نامیده می‌شود. اولین مراکز تلفن تجاری دستی در اواخر دهه 1870 معرفی شدند. اولین تلفن‌خانه‌های خودکار مکانیکی در اوایل دهه 1890 معرفی شدند. اولین تماس تلفنی بین ساحل شرقی و ساحل غربی قاره‌ آمریکا توسط بل در سال 1915 انجام شد و ارتباط از راه دور را به واقعیت تبدیل کرد.

اختراع تلفن یک تغییر الگو در مقابل ارتباطاتِ  رو-در-رو  بود، زیرا قبلاً مردم برای گفتگو و تبادلِ اطلاعات با یکدیگر ملاقات می‌کردند، یا برای تبادل اطلاعات به یکدیگر نامه می‌نوشتند. تلفن یک رسانه جدید بود که ارتباط مستقیم و آنی بین دو نفر را فراهم می‌کرد. این به دو نفر اجازه می‌داد بدون توجه به اینکه در دو مکان فیزیکی متفاوت هستند، ارتباط دو طرفه برقرار کرده و آن ارتباط را حفظ کنند. در ابتدا جامعه تجاری و افراد مرفه از تلفن استفاده می‌کردند، اما این امر به سرعت در سال‌های بعد تغییر کرد.

در سال 1896، یک مهندس ایتالیایی به نام مارکونی (Marconi)، سیستمی‌ را برای انتقال بی‌سیم اصوات معرفی کرد و شرکت British Marconi در سال 1897 تأسیس شد. این شرکت ارتباط میان کشتی‌ها در دریا و ایستگاه‌های ساحلی را فراهم کرد و اولین پیام‌های رادیویی از طریق اقیانوس اطلس در سال 1902 ارسال شد. پس از غرق شدن کشتی تایتانیک در سال 1912، ارزش ارتباطات رادیویی بسیار مهم شد. مارکونی در سال 1912 یک کارخانه رادیوی ابتدایی را در انگلستان تأسیس کرد.

اولین نمونه از تلویزیون‌های اولیه در اواخر دهه 1920 توسط فیلیپ فارنس‌ورث (Philip Farnsworth) ساخته و به نمایش گذاشته شد. این حاصل تحقیقات در مورد راه‌های انتقال تصاویر بود، و مشخص شد که امواج رادیویی می‌توانند یک تصویر را رمزگذاری کرده، و سپس آن را به صفحه نمایش منتقل کنند. نمونه اولیه فارنس‌ورث، بعنوان اولین تلویزیون الکترونیکی در نظر گرفته می‌شود.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 

 


23/10/1403

فصل 18، انقلاب اینترنت

18.1 مقدمه

ایده اینترنت و وب جهانی به مقاله‌ای در دهه 1940 نوشته وانی‌وار بوش (Vannevar Bush) بازمی‌گردد. بوش یک دانشمند آمریکایی بود که برای نیروی دریایی ایالات متحده روی شناسایی زیردریایی‌ها کار می‌کرد. او تحلیلگر تفاضلی (differential analyzer) (شکل 1.1)، که یک کامپیوتر مکانیکی بود که کار آن ارزیابی و حل معادلات دیفرانسیل مرتبه اول بود، را طراحی و توسعه داد. بوش در دانشگاه MIT بر کارهای کلود شانون نظارت داشت (به فصل 3 مراجعه کنید). کارهای اولیه شانون بهبود تحلیلگر تفاضلی بوش بود.

بوش (شکل 18.1) مدیر دفتر تحقیقات و توسعه علمی بود و میان ارتش ایالات متحده و دانشگاه‌ها یک رابطه برد-برد ایجاد کرد. او بودجه تحقیقاتی سخاوتمندانه‌ای را برای دانشگاه‌ها ترتیب داد تا برای کمک به ارتش تحقیقات کاربردی انجام دهند. این امر به ارتش اجازه داد تا از نتایج اولیه تحقیقات بهره‌مند شود. اینکارها به امکانات و آزمایشگاه‌های بهتر برای دانشگاه‌ها منجر شد. این به پیوند و همکاری‌ نزدیک بین دانشگاه‌هایی مانند ‌هاروارد و برکلی منجر شد، که در نهایت منجر به توسعه ARPANET توسط مرکز تحقیقات پیشرفته ارتش، DARPA شد.

شکل 18.1 وانی‌وار بوش

 بوش نظر خودش درمورد یک سیستم مدیریت اطلاعات به نام "memex" (توسعه دهنده حافظه) را در مقاله معروف " آن گونه که ممکن است بیاندیشیم"[19] ترسیم کرد. او سیستمی به نام مِمکس (Memex) را در نظر گرفت که یک وسیله الکترونیکی متصل به یک کتابخانه بود که می‌توانست کتاب‌ها یا فیلم‌ها را نمایش دهد. این یک سیستم کامپیوتری فرا-متنی (hypertext) را توصیف می‌کرد که بعدها بر توسعه سیستم‌های فرامتن تأثیر گذاشت.

"مِمکس وسیله‌ای است که فرد تمام کتاب‌ها، سوابق و ارتباطات خود را در آن ذخیره می‌کند، و وسیله خودکاری است که می‌توان با سرعت و انعطاف‌پذیری فوق‌العاده‌ای با آن مشورت کرد. این یک مکملِ شخصی ‌قدرتمند برای حافظه است.

این دستگاه شامل یک میز است، و در حالی که احتمالاً می‌توان از راه دور با آن کار کرد، در درجه اول مانند مبلمانی است که انسان از آن استفاده می‌کند. در بالا صفحه‌های شفاف مایل وجود دارد که می‌توان برای خواندن راحت، مواد را روی آن پخش کرد. یک صفحه کلید و مجموعه‌ای از دکمه‌ها و اهرم‌ها وجود دارد. وگرنه مثل یک میز معمولی به نظر می‌رسد."

 بوش پیش بینی کرد که:

«شکل‌های کاملاً جدیدی از دایرة‌المعارف‌ها ظاهر می‌شوند، که با شبکه‌ای از مسیرهای ارتباطی که از میان آن‌ها می‌گذرد، آماده ورود به memex و تقویت در آنجا هستند.»

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


30/10/1403

فصل 19، تلفن‌های هوشمند و رسانه‌های اجتماعی

 19.1 مقدمه

تلفن‌های هوشمند حاصل پیوند فناوری تلفن‌های همراه، و فناوری دستیارهای دیجیتالِ شخصی (PDA) بود و دارای قابلیت‌های محاسباتی پیشرفته‌ای هستند که برای کاربران جذاب است. امروزه تلفن‌های ‌هوشمند در همه جا وجود دارد و اکثر مردم کشورهای پیشرفته این تلفن‌ها را دارند.

معرفی PDA توسط Apple و Palm نقش مهمی‌در توسعه تلفن‌های هوشمند داشت و معرفی آن رشد عمده شبکه‌های اجتماعی را تسهیل کرد. کاربران اکنون می‌توانند با رویدادهای خبری ارتباط برقرار کنند، یا اطلاعات شخصی خود را در زمان واقعی به ‌روزرسانی کنند. شبکه‌های اجتماعی مانند فیس‌بوک و توییتر ارتباطات انسانی را متحول کرده‌اند.

رسانه‌های اجتماعی شامل استفاده از فناوری کامپیوتر برای ایجاد و تبادل محتوای تولید شده توسط کاربر است. این فناوری‌ها که بر وب تکیه دارند، به کاربران اجازه می‌دهند تا درباره محتوای ایجاد شده گفتگو کنند و آنها را تغییر دهند. اینکار به تغییرات عمده در ارتباطات بین افراد، جوامع، و سازمان‌ها منجر شده است.

فیس بوک به کاربران کمک می‌کند تا با دوستان و خانواده خود در تماس باشند و به آنها اجازه می‌دهد نظرات خود در مورد آنچه در سراسر جهان اتفاق می‌افتد را به اشتراک بگذارند. کاربران می‌توانند، عکس‌ها و فیلم‌های خود را آپلود کنند، فیس‌بوک به دوستانِ یک کاربر اجازه می‌دهد تا به طور فعال در مورد رویدادهای مهمی‌که کاربر می‌خواهد به اشتراک بگذارد، به روز نگه داشته شود.

فیس‌بوک به یک کانال ارتباطی مهم برای جوانان تبدیل شده است تا در مورد آرزوهای خود برای آینده و همچنین نارضایتی‌های خود با جامعه و دولت صحبت کنند، و به ابزار مؤثری برای اعتراض و انقلاب اجتماعی تبدیل شده است.

توییتر به روشی موثر برای برقراری ارتباط با آخرین اخبار تبدیل شده و با افزایش تعداد دنبال‌کننده‌های افراد، اثربخشی آن به عنوان یک ابزار ارتباطی افزایش می‌یابد. این به یک شخص یا سازمان اجازه می‌دهد تا تعیین کند مردم در مورد او چه می‌گویند، از جمله تجربیات مثبت یا منفی آنها. این امکان تعامل مستقیم با دنبال‌کننده‌ها را فراهم می‌کند و بنابراین راهی قدرتمند برای درگیر کردن مخاطب و ایجاد احساس شنیده شدن در افراد است.

 19.2 تکامل تلفن‌های هوشمند

تلفن هوشمند چیزی بیش از یک دستگاه تلفن همراه برای برقراری و دریافت تماس است، و اساساً یک کامپیوتر و تلفن است که صفحه کلید لمسی، سیستم‌عامل، دسترسی به اینترنت، و برنامه‌های شخص ثالث نیز دارد. بسیاری از ویژگی‌های دیگر، مانند دوربین، نقشه‌، مرورگر، ایمیل، تقویم، ساعت زنگ‌دار و بازی‌ها را نیز فراهم می‌کند.

در سال 1993 IBM (در یک سرمایه گذاری مشترک با BellSouth) یکی از اولین پیش‌گامان ساخت تلفن‌های هوشمند امروزی بود. نام این گوشی IBM Simon بود و شامل خدمات صوتی و تبادل داده بود. این دستگاه به عنوان یک تلفن همراه، یک PDA، و یک دستگاه فکس عمل می‌کرد و همچنین دارای یک صفحه نمایش لمسی بود که می‌توانست برای شماره گیری اعداد استفاده شود. این گوشی می‌توانست فکس و ایمیل، و همچنین تماس‌ها را دریافت یا ارسال کند، و شامل برنامه‌هایی مانند دفترچه آدرس، تقویم و ماشین حساب می‌شد. ولی این دستگاه بزرگ بود و 900 دلار قیمت داشت.

IBM Simon

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


02/11/1403

فصل20، نوآوری‌های گوناگون

20.1 مقدمه

روند تبدیل یک ایده تجاری یا یک اختراع  به یک محصول یا خدماتی که ارزش افزوده داشته باشد و مردم برای آن هزینه کنند، نوآوری (innovation) نامیده می‌شود. یک ایده تجاری در صورتی نوآورانه است که از نظر تجاری با هزینه اقتصادی که مردم مایل به پرداخت آن هستند، قابل دوام باشد و باید نیاز مشتری خاصی را برآورده کند (در غیر این صورت هیچ تقاضایی برای آن وجود نخواهد داشت).

دو دسته کلی از نوآوری‌ها وجود دارد: یکی نوآوری‌های تکاملی و دیگری دگرگون‌کننده. یک نوآوری تکاملی عموماً با پیشرفت‌های فزاینده‌ای که در فناوری درحال رخ دادن است به وجود می‌آید، در حالی که یک نوآوری دگرگون‌کننده نسبت به محصولات موجود در بازار کاملاً جدید و کاملاً متفاوت است (مثلاً ساخت کامپیوتر مکینتاش یا آیفون اپل، یک تغییر الگو از وضعیت موجود بود). به طور کلی یک نوآوری دگرگون‌کننده ریسک بیشتری دارد، زیرا یک محصول یا یک فناوری کاملاً جدید را ایجاد می‌کند، و بنابراین ضروری است که برای محصول نیاز و تقاضا وجود داشته باشد (به عنوان مثال، معرفی سیستم IBM/360 که در فصل 8 در مورد آن توضیح داده شد. یک نوآوری دگرگون‌کننده بود) ولی نوآوری‌های تکاملی معمولاً ریسک کمتری را در بر دارند.

موفقیت شرکت‌های فناوری پیشرفته به خلاقیت و نوآوری کارکنان آنها متکی است، بنابراین پرورش نوآوری در محیط کار مهم است. یک محیط کاری نوآورانه معمولاً با تأکید بر ارتباطات باز و همکاری بین بخش‌ها بنا می‌شود، و فاصله کمی‌ بین مدیریت و کارکنان وجود دارد. جلسات تبادل فکری برای ارائه ایده‌ها یا راه‌حل‌های نوآورانه برای حل مشکلات برگزار می‌شود، و همچنین استفاده از مجموعه پیشنهادات که در آن کارکنان می‌توانند ایده‌ها یا پیشنهاداتی برای بهبود ارائه کنند.

حوزه نرم‌افزار بسیار نوآورانه است و به طور مستمر در حال پیشرفت می‌باشد. این امر به توسعه بسیاری از فناوری‌ها و سیستم‌های جدید منجر شده. این شامل سیستم‌های توزیع شده، معماری سرویس گرا (SOAنرم‌افزار به عنوان یک سرویس (SaaSرایانش ابری، سیستم‌های تعبیه شده، رایانش کوانتومی، جی‌پی‌اس، وای فای،  و بسیاری دیگر از فناوری‌های جدید است.

یک سیستم توزیع شده (distributed system) مجموعه‌ای از کامپیوتر‌ها است که در ظاهر یک سیستم واحد هستند. بسیاری از سیستم‌های کامپیوتری بزرگ که امروزه استفاده می‌شوند، سیستم‌های توزیع شده هستند. یک سیستم توزیع شده امکان به اشتراک گذاری منابع سخت‌افزاری و نرم‌افزاری را فراهم می‌کند و همزمان از چندین پردازنده که بر روی کامپیوترهای مختلف در شبکه در حال اجرا  هستند پشتیبانی می‌کند.

معماری سرویس گرا (SOA) راهی برای توسعه یک سیستم توزیع شده است که از خدمات وب مستقل تشکیل شده که می‌تواند بر روی کامپیوتر‌های توزیع شده در مناطق جغرافیایی مختلف اجرا شود. نرم‌افزار به عنوان سرویس (SaaS) به یک نرم‌افزار اجازه می‌دهد تا از راه دور بر روی یک سرور (یا چند سرور) میزبانی شود و کاربر می‌تواند از طریق مرورگر وب به نرم‌افزار دسترسی داشته باشد. رایانش ابری نوعی از رایانش مبتنی بر اینترنت است که منابع رایانشی و خدمات مختلف دیگر را بر حسب تقاضا فراهم می‌کند.

سیستم تعبیه شده یک سیستم کامپیوتری است که در یک سیستم الکتریکی یا مکانیکی بزرگتر تعبیه شده، و به عنوان بخشی از یک سیستم کامل که شامل قطعات سخت افزاری و مکانیکی است عمل می‌کند. یک سیستم تعبیه شده به جای اینکه یک دستگاه همه منظوره باشد، معمولاً برای انجام یک کار خاص طراحی می‌شود و ممکن است دارای محدودیت‌های عملکرد زمان واقعی باشد.

رایانش کوانتومی‌کلُاً با رایانش کلاسیک متفاوت است و این پتانسیل را دارد که مسائل را به طور قابل توجهی سریعتر از فناوری کامپیوتر‌های کلاسیک حل کند. خاستگاه رایانش کوانتومی‌ به اوایل دهه 1980 به زمانی برمی‌گردد که یک مدل مکانیک کوانتومی‌ از ماشین تورینگ ارائه شد. برای ساخت کامپیوترهای کوانتومی چندین چالش فنی ‌وجود دارد.

نانوتکنولوژی عبارت است از دستکاری ماده در مقیاس اتمی، مولکولی، و فوق مولکولی، که اندازه ماده از 1 تا 100 نانومتر متغیر است.

 20.2 سیستم‌های توزیع شده

یک سیستم توزیع شده (شکل 20.1) مجموعه‌ای از کامپیوتر‌ها است که از طریق یک شبکه به هم متصل شده‌اند و برای انجام یک کار می‌توانند با هم همکاری کنند. از دید کاربر، اینطور به نظر می‌رسد که چنین سیستم‌هایی یک سیستم کامپیوتری یکپارچه هستند. امروزه اکثر سیستم‌های بزرگ کامپیوتری سیستم‌های توزیع شده هستند. اجزاء (یا گِرِه‌ها) یک سیستم توزیع شده در کامپیوتر‌های شبکه قرار دارند و برای رسیدن به یک هدف مشترک با هم تعامل دارند.

شکل 20.1  یک سیستم توزیع شده

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 


05/11/1403

فصل 21، تاریخچه پایگاه‌های داده

 21.1 مقدمه

اصولاً یک پایگاه داده (DB)[20] مجموعه‌ سازمان یافته‌ای از داده‌ها است که از طرح‌واره‌ها (schema)، جداول (tables)، پرس‌و‌جوها (queries)، گزارش‌ها (reports)، و نماها (views)، تشکیل شده. سازماندهی آن به گونه‌ای است که یک برنامه کامپیوتری (که سیستم مدیریت پایگاه داده نامیده می‌شود) به راحتی می‌تواند داده‌های مورد نظر را انتخاب، و آنها را تحلیل کند. یک پایگاه داده در مورد انواع مختلف موجودیت‌ها (entities و همچنین در مورد روابط بین موجودیت‌ها اطلاعاتی را در خودش دارد.

سیستم مدیریت پایگاه داده (DBMS)[21] مجموعه‌ای از برنامه‌های نرم‌افزاری است که به کاربر اجازه می‌دهد تا داده‌ها را ذخیره، استخراج، و تغییر دهد. تعامل بین کاربران و پایگاه داده از طریق DBMS انجام می‌پیرد که امکان تعریف، ایجاد، انجام پرس و جو، به روز رسانی، و مدیریت پایگاه‌های داده را فراهم می‌کند. از نظر تاریخی، سه دسته اصلی از سیستم‌های مدیریت پایگاه داده وجود دارد، که عبارتند از مدل‌های سلسله مراتبی، مدل‌‌های شبکه‌ای، و مدل‌‌های رابطه‌ای. تفاوت اینها در نحوه سازماندهی داخلی داده‌ها توسط DBMS است، و همین   است که سرعت و کارایی استخراج داده‌ها از پایگاه داده را تعیین می‌کند.

از نظر کاربر، یک پایگاه داده شبکه‌ای به عنوان مجموعه‌ای از رکوردها دیده می‌شود، و روابط بین رکوردها به عنوان یک شبکه سازماندهی می‌شود. مدل شبکه‌ای صریحاً روابط را به عنوان بخشی ‌از ساختار شبکه تعریف می‌کند. یک مدل سلسله مراتبی از نظر کاربر به عنوان مجموعه‌ای از سلسله مراتب‌ها یا درخت‌ها دیده می‌شود و نسبت به مدل شبکه‌ای ساختار محدودتری دارد، زیرا تنها یک پیکان می‌تواند وارد هر کادر شبکه شود. یک مدل رابطه‌ای از نظر کاربر به عنوان مجموعه‌ای از جداول (یا روابط) دیده می‌شود و از دهه 1980 محبوب‌ترین مدلِ پایگاه‌های داده بوده است.

در دهه 1960 به عنوان بخشی ‌از ماموریت آپولو برای فرود انسان روی ماه، کارهای اولیه روی سیستم‌های مدیریت پایگاه داده آغاز شد. واضح بود که سیستم‌های موجود قادر به مدیریت حجم زیادی از داده‌های مورد نیاز برای پروژه نبودند. IBM در سال 1964 سیستم GUAM را توسعه داد که بعداً به زبان داده، یا DL/1، تبدیل شد. DL/1 بخشی از مدیریت داده پایگاه داده سیستم مدیریت اطلاعات (IMS) بود که در سال 1968 یکی از اولین سیستم‌های مدیریت پایگاه داده بود. IMS از مدل سلسله مراتبی استفاده می‌کرد.

کمیته CODASYL1 یک گروه کاری پایگاه داده را راه‌اندازی کرد و استانداردی را ابداع کرد که به "رویکرد CODASYL" معروف شد. این استاندارد که در اواخر دهه 1960 تعریف شد به مدل شبکه‌ای تبدیل شد. این استاندارد در سال 1971 معرفی شد.

در سال 1970 ادگار کاد (Edgar Codd) مدل رابطه‌ای را پیشنهاد کرد، که رویکرد کاملاً جدیدی برای مدیریت داده‌ها بود، و IBM نمونه اولیه این سیستم را به نام System R در دهه 1970 توسعه داد. سیستم‌های پایگاه داده رابطه‌ای تجاری از اوایل دهه 1980 معرفی شدند و امروزه پایگاه‌های داده رابطه‌ای خیلی بیشتر از پایگاه‌های داده شبکه‌ای یا سلسله مراتبی مورد استفاده قرار می‌گیرند. از میان پایگاه‌های داده رابطه‌ای که پرطرفدار هستند و امروزه از آنها استفاده می‌شود، می‌توان از Oracle، Microsoft SQL Server و Informix نام برد.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 


06/11/1403

فصل 22، تاریخچه هوش مصنوعی

22.1 مقدمه

هدف بلندمدت هوش مصنوعی (AI) ایجاد یک ماشین متفکر است که هوشمند، آگاه، دارای توانایی یادگیری، و دارای اراده آزاد و اخلاقی باشد[22]. این رشته شامل رشته‌های متعددی مانند فلسفه، روانشناسی، زبان شناسی، بینایی ماشینی، علوم شناختی، ریاضیات، منطق و اخلاق است. هوش مصنوعی رشته نوپایی است. جان مک کارتی (John McCarthy) و دیگران در سال 1956 این اصطلاح را ابداع کردند. آلن تورینگ قبلاً آزمایش تورینگ (Turing Test) را به عنوان راهی برای تشخیص رفتار هوشمند یک ماشین ابداع کرده بود. مشکلات فلسفی عمیقی در هوش مصنوعی وجود دارد و برخی از محققان، از جمله هوبرت دریفوس (Hubert Dreyfus) و جان سرل (John Searle)، معتقدند که اهداف هوش مصنوعی غیرممکن یا نامنسجم هستند و حتی اگر هوش مصنوعی امکان پذیر باشد، مسائل اخلاقی مربوط به آن پا برجا هستند، چیزهایی مثل بهره‌برداری انسان از ماشین‌ها و اینکه آیا انجام این کار اخلاقی است. دانششمند علوم رایانه‌ای آلمانی-آمریکایی، جوزف وایزنبام[23] (Joseph Weizenbaum) این بحث را مطرح کرد که بکارگیری هوش مصنوعی غیراخلاقی است.

جوزف وایزنبام (2000-1923)

یکی از اولین اشارات که به خلق حیات توسط وسایل مصنوعی شده، اسطوره کلاسیک پیگمالیون (Pygmalion) است. پیگمالیون مجسمه‌سازی بود که مجسمه یک زن را از عاج تراشید. این مجسمه آنقدر واقعی بنظر می‌رسید که او عاشق آن شد و به درگاه آفرودیت، الهه عشق، دعا کرد تا او را زنده کند. آفرودیت دلش به حال او سوخت و این مجسمه (گالاتیا) را زنده کرد.

چند داستان از تلاش‌های انسان برای ساخت حیات از اشیای بی‌جان وجود دارد. به عنوان مثال، ایجاد هیولایی  بنام فرانکنشتاین در کتاب مری شلی. این هیولا توسط دانشمندی که بیش از حد جاه‌طلب بود آفریده شد، و به خاطر کفرگویی خود نسبت به خلقت مجازات می‌شود (که در آن خلقت فقط از آن خداست). هیولا پس از خلق خودش احساس طرد شدگی می‌کند و از خالق خودش انتقامی ‌وحشتناک می‌گیرد.

نمایشنامه”کارخانه ربات‌سازی روسوم[24] یک نمایشنامه علمی ‌تخیلی است که توسط نمایشنامه‌نویس چک کارل چاپک نوشته شد، و در سال 1921 در پراگ روی صحنه رفت. این نمایشنامه به انگلیسی ترجمه شد و در سال 1923 در لندن اجرا شد. در این نمایشنامه برای اولین بار به اصطلاح "ربات" (robot) و استثمار کارگرانِ مصنوعی در یک کارخانه اشاره می‌شود. در ابتدا ربات‌ها (یا اندرویدها) خوشحال هستند و به انسان‌ها خدمت می‌کنند، اما پس از مدتی از وجود خود ناراضی می‌شوند. سوال اساسی که نمایشنامه به آن توجه می‌کند این است که آیا ربات‌ها مورد استثمار قرار گرفته‌اند، و اگر چنین است، آیا اینکار اخلاقی است یا خیر و واکنش ربات‌ها به استثمار خودشان چه باید باشد. در نهایت این منجر به شورش ربات‌ها و نابودی نسل بشر می‌شود.

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


13/11/1403

فصل 23، اخلاق و مسئولیت‌های حرفه‌ای

23.1 مقدمه

اخلاق یک شاخه‌ عَملیِ فلسفه است که به مسائل اخلاقی می‌پردازد، از جمله اینکه چه چیزی درست یا نادرست است، و اینکه یک فرد در دنیای پیچیده در یک وضعیت معین چگونه باید رفتار کند. اخلاق بررسی می‌کند که در یک زمینه خاص، و در یک جامعه خاص، چه اعمالی درست یا نادرست هستند و به دنبال یافتن پاسخ‌های قانع‌کننده برای سؤالات اخلاقی است. ریشه کلمه «اخلاق» (به انگلیسی اِتیک ethic) از کلمه یونانی ἠθικός به معنای عادت یا عرف است.

مکاتب اخلاقی مختلفی مانند نسبی‌گرایی وجود دارد. همان طور که فیلسوف یونانی پروتاگوراس تعریف کرده، در این مکتب  در مورد درست یا نادرست بودن یک چیز، هر کس خودش تصمیم می‌گیرد. نسبی‌گرایی فرهنگی (cultural relativism) استدلال می‌کند که یک جامعه خاص، درست یا نادرست را بر اساس ارزش‌های فرهنگی خودش تعیین می‌کند. اخلاقِ وظیفه‌گرا (deontological ethics)  که کانت آن را تعریف کرد، می‌گوید که برای راهنمایی مردم درمورد تشخیص درست یا نادرست، یک سری قوانین اخلاقی وجود دارد. اخلاق فایده‌گرا  (utilitarianism) نیز استدلال می‌کند که یک عمل در صورتی درست است که اثر کلی آن ایجاد شادی بیشتر در جامعه، به جای ناراحتی باشد.

اخلاق حرفه‌ای (Professional ethics) یک آیین‌نامه رفتاری است که بر نحوه برخورد اعضای یک حرفه با یکدیگر و با اشخاص ثالث نظارت می‌کند. آیین‌نامه اخلاق حرفه‌ای بیانگر آرمان‌های رفتار انسانی است و اصول بنیادی سازمان را تعریف می‌کند و نشان از حرفه‌ای بودن آن است. چندین سازمان مرتبط با کامپیوتر، مانند (ACM)[25] و (BCS)[26] برای اعضای خودشان یک سری آیین نامه‌های رفتاری را  تدوین کرده‌اند، و نقض این قوانین توسط اعضا آنها جدی گرفته می‌شود و مشمول تحقیقات و رَویه‌های انضباطی است.

اخلاق تجاری ارزش‌های اصلی کسب و کار را تعریف می‌کند و از آن برای هدایت رفتار کارکنان استفاده می‌شود. مثلاً، آیا یکی از کارکنان باید هدایایی را که از طرف یک تامین‌کننده داده شده را قبول کند، زیرا این امر می‌تواند منجر به تضاد منافع شود؟ یک شرکت ممکن است با سؤالات اخلاقی در مورد استفاده از فناوری روبرو شود. به عنوان مثال، اینکه مردم می‌توانند از یک فناوری جدید برای اقدامات غیرقانونی یا مضر، و همچنین اقدامات مفید استفاده کنند، آیا استفاده از آن باید محدود شود؟

مثلاً فناوری تلفن همراه را در نظر بگیرید که ارتباط میان مردم را متحول کرده، بنابراین برای جامعه بسیار مفید است. تلفن‌های همراه دوربین‌دار چطور؟ از یک طرف، آنها با ترکیب تلفن و دوربین عملکرد مفیدی را ارائه می‌دهند. از سوی دیگر، ممکن است از آنها برای گرفتن عکس‌های نامحسوس بدون اجازه دیگران استفاده شود، که می‌تواند در سایت‌های نامناسب اینترنتی قرار گیرند. به عبارت دیگر، چگونه می‌توان شهروندان را از استفاده نامناسب از چنین فناوری‌هایی ایمن کرد؟

 23.2 اخلاق تجاری

اخلاق تجاری (که اخلاق سازمانی نیز نامیده می‌شود) به اصول اخلاقی و مشکلات اخلاقی مربوط می‌شود که در یک محیط تجاری ایجاد می‌شود. آنها به اصول و ارزش‌های اصلی سازمان اشاره می‌کنند و در کُلِ سازمان اعمال می‌شوند. آنها کارکنان را در انجام وظایف خودشان راهنمایی می‌کنند. مسائل اخلاقی شامل حقوق و وظایف میان یک شرکت و کارکنان آن، مشتریان، و تامین کنندگان آن است.

بسیاری از شرکت‌ها و سازمان‌های حرفه‌ای  یک «منشور اخلاقی» مکتوب دارند که استانداردهای حرفه‌ای مورد انتظار از کارکنان شرکت را تعریف می‌کند. از تمام کارکنان  انتظار می‌رود وقتی نماینده شرکت هستند به این ارزش‌ها پایبند باشند. کارکرد منابع انسانی در یک شرکت نقش مهمی‌ در ارتقای اخلاق و ارزش‌های اصلی سازمان و اعمال سیاست‌های منابع انسانی داخلی در رابطه با رفتار اخلاقی کارکنان دارد. همچنین بخش منابع انسانی مسئول اطمینان از رفع تبعیض، آزار جنسی، و برخورد مناسب با کارکنان (از جمله حساسیت‌های فرهنگی در یک محیط تجاری چندفرهنگی) است.

از شرکت‌ها انتظار می‌رود رفتار اخلاقی داشته باشند و کارگران خود را استثمار نکنند. موردی از استثمار کارمندان در مجتمع فاکسکان Foxconn (یکی از تامین کننده‌های آیفون اپل) در شنژن چین در سال 2006 وجود داشت، در آنجا شرایط کارخانه بسیار وحشتناک بود (ساعات طولانی کار، حقوق کم، حجم کاری نامعقول، و محل اقامت کوچک) که به همین جهت چندین نفر کارمندان خودکشی کردند، این رسوایی سوالاتی را در مورد اینکه تا چه حد یک شرکت بزرگ مانند اپل باید از ایمنی و رفاه کارگران خود محافظت کند، مطرح کرد. علاوه بر این، با توجه به سودی که اپل از آیفون به دست می‌آورد، آیا برای اپل اخلاقی است که اجازه دهد کارگران اینطور مورد استثمار قرار گیرند؟

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.


14/11/1403

فصل 24، جنبه‌های حقوقی رایانش

24.1 مقدمه

جنبه‌های حقوقی رایانش به کاربرد سیستم‌های حقوقی در زمینه رایانش مربوط است. این فصل چندین جنبه حقوقی اطلاعاتِ دیجیتال و نرم‌افزار، و همچنین جنبه‌های حقوقی اینترنت را بررسی می‌کند.

ما در مورد حقوق مالکیت فکری از جمله حق اختراع، قانون حق تکثیر، علائم تجاری و اسرار تجاری صحبت خواهیم کرد. حق ثبت اختراع (Patents) برای ایده‌های فکری حمایت قانونی فراهم می‌کند. قانون حق‌تکثیر یا کپی‌رایت (copyright) از بیان یک ایده محافظت می‌کند. و علائم تجاری حمایت قانونی از نام‌ها یا نمادها را فراهم می‌کند.

مجوز یا لایسنس (license) نرم‌افزار یک توافق نامه قانونی بین مالک نرم‌افزار و دارنده مجوز است که بر استفاده یا توزیع نرم‌افزار به کاربر نظارت می‌کند. دو دسته از رایج ترین مجوزهای نرم‌افزاری که ممکن است تحت قانون حق تکثیر اعطا شوند، یکی مجوزهای نرم‌افزار اختصاصی (proprietary) و دیگری مجوزهای نرم‌افزار منبع باز رایگان هستند.

ما جنبه‌های حقوقی توسعه نرم‌افزارِ سفارشی، که یک قرارداد قانونی بین تامین کننده و مشتری تنظیم می‌شود را مورد بحث قرار می‌دهیم. این معمولاً شامل توضیحی از کار است که محصولات تحویلی را مشخص می‌کند، و همچنین می‌تواند شامل یک توافق‌نامه خدمات و یک قرارداد وجه‌الضمان نیز باشد.

ما در مورد ماهیت تجارت الکترونیکی، از جمله معاملات برای ثبت سفارش، تأیید سفارش، پذیرش سفارش، و انجام سفارش توضیح خواهیم داد.

ما در مورد مشکل هک صحبت می‌کنیم. هکر شخصی است که از مهارت‌های کامپیوتر‌ی خود برای دسترسی غیرمجاز به یک سیستم کامپیوتر‌ی استفاده می‌کند. ما بین هکرهای کلاه سفیدِ اخلاق‌گرا و هکرهای کلاه سیاه مخرب تمایز قائل می‌شویم. ما در مورد جرایم کامپیوتر‌ی، از جمله دسترسی غیرمجاز به منابع کامپیوتر‌ای، سرقت اطلاعات شخصی، اخاذی سایبری، و حملات محروم‌سازی از خدمات توضیح خواهیم داد.

 24.2 مالکیت فکری

حقوق مالکیت فکری (Intellectual Property) به قوانینی می‌پردازد که در حمایت از اختراعات، طرح‌ها، و آثار هنری، و اجرای چنین حقوقی به کار می‌رود. از دارایی‌های نامشهود، مانند طرح‌های نرم‌افزاری یا اختراعات، به روشی مشابه حفاظت از دارایی‌های مشهود، می‌توان محافظت کرد. در این موارد عموماً برای مدت معینی به مخترع برای اختراع‌ او حقوق انحصاری اعطا می‌شود. این امر به مخترع انگیزه می‌دهد تا کارهای خلاقانه‌ای را توسعه دهد که می‌تواند به نفع جامعه باشد، زیرا به صاحب اختراع اجازه می‌دهد بدون ترس از سوء‌استفاده دیگران از کار خود سود ببرد.

اشکال اصلی مالکیت فکری عبارتند از ثبت اختراعات، حق تکثیر، و علائم تجاری. ثبت یک اختراع برای مدت معینی (احتمالاً تا 20 سال) به مخترع حقوق انحصاری می‌دهند، یا اینکه می‌تواند این حق را به طرف دیگری انتقال داده و از اختراع  خود سود ببرد. حق ثبت اختراع از ایده‌ها و مفاهیم نوآورانه محافظت می‌کند.خودِ اختراع باید جدید و به طور آشکار یک گام از فناوری موجود جلوتر باشد. ثبت اختراع  باید در اداره ثبت اختراعات ثبت شود. حق اختراع در یک کشور یا منطقه خاص از جهان، در برابر نقض حق اختراع از مخترع محافظت می‌کند.

کپی‌رایت (copyright) یا حق تکثیر، درمورد آثار نوشتاری اصیل، موسیقی، تصاویر متحرک، و دیگر موارد اصیل فکری و هنری اعمال می‌شود. این قانون از ایده اصلی محافظت نمی‌کند و آنچه از آن محافظت می‌شود بیان ایده است. کپی‌رایت حقوقِ انحصاری تکثیر کردن هستند. کُد منبع یک نرم‌افزار کامپیوتری توسط قانون حق تکثیر محافظت می‌شود. اصطلاح "استفاده منصفانه" (fair use) به استفاده مجاز و محدود از مطالب دارای کپی‌رایت، بدون نیاز به مجوز از صاحبِ کپی‌رایت اشاره دارد.

ثبت علائم تجاری (trademark) از نام‌ها یا نمادهایی محافظت می‌کند که برای شناسایی کالاها یا خدمات از آنها استفاده می‌شوند و هدف آنها جلوگیری از سردرگمی ‌و کمک به مشتریان برای تشخیص یک برند از برند دیگر است.

اسرار تجاری (rade secret) اطلاعاتی هستند که نوعی مزیت رقابتی نسبت به سایرین ایجاد می‌کند. آنها فقط وقتی ارزش دارند، که مخفی بماند. اینها در حوزه کامپیوتر کاربرد دارند، جایی که برنامه‌ها می‌توانند از الگوریتم‌هایی استفاده کنند که برای دیگران ناشناخته است[27].

...........................................

محتویات کامل این کتاب در 24 فصل و 500 صفحه منتشر شده، برای ادامه مطالعه این کتاب می‌توانید نسخه کامل PDF آن را تهیه کنید.

 



[1] - ماشین‌های پیش‌بینی جزر و مد، کامپیوتر‌های آنالوگ مکانیکی ویژه‌ای هستند که جزر و مد دریا و تغییرات نامنظم ارتفاع آن‌ها را پیش‌بینی می‌کنند.

[2] - ژرمانیوم یک ماده نیمه‌هادی مهم است که از آن در ترانزیستورها و سایر وسایل الکترونیکی استفاده می‌شود، ولی استفاده از  سیلیکون رایج تر است.

[3]  - فناوری‌های جدید فواید عمده‌ای برای جامعه داشته‌اند، اما برای تضمین بقای بلندمدت کره زمین، حرکت به سوی توسعه پایدار ضروری است. این شامل یافتن راه‌حل‌های مبتنی بر فن‌آوری، و راه‌حل‌های دیگری برای کاهش انتشار گازهای گلخانه‌ای و همچنین حرکت به سمت زندگی بدون کربن است. بحران زیست محیطی یک چالش بزرگ برای قرن بیست و یکم می‌باشد.

[4] - توت‌عنخ آمون یک فرعون دون‌پایه مصری بود که پس از حکومت بحث برانگیز آخناتون به سلطنت رسید. هوارد کارتر مقبره دست نخورده توت عنخ آمون را در دره پادشاهان کشف کرد. کیفیت ساخت آثار یافت شده در این مقبره فوق‌العاده بود و بازدید از موزه مصر می‌تواند خاطره انگیز باشد.

[5] - ریشه کلمه دموکراسی از دموس (δημος) به معنی مردم و کراتوس (κρατος) به معنای حکومت کردن است، که یعنی حکومت مردم بر مردم. این واژه پس از اصلاحات کلیستنس به آتن وارد شد. او دولت شهر آتن را به سی ناحیه تقسیم کرد. بیست تا از این مناطق در داخل  یا در امتداد ساحل، و ده منطقه در خود آتیکا بودند. ماهیگیران عمدتاً در ده منطقه ساحلی زندگی می‌کردند. کشاورزان ده منطقه داخلی، و تجار مختلف در آتیکا. کلیستنس ده قبیله جدید را معرفی کرد که اعضای هر قبیله از یک منطقه ساحلی، یک منطقه داخلی در یک منطقه در آتیکا آمده بودند. او سپس یک Boule (یا مجمع) را معرفی کرد که متشکل از 500 عضو (50 نفر از هر قبیله) بود. هر طایفه برای 1/10 سال حکومت می‌کردند.

[6]  - دموکراسی آتن شامل مشارکت کامل شهروندان (یعنی شهروندان مردِ بالغ که برده نبودند) بود، در حالی که در دموکراسی‌های امروزی، شهروندان نمایندگانی را برای حکومت کردن و دفاع از منافع خودشان انتخاب می‌کنند. دموکراسی آتن آشفته بود و همچنین می‌توانست به راحتی تحت تأثیر افرادی قرار گیرد که فقط در سخن‌وری ماهر بودند. معلمانی (معروف به سوفسطائیان) بودند که در ازای دریافت پول به شهروندانِ ثروتمند سخنوری می‌آموختند. منشأ کلمه "سوفیست" کلمه یونانی σοφος به معنای خرد است. یکی از مشهورترین سوفسطائیان پروتاگوراس بود. مشکلات دموکراسی آتن فیلسوفانی مانند افلاطون را بر آن داشت که راه حل‌های جایگزینی مانند حکومت شاهان فیلسوف را در نظر بگیرند. این در کتاب جمهور افلاطون توضیح داده شده است.

[7] -  مرمر‌های الگین به افتخار لرد الگین (Elgin) که آنها را در سال 1806 از پارتنونِ آتن به لندن منتقل کرد نام‌گذاری شده‌اند. این مرمر‌ها جشنواره پان آتنایی را نشان می‌دهد که در آتن به افتخار الهه آتنا، که شهر آتن به نام او نامگذاری شده بود، برگزار شد.

[8] - منشأ کلمه هلنیستی از لغت Hellene (' Ελλην )  به معنای یونان است.

[9] - دستگاه مکانی، یک دستگاه نمایش اعداد است که در آن هر مکان با یک ضریب ثابت به مکان بعدی مربوط می‌شود. سیستم اعشاری نمونه‌ای از آن است: به عنوان مثال، 546 = 5×102+4×101+6.

[10] -عدد "360" (یا همان تعداد درجات کامل یک دایره) برای نشان دادن توانایی این کامپیوتر برای انجام  انواع برنامه‌ها انتخاب شد.

[11] - واتسون بعداً اظهار داشت: « System/360بزرگ‌ترین و خطرناک‌ترین تصمیمی‌بود که تا به حال گرفتم، و هفته‌ها در مورد آن عذاب می‌کشیدم، اما عمیقاً معتقد بودم که هیچ کاری وجود ندارد که IBM نتواند انجام دهد».

[12] - DEC=Digital Equipment Corporation

[13] - CDC= Control Data Corporation

[14] - CTSS= Compatible Timesharing System.

[15] - این را نباید با سیستم‌عامل DOS مایکروسافت اشتباه بگیرید.

[16] - این در مورد کدهای تولید شده توسط کامپایلرهای بومی‌صادق است. سایر کامپایلرها می‌توانند کدِ منبع را به کدِ مقصد (object code) یک ماشین مجازی ترجمه کنند و ماژول مترجم ماشین مجازی بایت‌کدِ (byte code) ماشین مجازی را به دستورالعمل ماشین اصلی ترجمه ‌کند. یک زبان کامپیوتری مانند C، برای هر پلتفرم کامپیوتری (یعنی کامپیوتر و سیستم‌عامل) به یک کامپایلر جداگانه نیاز دارد. ولی زبانی مانند جاوا برای هر پلتفرم یک ماشین مجازی دارد، که اجازه می‌دهد دستورات کدِ منبع در این برنامه‌ها فقط یک بار کامپایل شوند، که بعداً می‌توانند روی هر پلتفرمی ‌اجرا شوند.

[17] - افسانه مدیریت "یورش مغولی" این است که افزودن برنامه‌نویسان بیشتر به پروژه نرم‌افزاری که آماده شدن آن دیر شده، امکان به اتمام رساندن آن را فراهم می‌کند. همانطور که بروکس می‌گوید، افزودن افراد بیشتر به یک پروژه نرم‌افزاری تکمیل نشده، در واقع باعث دیرتر آماده شدن آن می‌شود.

[18] - Telecommunications

[19] -  As We May Think.

[20] - DB=DataBase

[21] - DBMS = database management system

[22] - ممکن است این هدف بلندمدت صدها سال طول بکشد، زیرا بعید است که یک پیشرفت قاطع در هوش ماشینی وجود داشته باشد، زیرا مشکلات فلسفی عمیقی وجود دارد که باید حل شوند.

[23] - وایزنبام روانشناسی بود که برنامه ELIZA را اختراع کرد، این برنامه یک روانشناس را شبیه سازی می‌کرد در حال گفتگو با یک بیمار است. او ابتدا طرفدار هوش مصنوعی بود اما بعداً به منتقد آن تبدیل شد.

[24] - Rossumovi Univerzální Roboti.

[25] - Association Computing Machinery

[26] - British Computer Society

[27] - ولی استفاده از مهندسی معکوس برای کشف اسرار-تجاری غیرقانونی نیست.

Like: ,