دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 92 کیلو بایت |
تعداد صفحات فایل | 29 |
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 حس می شود.
دسته بندی | برق |
فرمت فایل | doc |
حجم فایل | 98 کیلو بایت |
تعداد صفحات فایل | 12 |
دیود و انواع آن
دیود پیوندی
از پیوند دو نوع نیم رسانای n و p یک قطعه الکترونیکی به نام دیود بوجود میآید که در انواع مختلفی در سیستمهای مخابرات نوری ، نمایشگرهای دیجیتالی ، باتریهای خورشیدی و ... مورد استفاده قرار میگیرد.
دید کلی
دیود یک قطعه الکترونیکی است که از به هم چسباندن دو نوع ماده n و p (هر دو از یک جنس ، سیلیسیم یا ژرمانیم) ساخته میشود. چون دیود یک قطعه دو پایانه است، اعمال ولتاژ در دو سر پایانههایش سه حالت را پیش میآورد.
دیود بی بایاس یا بدون تغذیه که ولتاژ دو سر دیود برابر صفر است و جریان خالص بار در هر جهت برابر صفر است.
بایاس مستقیم یا تغذیه مستقیم که ولتاژ دو سر دیود بزرگتر از صفر است که الکترونها را در ماده n و حفرهها را در ماده p تحت فشار قرار میدهد تا یونهای مرزی با یکدیگر ترکیب شده و عرض ناحیه تهی کاهش یابد. (گرایش مستقیم دیود)
تغذیه یا بایاس معکوس که ولتاژ دو سر دیود کوچکتر از صفر است، یعنی ولتاژ به دو سر دیود طوری وصل میشود که قطب مثبت آن به ماده n و قطب منفی آن به ماده p وصل گردد و به علت کشیده شدن یونها به کناره عرض ناحیه تهی افزایش مییابد (گرایش معکوس دیود).
مشخصه دیود در گرایش مستقیم
فرض کنید توسط مداری بتوانیم ولتاژ دو سر یک دیود را تغییر دهیم و توسط ولتمتر و آمپرمتر ولتاژ و جریان دیود را در هر لحظه اندازه گیری کرده ،بر روی محورهای مختصات رسم نماییم.جریان I در جهتی است که دیود قادر به عبور آن است .به همین علت اصطلاحاَ گفته می شود دیود در گرایش مستقیم یا بایاس مستقیم است . در هر حال اگر توسط پتانسیومتر ولتاژ دو سر دیود را از صفر افزایش دهیم ،مشاهده می شود تا ولتاژ به خصوصی ، جریان قابل ملاحظه ای از دیود عبور نمی کند.به این ولتاژ زانو می گویند ،این ولتاژبرای دیودهای از جنس ژرمانیم 2/0 ولت و برای دیودهای سیلیسیم 7/0 ولت است .تا ولتاژ زانو اگرچه دیود در جهت مستقیم است ، اما هنوز دیود روشن نشده است .از این ولتاژ به بعد ، به طور ناگهان جریان در مدار افزایش یافته و هرچه ولتاژ دیود را افزایش دهیم ، جریان دیود افزایش می یابد .
مشخصه دیود در گرایش معکوس
هرگاه جهت دیود را تغییر داده یعنی برعکس حالت گرایش مستقیم ، در جهت بایاس معکوس جریان مدار خیلی کم بوده و همچنین با افزایش ولتاژ معکوس دو سر دیود جریان چندان تغییر نمی کند به همین علت به آن جریان اشباع دیود گویند که این جریان حاصل حاملهای اقلیت می باشد . حدود مقدار این جریان برای دیودهای سیلیسیم ،نانو آمپر و برای دیودهای ژرمانیم حدود میکرو آمپر است. ارگ ولتاژ معکوس دیود را همچنان افزایش دهیم به ازاء ولتاژی ، جریان دیود به شدت افزایش می یابد . ولتاژ مزبور را ولتاژ شکست دیود می نامند و آنرا با VBنشان می دهند . دیودهای معمولی ،اگر در ناحیه شکست وارد شوند از بین می روند .(اصطلاحاَ می سوزند).
بنابر این ولتاژ شکست دیود یکی از مقادیر مجاز دیود است که توسط سازنده معین می گردد و استفاده کننده از دیود باید دقت نماید تا ولتاژ معکوس دیود به این مقدار نرسد.
البته در حالت مستقیم نیز جریان دیود اگر از حدی تجاوز نماید به علت محدودیت توان دیودباعث از بین رفتن دیود می گردد.این مقدار نیز یکی از مقادیر مجاز دیود است و به آن جریان مجاز دیود گفته می شود و توسط سازنده دیود معین می گردد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 162 کیلو بایت |
تعداد صفحات فایل | 24 |
آشنائی با روتر
استفاده از روترها در شبکه به امری متداول تبدیل شده است. یکی از دلایل مهم گسترش استفاده از روتر ، ضرورت اتصال یک شبکه به چندین شبکه دیگر (اینترنت و یا سایر سایت های از راه دور) در عصر حاضر است. نام در نظر گرفته شده برای روترها، متناسب با کاری است که آنان انجام می دهند: "ارسال داده از یک شبکه به شبکه ای دیگر". مثلاً در صورتی که یک شرکت دارای شعبه ای در تهران و یک دفتر دیگر در اهواز باشد، به منظور اتصال آنان به یکدیگر می توان از یک خط leased (اختصاصی) که به هر یک از روترهای موجود در دفاتر متصل می گردد، استفاده نمود. بدین ترتیب، هر گونه ترافیکی که لازم است از یک سایت به سایت دیگر انجام شود از طریق روتر محقق شده و تمامی ترافیک های غیرضروری دیگر فیلتر و در پهنای باند و هزینه های مربوطه، صرفه جوئی می گردد.
انواع روترها
روترها را می توان به دو گروه عمده سخت افزاری و نرم افزاری تقسیم نمود:
روترهای نرم افزاری: روترهای نرم افزاری دارای عملکردی مشابه با روترهای سخت افزاری بوده و مسئولیت اصلی آنان نیز ارسال داده از یک شبکه به شبکه دیگر است. یک روتر نرم افزاری می تواند یک سرویس دهنده NT، یک سرویس دهنده نت ور و یا یک سرویس دهنده لینوکس باشد. تمامی سیستم های عامل شبکه ای مطرح ،دارای قابلیت های روتینگ از قبل تعبیه شده می باشند.
در اکثر موارد از روترها به عنوان فایروال و یا gateway اینترنت، استفاده می گردد. در این رابطه لازم است به یکی از مهمترین تفاوت های موجود بین روترهای نرم افزاری و سخت افزاری، اشاره گردد: در اکثر موارد نمی توان یک روتر نرم افزاری را جایگزین یک روتر سخت افزاری نمود، چراکه روترهای سخت افزاری دارای سخت افزار لازم و از قبل تعبیه شده ای می باشند که به آنان امکان اتصال به یک لینک خاص WAN (از نوع Frame Relay، ISDN و یا ATM) را خواهد داد. یک روتر نرم افزاری (نظیر سرویس دهنده ویندوز) دارای تعدادی کارت شبکه است که هر یک از آنان به یک شبکه LAN متصل شده و سایر اتصالات به شبکه های WAN از طریق روترهای سخت افزاری، انجام خواهد شد .
مثال 1 : استفاده از روتر به منظور اتصال دو شبکه به یکدیگر و ارتباط به اینترنت
فرض کنید از یک روتر مطابق شکل زیر به منظور اتصال دو شبکه LAN به یکدیگر و اینترنت، استفاده شده است. زمانی که روتر داده ای را از طریق یک شبکه LAN و یا اینترنت دریافت می نماید، پس از بررسی آدرس مبداء و مقصد ، داده دریافتی را برای هر یک از شبکه ها و یا اینترنت ارسال می نماید. روتر استفاده شده در شکل زیر، شبکه را به دو بخش متفاوت تقسیم نموده است. (دو شبکه مجزاء). هر شبکه دارای یک هاب است که تمامی کامپیوترهای موجود در شبکه به آن متصل شده اند. علاوه بر موارد فوق، روتر استفاده شده دارای اینترفیس های لازم به منظور اتصال هر شبکه به آن بوده و از یک اینترفیس دیگر به منظور اتصال به اینترنت، استفاده می نماید. بدین ترتیب، روتر قادر است داده مورد نظر را به مقصد درست، ارسال نماید.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 32 کیلو بایت |
تعداد صفحات فایل | 35 |
آشنایی با پول الکترونیک
مقدمه :
پول در زندگی بشر از چنان اهمیتی برخوردار است که برخی آن را یکی از اختراعات بشریاد کرده اند و حتی معتقدند تمدن بشری با اختراع پول همزمان بوده است.
اقتصاد دانان تاریخ اقتصادی را با توجه به اهمیت نقش پول به سه دوره تقسیم می نمایند:
دوره اقتصاد پایاپای , دوره اقتصاد پولی و دوره اقتصاد اعتباری (کهزادی و گچلو, 1380 ). بر این اساس و با توجه به پیشرفت روز افزون فن آوری اطلاعات و ارتباطات (ICT ) و گسترش استفاده از پول الکترونیکی از اواسط دهه 1990 شاید بتوان دوره کنونی را دوره اقتصاد اینترنتی نامید . پول الکترونیک , ارزش پولی واحدهای ذخیره شده بر روی ابزار الکترونیکی است که توسط دولت یا مؤسسات خصوصی منتشر می شود.
گسترش فرایند استفاده از پول الکترونیک پیامدهای تجاری, اقتصادی, سیاسی و اجتماعی چشمگیری به همراه دارد که در ادامه به برخی پیامدهای اقتصادی مرتبط با تجارت الکترونیک پرداخته خواهد شد.
ویژگیهای پول ا لکترونیک
اگر چه در فرایند توسعه پول الکترونیکی, انواع بسیار متفاوتی از فرآورده های پول الکترونیکی با ویژگیهای مختلف عرضه شده اند, اما در طراحی همه آ؛نها سعی شده است تا حداقل, همه ویژگیهای پول بانک مرکزی لحاظ گردد. به طور کلی فرآورده های پول الکترونیکی را از نظر فنی می توان به دو دسته تقسیم کرد: پول الکترونیکی مبتنی بر کارت های هوشمند و پول الکترونیکی مبتنی بر نرم افزارهای رایانه ای (پول مبتنی بر شبکه). فرآورده های پول الکترونیکی مبتنی بر کارت های هوشمند قابلیت شارژمجدد دارند و در همه جا به عنوان ابزار پرداخت, قابل استفاده می باشند. علاوه بر این, پرداخت از طریق آنها, نیازی به کسب اجازه از یک مرجع ندارد. دو ویژگی نخست, این نوع پول ها را از کارت های تک منظوره عادی که به طور موردی یا برای خرید یک سری کالا و خدمات خاص صادر شده اند متمایز می کند و ویژگی سوم, آنها را از کارت های بدهی متمایز می نماید. به طور کلی می توان گفت که فرآورده های این نوع پول, برای تسهیل پرداخت های با ارزش کم در معاملات خرد رو در رو طراحی شده اند.
بنابراین انتظار می رود که فرآورده های پول الکترونیکی مبتنی بر کارت های هوشمند, استفاده از پول بانک مرکزی و نیز در حد کمتر, استفاده از کارت های بدهی را برای پرداخت های مستقیم کاهش دهد.همچنین به احتمال زیاد استفاده از چک, کارت های پرداخت و کارت های بدهی در پرداخت های غیر مستقیم یعنی پرداخت های بهنگام را نیز کاهش خواهد داد(Berentsen , 1998 ) . فرآورده های پول الکترونیکی مبتنی بر نرم افزار رایانه ای نیز توانایی پرداخت و دریافت از طریق شبکه های کامپیوتری , به ویژه اینترنت را دارند. این نوع از طریق کاهش هزینه های مبادلاتی ( به واسطه تسهیل نقل و انتقال پول میان انواع مختلف حساب ها, بانک ها و کشورها) و نیز سرریز های یادگیری, تقاضای سپرده های دیداری را تحت تاثیر قرار داده و آنرا کاهش خواهد داد.
سرریز های یادگیری به مهارتی مربوط می شود که افراد در طی زمان, ضمن استفاده از نرم افزار های مالی شخصی و فن آوری های ارتباطی برای مدیریت بهینه برنامه های مالی خود, کسب می نمایند ( دژ پسند, 1383 ). ماهیت بانکی پول الکترونیک, همچون چک پول مسافرتی بیانگر طلب قابل دریافت از بانک یا مؤسسه اعتباری صادر کننده آن است که پیش از پرداخت به وسیله آن, به هیچ حساب خاصی منظور نشده است.اما مهمترین انگیزه چنین بانک یا مؤسساتی برای ایجاد و صدور پول الکترونیک, استفاده از حجم پول نقد خارج از سیستم بانکی به عنوان منبع مالی بسیار ارزان قیمت, تحت فرایند تبدیل آن به پول الکترونیک و ایجاد بدهی برای خود است. محصولات پول الکترونیک که به عنوان جایگزینی پول نقد سنتی ایجاد شده اند, با ماهیتی بسیار سیال و جا به جا پذیر می توانند به راحتی نسبت اجزای پولی ( اسکناس و مسکوک و سپرده های دیداری) و همچنین سرعت گردش پول را تغییر داده و از مجرای تغییر حجم پول, سیاست پولی بانک مرکزی را تحت الشعاع قرار دهند. مهمترین ویژگی پول الکترونیکی یعنی فرا ملیتی یا بی مرز بودن آن, نقش مهمی در اثر گذاری بر سایر متغیرهای اقتصادی ایفا می کند. اگر چه این ویژگی از نظر دولت ها منشا برخی تبعات منفی نشر گسترده پول الکترونیکی تلقی می شود اما به ارتقای سطح کارآیی مبادلات بین المللی نیز کمک قابل ملاحظه ای می نماید. طبیعتا با استفاده از پول الکترونیکی, هزینه ی نقل و انتقال بین المللی وجوه, به طور قابل توجهی کاهش خواهد یافت. البته با افزایش بی سابقه کار آیی پرداخت های بین المللی ممکن است بی ثباتی نظام پوئلی جهانی افزایش یافته و به بروز کشمکش بین ناشران و استفاده کنندگان پول الکترونیکی از یک سو و بانکهای مرکزی کشورها از سوی دیگر منجر گردد ( 1996 , Tanaka ).
دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 33 کیلو بایت |
تعداد صفحات فایل | 41 |
آموزش کار با PHP
مقدمه
PHP یک زبان اسکریپتی سمت سرور (Server Side) می باشد که امروزه بیش از نصفی از وبسایتهای مطرح جهان، از آن برای حفظ و نگهداری داده ها و ایجاد سایتهای دینامیک و به روز استفاده می کنند.
PHP هم همانند تمامی زبانهای برنامه نویسی Server Side، ترجمه شده و در نهایت به صورت کدهای HTML در اختیار کاربر قرار می گیرد. از این رو کد شما، از دید دیگران پنهان می ماند.
اما فرق PHP با دیگر زبانها چیست؟ یکی از مهمترین رقیبهای PHP، توسط مایکروسافت تحت عنوان ASP که در نسخه جدید به ASP.NET تغییر نام داده است، به وجود آمده و هنوز بحث سر آن است که کدامیک از آنها قویتر و مناسب تر است.
در این مقاله نمی خواهم بگویم که کدام یک بهتر است. هر کس عقاید مربوط به خود را دارد. در زیر به مقایسه این دو زبان می پردازم:
همان طور که مشاهده کردید، هر کدام از آنها دارای معایب و مزایایی هستند و انتخاب آنها، کاملا به عهده خود شماست.
نصب PHP
نصب PHP بر روی ویندوز و IIS کار بسیار آسانی است. اما از آنجا که در این مقاله، علاوه بر آشنایی با PHP، مروری بر پایگاه داده ی MySQL داریم، نیازمند MySQL نیز هستیم. اگر بخواهید تک تک آنها را از اینترنت دانلود کرده و آنها را جداگانه نصب و پیکربندی کنید، می بایست وقت بسیاری را صرف کنید. دانلود آنها (آن هم با یک مودم و اینترنتی که بیش تر از 4KB/S نمی رود) کار بسیار زمان بری است. همچنین برای پیکربندی آنها نیز، مستلزم انجام کارهای نه چندان خوشایند هستید!
بدین منظور، من به شما یک راه ساده تر را پیشنهاد می کنم. XAMPP!
XAMPP یک مجموعه نرم افزاری بسیار جالب است که علاوه بر حجم کم آن (تنها 13MB)، تمامی پکیجهای مورد نیاز شما را شامل می شود:
این در حالی است که فقط خود 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 خود را باز کرده و کدهای زیر را در آن بنویسید:
این فایل را در محل %XAMPP%\htdocs\PHP\phpinfo.php ذخیره کرده و به وسیله مرورگر خود، آدرس http://localhost/PHP/phpinfo.php را اجرا نمایید. با انجام این کار، صفحه ای که مشخصات PHP نصب شده بر روی سیستم را به شما نشان می دهد، نمایان خواهد شد.
آشنایی با PHP
همان طور که در مثال بالا مشاهده کردید، کد زیر با بقیه کدهای HTML فرق داشت:
?>
این تکه کدی است که به وسیله PHP نوشته شده است. برای نوشتن کدهای PHP، می بایست آنها را در بین تگهای ?> و و قرار داد. همچنین یک راه میانبر نیز است که به صورت =SOMETHING?> به کار می رود. در این مقاله از همان روش ?> و عبارات (Statements)
به طور کلی در PHP، عبارات به دو دسته زیر تقسیم می شوند:
در انتهای هر عبارت 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 تعیین می کنیم که اگر شرط درست بود، این سری عبارات و در غیر این صورت، سری دیگری عبارات را اجرا نماید:
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 1040 کیلو بایت |
تعداد صفحات فایل | 24 |
تاریخچه فتوشاپ
سالها پیش در پاییز سال 1987, Thomas knoll، دانشجوی دکترای رشته ) (Computer Visionدر حال کار روی برنامهای بود که بتواند تصاویر طیف خاکستری کامپیوتری را روی مانیتورهای سیاهوسفید نقشهبیتی به نمایش درآورد. این برنامه به نوعی سرگرمی دوره دانشجویی نول محسوب میشد که فارغ از درسهای دوره دکتری، در خانه خود و روی کامپیوتر مک پلاس خانگیاش روی آن کار میکرد. این کد برنامه به هیچ وجه مربوط به رساله پایاننامه نول نمیشد و خود او نیز در اوایل کار هرگز فکر نمیکرد که این برنامه ساده او قرار است روزی به بزرگترین نرمافزار ویرایش تصویر تبدیل شود.
این برنامه نظر John، برادر نول را جلب کرد. جان در آن زمان در شرکت بزرگ (Industrial Light and Magic ILM)در مارین کانتری کالیفرنیا مشغول به کار بود. ILM مرکز جلوههای ویژه تصویری در شرکت عظیم لوکاس فیلم بود که در آن زمان بزرگترین و معتبرترین شرکت فیلمسازی به شمار میرفت. با تهیه فیلم جنگهای ستارهای، لوکاس فیلم ثابت کرده بود که جلوههای تصویری کارآمد میتوانند با ترکیب شخصیتهای خیالی و داستانی دور از ذهن، به یک پدیده در دنیای سینما تبدیل شوند.
در پی موفقیت عظیم آن فیلم، همه در پی یافتن راهحلهای دیجیتالی برای چنین مقاصدی بودند و به همین علت جان نیز به محض اطلاع از پروژه برادرش، از او خواست که از برنامهاش برای تولید تصاویر دیجیتالی استفاده کند. این برنامه ساده Display نام داشت و نمایش تصاویر دیجیتالی توسط این برنامه نتیجه خوبی را به دنبال داشت که نقطه سرآغاز کار این دو برادر شد. خود جان چنین تعریف میکند:
"من نمیدونستم چطور میشه از Display استفاده کرد. وقتی برای اولین بار یک عکس سیاه و سفید رو با اون باز کردم، از جان پرسیدم آیا میتونه کد برنامه رو جوری تغییر بده که تصاویر رو با فرمتهای دیگه هم ذخیره کنه؟! اگهDisplay میتونست چنین کاری کنه اونوقت من میتونستم با اون از عکس برنامههای دیگه خروجی بگیرم. من چندتا عکس رو که از کامپیوترهای لایت اند مجیک آورده بودم، توی Display باز کردم. اما روی کامپیوتر من خیلی تیره نمایش داده شدند. بنابراین دوباره از توماس پرسیدم: میتونی کاری کنی که این عکسها کمی روشنتر بشن یا مثلا مقدار شفافیت اونها رو تغییر بدی؟"
همین سوال ساده سرآغاز کار بر روی نرمافزاری شد که امروزه آن را با نام فتوشاپ میشناسیم.
جان توسط پدرش که در دانشگاه میشیگان سمت استادی داشت، ترتیب سفارش یک کامپیوتر Macintosh II را که اولین مدل رنگی محسوب میشد داد. به محض خریداری این کامپیوتر، نول دوباره شروع به کار روی برنامه کرد، به نوعی که بتواند روی مانیتورهای رنگی نیز کار کند. آن دو به مدت چند ماه به طور مداوم روی این پروژه کار کردند تا بتوانند قابلیتهای نمایشی آن را افزایش دهند. در همان زمان به اصرار جان، توماس کدهای مخصوص خواندن و ذخیرهکردن فرمتهای مختلف رنگدانهها را به برنامهاش اضافه کرد که همان کدها سالها بعد تبدیل به فیلترها plug-inتصویرهای نقشه بیتی شدند.
توماس پس از مدتی کار روی برنامهاش موفق به ساخت ابزار منحصر به فرد محدوده انتخاب (Selection Tools) شد که بدون اینکه لبههای زمخت و ناهموار ایجاد کند، قابلیت جدا کردن مناطق رنگی را داشت. او همچنین توانست قابلیتهای فوقالعادهای مثل Levelها را برای تنظیم تنالیته تصویر، Hue and Saturation را برای تنظیمات رنگی و نیز قابلیتهای رنگآمیزی را برای تغییر رنگ مناطق مورد نظر در تصاویر نقشه بیتی فراهم کند.
در تابستان 1988 بود که جان بالاخره به این نتیجه رسید که کاربرد برنامه ساخته شده به حدی از انتظار رسیده است که بتوان از آن به عنوان یک محصول تجاری استفاده کرد. توماس از این فکر جان شگفت زده شد:" جداً فکر میکنی بتونیم این برنامه رو به کسی بفروشیم؟ من که فکرش رو نمیکنم. " جان با خوشبینی برادرش را متقاعد کرد که این کار اصلا دور از ذهن نیست و به او قول داد که سعیاش را میکند تا از برنامه ساخته شده، یک نرمافزار تجاری بسازد.
جان راست میگفت. فروش چنین برنامهای به همین سادگیها نبود و کار بسیار زیادتری لازم داشت تا به چنین نتیجهای برسد. اما جان دست بردار نبود.
در همان زمان بود که جان در نشریه MacWeek آگهی تبلیغ نرمافزار ویرایشگری را دید که PhotoMac نام داشت. دیدن آن آگهی باعث شد که جان بیشتر در فکر فروش نرمافزار خودشان بیفتد. به همین علت برای تحقیق پیرامون نرمافزار جدید راهی همایش SIGGRAPH شد. نتیجه همایش برای او رضایتبخش بود. طوری که خود او میگوید"ما هیچ نگرانیای از آن نرمافزار نداشتیم. برنامه ما قابلیتهای بزرگی داشت که PhotoMac فاقد آنها بود" و درحقیقت تعجب کرده بود که برنامهای با چنین قابلیتهای سطح پایینی میتواند فروخته شود! توماس بارها و بارها نام برنامه خودشان را تغییر داد و هر بار که نام جدیدی برای آن برمیگزید چیز دیگری نظرش را جلب میکرد و باعث میشد دوباره آن را تغییر دهد. دقیقا مشخص نیست نام فتوشاپ از کجا گرفته شد.
به نظر میرسد این نام را یکی از افراد مورد اعتماد او به وی پیشنهاد داد و در حقیقت این نام آخرین نامی بود که برگزیده شد و روی نرمافزار مورد نظر باقی ماند.
پس از نامگذاری نرمافزار، جان شروع کرد به گشتن به دنبال شرکتی که روی فتوشاپ سرمایهگذاری کند. اولین شرکتی که با آنها وارد مذاکره شدSuperMacبود که اختلافات مالی موجب جلوگیری از رسیدن به توافق نهایی بین آنها شد. Aldus در حال کار روی یک پروژه خانگی بود و Adobe نیز علیرغم علاقهمندیای که به همکاری نشان داد اما روند کار آنها به سرعتی نبود که بتوانند به راحتی وارد مذاکره شوند. در آن زمانی که جان در دره سیلیکون به دنبال شرکتی برای همکاری میگشت، توماس نیز بهطور تمام وقت در حال کار روی فتوشاپ بود تا بتواند امکانات و قابلیتهای بیشتری را به آن اضافه کند. در این زمان جان نیز برای اینکه بتواند امکان استفاده از نرمافزار را برای عموم سادهتر کند، یک راهنمای ساده برای آن تهیه کرد که میتوانست نحوه کار با نرمافزار را به خوبی تشریح کند.
زحمات این دو بالاخره نتیجه داد و توانستند با شرکت Barneyscan وارد مذاکره شوند. این شرکت در آن زمان سازنده اسکنرهای نقشهبیتی بود و قصد داشت با خرید فتوشاپ و استفاده از آن در جهت بالابردن کارایی اسکنرهای خود، فروش سختافزارهای خود را افزایش دهد. اقدامات اولیه انجام شد و اولین نسخه نرمافزار به عنوان یک برنامه الحاقی برای اسکنرها به بازار آمد. از نسخه فتوشاپ چیزی در حدود دویست کپی به فروش رفت که هرچند قابل ملاحظه نبود، اما بههرحال اولین فروش تجاری برنامه خانگی برادران نول به شمار میرفت.
در همین زمان جان، نرمافزار خودش را به مهندسان شرکت اپل نشان داد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 200 کیلو بایت |
تعداد صفحات فایل | 23 |
پورت موازی
در زمان اتصال یک چاپگر به کامپیوتر از پورت موازی استفاده می گردد. با اینکه اخیرا" استفاده از پورت های USB رایج شده است ولی همچنان استفاده از پورت موازی برای اتصال چاپگر به کامپیوتر بسیار متداول است .
از پورت های موازی می توان برای اتصال تجهیزات جانبی زیر استفاده کرد
مبانی پورت های موازی
پورت موازی ، توسط شرکت IBM و بمنظور اتصال یک چاپگر به کامپیوتر طراحی گردید. زمانیکه شرکت IBM در اندیشه طراحی و ارائه کامپیوترهای شخصی بود، ضرورت استفاده از چاپگرهای شرکت" سنترونیکس" نیز احساس گردید.شرکت IBM تصمیم نداشت که از همان پورتی که توسط چاپگرهای سنترونیک استفاده می گردید، در طراحی خود استفاده نماید.
مهندسین شرکت IBM از یک کانکتور 25 پین (DB-25) بهمراه یک کانکتور 36 پین برای ایجاد یک کابل خاص بمنظور اتصال چاپگر به کامپیوتر استفاده کردند. سایر تولید کنندگان چاپگر نیز در ادامه از استاندارد سنترونیک تبعیت و به مرور زمان استاندارد فوق در سطح جهان مطرح و مورد استفاده قرار گرفت .
زمانیکه کامپیوترهای شخصی اطلاعاتی را برای چاپگر و یا هر وسیله دیگری که به پورت موازی متصل است، ارسال می نمایند ، در هر لحظه هشت بیت ارسال خواهد شد.. هشت بیت فوق بصورت موازی برای دستگاه ارسال خواهند شد. پورت موازی استاندارد، قادر به ارسال 50 تا 100 کیلوبایت در هر ثانیه است .نحوه عملکرد چاپگر به شرح زیر است :
- پین یک، حامل سیگنال Strobe بوده و دارای ولتاژی بین 2/8 و پنج است . زمانیکه کامپیوتر اطلاعاتی ( یک بایت داده ) ارسال می دارد ولتاژ به نیم ولت افت پیدا خواهد کرد.افت ولتاژ فوق به چاپگر اعلام می نماید که داده هائی ارسال شده است .
- پین دوتا نه حامل داده است .بمنظور مشخص نمودن اینکه یک بیت دارای مقدار یک است ولتاژ پنج ارسال از طریق پین مربوطه ارسال ( شارژ) خواهد شد.بر روی پینی که شامل مقدار ( داده ) صفر است شارژی ( ولتاژ) قرار نخواهد گرفت .
- پین ده ، اطلاعات لازم در خصوص نحوه عملکرد چاپگر را برای کامپیوتر، ارسال می نماید . نحوه پیاده سازی پین فوق نظیر پین "یک" است .زمانیکه ولتاژ موجود بر روی پین فوق به نیم ولت تنزل پیدا نماید، کامپیوتر اطلاعات لازم در خحصوص فرآیند چاپ را از چاپگر اخذ خواهد کرد .( کامپیوتر به این اطمینان خواهد رسید که چاپگر اطلاعات را دریافت نموده است )
- در صورتیکه چاپگر مشغول باشد، پین شماره یازده شارژ می گردد. زمانیکه ولتاژ نیم ولت بر روی پین فوق قرار بگیرد به کامپیوتر اغلام خواهد شد که چاپگر آماده دریافت اطلاعات است .
- در صورتیکه چاپگر دارای کاغذ نباشد ، از طریق پین شماره دوازده به کامپیوتر آگاهی لازم داده خواهد شد.
- زمانیکه بر روی پین شماره سیزده شارژی وجود داشته باشد، آماده بودن چاپگر به کامپیوتر اعلام می گردد.
- کامپیوتر از طریق پین شماره چهارده و با استفاده از یک ولتاژ پنچ ولت سیگنال Auto Feed را برای چاپگر ارسال می دارد.
- در صورتیکه چاپگر دارای مشکلی باشد ولتاژ پین شماره پانزده به نیم ولت کاهش و کامپیوتر از بروز اشکال در چاپگر آگاهی پیدا می نماید.
- زمانیکه یک کار آماده چاپ باشد، کامپیوتر از پین شماره شانزده برای مقداردهی اولیه چاپگر ( کاهش ولتاژ) استفاده می نماید.
- کامپیوتر از پین شماره هیفده برای Offline نمودن از راه دور چاپگر استفاده می نماید، بدین منظور برای چاپگر یک شارژ ارسال خواهد شد.
- پین های شماره هیجده تا بیست و پنج Ground بوده و از آنها بعنوان یک سیگنال مرجع برای شارژ های پایین تر از نیم ولت استفاده می گردد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 84 کیلو بایت |
تعداد صفحات فایل | 22 |
تاریخچه لینوکس
آغاز داستان
در سال 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 پیدا کنید.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 4053 کیلو بایت |
تعداد صفحات فایل | 56 |
مقدمه ای بر رباتیک
-1مقدمه
اتوماسیون در بخشهای مختلف صنعت و کارهای تولیدی در چند دهه اخیر ظهور پیدا کرده است و روز به روز نیز در حال توسعه می باشد. بیش از چند دهه از ظهور کارخانجات کاملاً مکانیزه که در آنها تمامی پروسه ها اتوماتیک بوده و نیروی انسانی در آن نقش اجرائی ندارد، نمی گذرد. اما در چند ساله اخیر شاهد بوجود آمدن کارخانجات مکانیزه ای بوده ایم که طراحی، ساخت و نحوه کار آنها واقعاً حیرت انگیز است. ایده و دانش کنترل اتوماتیک و استفاده از سیستمهای مکانیزه در کارخانجات به جنگ جهانی دوم می رسد. ما تحولات عظیم و چشمگیر آن در سالهای اخیر بوقوع پیوسته است.
رباتها جدیدترین مرحله تلاش انسان جهت صنایع اتوماتیک به شمار می روند. رباتها آن دسته از ماشینهای ساخت بشر هستند که لزوماً حرکتهایی شبیه انسان ندارند ولی توان تصمیم گیری و ایجاد و کنترل فعالیتهای از پیش تعیین شده را دارند.
شکل 1 : نمونه ای از استفاده از ربات در صنعت
2- تعریف ربات
دو تعریف موجود در رابطه با کلمه ربات از قرار زیر می باشند[9] :
1- تعریفــی که توسطConcise Oxford Dic. صورت گرفتــه است؛ ماشینی مکانیکی با ظاهر یک انسان که باهوش و مطیع بوده ولی فاقد شخصیت است. این تعریف چندان دقیق نیست، زیرا تمام رباتهای موجود دارای ظاهری انسانی نبوده و تمایل به چنین امری نیز وجود ندارد.
2- تعریفی که توسط مؤسسه ربات آمریکا صورت گرفته است؛ وسیله ای با دقت عمل زیاد که قابل برنامه ریزی مجدد بوده و توانایی انجام چند کار را دارد و برای حمل مواد، قطعات، ابزارها یا سیستم های تخصصی طراحی شده و دارای حرکات مختلف برنامه ریزی شده است و هدف از ساخت آن انجام وظایف گوناگون می باشد.
3- دسته بندی رباتها
رباتها در سطوح مختلف دو خاصیت مشخص را دارا می باشند :
1- تنوع در عملکرد
2- قابلیت تطبیق خودکار با محیط
به منظور دسته بندی رباتها لازم است که قادر به تعریف و تشخیص انواع مختلف آنــــــها باشیم. سه
دسته بندی مختلف در مورد رباتها وجود دارد. دسته بندی اتحادیــــــه رباتهای ژاپنی، دسته بندی
مؤسسه رباتیک آمریکا و دسته بندی اتحادیه فرانسوی رباتهای صنعتی.[9]
1-3-دسته بندی اتحادیه رباتهای ژاپنی
انجمن رباتهای صنعتی ژاپن، رباتها را به شش گروه زیر تقسیم می کند :
1- یک دست مکانیکی که توسط اپراتور کار می کند : وسیله ای است که دارای درجات آزادی متعدد بوده و توسط عامل انسانی کار می کند.
2- ربات با ترکیبات ثابت : این دسته رباتها با ترکیبات ثابت طراحی می شوند. در این حالت یک دست مکانیکی کارهای مکانیکی را با قدمهای متوالی تعریف شده انجام می دهد و به سادگی ترتیب کارها قابل تغییر نیست.
3- ربات با ترکیبات متغیر : یک دست مکانیکی که کارهای تکراری را با قدمهای متوالی و با ترتیب تعریف شده، انجام می دهد و این ترتیب به سادگی قابل تغییر است.
4- ربات قابل آموزش : اپراتور در ابتدای امر به صورت دستی با هدایت یا کنترل ربات کاری را که باید انجام شود، انجام می دهد و ربات مراحل انجام وظیفه را در حافظه ضبط می کند. هر وقت که لازم باشد، می توان اطلاعات ضبط شده را از ربات درخواست نمود و ربات وظیفه درخواست شده را بصورت خودکار انجام می دهد.
5- ربات با کنترل عددی : اپراتور وظیفه ربات را توسط یک برنامه کامپیوتری به او تفهیم می نماید و نیازی به هدایت دستی ربات نیست. درواقع ربات با کنترل عددی، رباتی است که با برنامه کامپیوتری کار می کند.
6- ربات باهوش : این ربات درک از محیط و استعداد انجام کار با توجه به تغییر در شرایط و محدوده عمل کار را دارد.
2-3- دسته بندی مؤسسه رباتیک آمریکا
انستیتوی رباتیک آمریکا تنها موارد 3 و 4 و 5 و 6 را به عنوان ربات پذیرفته است.
3-3- دسته بندی اتحادیه فرانسوی رباتهای صنعتی
مؤسسه ربات صنعتی فرانسوی، رباتها را به شکل زیر تقسیم کرده است :
نوع A : دستگاهی که توسط دست یا از راه دور کنترل می شود (مورد 1 طبقه بندی قبل).
نوع B : وسیلة حمل کننده خودکار با یک سیکل محاسبه شده از قبل (موارد 2 و 3 طبقه بندی قبل).
نوع C : دستگاهی قابل برنامه ریزی و با توانایی خود کنترل (موارد 4 و 5 طبقه بندی قبل).
نوع D : دستگاهی که قادر است اطلاعات معینی از محیط را بدست بیاورد و به عنوان ربات باهوش معروف است (مورد 6 طبقه بندی قبل).
4- اجزاء اصلی یک ربات
مهندسی ربات، مهندسیهای نرم افزار، سخت افزار، برق و مکانیک را در خدمت خود گرفته است. بعضی مواقع این علوم به حد کافی پیچیده می باشند. همچنانکه در شکل 2-2 مشاهده می شود هر ربات دارای 5 مؤلفه به شرح ذیل می باشد [9]و[15]:
1-4- بازوی مکانیکی ماهر(Mechanical Manipulator)
بازوی مکانیکی شامل چندین واصل است که با مفصلها به هم وصل می شوند. این واصلها در جهات مختلف در فضای کاری قادر به حرکت می باشند. حرکت یک مفصل بخصوص باعث حرکت یک یا چند واصل می شود. عامل تحریک مفصل می تواند مستقیماً یا از طریق بعضی انتقالات مکانیکی بر واصل بعدی متصل شود. به واصل نهایی بازوی مکانیکی وسیله کاری ربات وصل شده است که به آن عامل نهایی می گویند. هر یک از مفصلهای ربات یک محور مفصل دارند که واصل حول آن می چرخد. هر محور مفصل یک درجه آزادی(D.O.F.) تعریف می کند. بیشتر رباتها دارای 6 درجه آزادی می باشند به عبارت دیگر دارای 6 مفصل، بمنظور حرکت در 6 جهت. اولین سه مفصل ربات به عنوان محورهای اصلی شناخته می شوند. بطورکلی صرفنظر از جزئیات، محورهایی که برای محاسبه موقعیت
شکل 2 : مؤلفه های یک ربات
و استقرار مچ استفاده می شونــد، محورهای اصلی ربات هستند. محورهای مفصلهای باقیمانده جهت قرار گرفتن دست ربات را مشخص می کنند، ولذا محورهای فرعی نامیده می شوند.
دو نوع مفصل اصلی به صورت گسترده در صنعت رباتها بکار گرفته می شود. مفصل دورانی که نمایش دهنده حرکت چرخشی حول یک محور است و مفصل انتقالی یا لغزشی که نمایش دهنده حرکت خطی در طول یک محور است، (جدول 1).
Description Notation Type
Rotary motion about an axis R Revolute
Linear motion along an axis P Prismatic
جدول 1 : انواع مفصل ربات
2-4- سنسورها
برای کنترل صحیح بازوی مکانیکی بایستی وضعیت هر مفصل شناخته شده باشد. منظور از وضعیت، موقعیت مفصل، سرعت و شتاب می باشد. بنابراین در مفصلها بایستی سنسورهایی جهت دید مفصلها و وصلها جهت تعیین موقعیت، گشتاور، سرعت، شتاب، و ... نصب شود، تا وضعیت مفصلها به کنترلر ابلاغ شود. خواندن اطلاعات سنسور، یا در اتمام حرکت یا در حین حرکت انجام می گیرد و با ارسال اطلاعات آنی سنسورها به کنترلر، کنترل صحیح و واقعی سیستم مکانیکی انجام می شود. این اطلاعات سنسوری، دیجیتال یا آنالوگ و یا ترکیبی می باشند.
3-4- کنترلر
بخشی است که به بازوی مکانیکی، هوش انجام کار را می دهد. کنترلر معمولاً از بخشهای ذیل تشکیل می شود :
1- واحدی که اجازه می دهد ربات از طریق سنسورها با محیط بیرون ارتباط داشته باشد.
2- حافظه جهت ذخیره داده هایی که مختصات را تعریف می کنند تا بازو با توجه به این مختصات حرکت کند (برنامه).
3- واحدی که داده ذخیره شده در حافظه را تغییر می دهد و سپس داده را برای ارتباط دادن با مؤلفه های دیگر کنترل بکار می برد.
4- حرکت مؤلفه هــای بخصوصی در نقاط معینــی مقدار دهی اولیه شده و در نقطه بخصوص
دیگری پایان می یابند.
5- واحــد محاسباتی که محاسبــات لازم برای کنترلـر را انجام می دهد. به عبارت دیگر، برای
انجام صحیح اعمال بایست یک سری محاسبات جهت مشخص کردن مسیر، سرعت و موقعیت بازوی مکانیکی انجام شود.
6- واسطی جهت بدست آوردن داده ها (مختصات هر مفصل، اطلاعاتی از سیستم بینایی و ...) و واسطی جهت اعمال سیگنالهای کنترل به محرک مفصلها.
7- واسطی جهت انتقال اطلاعات کنترلر به واحد تبدیل توان، به طوری که محرک های مفصلها باعث بشوند که مفصلها به صورت مطلوب حرکت کنند.
8- واسط به تجهیزات دیگر، بطوری که کنترلر ربات با واحدهای خارجی یا ابزارهای کنترل دیگر، ارتباط داشته باشد.
9- وسایل و تجهیزات لازم جهت آموزش ربات.
کنترلرهای رباتها کلاً به 5 دسته تقسیم بندی می شوند :
1- کنترل با قدم ساده(Simple Step Sequencer)
2- سیستم منطقی پنوماتیکی(Pneumatic Logic System)
3- کنترلر با قدمهای الکترونیکی (Electronic Sequencer)
4- میکرو کامپیوتر (Micro Computer)
5- مینی کامپیوتر (Mini Computer)
سه کنترلر اول در رباتهای کم هزینه به کار برده می شوند. بیشتر کنترلرهای امروزی براساس میکروکامپیوترهای معمولی می باشند و سیستم کنترل براساس مینی کامپیوتر زیاد رایج نمی باشد، چرا که نسبت به میکروکامپیوترها هزینه بالاتری دارند.
4-4- واحد تبدیل توان
این واحد سیگنالهای کنترلر را گرفته و به یک سیگنال در سطح توان محرک ها و موتورها، جهت حرکت، تبدیــل می کند. این واحــد شامل تقویت کننده هـای توان الکترونیکی برای رباتهای الکتریکی و شیرهای کنترلی و راه اندازهای هیدرولیکی برای رباتهای هیدرولیکی می باشد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 130 کیلو بایت |
تعداد صفحات فایل | 16 |
سیستم عامل
سیستم عامل چیست ؟
سیستم عامل مهمترین برنامه ای است که بر روی یک کامپیوتر اجراء می گردد و امکانات لازم به منظور اجرای هر نوع برنامه دیگر را فراهم می نماید .
سیستم عامل
سیستم عامل (به انگلیسی: Operating System) با حروف اختصاری OS اساسی ترین برنامه سیستمی است که مدیریت کلیه منابع سیستم را به عهده گرفته و زمینه ای را فراهم می سازد که برنامه های کاربردی می توانند بر روی آن نوشته شوند .
پالم (سیستم عامل)
سیستم عامل Palmسیتم عامل palm یک سیستم عامل است که بوسیله palmsource,inc برای دستیار (دستیار دیجیتال شخصی)pda .
تاریخچه برنامه های روی سیستم عامل palm به صورت آیکن نمایش داده میشوند ،سیستم عامل palm توسط jeff Howkins برای استفاده در pdaها بوسیله us roboticsنسخه 1.0 تهیه شده بود برای pilot اصلی 1000,5000 ونسخه 2.0 برای palm pilot شخصی و پیشرفته . با وارد شدن palm III نسخه 3.0 از سیستم عامل با بالا بردن با اومردن درجه و با رهاکردن نسخه های 3.1و3.3و3.5و اضافه کردن پشتیبانی برای رنگ و چندین پورت افزایشی و پردازشگرهای جدید و قابلیتهای زیاددیگر.
دلایل ایجاد سیستم عامل
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده ، مقداری حافظه اصلی ، دیسک ها ، چاپگر ها ، صفحه کلید ، صفحه نمایش ، واسط های شبکه ای و دیگر دستگاه های ورودی و خروجی تشکیل شده است . این اجزا در کنار یکدیگر یک سیستم پیچیده را به وجود آورده اند . نوشتن برنامه هایی که تمامی این عناصر را مدیریت کرده و از آنها به طور صحیح ، بهینه و کارآمد استفاده نماید ، کار بسیار مشکلی است . اگر هر برنامه نویس مجبور باشد با مفاهیمی نظیر نحوه کار دستگاه های ورودی خروجی گوناگون آشنا باشد ، بسیاری از برنامه ها هرگز نوشته نخواهد شد . به همین دلیل ، از سالها قبل به وضوح مشخص بود که باید روش هایی یافت که برنامه نویسان را از پیچیدگی های سخت افزار دور نگه دارد . تلاش های گسترده ، منجر به ایجاد یک لایه نرم افزاری روی سخت افزار شد که همه اجزای سیستم را کنترل نموده و کار برنامه نویسان را راحت تر کند . به این لایه نرم افزاری سیستم عامل می گویند.
وظایف سیستم عامل
سیستم عامل دو کار عمده انجام میدهد :
در نگرش پایین به بالا ، منابع منطقی ( مانند فایل ها ) و منابع فیزیکی ( مانند دستگاه های سخت افزاری ) رایانه را مدیریت و کنترل میکند .
در نگرش بالا به پایین ، وظیفه سیستم عامل این است که یک ماشین توسعه یافته ( Extended Machine ) یا ماشین مجازی ( Virtual Machine ) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگی های سخت افزاری رایانه نشوند .