دانلود تحقیق- مقاله-پروژه-کارآموزی

مرجع کامل خرید و دانلود گزارش کار آموزی ، گزارشکار آزمایشگاه ، مقاله ، پروژه و پایان نامه های کلیه رشته های دانشگاهی

دانلود تحقیق- مقاله-پروژه-کارآموزی

مرجع کامل خرید و دانلود گزارش کار آموزی ، گزارشکار آزمایشگاه ، مقاله ، پروژه و پایان نامه های کلیه رشته های دانشگاهی

Universal Serial Bus (USB)

USB یک استاندارد باس برای اتصال تجهیزات است USB قطعه مهمی است که برای اتصال قطعات جانبی به واسطه یک سوکت اتصالی استاندارد طراحی شده است که توانایی plug and play را با ایجاد امکانی برای اتصال و قطع ارتباط بدون reboot کردن کامپیوتر گسترش می دهد
دسته بندی کامپیوتر و IT
بازدید ها 45
فرمت فایل doc
حجم فایل 92 کیلو بایت
تعداد صفحات فایل 29
Universal Serial Bus (USB)

فروشنده فایل

کد کاربری 1024
کاربر

Universal Serial Bus (USB)

USBیک استاندارد باس برای اتصال تجهیزات است. USB قطعه مهمی است که برای اتصال قطعات جانبی به واسطه یک سوکت اتصالی استاندارد طراحی شده است که توانایی plug and play را با ایجاد امکانی برای اتصال و قطع ارتباط بدون reboot کردن کامپیوتر گسترش می دهد. دیگر خصوصیات راحتی آن شامل تامین توان تجهیزات کم مصرف بدون نیاز به تغذیه توان خارجی و ایجاد امکان استفاده از برخی تجهیزات بدون نیاز به نصب درایورهای تجهیز مستقل است.

هدف USB کنار گذاشتن سریال های قدیمی و پورت موازی است. USB می تواند تجهیزات جانبی را مانند موس، کیبرد، PDA ها، گاماپدها و joystickها، اسکنرها، دوربین های دیجیتال و پرینترها را متصل کند. برای بسیاری تجهیزات مانند اسکنر و دوربین های دیجیتال، USB تبدیل به یک روش اتصال استاندارد شده است. USB همچینین به طور گسترده ای جهت اتصال پرینترهای non-netwoked استفاده میشود؛ USB اتصال چندین پرینتر را به یک کامپیوتر ساده می کند. USB منحصراً برای کامپیوترهای شخصی طراحی شد، اما به قطعه ای معمول در دیگر تجهیزات مانند PDAها و ویدئوگیم ها تبدیل شده است.

طراحی USB توسط USB Implementers Forum (USB-IF) ، یک موسسه استاندارد کننده با همکاری شرکت های بزرگ کامپیوتری و صنایع الکترونیک استاندارد شده است.

تاریخچه

از سال 2006، مشخصات USB با ویرایش 2.0 است. برخی شرکت های بزرگ در توسعه نرخ انتقال داده بالاتر نسبت به مختصات 1.1 پیشقدم هستند. مشخصات USB 2.0 در آوریل 2000 تدوین شد و توسط USB-IF در پایان سال 2001 استاندارد سازی شد. نسخه های پیشین قابل ذکر، 0.9، 1.0 و 1.1 هستند. تجهیزات مطابق با هریک از ویرایش های استاندارد همچنین با تمامی تجهیزات طراحی شده بر اساس مختصات پیشین قابلیت اجرا دارد.

سیستم USB یک طراحی متقارن دارد، شامل یک کنترلر هاب و تجهیزات جانبی. هاب های USB اضافی ممکن است در زنجیره گنجانده شود، که اجازه انشعاب به یک ساختار درختی را می دهد، با محدودیت 5 سطح انشعاب در هر کنترلر. حداکثر تا 127 تجهیز شامل باس ممکن است به یک کنترلر میزبان (host) تک متصل شود. کامپیوترهای مدرن همچنین دارای کنترلرهای میزبان متعددی هستند که امکان اتصال تعداد زیادی تجهیزات USB را فراهم می کند. کابل های USB نیازی به Terminate شدن ندارند.

