آموزش های جامع فلش ( فلاش ) و فروشگاه محصولاتalphapack

آموزش مختلف موضوعات فلش ( فلاش ) و جوک و طنز و زمینه های مختلف کامپیوتری

آموزش های جامع فلش ( فلاش ) و فروشگاه محصولاتalphapack

آموزش مختلف موضوعات فلش ( فلاش ) و جوک و طنز و زمینه های مختلف کامپیوتری

ساخت آموزش های مجازی به صورت حرفه ای با Adobe Captivate

 

 

 

ادوبی کپتیویت

 

همه می دانیم که Adobe بزرگترین و قدرتمند ترین شرکت نرم افزاری دنیا در زمینه گرافیک و مالتی مدیا به شمار می رود. اما این بار آسان دانلود قصدمعرفی نرم افزاری را دارد که یکی از محصولات Adobe به شمار می رود و البته در میان کاربران زیاد شناخته شده نیست و شاید برای اولین بار باشد که در یک سایت ایرانی این نرم افزار برای دانلود قرار می گیرد و توضیحاتی مختصر پیرامون آن نوشته می شود. این نرم افزار هم پیرو دیگه محصولات این کمپانی عظیم و قدرتمند ابزاری بسیار کامل برای کاربران به شمار می رود. برای این که بهتر بتوانیم این نرم افزار را به کاربران بشناسانیم این جور بیان می کنیم که امروزه بسیاری از کاربران برای آموختن آنچه که خود می دانند به دیگران از نرم افزار های آموزشی استفاده می کنند. این افراد با ساخت فایل های آموزشی به راحتی منظور خود را به دیگران منتقل می نمایند. نرم افزار Adobe Captivate یکی از ابزارهای بسیار قدرتمند در زمینه ساخت فایل های آموزشی به صورت مالتی مدیا و اینتراکتیو نیز می باشد. این نرم افزار با دارابودن قابلیت های بسیار برای حرفه ای ها می تواند به ابزاری واقعا کامل و حیاتی تبدیل شود.
در حقیقت Adobe Captivate یک نرم افزار فیلم برداری از صفحه نمایشگر کاربران است اما با قابلیت هایی بسیار بیشتر از یک دوربین فیلمبرداری. زیرا کاربری که از محیط کار خود فیلم می گیرد می تواند در هنگام فیلم گرفتن کیفیتی فوق العاده بالا را اعمال کند تا بیننده با کیفیتی شبیه به فیلم های DVD بتواند تصاویر موردنظر را مشاهده نماید. Adobe Captivate به کاربر این امکان را می دهد تا توضیحات خود را به صورت صوت و از طریق میکروفون هم به فیلم اضافه نماید. این موارد تنها به قسمت ضبط خلاصه می شد، زمانی که فیلمی گرفته شد می توان آن را به راحتی مورد ویرایش قرار داد. صداها را اضافه یا کم کرد ، Object هایی را به فایل آموزشی اضافه نمود. کیفیت و حجم آن را تغییر داد ، و هر کاری که به فکر یک فرد خطور می کند می تواند در این نرم افزار پیاده نماید.
در مورد خروجی ها هم به صورت های مختلف می توان خروجی را مشاهده کرد. از همه آسان تر ، سریعتر استفاده از فرمت SWF است. به سادگی می توان فیلم ها را به صورت SWF به خروجی برد و به صورت صفحه ای از وب و با منوهایی بسیار زیبا مشاهده نمود. کیفیت خروجی قابل تنظیم نیز می باشد و بسته به نیاز می توان کیفیت را تعیین نمود. یکی از مهم ترین خصوصیات این ابزار این است که سرعت بارگذاری و ذخیره سازی فایل ها بسیار بالاست. در نرم افزار های مشابه زمانی که کاربر فیلمی از محیط کار خود می گیرد به صورت یک فایل ذخیره می شود و به طبع سیستمی بسیار بالا را طلب کرده و موقع ذخیره سازی هم زمانی نسبتا بالا را صرف می کند. اما این نرم افزار فیلم ها را به صورت فریم های متعدد تکه تکه می کند و در موقع ذخیره سازی هم بسیار سریع تر بارگذاری و لود خواهد شد . تعداد این فریم ها را می توان بر حسب ثانیه در برنامه تعیین نمود. به کاربرانی که دوست دارند به راحتی اهداف خود را آنچه را که می دانند به دیگران آموزش دهند ما این ابزار بسیار قدرتمند را به آنان پیشنهاد می کنیم.