در ترمینولوژی USB، تجهیزات مجزا به عنوان functionها شناخته می شوند، چون هر تجهیز ممکن است عملاً به عنوان میزبان چندین function باشد، مانند یک webcam با یک میکروفون همراه. Functionها توسط هاب به صورت سری به یکدیگر متصل می شوند. هاب ها تجهیزات با وظایف ویژه هستند که به عنوانfunction شناخته نمی شوند. همیشه یک هاب به عنوان هاب ریشه وجود دراد که به طور مستقیم به کنترلر میزبان متصل است. Functionها و هاب ها دارای لوله های متصل هستند (کانال های منطقی). لوله ها اتصالاتی از کنترلر میزبان به یک واحد منطقی روی تجهیز به نام endpoint هستند. ترم endpoint همچنین گاهی به کل لوله اطلاق می شود. یک function می تواند تا 32 لوله اکتیو داشته باش، 16 تا به کنترلر میزبان و 16 تا بیرون کنترلر. هر endpoint می تواند داده را تنها در یک جهت منتقل کند، به دون یا خارج تجهیز/function . بدین معنی که هر لوله تک جهت است.

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

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

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

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

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

نیروی متوسطی برای اتصال/ جدا کردن مورد نیاز است. کابل های USB و تجهیزات کوچک USB با نیروی گیرایی در محل قرار گرفتن جای می گیرند (بدون نیاز به پیچ، گیره یا نگهدارنده هایی که دیگر تجهیزات به آنها نیازمندند.

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

به علاوه، توان و اتصالات مربوطه پس از گراند سیستم ایجاد می شوند، اما پیش از اتصالات داده. کابل ها فقط دارای plug و میزبان ها فقط دارای receptacle هستند.

کانکتور USB

1

تجهیز کنترلر ذخیره USB

2

نقاط تست

3

چیپ حافظه فلش

4

اسیلاتور کریستال

5

LED

6

سوئیچ Write-protect

7

فضا برای چیپ حافظه فلش دوم

8

سلول حافظه فلش:

حافظه فلش اطلاعات را در یک آرایه از ترانزیستورها معروف به سلول ذخیره می کند که هر کدام به طور سنتی یک بیت اطلاعات را ذخیره می کنند. حافظه های فلش جدید که بعضاً با نام تجهیزات سلول چند سطحی (multi level cell) شناخته می شوند می توانند بیش از یک بیت را در هر سلول ذخیره کنند.

چنان که در شکل 1 نشان داده شده است،در فلش NOR، هر سلول شبیه به یک ترانزیستور MOSFET استاندارد است، جز این که به جای یک گیت دارای دو گیت است. یک گیت، گیت کنترل (CG) شبیه دیگر ترانیستورهای MOS است، اما دومی یک گیت شناور (FG) است که توسط یک لایه اکسید ایزوله شده است. FG بین CG و substrate است. از آنجا که FG توسط لایه اکسید عایق شده است، هر الکترون قرار گرفته روی آن در آنجا محبوس می شودو بنابراین اطلاعات ذخیره می شود. هنگامی که الکترون ها روی FG هستند میدان الکتریکی حاصل از CG که ولتاژ انتقالی (Vt) سلول را اصلاح می کند را تعدیل می کند. بنابراین هنگامی که سلول با قرار گرفتن ولتاژ مشخصی روی CG در حالت read است، جریان الکتریکی می تواندبسته به Vt روی سلول در جریان یا متوقف باشد که این پدیده با مقدار الکترون روی FG کنترل می شود.این حضور یا غیبت جریان حس و به 1ها یا 0ها تفسیر می شود که داده های ذخیره شده را بازتولید می کنند. در یک تجهیز سلول چند سطحی که بیش از یک بیت اطلاعات را در هر سلول ذخیره می کنند، به جای حضور یا غیاب جریان، مقدار آن جهت تعیین مقدار الکترون ذخیره شده روی FG حس می شود.


آشنائی با روتر

استفاده از روترها در شبکه به امری متداول تبدیل شده است یکی از دلایل مهم گسترش استفاده از روتر ، ضرورت اتصال یک شبکه به چندین شبکه دیگر (اینترنت و یا سایر سایت های از راه دور) در عصر حاضر است
دسته بندی کامپیوتر و IT
بازدید ها 22
فرمت فایل doc
حجم فایل 162 کیلو بایت
تعداد صفحات فایل 24
آشنائی با روتر

فروشنده فایل

کد کاربری 1024
کاربر

آشنائی با روتر

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

انواع روترها

روترها را می توان به دو گروه عمده سخت افزاری و نرم افزاری تقسیم نمود:

  • روترهای سخت افزاری: روترهای فوق، سخت افزارهائی می باشند که نرم افزارهای خاص تولید شده توسط تولیدکنندگان را اجراء می نمایند (در حال حاضر صرفاً به صورت black box به آنان نگاه می کنیم). نرم افزار فوق ، قابلیت روتینگ را برای روترها فراهم نموده تا آنان مهمترین و شاید ساده ترین وظیفه خود که ارسال داده از یک شبکه به شبکه دیگر است را بخوبی انجام دهند. اکثر شرکت ها ترجیح می دهند که از روترهای سخت افزاری استفاده نمایند چراکه آنان در مقایسه با روترهای نرم افزاری، دارای سرعت و اعتماد پذیری بیشتری می باشند . شکل زیر یک نمونه روتر را نشان می دهد.

روترهای نرم افزاری: روترهای نرم افزاری دارای عملکردی مشابه با روترهای سخت افزاری بوده و مسئولیت اصلی آنان نیز ارسال داده از یک شبکه به شبکه دیگر است. یک روتر نرم افزاری می تواند یک سرویس دهنده NT، یک سرویس دهنده نت ور و یا یک سرویس دهنده لینوکس باشد. تمامی سیستم های عامل شبکه ای مطرح ،دارای قابلیت های روتینگ از قبل تعبیه شده می باشند.

در اکثر موارد از روترها به عنوان فایروال و یا gateway اینترنت، استفاده می گردد. در این رابطه لازم است به یکی از مهمترین تفاوت های موجود بین روترهای نرم افزاری و سخت افزاری، اشاره گردد: در اکثر موارد نمی توان یک روتر نرم افزاری را جایگزین یک روتر سخت افزاری نمود، چراکه روترهای سخت افزاری دارای سخت افزار لازم و از قبل تعبیه شده ای می باشند که به آنان امکان اتصال به یک لینک خاص WAN (از نوع Frame Relay، ISDN و یا ATM) را خواهد داد. یک روتر نرم افزاری (نظیر سرویس دهنده ویندوز) دارای تعدادی کارت شبکه است که هر یک از آنان به یک شبکه LAN متصل شده و سایر اتصالات به شبکه های WAN از طریق روترهای سخت افزاری، انجام خواهد شد .

مثال 1 : استفاده از روتر به منظور اتصال دو شبکه به یکدیگر و ارتباط به اینترنت
فرض کنید از یک روتر مطابق شکل زیر به منظور اتصال دو شبکه LAN به یکدیگر و اینترنت، استفاده شده است. زمانی که روتر داده ای را از طریق یک شبکه LAN و یا اینترنت دریافت می نماید، پس از بررسی آدرس مبداء و مقصد ، داده دریافتی را برای هر یک از شبکه ها و یا اینترنت ارسال می نماید. روتر استفاده شده در شکل زیر، شبکه را به دو بخش متفاوت تقسیم نموده است. (دو شبکه مجزاء). هر شبکه دارای یک هاب است که تمامی کامپیوترهای موجود در شبکه به آن متصل شده اند. علاوه بر موارد فوق، روتر استفاده شده دارای اینترفیس های لازم به منظور اتصال هر شبکه به آن بوده و از یک اینترفیس دیگر به منظور اتصال به اینترنت، استفاده می نماید. بدین ترتیب، روتر قادر است داده مورد نظر را به مقصد درست، ارسال نماید.


آموزش کار با PHP

PHP یک زبان اسکریپتی سمت سرور (Server Side) می باشد که امروزه بیش از نصفی از وبسایتهای مطرح جهان، از آن برای حفظ و نگهداری داده ها و ایجاد سایتهای دینامیک و به روز استفاده می کنند
دسته بندی برنامه نویسی
بازدید ها 34
فرمت فایل doc
حجم فایل 33 کیلو بایت
تعداد صفحات فایل 41
آموزش کار با PHP

فروشنده فایل

کد کاربری 1024
کاربر

آموزش کار با PHP

مقدمه
PHP یک زبان اسکریپتی سمت سرور (Server Side) می باشد که امروزه بیش از نصفی از وبسایتهای مطرح جهان، از آن برای حفظ و نگهداری داده ها و ایجاد سایتهای دینامیک و به روز استفاده می کنند.
PHP هم همانند تمامی زبانهای برنامه نویسی Server Side، ترجمه شده و در نهایت به صورت کدهای HTML در اختیار کاربر قرار می گیرد. از این رو کد شما، از دید دیگران پنهان می ماند.
اما فرق PHP با دیگر زبانها چیست؟ یکی از مهمترین رقیبهای PHP، توسط مایکروسافت تحت عنوان ASP که در نسخه جدید به ASP.NET تغییر نام داده است، به وجود آمده و هنوز بحث سر آن است که کدامیک از آنها قویتر و مناسب تر است.
در این مقاله نمی خواهم بگویم که کدام یک بهتر است. هر کس عقاید مربوط به خود را دارد. در زیر به مقایسه این دو زبان می پردازم:

  • تقریبا در تمامی مراکز فروش هوست (Host)، سرور لینوکس ارزانتر از سرور ویندوز است و از آنجا که برای اجرای صفحات ASP.NET، نیازمند سرور ویندوز همراه با وب سرور IIS هستیم، می بایست پول بیشتری را پرداخت کنیم. این در حالی است که PHP بر روی تمامی Platformها از قبیل ویندوز و لینوکس نصب و اجرا می گردد.
  • PHP کاملا Open-Source می باشد.
  • به وضوح در اجرای صفحات ASP.NET و PHP دیده می شود که سرعت PHP سریعتر از ASP.NET می باشد.
  • برای ایجاد کردن صفحات PHP، هیچ نرم افزار جامعی به بازار ارائه نشده است که بتواند نیازهای کاربران را بر طرف کند (از Dream Weaver می توان تا حدی استفاده کرد)، اما نرم افزار پر قدرت Visual Studio.NET، نرم افزاری جامع برای ایجاد صفحات دینامیک ASP.NET می باشد.
  • در ASP.NET می توان از ترکیب زبانهای برنامه نویسی مختلف نظیر VB, C#, C++و غیره استفاده کرد ، اما PHP فقط از همان زبان خودش که PHP است پشتیبانی می کند.
  • ASP.NET دارای ویژگی ای تحت عنوان Code Behind می باشد که به برنامه نویس اجازه می دهد کدهای HTML را جدا از کدهای ASP.NET نگهداری کند. این کار سبب آن می شود که در صورت نیاز به رفع مشکل، برنامه نویس مستقیما به فایل مربوط به کدهای ASP.NET برود و با کدهای HTML کاری نداشته باشد. در صورتی که PHP به صورت Default این طور نیست (به وسیله نرم افزارهایی می توان برای PHP هم، این کار را کرد).

همان طور که مشاهده کردید، هر کدام از آنها دارای معایب و مزایایی هستند و انتخاب آنها، کاملا به عهده خود شماست.

نصب PHP
نصب PHP بر روی ویندوز و IIS کار بسیار آسانی است. اما از آنجا که در این مقاله، علاوه بر آشنایی با PHP، مروری بر پایگاه داده ی MySQL داریم، نیازمند MySQL نیز هستیم. اگر بخواهید تک تک آنها را از اینترنت دانلود کرده و آنها را جداگانه نصب و پیکربندی کنید، می بایست وقت بسیاری را صرف کنید. دانلود آنها (آن هم با یک مودم و اینترنتی که بیش تر از 4KB/S نمی رود) کار بسیار زمان بری است. همچنین برای پیکربندی آنها نیز، مستلزم انجام کارهای نه چندان خوشایند هستید!
بدین منظور، من به شما یک راه ساده تر را پیشنهاد می کنم. XAMPP!
XAMPP یک مجموعه نرم افزاری بسیار جالب است که علاوه بر حجم کم آن (تنها 13MB)، تمامی پکیجهای مورد نیاز شما را شامل می شود:

  • Apache 2.0.48
  • MySQL 4.0.16
  • PHP 4.3.4 + PEAR
  • MiniPerl 5.8.0
  • mod_php 4.3.4
  • PHPMyAdmin 2.5.3
  • SQLite 2.8.6

این در حالی است که فقط خود MySQL به تنهایی، حجمی بیشتر از 10MB دارد.
من از پکیج XAMPP mini win32 Version 1.2 در کامپیوتر خودم استفاده می کنم. آن را می توانید از آدرس زیر دانلود کنید.

http://www.apachefriends.org/download.php?minixampp-win32-1.2.exe

چگونگی نصب XAMPP
نکته: قبل از انجام این عملیات، وب سرور IIS خود (و یا دیگر وب سرورها) را غیر فعال (Disable, Stop) کنید.
پس از دریافت XAMPP آن را در جای مورد نظر خود نصب (Extract) کنید. فرق نمی کند که کجا باشد.
سپس به پوشه ای که XAMPP را در آنجا Extract نموده اید، بروید. فایل setup_xampp.bat را باز کرده تا صفحه سیاهی نمایان شود. عدد 1 را وارد کرده و کلید Enter را فشار دهید تا مراحل نصب آغاز شود.
پس از آنکه نصب به پایان رسید، می بایست سرور شوید. برای اینکار دو فایل apache_start.bat و mysql_start.bat را اجرا کرده و دیگر کاری به آنها نداشته باشید. آنها را Minimize کرده و مابقی کارها را انجام دهید.
حال مرورگر دلخواه خود را باز کرده و عبارت http://localhost (یا http://127.0.0.1) را تایپ نمایید. با انجام اینکار می بایست صفحه بنفش رنگی نمایان شود.
چگونگی اجرا کردن اسکریپتهای PHP به وسیله XAMPP
اسنادی را که خواهان اجرای آن به وسیله XAMPP هستید، می بایست درون پوشه htdocs کپی نمایید. ولی در نوشتن آدرس آن در مرورگر، نیازی به نوشتن این پوشه نیست. به عنوان مثال فایل %XAMPP%\htdocs\weblog\index.php را در مرورگر می بایست به صورت http://localhost/weblog/index.php اجرا نمود...
شروع کار با PHP
در برنامه نویسی هیچ چیز لذت بخش تر از کد نویسی نیست. همین حالا برنامه Notepad خود را باز کرده و کدهای زیر را در آن بنویسید:



PHP Info




phpinfo();
?>


این فایل را در محل %XAMPP%\htdocs\PHP\phpinfo.php ذخیره کرده و به وسیله مرورگر خود، آدرس http://localhost/PHP/phpinfo.php را اجرا نمایید. با انجام این کار، صفحه ای که مشخصات PHP نصب شده بر روی سیستم را به شما نشان می دهد، نمایان خواهد شد.
آشنایی با PHP
همان طور که در مثال بالا مشاهده کردید، کد زیر با بقیه کدهای HTML فرق داشت:

phpinfo();
?>

این تکه کدی است که به وسیله PHP نوشته شده است. برای نوشتن کدهای PHP، می بایست آنها را در بین تگهای ?> و و به کار می رود. در این مقاله از همان روش ?> و عبارات (Statements)
به طور کلی در PHP، عبارات به دو دسته زیر تقسیم می شوند:

  • تک خطی (Single Line)
  • چندخطی (Multi Line)

در انتهای هر عبارت PHP، یک علامت سمی کالن (;) قرار می گیرد. به وسیله این علامت، PHP متوجه می شود که یک عبارت به اتمام رسیده و عبارت دیگری در حال شروع است. به مثالهای زیر توجه کنید:

echo("Hello World!");
echo("Mojtaba");
?>

echo("Hellow World"); echo("Mojtaba");
?>

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

echo("Hello World!")
echo("Mojtaba")
?>

اجرای این کد سبب خطا می شود. چرا که عبارت در آن از هم جدا نشده است و عبارتی همانند عبارت echo("Hello World") echo("Mojtaba") برای PHP ناآشناست.
تا به اینجای کار، عبارت تک خطی مورد بررسی قرار گرفتند و اما عبارات چند خطی. عبارات چندخطی که به کد بلاک (Code Block) معروف است، در PHP توسط آکولادها { } احاطه می شوند. این عبارات با همدیگر اجرا می شوند. به عنوان مثال در یک عبارت شرطی (عبارات شرطی در جلوتر مورد بررسی قرار می گیرند)، برای PHP تعیین می کنیم که اگر شرط درست بود، این سری عبارات و در غیر این صورت، سری دیگری عبارات را اجرا نماید:


پورت موازی

در زمان اتصال یک چاپگر به کامپیوتر از پورت موازی استفاده می گردد با اینکه اخیرا استفاده از پورت های USB رایج شده است ولی همچنان استفاده از پورت موازی برای اتصال چاپگر به کامپیوتر بسیار متداول است
دسته بندی کامپیوتر و IT
بازدید ها 17
فرمت فایل doc
حجم فایل 200 کیلو بایت
تعداد صفحات فایل 23
پورت موازی

فروشنده فایل

کد کاربری 1024
کاربر

پورت موازی

در زمان اتصال یک چاپگر به کامپیوتر از پورت موازی استفاده می گردد. با اینکه اخیرا" استفاده از پورت های USB رایج شده است ولی همچنان استفاده از پورت موازی برای اتصال چاپگر به کامپیوتر بسیار متداول است .

از پورت های موازی می توان برای اتصال تجهیزات جانبی زیر استفاده کرد

  • چاپگر
  • اسکنر
  • هارد درایوهای خارجی
  • کارت های شبکه
  • Tape
  • درایوهای Removable
  • CD burners

مبانی پورت های موازی

پورت موازی ، توسط شرکت IBM و بمنظور اتصال یک چاپگر به کامپیوتر طراحی گردید. زمانیکه شرکت IBM در اندیشه طراحی و ارائه کامپیوترهای شخصی بود، ضرورت استفاده از چاپگرهای شرکت" سنترونیکس" نیز احساس گردید.شرکت IBM تصمیم نداشت که از همان پورتی که توسط چاپگرهای سنترونیک استفاده می گردید، در طراحی خود استفاده نماید.

مهندسین شرکت IBM از یک کانکتور 25 پین (DB-25) بهمراه یک کانکتور 36 پین برای ایجاد یک کابل خاص بمنظور اتصال چاپگر به کامپیوتر استفاده کردند. سایر تولید کنندگان چاپگر نیز در ادامه از استاندارد سنترونیک تبعیت و به مرور زمان استاندارد فوق در سطح جهان مطرح و مورد استفاده قرار گرفت .

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

- پین یک، حامل سیگنال Strobe بوده و دارای ولتاژی بین 2/8 و پنج است . زمانیکه کامپیوتر اطلاعاتی ( یک بایت داده ) ارسال می دارد ولتاژ به نیم ولت افت پیدا خواهد کرد.افت ولتاژ فوق به چاپگر اعلام می نماید که داده هائی ارسال شده است .

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

- پین ده ، اطلاعات لازم در خصوص نحوه عملکرد چاپگر را برای کامپیوتر، ارسال می نماید . نحوه پیاده سازی پین فوق نظیر پین "یک" است .زمانیکه ولتاژ موجود بر روی پین فوق به نیم ولت تنزل پیدا نماید، کامپیوتر اطلاعات لازم در خحصوص فرآیند چاپ را از چاپگر اخذ خواهد کرد .( کامپیوتر به این اطمینان خواهد رسید که چاپگر اطلاعات را دریافت نموده است )

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

- در صورتیکه چاپگر دارای کاغذ نباشد ، از طریق پین شماره دوازده به کامپیوتر آگاهی لازم داده خواهد شد.

- زمانیکه بر روی پین شماره سیزده شارژی وجود داشته باشد، آماده بودن چاپگر به کامپیوتر اعلام می گردد.

- کامپیوتر از طریق پین شماره چهارده و با استفاده از یک ولتاژ پنچ ولت سیگنال Auto Feed را برای چاپگر ارسال می دارد.

- در صورتیکه چاپگر دارای مشکلی باشد ولتاژ پین شماره پانزده به نیم ولت کاهش و کامپیوتر از بروز اشکال در چاپگر آگاهی پیدا می نماید.

- زمانیکه یک کار آماده چاپ باشد، کامپیوتر از پین شماره شانزده برای مقداردهی اولیه چاپگر ( کاهش ولتاژ) استفاده می نماید.

- کامپیوتر از پین شماره هیفده برای Offline نمودن از راه دور چاپگر استفاده می نماید، بدین منظور برای چاپگر یک شارژ ارسال خواهد شد.

- پین های شماره هیجده تا بیست و پنج Ground بوده و از آنها بعنوان یک سیگنال مرجع برای شارژ های پایین تر از نیم ولت استفاده می گردد.


تاریخچه لینوکس

در سال 1991 در حالی که جنگ سرد رو به پایان میرفت و صلح در افقها هویدا میشد، در دنیای کامپیوتر، آینده بسیار روشنی دیده میشد با وجود قدرت سخت افزارهای جدید، محدودیت های کامپیوترها رو به پایان میرفت ولی هنوز چیزی کم بود
دسته بندی کامپیوتر و IT
بازدید ها 12
فرمت فایل doc
حجم فایل 84 کیلو بایت
تعداد صفحات فایل 22
تاریخچه لینوکس

فروشنده فایل

کد کاربری 1024
کاربر

تاریخچه لینوکس

آغاز داستان

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

و این چیزی نبود جز فقدانی عمیق در حیطه سیستم های عامل.

داس، امپراطوری کامپیوترهای شخصی را در دست داشت. سیستم عامل بی استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Bill Gates) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه های جهان رخنه کرده بود. کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند. ولی قیمتهای نجومی، آنها را از دسترس اکثر افراد خارج می ساخت.

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

بنظر میرسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

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

و یکی از آنها لینوس توروالدز (Linus Torvalds) نام داشت.

کودک جدید در افق

در سال 1991، لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.

در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.

با اعلامیه معروف خود در سال 1983، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.

تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.

این زمان برای توروالدز بیش از حد طولانی بود...

در 25 آگوست 1991، این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:

از : لینوس بندیکت توروالدز
به: گروه خبری
MINIX
موضوع: بیشتر چه چیزی را میخواهید در
MINIX ببینید؟
خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من

با سلام به تمام استفاده کنندگان از
MINIX
من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه ای
GNU برای دستگاههای 386 و 486 هستم. این کار از آوریل شروع شده و درحال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارند، جمع آوری کنم. زیرا سیستم عامل من حدودا شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر... من اکنون bash نسخه 1.08 و GCC نسخه 1.40 را به آن منتقل کرده ام و به نظر میرسد که کار میکند. من در عرض چند ماه چیزی آزمایشی درست کرده ام و مایلم بدانم که کاربران بیشتر به چه قابلیتهایی نیاز دارند؟ من از هر پیشنهادی استقبال میکنم. ولی قول نمی دهم همه آنها را اجرا کنم. لینوس

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

از : لینوس بندیکت توروالدز
به: گروه خبری
MINIX
موضوع: کدهای منبع رایگان هسته مشابه
MINIX