قابلیت های کلیدی نرم افزار Adobe Captivate v4.0:
- استفاده بسیار آسان از نرم افزار
- محیط کاربری فوق العاده مناسب و جذاب برای همه
- قابلیت ذخیره سازی با فرمت های مختلف
- قابلیت تنظیم کیفیت خروجی
- کیفیت بسیار بالا در ضبط صدا از میکروفون و یا Line In
- قابلیت ویرایشی بسیار حرفه ای بر روی فایل های ضبط شده
- کیفیت بسیار بالا در خروجی که به نظر به فیلم های با کیفیت DVD شباهت دارد
- طرح های آماده متعدد
- سرعت بالا در ذخیره سازی و همچنین بارگذاری فایل ها
- قابلیت ذخیره سازی به صورت فریم به فریم
- قابلیت قرار دادن Object های مختلف بر روی تصاویر
- تعیین اندازه تصویری که از صفحه گرفته می شود
- قابلیت Import کردن از نرم افزار های دیگر نظیر MS Power Point
- قابلیت Export کردن به فرمت های مختلف نظیر SWF
- قابلیت ذخیره سازی به صورت صفحات وب با منوهایی زیبا
- سازگاری با نسخه های مختلف ویندوز از جمله ویندوز ویستا
- و ...

قابلیت های اضافه شده در نسخه Adobe Captivate v4.0:
- قابلیت گذاشتن کامنت برای فایل های SWF
- طرح های آماده بسیار زیبا و در عین حال بسیار حرفه ای
- قابلیت مدیریت گجت ها
- سازگاری کامل تر به PowerPoint
- اکشن های متعدد و زیبا
- پشتیبانی و سازگاری مثال زدنی با فتوشاپ
- و ...

 طریقه فعالسازی:
1- پس از دانلود و نصب برنامه ، آن را اجرا نمائید.
2- از داخل پوشه کرک فایل کیجن را هم اجرا کنید.
3- برروی دکمه Serial Number کرک کلیک کرده تا سریالی ظاهر شود.
4- در برنامه دو گزینه مشاهده می کنید . گزینه اول را که مربوط به وارد نمودن سریال نامبر است انتخاب کرده و سریال داخل کیجن را در برنامه وارد نمایید.
5- دکمه Next را انتخاب کنید.
6- در صفحه ای که ظاهر می شود روی Other Activation Option کلیک کنید تا صفحه ای دیگر باز گردد.
7- در صفحه جدید گزینه دوم یعنی اکتیو با تلفن را انتخاب نمائید.
8- در این صفحه می بایست سریال که با تیتر Activation Number مشخص شده را در کیجن کپی کرده و دکمه Authorization Code را فشار داده تا سریالی دیگر تولید شود.
9- پنج قسمت را می بایست طبق سریال داده شده وارد نمود.
10- قسمت 6 همان چهر رقم آخر از Activation Number است که باید در برنامه وارد شود.
11- پس از انجام تمامی مراحل بالا دکمه Active را انتخاب کنید تا برنامه به طور کامل اکتیو گردد.

دانلود در ادامه مطلب

ادامه مطلب ...

آشنایی با گیم انجین ها و موتورهای سه بعدی



مقدمه:


Game engine در حقیقت مولفه نرم افزاری و اصلی هر بازی کامپیوتری و ویدئویی و هر برنامه اینتر اکتیوی است که محتوای گرافیکی بلادرنگ تولید کند. گیم انجین یکسری از تکنولوژی های اساسی را مهیا میسازد همچنین فرایند توسعه را تسهیل میکند و در بعضی مواقع بازی را قادر میسازد تا بگونه ای ساخته شود که بصورت مالتی پلتفرم و بر روی کنسول های بازی و کامپیوترهای رومیزی اجرا شود. توانایی ها و قابلیت های اساسی که توسط گیم انجین در اختار قرار میگیرد شامل یک رندر کننده برای گرافیکهای دو بعدی و سه بعدی و موتور فیزیک و کاشف برخورد(Collision Detection)و صدا و پردازشگر اسکریپت و انیمیشن و هوش مصنوعی و قابلیتهای شبکه ای و یک نمودار صحنه میباشد.



اغلب گیم انجین های معروف و بزرگ مانند Unreal Engine 3 و Doom 3 engine و CryENGINE2 و RenderWare و Gamebryoمجموعه ای از ابزارهای توسعه بصری بعلاوهء مولفه های نرم افزاری با قابلیت استفاده مجدد را مهیا میکنند. معمولا تمام این ابزارها در یک محیط توسعه مجتمع گردآورده می شوند تا توسعه تند و آسان بازیهای کامپیوتری را ممکن سازند. گیم انجین ها را بعضی اوقات با نام "میان افزار بازی" یا "Game Middle Ware"نیز میشناسند.