آیا شما از روزهای زیبای MINIX 1.1 محروم شده اید؟ هنگامی که مردها مرد بودند و راه اندازهای دستگاه خود را خودشان مینوشتند؟ آیا شما فاقد یک پروزه زیبا هستید و می میرید تا سیستم عاملی داشته باشید تا بتوانید آنرا مطابق با نیازهای خود در آورید؟ اگر اینگونه است، این نامه برای شما نوشته شده است.
همانطور که ماه پیش گفتم من در حال کار بر بروی یک سیستم عامل رایگان مشابه
MINIX برای کامپیوترهای 386 هستم. این سیستم عامل اکنون بجایی رسیده است که قابل استفاده است و مایل هستم که کدهای منبع را در سطح گسترده تر پخش نمایم. این نسخه 0.02 است ولی من موفق شده ام که نرم افزارهای Bash، GCC، GNU-Make، GNU-sed، Compress و غیره را تحت آن اجرا کنم. کدهای منبع این پروژه را میتوانید از آدرس nic.funet.fi با آدرس 128.214.6.100 در دایرکتوری pub/OS/Linux پیدا کنید. این دایرکتوری همچنین دارای چند فایل README و تعدادی باینری قابل اجرا تحت لینوکس است. تمام کدهای منبع ارائه شده است زیرا هیچ یک از کدهای MINIX در آن استفاده نشده است. سیستم را میتوانید همانطور که هست کامپایل و استفاده کنید. کدهای منبع باینری ها را هم میتوانید در مسیر pub/GNU پیدا کنید.