همچون دیگر راه حل های میان افزاری گیم انجین ها اغلب انتزاع پلتفرم را مهیا میسازند که اجازه میدهد بازیها بر روی طیف وسیعی از پلتفرم ها اجرا شود. میان افزار بازی اغلب بصورت معماری مولفه گرا طراحی میشوند که این امر باعث میشود بتوان بسیاری از قابلیتهای آنها را کنار گذاشت و یا با مولفه های میان افزار ویژه گسترش داد مانند Hovak برای فیزیک و F MOD برای صدا و Speed Tree برای رندرکردن. بعضی از انجین ها مانند Render Ware بصورت مجموعه ای از مولفه های ابزار متصل بهم طراحی شده است. مزیت این روش اینست که میتوان با آن موتورهای سفارشی تولید کرد که اجزایش به صورت انتخابی با یکدیگر ترکیب شده باشند.



بعضی از گیم انجین ها به جای کلیه قابلیتهایی که مورد نیاز یک بازی کامپیوتری است تنها قابلیت رندرینگ بلادرنگ سه بعدی را مهیا میسازند. این انجین ها به توسعه دهنده بازی اجازه میدهند که بقیه توانایی ها و قابلیت های مورد نیاز را فراهم نموده و مجموعه را تکمیل نماید که میتوان آنها را از بین اجزا میان افزار بازی های دیگر انتخاب نمود. این نوع از موتور ها اغلب با نامهای دیگری مانند موتور گرافیکی "Graphics Engine" یا موتور رندرسازی "Rendering Engine" و یا موتور سه بعدی "3D Engine" نیز شناخته می شوند.




Axiom , Ogre , Power Rende , Crystal Space , and Genesis3Dاز جمله موتورهای گرافیک هستند. گیم انجین ها و موتور های گرافیکی جدید قابلیتی دارند که به نمودار صحنه Scene Graph معروف است که یک نمایش سه بعدی شی گرا از دنیای سه بعدی بازی میباشد و اغلب طراحی بازی را تسهیل میکند و میتواند برای رندر موثر و با کیفیت دنیای بصری سه بعدی بکار گرفته شود.



انتزاع سخت افزار :




اغلب اوقات موتور سه بعدی یا سیستم رندرکننده یک گیم انجین بر اساس API های گرافیکی همچون Direct 3Dو یاOpenGLساخته میشود که باعث استقلال نرم افزاری از GPU یا همان کارت گرافیکی میشود. از کتابخانه های سطح پایین "Low-Level" دیگری نیز همچونDirectX و SDL و OpenAL نیز بطور معمول در ساختن گیم انجین ها استفاده میشود چون آنها دسترسی مستقل از سخت افزار به دیگر سخت افزار کامپیوتر را همچون کارت صوتی و کارت شبکه و کیبورد و موس و ... را فراهم میسازند.



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




تاریخچه گیم انجین ها :

اصطلاح گیم انجین در میانه سالهای دهه 90 و مخصوصا در ارتباط با بازیهای FPS ایجاد شد. و شرکت id-software با بازیهایی همچون Doom و Quack آغازگر این راه بود. بعد ها نیز بازیهایی دیگری همچون Quack III و Unreal 1998 نیز با چنین فلسفه ای ایجاد شدند. بسیاری از شرکت ها میتوانستند با فروش موتور بازیهایشان یک سود مازاد و کمکی برای خود ایجاد کنند. امروزه موتورهای بازی سازی با قیمت های از ده هزار دلار تا سه ملیون و هفتصد و پنجاه هزار دلار (موتور بازی Warcraft III ) وجود دارند. کمترین مزیت و فایده ای که گیم انجین ها داشتند این بود که توسعه بازیهای کامپیوتری را آسان و سریع نمودند چیزی که در صنعت پر از رقابت بازیهای کامپیوتری یک منفعت بزرگ به شمار می آمد. امروزه بسیار بر روی گیم انجین ها و اجزا سازنده آنها کار میشود و این امر باعث شده تا بین قسمت های مانند کارهای هنری و طراحی مراحل و رندرینگ و اسکریپ نویسی شکاف عمیقی ایجاد شود به زبان ساده این امر باعث شده تا کارها تخصصی تر شود. امروزه در تیم های بزرگ توسعه بازیهای کامپیوتری و ویدئویی نسبت هنرمندان به برنامه نویسان 4 به 1 میباشد و این یک امر عادی محسوب میشود.

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

RPG Morrowind و MMORPG Dark Age of Camelot دو بازی هستند که بر اساس موتور NetImmerse طراحی شده اند. همچنین بازی Lineage IIبر اساس موتور آنریل Unreal Engine

طراحی شده است. گیم انجین هایی بزرگی که امروزه طراحی میشوند بگونه ای هستند که کنسول های بازی خانگی را نیز به خوبی پشتیبانی نمایند. بطور مثال دو بازی GrandTheftAutoو Burnout بر اساس موتور معروف RenderWare ساخته شده اند. امروزه گیم انجین ها در زمره پیچیده ترین برنامه های کامپیوتری هستند که تابحال ایجاد شده است.



میان افزارها :



امروزه بسیاری از کمپانی ها در ساخت و تولید مجموعه های نرم افزاری که با نام میان افزار "Middle Ware" شناخته میشوند محارت و تجربه ویژه ای کسب کرده اند. توسعه دهندگان میان افزار ها تلاش دارند تا مجموعه های نرم افزاری قدرتمندی تولید کنند که شامل تمام ملزومات مورد نیاز ساخت یک بازی کامپیوتری باشد. بسیاری از میان افزار ها قابلیت هایی مانند توابع گرافیک و صوت و فیزیک و هوش مصنوعی را تدارک میبینند که توسعه بازیها را تسهیل می نماید.Gamebryo و RenderWare دو نمونه از میان افزار های معروفی هستند که بطور بسیاری مورد استفاده قرار میگیرند.

بعضی از میان افزار ها تنها یک کار را انجام میدهند و بطور متقاعد کننده ای آن کار را بسیار بهتر از میان افزار های چند منظوره انجام میدهند. برای نمونه SpeedTree برای رندر کردن درختان و مراتع و جنگلها در کنسول جدید مایکروسافت یعنی Xbox 360 و همچنین بازی TheElderScrollsIV:Oblivion متعلق به مایکروسافت استفاده میشود.

بعضی از میان افزار ها به همراه سورس کد کامل ارائه میشوند و بعضی دیگر تنها مرجع توابع API و کتابخانه کامپایل شده را در اختیار میگذارند که برای دستیابی به سورس کد کامل آنها میبایست مبلغ اضافه تری پرداخت نمود.



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

یک محیط توسعه بازی بسیار محبوب و ارزان قیمت نیز در سال 1999 توسط MarcOvermars تولید شد که فرآیند توسعه بازیهای دوبعدی را بشدت آسان میکرد.

سخنی در مورد موتور های گرافیکی :



همانطور که پیشتر نیز عنوان شد موتور گرافیکی یکی از اجزای فوق العاده مهم هر گیم انجینی است. امروزه با یک سرچ کوچک در اینترنت میتوان موتور های گرافیکی بسیاری را پیدا کرد که اوپن سورس و رایگان هستند و قدرت های خوبی نیز داند و به صورت SDK عرضه میشوند.. از نمونه های خوب این انجین ها میتوان بهموتورهای سه بعدی OGRE 3D و irrlicht و Panda و Delta 3D و ... را نام برد. این موتورها غالبا بصورت کتابخانه های استاتیک یا دینامیک به همراه فایلهای هدر مورد نیاز و در اکثر مواقع به همراه سورس کامل عرضه میشوند. هر کدام از این انجین ها قادرند تا از یک یا چند زبان مختلف پشتیبانی نماید. بطور مثال موتور های OGRE و irrlicht را میتوان در زبان C/C++ استفاده کرد و از موتور Panda میتوان در زبان پایتون استفاده نمود. هر کدام از این موتورها با یکی از دو API گرافیکی رایج مانند OpenGL یا Direct3D نوشته شده اند و در بعضی موارد از هر دوی این API ها پشتیبانی میکنند مانند موتور OGRE که از هر دوی این API ها پشتیبانی میکند. در تعدادی دیگر از اینگونه موتور ها که پیشرفته تر هستند قابلیت Software Rendering نیز مهیا میباشد.

اگر طالب استفاده از این گونه موتورها هستید من موتور OGRE را به شما توصیه میکنم. که در فواصل زمانی کوتاه پیشرفت میکند و سریع اشکال زدایی میشود.



مثالی از چگونگی کاربرد موتوهای گرافیکی :



اگر بخواهم به زبان خیلی ساده و ابتدایی روش استفاده از یک موتور گرافیکی را برای دوستان شرح دهم باید از یک مثال استفاده کنم.

فرض کنید شما موتور گرافیکی OGRE را در اختیار دارید و مایلید تا از آن استفاده نمایید. خوب این موتور در اصل بصورت یکسری کتابخانه و فایلهای هدر میباشد که شما با Include نمودن فایل های هدر در ابتدای برنامه C++ خود و همچنین لینک کردن کتابخانه های مربوطه میتوانید از کلاسها و توابع این موتور استفاده نمایید. این کتابخانه کلاسهایی برای ساخت پنجره و لود کردن مدل ها و تکسچرها و نورپردازی و ... دارد.

داستان جالب راننده اصفهانی (حتما بخونید...)

 

 

 

اصفهانیه داشته توی اتوبان با سرعت ۱۸۰ کیلومتر در ساعت می‌رفته که پلیس با دوربینش شکارش می‌کنه و ماشینشو متوقف می‌کنه. پلیسه میاد کنار ماشینو میگه: گواهینامه و کارت ماشینو بدین. اصفهانیه میگه: من گواهینامه ندارم. این ماشینم مالی من نیست. کارتا ایناشم پیشی من نیست. من صَحَبی (صاحب) ماشینا کشتم آ جنازشا انداختم تو صندوق عقب. حالاوَم داشتم می‌رفتم از مرز فرار کنم، شوما منا گرفتین. پلیسه که حسابی حیرت زده شده بوده بیسیم میزنه به فرمانده‌اش و عین قضیه رو تعریف می‌کنه و درخواست کمک می‌کنه. فرمانده‌اش هم میگه تو کاری نکن من خودم دارم میام. فرمانده در اسرع وقت خودشو به محل می‌رسونه و به راننده اصفهانی میگه: آقا گواهینامه؟ اصفهانیه گواهینامه‌اش رو از تو جیبش در میاره میده به فرمانده. فرمانده میگه: کارت ماشین؟ اصفهانیه کارت ماشین که به نام خودش بوده رو از تو جیبش در میاره میده به فرمانده. فرمانده میگه: در صندوق عقب رو باز کن. اصفهانیه درو باز میکنه و فرمانده میبینه که صندوق هم خالیه. فرمانده که حسابی گیج شده بوده، به اصفهانیه میگه: پس این مأمور ما چی میگه؟! اصفهانیه میگه: چی چی میدونم والا جناب سرهنگ! حتماً الانم میخَد(می خواهد) بگد من داشتم ۱۸۰ تا سرعت میرفتم؟

OpenGL چیست ؟

 

لوگوی%20OpenGL


OpenGL چیست :



OpenGL دقیقا به عنوان یک "رابط نرم افزاری برای سخت افزار گرافیکی" تعریف شده است. OpenGL در ماهیت خود یک کتابخانه مدل سازی و گرافیک سه بعدی میباشد که بسیار سریع و قابل انتقال است. با استفاده از OpenGL شما میتوانید تصاویر سه بعدی زیبا و جذابی طراحی کنید. بزرگترین فایده استفاده از OpenGL اینست که فوق العاده از یک ردیاب نور (ray tracer ) سریعتر است. OpenGL از الگوریتمهایی استفاده میکند که توسط شرکت Silicon Graphics توسعه یافته و بهینه شده است.


SGI یک رهبر تائید شده در دنیای گرافیک کامپیوتری و انیمیشن میباشد.



 OpenGL یک زبان برنامه نویسی مانند c یا c++ نیست. OpenGL بیشتر شبیه کتابخانه زمان اجرای C می باشدکه یک سری توابع از پیش بسته بندی شده را تدارک دیده. در عمل چیزی به نام برنامه OpenGL وجود ندارد. وقتی ما میگوییم این یک برنامه OpenGL است یعنی در ساختار این برنامه از OpenGL به عنوان API گرافیکی اش استفاده کرده است همانطور که ما از توابع API ویندوز استفاده میکنیم تا بتوانیم به فایلها و امکانات شبکه ای و غیره ویندوز  دسترسی پیدا کنیم. همین طور هم ما از توابع OpenGL استفاده میکنیم تا بتوانیم گرافیک سه بعدی بلادرنگ طراحی کنیم.



IRIS GL در ابتدا یک کتابخانه دوبعدی بود که پیشرفت کرد و به OpenGL تبدیل شد. در حقیقت OpenGL نتیجه تلاشی بود که شرکت SGI برای اصلاح و بهبود IRIS GL کرد.



OpenGL استاندارد به سازندگان شخصی سخت افزار گرافیکی این اجازه را میدهد که قابلیت های افزودنی خودشان را با عنوان Extension تهیه کنند که ممکن است بعضی از محدودیت های توابع OpenGL را کم کند یا راحت تر کند و یا اینکه  قابلیت های جدیدی را به آن بیفزاید. Extension ها از توابع و ثابت های جدیدی ساخته شده اند که قابلیت های جدیدی را به OpenGL استاندارد می افزایند.


هر سازنده سخت افزار گرافیکی یک اختصار الفبایی مخصوص به خود برای نامگذاری Extension های خودش دارد. برای مثال شرکت NVIDIA از حروف اختصاری NV برای نامگذاری Extension هایی که درست میکنند استفاده میکنند.


 


OpenGL 2.0 توسط شرکت 3D Labs ایجاد شد که نگران راکد ماندن و نداشتن یک مدیریت قوی برای


OpenGL بود. . این شرکت قابلیت های جدیدی را به OpenGL اضافه کرد که پر اهمییت ترین آنها زبان سایه زنی GLSL بود.


این قابلیت برنامه نویسان را قادر میساخت که خطوط لوله تکه و راس تابع ثابت OpenGL را با سایه زن های نوشته شده در زبانی شبیه به C تعویض کنند.


 


 


منبع : کتاب OpenGL SuperBible 3rd Edition

Bios چگونه کار میکند؟

 

از رایج ترین کاربردهای flash memoryها در ساخت “بایوس” ، BIOS (Basic Input/Output System) است. BIOS درعمل از هماهنگی بین تراشه ها، دیسک های سخت، پورت ها و عملکرد CPU اطمینان حاصل میکند.

هر کامپیوتر desktop یا laptop یک ریزپردازنده یا Microprocessor بعنوان واحد پردازش مرکزی دارد. Microprocessor یک واحد سخت افزاری است. این واحد سخت افزاری برای اینکه بتواند کارهایی را انجام دهد، مجموعه ای از دستورات موسوم به نرم افزار یا Software را اجرا میکند.

شما احتمالا با دو نوع متفاوت از نرم افزارها آشنا هستید:

سیستم عامل _ سیستم عامل مجموعه ای از سرویسها را برای اجرای برنامه های کاربردی روی کامپیوتر فراهم میکند. همچنین interface (رابط کاربر) اولیه ای را برای کاربر فراهم میکند.

Windows۹۸ و Linux نمونه ای از سیستم عامل ها هستند.
برنامه های کاربردی _ برنامه های کاربردی تکه نرم افزارهایی هستند که برای کاربردهای خاص نوشته شده اند.

مثلا همین الان ممکن است روی کامپیوتر شما برنامه هایی مثل browser، word، برنامه ارسال E_mail و برنامه های مشابهی نصب باشد.

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

BIOS چه کارهایی انجام میدهد؟

مهمترین کاری که BIOS انجام میدهد، Load کردن سیستم عامل است. وقتی شما کامپیوترتان را روشن میکنید و Microprocessor تلاش میکند تا اولین دستورات را اجرا کند، بایستی این دستورات را از جایی بگیرد.

Microprocessor نمیتواند این دستورات را از سیستم عامل بگیرد. چرا؟

چون سیستم عامل روی دیسک سخت (hard disk) کامپیوتر قرار دارد و بایستی دستورات اولیه ای باشد تا Microprocessor را برای مراجعه به hard disk راهنمایی کند. BIOS این دستورات اولیه را برای Microprocessor صادر میکند.

برخی کارهای رایج دیگر که BIOS انجام میدهد عبارتند از:

اجرای عملیات POST(power-on self-test) برای اجزای سخت افزاری پایه که روی کامپیوتر شما نصب شده و وجود آنها برای کارکردن سیستم ضروری است، تا از صحت عملکرد آنها اطمینان حاصل شود. (این عملیات به محض روشن شدن کامپیوتر شروع میشود و با ارسال سیگنال هایی به قطعات سخت افزاری پایه، و دریافت پاسخ از آنها کامل میگردد.)
فعال کردن سایر تراشه های BIOS موجود روی کارت های مختلفی که داخل case نصب شده اند. بعنوان مثال، کارت های SCSI و کارت های گرافیک، اغلب تراشه های BIOS مختص به خود را دارند.
فراهم کردن یک سری بسترهای مقدماتی از طریق اجرای تعدادی دستورات سطح پایین، که سیستم عامل از آنها در جهت برقراری ارتباط با سخت افزارهای مختلف استفاده میکند. درواقع نام BIOS بیشتر از این عملکردش گرفته شده. در این مرحله قطعات جانبی مثل صفحه کلید، صفحه نمایش، پورت های موازی و سریال و… (بخصوص هنگام بوت شدن کامپیوتر)، باهم هماهنگ میشوند.
اعمال یک سری تنظیمات برای hard disk ها، clock و…
BIOS نرم افزار ویژه ای است که ارتباط اجزای اصلی سخت افزاری را با سیستم عامل کامپیوترتان برقرار میکند. BIOS معمولا در یک تراشه ی حافظه ی flash که روی مادربورد قرار گرفته ذخیره میشود. البته بعضی وقتها، این تراشه از نوع دیگری از ROM است.

وقتی شما کامپیوترتان را روشن میکنید، BIOS چند کار را انجام میدهد.

این سلسله مراتب معمولا بترتیب زیر است:

چک کردن CMOS Setup برای بررسی تنظیمات خاص
Load کردن سیستم اعمال وقفه ها و درایورها (device drivers)
مقداردهی اولیه به registerها (ثبات ها) و مدیریت قدرت (برق)
اجرای عملیات POST
نمایش تنظیمات سیستم
شناسایی اجزای bootable
آغاز کردن سلسله مراتب لازم برای boot شدن سیستم

اولین کاری که BIOS انجام میدهد، چک کردن اطلاعاتی است که روی بخش کوچکی (۶۴ bytes) از حافظه ی RAM قرار گرفته در یک آی سی (Complementary Metal Oxide Semiconductor) CMOS، ذخیره شده.

CMOS Setup اطلاعات جزئی که خاص سیستم شماست را نگهداری میکند و درصورت بوجود آمدن تغییراتی در سیستم میتواند تغییر کند.

BIOS از این اطلاعات ذخیره شده در CMOS، برای تغییر دادن یا تکمیل خود استفاده میکند. بعدها در مورد این ویژگی بیشتر بحث خواهیم کرد!

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

و در نهایت سیستم عامل تصمیم مناسب را اتخاذ میکند.

Device driverها هم تکه برنامه هایی هستند که اجزای سخت افزاری پایه مثل صفحه کلید، ماوس، هارد درایو و فلاپی درایو را شناسائی میکنند.

BIOS معمولا هنگام نیاز در RAM سیستم کپی میشود تا سریع تر اجرا شود.

بوت کردن کامپیوتر

هر وقت کامپیوترتان را روشن میکنید، اولین اتفاقی که می افتد این است که BIOS کار خود را انجام میدهد. در بسیاری از سیستم ها، BIOS متنی را نشان میدهد که توصیف کننده ی چیزهایی مثل مقدار حافظه ی RAM، نوع دیسک سخت و … در آن سیستم است. این نشان میدهد که درطول فرآیند بوت شدن سیستم، BIOS مقدار قابل ملاحظه ای عملیات را انجام میدهد تا سیستم شما آماده به کار شود. در این قسمت برخی از این عملیات برای یک PC ی معمولی بطور خلاصه توصیف میشود:
پس از چک کردن CMOS Setup و فراخوانی سیستم اعمال وقفه ها، BIOS بررسی میکند که آیا کارت گرافیک کار میکند یا نه.

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

بعد BIOS چک میکند که آیا Cold boot (Reset کردن سیستم بصورت سخت افزاری. مثلا با دکمه reset روی case) اتفاق افتاده یا Reboot (Reset کردن سیستم بصورت نرم افزاری مثلا با Alt+Ctrl+Del).

BIOS این کار را با چک کردن مقدار موجود در خانه حافظه با آدرس ۰۰۰۰:۰۴۷۲ انجام میدهد. اگر مقدار ۱۲۳۴h در این خانه ذخیره شده باشد، منظور Reboot است. بنابراین BIOS از انجام عملیات POST صرف نظر میکند و فقط سیستم را reset میکند.

هر مقداری غیر از ۱۲۳۴h نشاندهنده ی Cold boot است. (مثل اینکه سیستم تازه روشن شده _ POST هم انجام میشود.)

اگر Cold boot اتفاق افتاده باشد BIOS هریک از آدرسهای خانه های حافظه RAM را با نوشتن و خواندن مقداری در آنها آزمایش میکند.

همچنین پورت های PS/۲ یا USB را هم برای صفحه کلید و ماوس بررسی میکند. BIOS بدنبال گذرگاه PCI (Peripheral Component Interconnect) هم میگردد و اگر آنرا پیدا کرد همه کارت های PCI را چک میکند.

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

سپس BIOS جزئیاتی راجع به سیستم تان نمایش میدهد. که معمولا این اطلاعات مربوط میشود به:

پردازنده
فلاپی درایو و هارد درایو
حافظه
نسخه BIOS (ورژن)

هر درایور خاصی، مثل درایورهای مربوط به آداپتورهای SCSI (small computer system interface)

از آداپتور فراخوانی میشود و BIOS اطلاعات را نمایش میدهد.

سپس BIOS ترتیب و توالی ابزارهای ذخیره سازی که در CMOS Setup بعنوان مرجعی برای boot شدن سیستم تعیین شده اند را چک میکند.

Boot از Bootstrap آمده. Bootstrap را “خود راه انداز” ترجمه کرده اند. همچنان که در اصطلاح قدیمی “Lift yourself up by your bootstraps.” کلمه Boot اشاره دارد به مجموعه عملیاتی که منجر به بالا آمدن سیستم عامل میشود.

BIOS سعی میکند برای Boot کردن سیستم از اولین مرجع تعیین شده استفاده کند. اگر نتیجه نگرفت به سراغ دومین درایو تعیین شده میرود. اگر فایلهای مورد نظر برای boot کردن سیستم در هیچ یک از درایوهای مشخص شده پیدا نشد، روند startup متوقف میشود.

اگر دیسکتی در فلاپی درایو باشد، وقتی سیستم را restart میکنید، احتمالا با این پیغام مواجه خواهید شد:

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

در قسمت های قبلی متوجه شدید که BIOS ، CMOS Setup را برای تنظیمات خاص بررسی میکند. در ادامه به نحوه تغییر دادن این تنظیمات می پردازیم.

برای ورود به CMOS Setup، باید هنگامی که سیستم در حال اجرای عملیات مربوط به startup است از یک کلید خاص یا ترکیبی از چند کلید استفاده کنید. بیشتر سیستمها از کلیدهای “Esc” ، “Del” ، “F۱” ، “F۲” ، “Ctrl-Esc” یا “Ctrl-Alt-Esc” برای این منظور استفاده میکنند. معمولا به محض روشن شدن کامپیوتر، در قسمت پایینی صفحه نمایش یک خط توضیحات برای اشاره به کلید یا کلیدهای مورد استفاده جهت ورود به قسمت تنظیمات BIOS دیده میشود.

“برای ورود به Setup کلید … را فشار دهید.”

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

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

System Time/Date : برای تنظیم ساعت و تاریخ
Boot Sequence : برای مشخص کردن محل فایلهای مخصوص Boot کردن سیستم به ترتیب اولویت (از این فایل ها برای Load کردن سیستم عامل استفاده میشود.)
Plug and Play : استانداردی برای یافتن و شناسایی اجزای سخت افزاری جانبی بصورت خودکار; اگر کامپیوتر و سیستم عامل شما هر دو از این امکان پشتیبانی می کنند، بایستی گزینه Yes برای آن فعال باشد.
Mouse/keyboard : گزینه هایی مثل “Enable Num Lock” ، “Enable the Keyboard” ، “Auto-Detect Mouse” و …
Drive Configuration : برای تنظیم و پیکربندی hard drive ، CD-ROM ، floppy drive و …
Memory : خط دادن به BIOS و راهنمائی کردن آن برای مراجعه به آدرس خاصی از حافظه
Security : در این قسمت میتوان Password ی را برای کنترل دسترسی به سیستم اعمال کرد.
Power Management : سیستم مدیریت انرژی که امکاناتی چون مشخص کردن مدت زمان توقف در حالت standby و suspend هم به همراه آن ارائه میشود و قابل تنظیم است.
Exit : انتخاب کنید، آیا تغییراتی که اعمال کردید ذخیره شود، یا نادیده گرفته شود، یا تنظیمات سیستم به حالت پیش فرض شرکت سازنده set شود.

ر تنظیمات Setup را تغییر میدهید بسیار مراقب باشید. تنظیمات غلط ممکن است مانع از boot شدن سیستمتان شود. وقتی همه تغییرات مورد نظرتان را در Setup ایجاد کردید، باید Save Changes را انتخاب کنید و خارج شوید. در اینصورت BIOS سیستم شما را restart خواهد کرد تا تنظیمات جدید تاثیر گذار شوند.

BIOS برای ذخیره کردن هرگونه تغییری که در Setup سیستم داده میشود از فنآوری CMOS استفاده میکند. با استفاده از این فناوری یک باتری کوچک lithium یا Ni-Cad میتواند انرژی کافی برای نگهداری داده های ذخیره شده را در طول چند سال فراهم کند. حتی در بعضی تراشه های جدید یک باتری lithium خیلی کوچک درست در داخل تراشه CMOS جاسازی میشود که میتواند برای مدت ١٠ سال انرژی لازم را تامین کند!

Update کردن BIOS

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

برای تغییر دادن خود BIOS ، احتمالا به یک برنامه خاص که شرکت سازنده کامپیوتر یا BIOS سیستم ارائه میکند نیاز دارید. برای اینکه بفهمید BIOS سیستم شما از چه نوع یا نسخه ای است، به مشخصات نسخه و تاریخ BIOS که در startup سیستم نمایش داده میشود دقت کنید. سپس به Web Site شرکت سازنده BIOS سری بزنید و ببینید که آیا نسخه مورد استفاده ی شما upgrade شده یا نه. اگر چنین است نسخه upgrade و برنامه کمکی (utility) همراه آنرا که برای نصب این نسخه جدید لازم است download کنید. بعضی وقتها برنامه utility و نسخه upgrade بصورت یکجا داخل یک فایل ارائه میشود. برنامه utility و نسخه upgrade را روی یک دیسکت کپی کنید و بعد از قرار دادن آن در floppy drive سیستم را restart کنید تا از روی floppy drive بوت شود. برنامه از روی دیسکت خوانده میشود، BIOS قدیمی را پاک میکند و نسخه جدید را جایگزین آن میکند. شما میتوانید برای چک کردن BIOS سیستمتان از یک برنامه BIOS Wizard در آدرس BIOS Upgrades استفاده کنید.

مهمترین شرکتهای تولیدکننده BIOS :

· American Megatrends Inc. (AMI)

· Phoenix Technologies

· ALi

· Winbond

درست مثل زمانیکه CMOS Setup را دستکاری میکردید، اینجا هم مراقب باشید. مطمئن شوید BIOSتان را به نسخه ای upgrade میکنید که با سیستم کامپیوترتان سازگار است. به عبارت دیگر، درصورت بی دقتی ممکن است BIOS سیستم را خراب کنید و دیگر قادر به بوت کردن کامپیوتر نباشید.