دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 28 کیلو بایت |
تعداد صفحات فایل | 32 |
تحلیل الگوریتم شاخه و قید موازی آسنکرون
1- خلاصه:
در این مقاله توضیحی درباره کامپیوترهای موازی میدهیم و بعد الگوریتمهای موازی را بررسی میکنیم. ویژگیهای الگوریتم branch & bound را بیان میکنیم و الگوریتمهای b&b موازی را ارائه میدهیم و دستهای از الگوریتمهای b&b آسنکرون برای اجرا روی سیستم MIMD را توسعه میدهیم. سپس این الگوریتم را که توسط عناصر پردازشی ناهمگن اجرا شده است بررسی میکنیم.
نمادهای perfect parallel و achieved effiency را که بطور تجربی معیار مناسبی برای موازیسازی است معرفی میکنیم زیرا نمادهای قبلی speed up (تسریع) و efficiency (کارایی) توانایی کامل را برای اجرای واقعی الگوریتم موازی آسنکرون نداشتند. و نیز شرایی را فراهم کردیم که از آنومالیهایی که به جهت موازیسازی و آسنکرون بودن و یا عدم قطعیت باعث کاهش کارایی الگوریتم شده بود، جلوگیری کند.
2- معرفی:
همیشه نیاز به کامپیوترهای قدرتمند وجود داشته است. در مدل سنتی محاسبات، یک عنصر پردازشی منحصر تمام taskها را بصورت خطی (Seqventia) انجام میدهد. به جهت اجرای یک دستورالعمل داده بایستی از محل یک کامپیوتر به محل دیگری منتقل میشد، لذا نیاز هب کامپیوترهای قدرتمند اهمیت روز افزون پیدا کرد. یک مدل جدید از محاسبات توسعه داده شد، که در این مدل جدید چندین عنصر پردازشی در اجرای یک task واحد با هم همکاری میکنند. ایده اصل این مدل بر اساس تقسیم یک task به subtaskهای مستقل از یکدیگر است که میتوانند هر کدام بصورت parallel (موازی) اجرا شوند. این نوع از کامپیوتر را کامپیوتر موازی گویند.
تا زمانیکه این امکان وجود داشته باشد که یک task را به زیر taskهایی تقسیم کنیم که اندازه بزرگترین زیر task همچنان به گونهای باشد که باز هم بتوان آنرا کاهش داد و البته تا زمانیکه عناصر پردازشی کافی برای اجرای این sub task ها بطور موازی وجود داشته باشد، قدرت محاسبه یک کامپیوتر موازی نامحدود است. اما در عمل این دو شرط بطور کامل برقرار نمیشوند:
اولاً: این امکان وجود ندارد که هر taskی را بطور دلخواه به تعدادی زیر taskهای مستقل تقسیم کنیم. چون همواره تعدادی زیر task های وابسته وجود دارد که بایستی بطور خطی اجرا شوند. از اینرو زمان مورد نیاز برای اجرای یک task بطور موازی یک حد پایین دارد.
دوماً: هر کامپیوتر موازی که عملاً ساخته میشود شامل تعداد معینی عناصر پردازشی (Processing element) است. به محض آنکه تعداد taskها فراتر از تعداد عناصر پردازشی برود، بعضی از sub task ها بایستی بصورت خطی اجرا شوند و بعنوان یک فاکتور ثابت در تسریع کامپیوتر موازی تصور میشود.
الگوریتمهای B&B مسائل بهینه سازی گسسته را به روش تقسیم فضای حالت حل میکنند. در تمام این مقاله فرض بر این است که تمام مسائل بهینه سازی مسائل مینیمم کردن هستند و منظور از حل یک مسئله پیدا کردن یک حل ممکن با مقدار مینیمم است. اگر چندین حل وجود داشته باشد، مهم نیست کدامیک از آنها پیدا شده.
الگوریتم B&B یک مسئله را به زیر مسئلههای کوچکتر بوسیله تقسیم فضای حالت به زیر فضاهای (Subspace) کوچکتر، تجزیه میکند. هر زیر مسئله تولید شده یا حل است و یا ثابت میشود که به حل بهینه برای مسئله اصلی (Original) نمیانجامد و حذف میشود. اگر برای یک زیر مسئله هیچ کدام از این دو امکان بلافاصله استنباط نشود، آن زیر مسئله به زیرمسئلههای کوچکتر دوباره تجزیه میشود. این پروسه آنقدر ادامه پیدا میکند تا تمام زیر مسئلههای تولید شده یا حل شوند یا حذف شوند.
در الگوریتمهای B&B کار انجام شده در حین اجرا به شدت تحت تاثیر نمونه مسئله خاص قرار میگیرد. بدون انجام دادن اجرای واقعی الگوریتم این امکان وجود ندارد که تخمین درستی از کار انجام شده بدست آورد. علاوه برآن، روشی که کار باید سازماندهی شود بر روی کار انجام شده تاثیر میگذارد. هر گامی که در اجرای الگوریتم b&b ی موازی بطور موفقیتآمیزی انجام میشود و البته به دانشی است که تاکنون بدست آورده. لذا استفاده از استراتژی جستجوی متفاوت یا انشعاب دادن چندین زیر مسئله بطور موازی باعث بدست آمدن دانشی متفاوت میشود پس میتوان با ترتیب متفاوتی زیر مسئلهها را انشعاب داد.
دقت کنید که در یک بدل محاسبه خطی افزایش قدرت محاسبه فقط بر روی تسریع الگوریتم اثر میکند وگرنه کار انجام شده همچنان یکسان است.
با این حال اگر قدرت محاسبه یک کامپیوتر موازی با اضافه کردن عناصر پردازشی اضافه افزایش پیدا کند. اجرای الگوریتم b&b بطور آشکاری تغییر میکند (به عبارت دیگر ترتیبی که در آن زیر برنامهها انشعاب پیدا میکنند تغییر میکند). بنابراین حل مسائل بهینهسازی گسسته سرسع بوسیله یک کامپیوتر موازی نه تنها باعث افزایش قدرت محاسبه کامپیوتر موازی شده است بلکه باعث گسترش الگوریتمهای موازی نیز گشته است.
3- کامپیوترهای موازی (Parallel computers):
یکی از مدلهای اصلی محاسبات Control drivenmodel است، در این مدل کاربر باید صریحاً ترتیب انجام عملیات را مشخص کند و آن دسته از عملیاتی که باید به طور موازی اجرا شوند را تعیین کند. این مدل مستقل از عناصر پردازش به صورت زیر تقسیمبندی میشود:
- کامپیوترهای SISD، که یک عنصر پردازشی وجود دارد و توان انجام فقط یک عمل را در یک زمان دارد.
- کامپیوترهای MIMD، دارای چندین عنصر پردازشی هستند که بطور موازی دستورالعملهای متفاوت را روی دیتاهای متفاوت انجام میدهند.
- کامپیوترهای SIMD، همه عناصر پردازشیشان یک دستور یکسان را در یک زمان بر روی دادههای متفاوتی انجام میدهند. اگر چه امکان پنهان کردن عناصر پردازشی وجود دارد. عنصر پردازشی پنهان شده نتیجه عملی را که انجام داده ذخیره نمیکند.
سیستمهای SIMD بر اساس نحوه ارتباط و اتصال عناصر پردازشی به یکدیگر خود به بخشهایی تقسیم میشوند: اگر تمام عناصر پردازشی به یکدیگر متصل باشند و از طریق یک حافظه مشترک ارتباط داشته باشند، به آن tightly coupled system گویند.
و اگر عناصر پردازش حافظه مشترک نداشته باشند اما از طریق شبکهای بهم متصل باشند و بروش message passing با هم ارتباط داشته باشند، به آن loosely coupled system گویند.
حافظه مشترک در tightly coupled system ها هم نقطه قوت و هم نقطه ضعف این سیستمها است. امکان به اشتراک گذاشتن راحت و سریع اطلاعات بین عناصر پردازشی مختلف را فراهم میکند. ارتباط به عملیات ساده read و wite روی حافظه مشترک خلاصه میشود و هر عنصر پردازشی مستقیماً با دیگر عناصر پردازشی ارتباط برقرار میکند. با این حال، اگر تعداد عناصر پردازشی متصل به حافظه مشترک افزایش یابد، حافظه مشترک تبدیل به گلوگاه (Bottleneck) میشود.
بنابراین تعداد عناصر پردازشی در یک سیستم tightly coupled محدود است. به جهت اینکه تمام عناصر پردازشی بایستی به ان حافظه مشترک متصل باشند، این سیستمها بصورت کامل از پیش ساخته هستند و امکان اضافه کردن عناصر پردازش به سیستم وجود ندارد.
از طرف دیگر، ارتباط در یک سیستم loosely coupled کند و آهسته است. تبادل پیامها نیاز به زمانی بیش از زمان لازم برای نوشتن یا خواندن از یک حافظه مشترک دارد. این امکان هم وجود دارد که یک عنصر پردازش مستقیماً به عنصر پردازش دیگر که قصد ارتباط دارد متصل نباشد.
در مقابل compactness بودن سیستمهای tightly coupled ، عناصر پردازشی در یک سیستم loosely coupled میتوانند در تمام نقاط توزیع شوند. لذا فاصله فیزیکی که یک پیام باید طی کند، بیشتر میشود. به جهت این حقیقت که عناصر پردازشی برای ارتباط در یک شبکه از یک پروتکل استفاده میکنند، lossely coupled system میتوانند شامل انواع مختلفی از عناصر پردازشی باشند. امکان اضافه کردن عناصر پردازشی اضافهتری به سیستم وجود دارد. در حالت کلی عناصر پردازشی خودشان یک کامپیوتر کاملی هستند.
مثالی از سیستمهای loosely coupled، Distributed Processing utilities Package است که بعداُ به تفضیل درباره آنها توضیح میدهیم.
4- الگوریتمهای موازی (Parallel Algorithm):
یک الگوریتم موازی شامل sub taskهایی است که باید انجام شود. بعضی از این sub taskها بصورت موازی اجرا میشوند، اما گاهی sub taskهایی هم وجود دارد که باید بصورت خطی اجرا شوند. اجرای هر sub task توسط یک پروسس مجزا انجام میشود. از ویژگیهای مهم یک الگوریتم موازی نحوه محاوره این پروسسها، سنکرون بودن و قطعی بودن الگوریتم است. دو پروسس با یکدیگر محاوره (interact) دارند، اگر خروجی یکی از آندو پروسس ورودی دیگری باشد. نحوه محاوره دو پروسس میتواند بطور کامل مشخص شده باشد یا نباشد. اگر مشخص شده باشد، این دو پروسس فقط زمانی میتوانند ارتباط داشته باشند که هر دو مایل به انجام ارتباط باشند. اگر گیرنده هنوز آماده ارتباط نباشد، فرستنده نمیتواند اقدامی انجام دهد.
در حین اجرای یک الگوریتم سنکرون تمام پروسسها باید قبل از محاوره با یکدیگر همزمان شوند. سنکرون شدن در اینجا یعنی قبل از آغاز subtask جدید، آنها باید منتظر کامل شدن عمل دیگر پروسسها باشند. وقتی یک الگوریتم آسنکرون اجرا میشود، پروسسها لازم نیست که منتظر یکدیگر شوند تا taskهایشان را تمام کنند. البته این امکان وجود دارد که یک الگوریتم آسنکرون تا حدی سنکرون شود.
یک الگوریتم قطعی است اگر هر بار که الگوریتم بر روی ورودی مشابه اجرا شود، نتیجه اجرا یکسان باشد. یعنی دستورالعملهای مشابه به ترتیب مشابه انجام شود. بنابراین اجراهای متوالی از یک الگوریتم همیشه خروجی یکسان دارد در حالیکه در الگوریتمهای غیر قطعی یک تصمیم یکسان خروجیهای متفاوتی دارد. مثلاً خروجی یک تصمیم ممکن است و البته به فاکتورهای محیطی معینی باشد که توسط الگوریتم کنترل نمیشود. از اینرو اجراهای پیدر پی یک الگوریتم غیر قطعی، خروجیهای متفاوت تولید میکند.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 262 کیلو بایت |
تعداد صفحات فایل | 55 |
آشنایی با چند سخت افزار کامپیوتر
چکیده
امروزه کامپیوتر در موارد متعددی به خدمت گرفته می شود . برخی از تجهیزات موجود در منازل ، دارای نوعی خاصی از ریز پردازنده می باشند . حتی اتومبیل های جدید نیز دارای نوعی کامپیوتر خاص می باشند . کامپیوترهای شخصی ، اولین تصویر از انواع کامپیوترهائی است که در ذهن هر شخص نقش پیدا می کند. که به شرح چند نمونه از سخت افزار کامپیوتر می پردازیم.
RAM نوعی حافظه است که کامپیوتر از آن برای ذخیره برنامه ها و داده ها هنگام پردازش استفاده می کند. اطلاعات اکثر انواع RAMها هنگام خاموش کردن کامپیوتر پاک می شود. در حال حاضر شرکت ها در تلاش هستند RAMهایی تولید کنند که با خاموش شدن کامپیوترهم، داده ها را در خود نگه دارند (با استفاده از نانوتیوبهای کربنی و اثر تونل های مغناطیسی).
امروزه بعضی از انواع RAMها قادرند اشتباهات تصادفی را تصحیح کنند. در سال های اخیر chipهایی ساخته شده است که تا GB10 حافظه دارند، همینطور chipهایی که اندازه آن ها در حدود 18/0 میکرون می باشد .
انواع RAM (نرخهای عملکرد با رنگ سبز نشان داده شدهاند):
4- Cpu
فصل اول : حافظه RAM
حافظهRAM (Random Access Memory) شناخته ترین نوع حافظه در دنیای کامپیوتر است . روش دستیابی به این نوع از حافظه ها تصادفی است . چون می توان به هر سلول حافظه مستقیما" دستیابی پیدا کرد . در مقابل حافظه های RAM ، حافظه هایSAM (Serial Access Memory) وجود دارند. حافظه های SAM اطلاعات را در مجموعه ای از سلول های حافظه ذخیره و صرفا" امکان دستیابی به آنها بصورت ترتیبی وجود خواهد داشت. ( نظیر نوار کاست ) در صورتیکه داده مورد نظر در محل جاری نباشد هر یک از سلول های حافظه به ترتیب بررسی شده تا داده مورد نظر پیدا گردد. حافظه های SAM در مواردیکه پردازش داده ها الزاما" بصورت ترتیبی خواهد بود مفید می باشند ( نظیر حافظه موجود بر روی کارت های گرافیک ). داده های ذخیره شده در حافظه RAM با هر اولویت دلخواه قابل دستیابی خواهند بود.
مبانی حافظه های RAM
حافظه RAM ، یک تراشه مدار مجتمع (IC) بوده که از میلیون ها ترانزیستور و خازن تشکیل شده است .در اغلب حافظه ها با استفاده و بکارگیری یک خازن و یک ترانزیستور می توان یک سلول را ایجاد کرد. سلول فوق قادر به نگهداری یک بیت داده خواهد بود. خازن اطلاعات مربوط به بیت را که یک و یا صفر است ، در خود نگهداری خواهد کرد.عملکرد ترانزیستور مشابه یک سوییچ بوده که امکان کنترل مدارات موجود بر روی تراشه حافظه را بمنظور خواندن مقدار ذخیره شده در خازن و یا تغییر وضعیت مربوط به آن ، فراهم می نماید.خازن مشابه یک ظرف ( سطل) بوده که قادر به نگهداری الکترون ها است . بمنظور ذخیره سازی مقدار" یک" در حافظه، ظرف فوق می بایست از الکترونها پر گردد. برای ذخیره سازی مقدار صفر، می بایست ظرف فوق خالی گردد.مسئله مهم در رابطه با خازن، نشت اطلاعات است ( وجود سوراخ در ظرف ) بدین ترتیب پس از گذشت چندین میلی ثانیه یک ظرف مملو از الکترون تخلیه می گردد. بنابراین بمنظور اینکه حافظه بصورت پویا اطلاعات خود را نگهداری نماید ، می بایست پردازنده و یا " کنترل کننده حافظه " قبل از تخلیه شدن خازن، مکلف به شارژ مجدد آن بمنظور نگهداری مقدار "یک" باشند.بدین منظور کنترل کننده حافظه اطلاعات حافظه را خوانده و مجددا" اطلاعات را بازنویسی می نماید.عملیات فوق (Refresh)، هزاران مرتبه در یک ثانیه تکرار خواهد شد.علت نامگذاری DRAM بدین دلیل است که این نوع حافظه ها مجبور به بازخوانی اطلاعات بصورت پویا خواهند بود. فرآیند تکراری " بازخوانی / بازنویسی اطلاعات" در این نوع حافظه ها باعث می شود که زمان تلف و سرعت حافظه کند گردد.
سلول های حافظه بر روی یک تراشه سیلیکون و بصورت آرائه ای مشتمل از ستون ها ( خطوط بیت ) و سطرها ( خطوط کلمات) تشکیل می گردند. نقطه تلاقی یک سطر و ستون بیانگر آدرس سلول حافظه است .
حافظه های DRAM با ارسال یک شارژ به ستون مورد نظر باعث فعال شدن ترانزیستور در هر بیت ستون، خواهند شد.در زمان نوشتن خطوط سطر شامل وضعیتی خواهند شد که خازن می بایست به آن وضغیت تبدیل گردد. در زمان خواندن Sense-amplifier ، سطح شارژ موجود در خازن را اندازه گیری می نماید. در صورتیکه سطح فوق بیش از پنجاه درصد باشد مقدار "یک" خوانده شده و در غیراینصورت مقدار "صفر" خوانده خواهد شد. مدت زمان انجام عملیات فوق بسیار کوتاه بوده و بر حسب نانوثانیه ( یک میلیاردم ثانیه ) اندازه گیری می گردد. تراشه حافظه ای که دارای سرعت 70 نانوثانیه است ، 70 نانو ثانیه طول خواهد کشید تا عملیات خواندن و بازنویسی هر سلول را انجام دهد.
سلول های حافظه در صورتیکه از روش هائی بمنظور اخذ اطلاعات موجود در سلول ها استفاده ننمایند، بتنهائی فاقد ارزش خواهند بود. بنابراین لازم است سلول های حافظه دارای یک زیرساخت کامل حمایتی از مدارات خاص دیگر باشند.مدارات فوق عملیات زیر را انجام خواهند داد :
-- مشخص نمودن هر سطر و ستون (انتخاب آدرس سطر و انتخاب آدرس ستون)
-- نگهداری وضعیت بازخوانی و باز نویسی داده ها ( شمارنده )
-- خواندن و برگرداندن سیگنال از یک سلول ( Sense amplifier)
-- اعلام خبر به یک سلول که می بایست شارژ گردد و یا ضرورتی به شارژ وجود ندارد ( Write enable)
سایر عملیات مربوط به "کنترل کننده حافظه" شامل مواردی نظیر : مشخص نمودن نوع سرعت ، میزان حافظه و بررسی خطاء است .
حافظه های SRAM دارای یک تکنولوژی کاملا" متفاوت می باشند. در این نوع از حافظه ها از فلیپ فلاپ برای ذخیره سازی هر بیت حافظه استفاده می گردد. یک فلیپ فلاپ برای یک سلول حافظه، از چهار تا شش ترانزیستور استفاده می کند . حافظه های SRAM نیازمند بازخوانی / بازنویسی اطلاعات نخواهند بود، بنابراین سرعت این نوع از حافظه ها بمراتب از حافظه های DRAM بیشتر است .با توجه به اینکه حافظه های SRAM از بخش های متعددی تشکیل می گردد، فضای استفاده شده آنها بر روی یک تراشه بمراتب بیشتر از یک سلول حافظه از نوع DRAM خواهد بود. در چنین مواردی میزان حافظه بر روی یک تراشه کاهش پیدا کرده و همین امر می تواند باعث افزایش قیمت این نوع از حافظه ها گردد. بنابراین حافظه های SRAM سریع و گران و حافظه های DRAM ارزان و کند می باشند . با توجه به موضوع فوق ، از حافظه های SRAM بمنظور افزایش سرعت پردازنده ( استفاده از (Cacheو از حافظه های DRAM برای فضای حافظه RAM در کامپیوتر استفاده می گردد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 29 کیلو بایت |
تعداد صفحات فایل | 43 |
سازمان و کار درونی کامپیوترها
درون کامپیوتر
در این بخش مقدمه ای را برای سازمان و کار درونی کامپیوترها فراهم می آوریم. مدل بکار رفته یک مدل عمومی است، ولی مفاهیم مورد استفاده قابل اعمال به همه کامپیوترها از جمله PS/2 , IBM و سازگار با آنهاست. قبل از آغاز این مبحث،مروری بر تعاریف برخی از اصطلاحات در کامپیوتر،مانند کیلو (k) ، مگا،گیگا، بایت، RAM, ROM و غیره مفید است.
بعضی اصطلاحات مهم
یکی از امکانات مهم یک کامپیوتر حافظه موجود در آن است. بنابراین اکنون اصطلاحات بکار رفته برای اندازه حافظه در IBM PC ها و سازگار با آنها را بیان می کنیم. از بحث قبل بیاد دارید که بیت یک رقم دودویی بود که می توانست مقدار 0 یا 1 داشته باشد. بایت یک مجموعه 8 بیتی است. نیبل نصف یک بایت، یا 4 بیت است. کلمه دو بایت یا 16 بیت می باشد. نمایش زیر به منظور نشان دادن اندازه نسبی این واحدها ارائه شده است. البته،آنها می توانند هر ترکیبی از صفرها و یک ها باشند.
یک کیلوبایت، 10 2 بایت یا 1024 بایت است. اغلب از K برای بیان آن استفاده می شود. مثلاً برخی از فلاپی دیسک ها (یا دیسک نرم) k 356 داده را نگه می دارند. یک مگابایت، یا ساده تر مگ، 20 2 بایت است. این مقدار، کمی بیش از یک میلیون بایت است و مقدار دقیق آن 576/048/1 می باشد. با گذری سریع در ظرفیت به گیگابایت یا 30 2 بایت می رسیم (بیش از 1 بیلیون یا میلیارد)، و یک ترابایت نیز 40 2 بایت است (بیش از 1 تریلیون). برای مثالی از چگونگی کاربرد آنها،فرض کنید که کامپیوتری دارای 16 مگابایت حافظه باشد. این مقدار برابر با 220 * 16 یا 220 * 4 2 یا 224 است. بنابراین 16 مگابایت 224 بایت می باشد.
در میکروکامپیوترها معمولا از دو نوع حافظه استفاده می شود که عبارتند از RAM ، که به معنی حافظه با دستیابی تصادفی است (گاهی هم حافظه خواندن / نوشتن نامیده می شود) و ROM که به معنی حافظه فقط خواندنی می باشد. RAM بوسیله کامپیوتر برای ذخیره سازی موقت برنامه های در حال اجرا مورد استفاده قرار می گیرد. این برنامه ها یا اطلاعات بعد از خاموش شدن کامپیوتر از بین می روند. به همین دلیل، RAM را گاهی حافظه فرار هم می خوانند. ROM برای برنامه ها و اطلاعات لازم در عملکرد کامپیوتر لازم است. اطلاعات در ROM دائمی است و قابل تعویض بوسیله کاربر نمی باشد و پس از خاموش شدن کامپیوتر هم از بین نمی رود. بنابراین آن را حافظه غیرفرار گوییم.
سازمان درونی کامپیوترها
بخش عملیاتی هر کامپیوتر قابل تفکیک به سه قسمت است: CPU (واحد پردازش مرکزی)، حافظه و وسایل I/O (ورودی / خروجی) ، شکل 9-0 ملاحظه شود. نقش CPU اجرای (پردازش) اطلاعات ذخیره شده در حافظه است. عمل وسایل I/O همچون صفحه کلید، مانیتور تصویر (ویدئو) ، تهیه مفاهیم ارتباط و محاوره با CPU است. CPU از طریق رشته ای از سیم ها به نام گذرگاه به حافظه و I/O متصل است. گذرگاه داخل یک کامپیوتر، درست مثل گذرگاههای خیابانی که مردم رااز مکانی به مکانی دیگر هدایت می کنند، اطلاعات را از جایی به جای دیگر انتقال می دهند. در هر کامپیوتر سه نوع گذرگاه موجود است: گذرگاه آدرس، گذرگاه داده و گذرگاه کنترل.
به منظور شناسایی یک وسیله (حافظه یا I/O ) توسط CPU ، باید آدرسی به آن تخصیص داد. آدرس اختصاص یافته به یک وسله مورد نظر باید منحصر به فرد باشد؛ یعنی دو وسیله مختلف مجاز به داشتن یک آدرس نیستند. CPU آدرس را روی گذرگاه آدرس قرار می دهد (البته به شکل دودویی) و مدار دیکد وسیله را می یابد. آنگاه CPU از گذرگاه داده برای بدست آوردن داده از وسیله یا ارسال داده به آن استفاده می نماید. گذرگاههای کنترل برای تهیه سیگنال های خواندن و نوشتن در وسیله و مطلع ساختن آن از تصمیم CPU برای دریافت اطلاعات و یا ارسال اطلاعات به آن است. از سه گذرگاه فوق، آدرس و داده، توانمندی یک CPU را نشان می دهند.
توضیحی بیشتر درباره گذرگاه داده
چون گذرگاههای داده برای انتقال اطلاعات به و یا از CPU بکار می روند، هر چه گذرگاههای داده بیشتر باشند، CPU بهتر است. اگر گذرگاههای داده را همچون خطوط اتوبان تصور کنیم، واضح است که هر چه خطوط بیشتر باشند، مسیر بین CPU و وسایل بیرونی (مانند چاپگرها، ROM, RAM و غیره ، شکل 10-0 ملاحظه شود) بهتر خواهد بود. اما افزایش در تعداد خطوط، هزینه ساخت را افزایش می دهد. گذرگاههای حافظه بیشتر،بمعنای CPU و کامپیوتر گرانتر می باشد. اندازه متوسط گذرگاه داده در CPU ها بین 8 و 64 متغیر است، کامپیوترهای اولیه مانند Apple2 از یک گذرگاه داده 8 بیت استفاده می کردند، در حالیکه سوپرکامپیوترهایی همچون Cray گذرگاه داده 64 بیتی را به کار می برند. گذرگاههای داده دو طرفه هستند، زیرا CPU از آنها به هنگام دریافت و یا ارسال داده استفاده می کند. توان پردازش CPU به اندازه این گذرگاهها وابسته است، زیرا یک گذرگاه 8 بیتی هر بار قادر است 1 بایت داده را بفرستد،ولی گذرگاه 16 بیتی، 2 بایت را هر بار ارسال می کند که در نتیجه دو برابر سریعتر خواهد بود.
توضیحی بیشتر درباره گذرگاه آدرس
چون گذرگاه آدرس برای شناسایی وسیله و حافظه متصل به CPU بکار می رود، هر چه گذرگاههای آدرس بیشتر باشند، تعداد وسایلی که آدرس دهی می شوند بیشتر خواهند بود. به بیان دیگر تعداد گذرگاههای آدرس برای یک CPU ، تعداد مکان هایی را که با آن محاوره می کند افزایش می دهد. همواره تعداد مکان ها است که در آن x تعداد خطوط آدرس می باشد و ربطی به اندازه خطوط داده ندارد. مثلا یک CPU با 16 خط آدرس می تواند 65536 (216 ) یا k 64 حافظه را آدرس دهی کند. هر مکان حداکثر 1 بایت داده دارد. به این دلیل است که غالباً تمام ریزپردازنده های همه منظور را بایت آدرس پذیر می نامند. برای مثالی دیگر، کامپیوتر IBM PC AT از یک CPU با 24 خط آدرس و 16 خط داده استفاده می کند. در این حالت،کل حافظه قابل دسترس،16 مگابایت خواهد بود (مگابایت 16=224) در این مثال 224 مکان وجود دارد، و چون هر مکان یک بایت است،16 مگابایت حافظه موجود خواهد بود. گذرگاه آدرس یک گذرگاه یک طرفه می باشد، و به این معنی است که CPU از گذرگاه آدرس فقط برای ارسال آدرس به خارج از خود استفاده می کند. بطور خلاصه: تعداد کل حافظه های آدرسپذیر بوسیله یک CPU همیشه برابر با x2 می باشد که در آن x تعداد بیت های آدرس است و ربطی به اندازه گذرگاه داده ندارد.
CPU و ارتباط آن با RAM و ROM
در پردازش اطلاعات بوسیله CPU ، داده باید در RAM یا ROM ذخیره شود. وظیفه ROM در کامپیوترها ارائه اطلاعات ثابت و دائمی است. این اطلاعات عبارتند از :جداول برای الگوی کاراکترهای مورد نمایش روی صفحه مانیتور، یا برنامه هایی که در کامپیوتر نقش اساسی دارند، مانند برنامه هایی که کل RAM موجود در سیستم را می یابند و یا تست می کنند، و یا برنامه هایی که اطلاعات را روی مانیتور نمایش می دهند. بر عکس، RAM برای ذخیره اطلاعاتی بکار می رود که غیر دائمی و قابل تغییر با زمان می باشند، مانند انواع سیستم های عامل و بسته های کاربردی مثل بسته های پردازش کلمات و محاسبه مالیاتی. این برنامه ها را برای پردازش توسط CPU در RAM قرار داده می شوند. CPU اطلاعات مورد پردازش را از RAM یا ROM دریافت می نماید. در صورتیکه آن را در آنجا نباید شروع به جستجو در وسایل ذخیره سازی حجیم مانند دیسک می نماید، و سپس اطلاعات را به RAM منتقل می کند به این دلیل، گاهی RAM و ROM را حافظه اصلی می نامند و دیسک ها نیز حافظه ثانوی خوانده می شوند.
درون CPU ها
برنامه ذخیره شده در حافظه دستورالعمل هائی را برای CPU فراهم می سازد تا بر اساس آن عملی را انجام دهد. عمل می تواند یک جمع داده ساده همچون صورتحساب و یا کنترل یک ماشین مانند روبات باشد. برداشت این دستورات از حافظه و اجرای آنها بعهده CPU است. برای انجام اعمال برداشت و اجرا، تمام CPU ها مجهز به امکانات زیر هستند:
1- قبل از هر چیز تعدادی ثبات در اختیار CPU قرار دارد. CPU از این ثبات ها برای ذخیره موقت اطلاعات استفاده می کند. اطلاعات می تواند دو مقدار مورد پردازش و یا آدرس مقدار مورد نظری باشد که باید از حافظه برداشت شود. ثبات های درون CPU می توانند 8 بیت ، 16 بیت، 32 بیت و یا حتی 64 بیت باشند. اندازه آنها به CPU بستگی دارد. بطور کلی هر چه ثبات ها بیشتر و بزرگتر باشند، CPU مناسب تر است. عیب ثبات های بیشتر و بزرگتر، گرانی CPU می باشد.
2- CPU دارای بخشی بنام ALU (واحد حساب/ منطق) است. بخش ALU در CPU مسئول انجام اعمال حسابی مانند جمع، تفریق، ضرب و تقسیم، و اعمال منطقی مانند AND ، OR و NOT می باشد.
3- هر CPU دارای یک شمارنده برنامه است. نقش شمارنده برنامه اشارهبه آدرس دستورالعمل بعدی برای اجرا است. با اجرای هر دستورالعمل، شمارنده برنامه افزایش یافته و به آدرس دستورالعمل بعدی برای اجرا اشاره خواهد کرد. در این اشاره، محتوای شمارنده برنامه روی گذرگاه آدرس قرار گرفته و دستورالعمل مورد نظر را یافته و آن را از مبدأ برداشت می کند. در IBM PC شمارنده برنامه را IP یا اشاره گر دستورالعمل می خوانند.
4- نقش دیکدر دستورالعمل ، تفسیر دستور برداشت شده توسط CPU است. می توان دیکدر دستورالعمل را همانند یک فرهنگ لغت تصور کرد که مفهوم هر دستورالعمل را ذخیره نموده و CPU را در برداشت قدم های بعدی پس از دریافت دستورالعمل هدایت می کند. همانطور که فرهنگ لغت باتعریف هر چه بیشتر لغات نیاز به صفحات بیشتری دارد، CPU هم در درک دستورالعمل های بیشتر نیاز به ترانزیستورهای بیشتری خواهد داشت.
عملیات درونی کامپیوتر
برای نمایش برخی از مفاهیم مورد بحث فوق، تحلیل قدم به قدمی از پردازش یک CPU برای جمع سه عدد در زیر داده شده است. فرض کنید که یک CPU فرضی دارای چهارثبات با نام های D,C,B,A باشد. این پردازشگر دارای گذرگاه داده 8 بیتی و گذرگاه آدرس 16 بیتی است. بنابراین CPU می تواند به حافظه هایی از 0000 تا FFFFH دسترسی داشته باشد (جمعاً H 10000 مکان) . عملی که CPU می خواهد انجام دهد عبارتست از قراردادن مقدار 21 در ثبات A و سپس جمع ثبات A با مقادیر H42 و H12 فرض کنید که کد انتقال مقدار به ثبات A برابر (BOH) 10111000 و کد جمع یک مقدار به ثبات A نیز (04H ) 0100 0000 باشد. مراحل لازم و کد اجرای آنها برابر زیر است:
اگر برنامه اجرایی فوق در مکان هایی از حافظه قرار گیرد که از H 1400 شروع می شود. محتوای هر مکان حافظه بقرارزیراست:
عملیاتی که CPU برای اجرای برنامه فوق طی می کند بقرار زیر است:
1- شمارنده برنامه CPU می تواند مقداری بین 0000 و FFFFH داشته باشد. باید 1400 را در شمارنده برنامه نشاند تا آدرس اولین دستورالعمل برای اجرا مشخص گردد. پس از بارکردن شمارنده برنامه با آدرس اولین دستورالعمل، CPU آماده اجرا است.
2- CPU ، H 1400 را روی گذرگاه آدرس قرار داده و آن را به خارج ارسال می دارد. مدار حافظه مکان را می یابد و در این هنگام CPU نیز سیگنال READ را فعال می نماید و به این ترتیب بایت مکان H1400 را از حافظه درخواست می کند. این موجب می شود تا محتوای حافظه در مکان H 1400 ، که B0 است، روی گذرگاه قرار گیرد و به CPU انتقال یابد.
3- CPU دستورالعمل B0 را به کمک مدار دیکد دستورالعمل، دیکد می کند. پس از یافتن تعریف دستورالعمل متوجه می شود که باید محتوی مکان حافظه بعدی را به ثبات A در داخل CPU بیاورد. بنابراین به مدار کنترل خود فرمان اجرای دقیق آن را صادر می نماید. وقتی که مقدار H 21 را از مکان 1401 حافظه به درون آورد، دریچه های ورودی همه ثبات ها را بجز ثبات A ، می بندد. بنابراین مقدار H 21 وقتی وارد CPU شود مستقیماً وارد ثبات A می گردد. پس از تکمیل یک دستورالعمل ، شمارنده برنامه به آدرس دستورالعمل بعدی برای اجرااشاره می کند، که در این حالت 1402 است. سپس آدرس H 1402 به روی گذرگاه آدرس ارسال می شود تا دستورالعمل بعدی برداشت شود.
4- آنگاه از مکان H 1402 ، کد 04 را بر می دارد. پس از دیکد کردن، CPU می فهمد که باید محتوای ثبات A را با بایتی که در آدرس بعدی قرار دارد (1403) جمع کند. پس از آوردن مقدار (در این حالت H42 ) به درون CPU ، مقدار درون ثبات A را همراه با این مقدار به ALU برای انجام جمع تحویل می دهد. سپس نتیجه جمع را از خروجی ALU دریافت کرده و در ثبات A قرار می دهد. در این هنگام شمارنده برنامه برابر با H 1404 ، یعنی آدرس دستورالعمل بعدی می گردد.
5- آدرس H 1404 روی گذرگاه آدرس قرار می گیرد و کد درون آن آدرس به داخل CPU آورده شده و سپس دیکد و اجرا می گردد. مجدداً این کد مقداری را به ثبات A می افزاید. شمارنده برنامه به H 1406 اصلاح می شود.
6- نهایتاً، محتوای آدرس 1406 برداشت و اجرا می گردد. این دستورالعمل، HALT ، به CPU می فهماند تا افزایش شمارنده برنامه را متوقف نماید. در غیاب HALT ، CPU به اصلاح شمارنده برنامه ادامه داده و دستورالعمل ها را برداشت می نماید.
اکنون فرض کنید که آدرس H1403 به جای H 42 ، حاوی 04 باشد. CPU چگونه داده 04 را برای جمع از کد 04 تفکیک می کند؟ بخاطر آورید که برای این CPU ، کد 04 به معنی انتقال یک مقدار به داخل ثبات A است، بنابراین CPU سعی بر دیکد مقدار بعدی نخواهد کرد، بلکه محتوای مکان حافظه بعدی را بدون توجه به مقدار آن بداخل ثبات A منتقل می سازد.
این فصل با بحثی در موردنقش و اهمیت میکروکنترلرها در زندگی روزمره آغاز می شود. در بخش 1-1 روال انتخاب یک میکروکنترلر، همراه با استفاده از آنها را مورد بحث قرار می دهیم. بخش 2-1 انواع اعضای خانواده 8051 ، همچون 8052 ، 8031 و ویژگی های آنها را پوشش می دهد. بعلاوه انواع مختلف 8051 مانند 8751 ، AT 51C89 و 5000DS را مورد بحث قرار خواهیم داد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 972 کیلو بایت |
تعداد صفحات فایل | 130 |
هدف از این پروژه مقایسه چهارطرح ضرب کننده RNS می باشد. بدین منظور با بهره گیری از پیاده سازی این چهار طرح با نرم افزار VHDL به مقایسه آنها میپردازیم. RNS یک روش نمایش اعداد است که در آن هر عدد به وسیله باقی ماندههای تقسیم آن بر مجموعه ای از اعداد دو به دو نسبت به هم اول نمایش داده
می شود. با کمک قضیه باقی مانده چینی، اثبات می شود که در RNS نمایش هر عدد منحصر به فرد می باشد برای ضرب در RNS نیاز به ضرب پیمانه ای خواهد بود. روشهای ضرب پیمانه ای برحسب اینکه کاهش به پیمانه، در کدام مرحله ضرب انجام گیرد. به دو دسته «کاهش در حین ضرب (RDM)» و «کاهش بعد از ضرب (RAM)» تقسیم می شوند. دو طرح اول این پروژه با تکنیک RAM و دو طرح دوم با تکنیک RDM کار میکنند.
1- مقدمه.......................................................................................................... 1
1-1 سیستم عددی باقیمانده....................................................................... 1
1-2 قضیه باقی مانده های چینی................................................................ 2
1-3 کاربردهای RNS............................................................... 3
2- روشهای ضرب پیمانه ای .......................................................................... 5
2-1 روش مونتگمری................................................................................ 5
2-2 بررسی اجمالی روشهای موجود پیاده سازی ضرب در RNS............ 6
2-3 نکاتی پیرامون چهار طرح مورد نظر................................................... 7
3- طرح اول..................................................................................................... 8
3-1 مقدمه................................................................................................. 8
3-2 بررسی سوابق..................................................................................... 8
3-3 الگوریتم.............................................................................................. 9
3-4 پیاده سازی سخت افزاری................................................................... 10
3-5 محاسبه پیچیدگی مساحت و تأخیر طرح اول..................................... 13
4- طرح دوم..................................................................................................... 15
4-1 مقدمه................................................................................................. 15
4-2 بررسی سوابق .................................................................................... 15
4-3 الگوریتم.............................................................................................. 15
4-4 پیاده سازی سخت افزاری................................................................... 18
4-5 محاسبه پیچیدگی مساحت و تأخیر طرح دوم..................................... 20
5- طرح سوم.................................................................................................... 21
5-1 تبدیل سیستم RNS (Residue Conversion)................................ 28
5-2 پیاده سازی سخت افزاری................................................................... 30
5-2-1 پیاده سازی تبدیل RNS........................................................... 31
5-2-2 پیاده سازی بخش اصلی الگوریتم (الگوریتم مونتگمری با RNS).. 34
5-3- محاسبه پیچیدگی مساحت و تأخیر طرح سوم ................................ 36
5-3-1 عناصر وابسته به ROM............................................................ 36
5-3-2 عناصر ریاضی........................................................................... 36
5-3-3 تأخیر و مساحت تبدیل کننده RNS استاندارد.......................... 37
5-3-4 محاسبه مساحت و تأخیر تبدیل کننده RNS سریع................... 44
5-3-5 مساحت و تأخیر طرح سوم....................................................... 50
5-4 نتایج پیاده سازی در طرح سوم ......................................................... 56
6- طرح چهارم................................................................................................ 58
6-1 بیان مقاله در مورد سیستم RNS ............................................ 59
6-2 بیان مقاله از ضرب پیمانه ای بدون تقسیم (روش مونتگمری)............ 60
6-3 بررسی صحت الگوریتم...................................................................... 62
6-4 روش تبدیل RNS............................................................................. 66
6-5 پیاده سازی سخت افزاری................................................................... 67
6-5-1 تبدیل RNS ناقص................................................................... 68
6-5-2 پیاده سازی بخش اصلی طرح چهارم (الگوریتم مونتگمری)..... 68
6-6 محاسبه پیچیدگی تأخیر و مساحت طرح چهارم................................ 70
6-6-1 محاسبه تأخیر و مساحت تبدیل RNSناقص............................. 70
6-6-2 محاسبه تأخیر و مساحت در طرح چهارم.................................. 72
6-7 نتایج شبیه سازی در طرج چهارم....................................................... 80
7- مقایسه طرح ها وجمع بندی ..................................................................... 81
7-1- مقایسه چهار طرح............................................................................ 81
7-2- جمع بندی ...................................................................................... 98
8- مراجع.........................................................................................................
9- ضمائم ........................................................................................................
الف – کدهای VHDL طرح اول...............................................................
ب – کدهای VHDL طرح دوم................................................................
ج – کدهای VHDL طرح سوم................................................................
د – کدهای VHDL طرح چهارم..............................................................
هـ – MOMA .........................................................................................
دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 45 کیلو بایت |
تعداد صفحات فایل | 55 |
فرهنگ لغت با استفاده از نرمافزار Visual Basic
مقدمه:
امروزه علم کامپیوتر پیشرفت شگرفی در کلیة علوم و صنایع به وجود آورده است و با پیشرفت این علوم مسائل مربوط به کامپیوتر نیز پیشرفت شگرفی داشته است از جمله میتوان به پیشرفت در بانکهای اطلاعاتی اشاره نمود که از جدیدترین و مهمترین آنها میتوان به Visual basic اشاره نمود. در اینجا سعی شده است مطالبی در جهت معرفی این نرمافزار تقدیم گردد.
فصل اول
نرم افزار ویژوال بیسیک
برنامهنویسی با Visual Basic ( آخرین ویرایش Visual Basic ) میتواند کار پرزحمت و خسته کننده برنامهنویسی را به یک تفریح تبدیل کند.
محبوبیت Visual Basic، علاوه بر گرافیکی و ساده بودن، از آنجا ناشی میشود که زبانی اینترپرتری ( interpreter ) و کامپایلری ( Compiler ) است. دیدکه زبانهای اینترپرتری از نظر سهول تولید و توسعه برنامه چقدر به برنامهنویسی کمک میکنند و از طرف دیگر برنامههای کامپایل شده بنحو چشمگیری سریعتر از برنامههای اینترپرتری هستند. با ترکیب این دو ویژگی Visual Basic را روانه بازارکرد، بسیاری از منتقدان شکست آن و مرگ خاندان بیسیک را پیشبینی میکردند. این مخالفان میگفتند که بیسیک اساساً یک زبان جدی نیست و ساختار آن ( برخلاف C و پاسکال ) به درد محیط ویندوز نمیخورد اما میکروسافت با ارائه Visual Basic درسهای زیادی به جامعه برنامهنویسان داد:
- زبانی مانند بیسیک میتواند قابل فهم و قوی باشد.
- Visual Basic بسته به نیاز برنامهنویس میتواند کامپایلری یا اینتر پرتری باشد.
- و Visual Basicنه تنها فراموش نشد بلکه تبدیل به محبوبترین زبان برنامهنویسی دنیا شد.
- Visual Basic در چندین مدل مختلف عرضه میشود.
- مدل فوقالعاده : محیط برنامه نویسی مناسب کارهای شبکه و برنامههای توزیع شده است.
- مدل آموزشی: مجموعهای از ابزارهای استاندارد و هر آنچه برای شروع برنامهنویسی بدان نیاز دارید.
- مدل استودیوی ویژوال در این مدل Visual Basic به همراه چند زبان ویژوال دیگر
( مانند ویژوال ++ ) و ( ویژوال ++J ) در یک بسته نرم افزاری گرد آمدهاند تا آموختن آنها متضمن کمترین زحمت برای برنامهنویسان باشد.
برنامهنویسی یک کار حرفهای ( یا حداقل نیمه حرفهای ) است که قواعد خاص خود را دارد. البته کاربران کامپیوتر کمتر درگیر مشکلات برنامهنویسی میشوند ولی اگر فضای روزگار شمارا وارد این وادی کرده است، سعی کنیم اصول کلی ذیل را همواره مد نظر داشته باشیم:
1- درباره برنامه تصمیم بگیرید و یک طرح کلی بریزید.
2- قسمتهای ظاهری برنامه ( پنجرهها، منوهاو هر آنچه را که کاربر میبینید ) را بوجود آوریم.
3- با نوشتن کد عناصر برنامه را به هم مرتبط کنیم.
4- برنامه را تست کرده و اشکالات آن ( که در قاموس برنامهنویسی به آنها باگ گفته میشود ) را یافته و برطرف کنیم.
5- برنامه تست شده را کامپایل کنیم.
خصلت بصری برنامهنویسی Visual Basic مراحل طراحی برنامه را بسیار ساده و شیرین کرده است چون جای قلم و کاغذ میتوانیم مراحل اول و دوم را روی صفحه کامپیوتر انجام دهید.
اولین برنامه:
اگر با سایر برنامههای ویندوز کار کرده باشیم احتمالاً با جادوگر ( wizard )ها آشنائید، جادوگر برنامهای است که قدم به قدم شما را در فرآیند طراحی همراهی کرده و در پایان الگویی شایسته از آنچه در ذهن دارید برایتان خواهد ساخت. Visual Basic هم برای ایجاد برنامهها دارای جادوگر برنامه ( application wizard ) است. جادوگر برنامه در پایان اسکلت یک برنامه کامل و عملیاتی را برایتان میسازد اما اکثر برنامهنویسان ترجیح میدهند خودشان برنامه را از صفر شروع کنند، بسیاری نیز از کپی برنامههای قدیمیشان استفاده کرده و با تغییر دادن در آن برنامه جدیدی میسازند. بعد از آن که کمی Visual Basic تجربه کسب کردید احتمالاً ترجیح خواهیم داد از جادوگر برنامه استفاده نکنیم.
برای شروع کار در این قسمت برنامهای با استفاده از جادوگر برنامه ایجاد خواهیم کرد. این برنامه کار چندانی انجام نمیدهد و فقط یک پوسته ( Shell ) است. بلافاصله بعد از شروع Visual Basic جادوگر برنامه آماده انجام وظیفه است، گفتگوی پروژه جدید
( New project ) اولین چیزی است که بعد از اجرای Visual Basic خواهیم دید.
- New اجازه میدهد تا جادوگرهای مختلفی را به کمک احضار کرده یا برنامه را از صفر شروع کنیم.
- Existing اجازه میدهد تا پروژههای موجود را باز کنیم.
- Recent لیستی از آخرین پروژههای باز شده یا ایجاد شده را نشان میدهد.
برای بازکردن گفتگوی پروژه جدید از File New Project هم میتوانیم استفاده کنیم، اما در این حالت برگههای Existing و Recent را نخواهیم دید.
پروژه ( Project ) عبارتست از مجموعه فایلهای یک برنامه هر برنامه میتواند چندین فایل داشته باشید. برخی از این فایلها حاوی کد برنامه، برخی دیگر حاوی مشخصات ظاهری برنامه و برخی دیگر ( احتمالاً ) شامل کدهای ارتباط برنامه با سیستم عامل یا برنامههای دیگر هستند. اگر میل ندارید هر بار در شروع Visual Basic گفتگوی پروژه جدید را ببینید، میتوانیم جعبه یک Don’t show this dialog box in the future را علامت بزنید.
اگر روی آیکون Visual Basic Application Wizard ( در برگه New ) کلیک کنیم جادوگر برنامه کارش را شروع خواهد کرد. صفحه اول جادوگر فقط یک خوشامد گویی و اعلام شروع بکار جادوگر است. مانند تمام جادوگرها وقتی کارتان در یک صفحه تمام شد، باید با کلیک کردن دکمه Next به صفحه بعد بروید.
گزینههای این صفحه عبارتند از:
- واسطه چندی سندی ( MID ): این نوع واسط اجازه میدهد تا در آن واحد چندین سند ( document ) را در برنامه باز کنیم در حقیقت بااین واسط میتوانیم با چندین مجموعه داده در پنجرههای جداگانه کار کنیم. به هر پنجره سند پنجره فرزند
( Child window ) گفته میشود.
- واسط تک سندی ( SDI ) : با این واسط در هر لحظه فقط یک پنجره سند میتواند باز باشد. احتمالاً اکثر برنامههایی که خواهیم نوشت از این نوعند.
- سبک کاوشگر: با این واسط میتوانیم برنامههایی شبیه کاوشگر ویندوز
( windows Explorer ) بوجود آوریم که در آن سرفصل مطالب در قاب سمت چپ و توضیحات سرفصل انتخاب شده در قاب سمت راست نمایش داده میشوند.
با انتخاب هر گزینه نمونه کوچکی از ظاهر برنامه در قسمت چپ ـ بالای صفحه جادوگر ظاهر خواهد شد. برنامه اول ما از واسط SDI استفاده میکند. در همین صفحه نام پروژه را هم میتوانیم انتخاب کنیم از آنجایی که نام پیش فرض، Project ، چندان با مسما نیست، آن را به First App تغییر داده ( توجه داشته باشیم که فاصله در نام پروژه مجاز نیست) و Next را کلیک کنیم تا صفحه بعدی جادوگر ظاهر شود.
جادوگر برنامه منوهایی را این صفحه انتخاب کنیم به برنامه اضافه خواهد کرد. این منوها در میان اغلب برنامههای ویندوز یکسان هستند، منوهایی مانند و File و Edit .
آیتمهای موجود در هر منو هم قابل انتخاب است، مثلاً، منوی File میتواند دارای آیتم New و Open و Close باشد. علامت & در کنار هر حرف نشان دهنده کلید دسترسی سریع آن آیتم است، به عبارت دیگر، &New در هنگام اجرای برنامه به شکل New ظاهر خواهد شد و کاربر میتواند با زدن همزمان کلیدهای N + Alt آن آیتم را فعال کند. اما اگر بخواهیم خود علامت & را در منو داشته باشیم، چه باید بکنیم؟ ساده است، & را دوبار پشت سر هم بنویسید، مثلاً، A&&B هنگام اجرای برنامه به صورت A&B ظاهر خواهد شد. برای مثال ما، منوها را همان گونه که هست رها کرده و با یک کلیک کردن Next به صفحه بعد جادوگر بروید.
صفحه بعد محل انتخاب میلههای ابزار ( toolbars ) برنامه است. همانطور که میبینید، جادوگر برنامه در این زمینه هم سنگ تمام گذاشته و تقریباً هر آنچه را که احتمالاً نیاز دارید در اختیارتان گذاشته است. قاب سمت چپ حاوی تمام ابزارهای موجود و قاب سمت راست حاوی ابزارهای انتخاب شده برای برنامه هستند. با کلیک کردن Next این صفحه را هم پشت سر بگذارید.
صفحه بعد جادوگر محل انتخاب منابع برنامه ( مانند فایلهای چند زبانی، برای بین المللی کردن برنامهها ) است. در این برنامه به هیچ منبع خارجی نیاز نداریم بنابراین گزینهNo را علامت زده و به صفحه بعد بروید. صفحه بعد صفحه اتصال به اینترنت است. اگر در این قسمت گزینه Yes ، را انتخاب کنیم، جادو گر برنامه یک کاوشگر اینترنت تمام عیار به برنامهتان اضافه خواهد کرد. این کاوشگر درست مانند سایر کاوشگرها میتواند شما را از دورن برنامه به هر صفحهوبی که مایلند متصل کند. بدون انتخاب گزینه اتصال به اینترنت به صفحه بعد بروید.
در صفحه بعد میتوانیم گزینههایی ذیل را به برنامه اضافه کنیم:
- صفحه معرفی برنامه ( Splash screen ): صفحهای که در ابتدای شروع برنامه برای مدتی کوتاه ظاهر شده و آن را معرفی میکند.
- گفتگوی ورود ( Login dialog ): محلی برای گرفتن نام کاربر، کلمه عبور و سایر اقدامات امنیتی.
- گفتگوی گزینهها ( Options dialog ): صفحهای چند برگهای که کاربر میتواند برنامه را از آنجا تنظیم کند.
- پنجره About : گفتگویی که با کلیک کردن Help About ظاهر شده و توضیحاتی درباره برنامه خواهد داد.
در قسمت From Template ، چندین فرم ( که در قاموس Visual Basic همان پنجره است ) دیگر ، از جمله OBDC login ( برای ارتباط با پایگاههای داده پیشرفته ) و
Tip of the Dey ( نکته روز )، وجود دارد که میتوانیم از آنها استفاده کنیم.
به این برنامه فقط پنجره About اضافه کرده و Next را کلیک کنیم. در صفحه ارتباط با پایگاههای داده بدون هیچ اقدامی فقط Next را کلیک کنیم در پایان هم با کلیک کردن Finish ایجاد برنامه را به پایان برسانید، با کلیک کردن دکمه View Report میتوانیم خلاصهای از پروژه ایجاد شده را مشاهده کنیم.
تا این جا بدون آنکه چیزی از برنامهنویسی Visual Basic بدانید، یک برنامه تمام و کمال و عملیاتی بوجود آوردهاید که حتی در همین حالت هم میتوانیم آن را اجرا کنیم، با کلیک کردن آیتم Run Start ( یا معادل آن، F5 ) برنامه را اجرا کنیم.
این برنامه که با کمک جادوگر برنامه آن را ساختید کار چندانی انجام نمیدهد و فقط یک پوسته است.
- برنامه یک پنجره استاندارد دارد که اندازه آن را میتوان تغییر داد، نام پروژه، Firt App، در میله عنوان ( title bar ) برنامه دیده میشود.
- برنامه یک میله وضعیت ( Status bar ) دارد که تاریخ و وقت را نشان میدهد. این میله را میتوان از منوی View ظاهر ساخت و یا پنهان کرد.
- منوهای برنامه نیاز به کدنویسی دارند، ولی برخی از آنها ( مانند Help About ) بدون هیچگونه کوششی سیستم ( از قبیل مقدار حافظه و منابع آزاد سیستم ) ارائه خواهد کرد.
- برنامه یک میله ابزار استاندارد دارد، که از منوی View میتوان آن را ظاهر یا ضنهان کرد.
- جادوگر برنامه یک الگوی کامل برای شما بوجود آورده که می توانیم آن را مطابق نیاز خود تغییر دهید. فعلاً با کلیک کردن File Exit برنامه را ببندید، در پاسخ به ذخیره کردن پروژه پاسخ NO بدهیم، چون هر وقت خواستید جادوگر برنامه دوباره آنرا برایتان خواهد ساخت.
این یک برنامه ویندوز است، این پنجره دارای انواع متعددی از کنترلهای ویندوز است، کنترلهایی از قبلی دکمه فرمان ( Command button )، جعبه چک ( Check box ) و میله لغزنده ( Scroll bar ) ویندوز دارای کنترلهای متعددی است که میتوانیم در محیط برنامهنویسی Visual Basic از آنها استفاده کرده و به برنامه اضافه کنیم.
برنامههای ویندوز ذاتاً به چنین کنترلهایی نیاز دارند چون برخلاف برنامههای قدیمی باید به رویداد ( Event ) ها پاسخ دهند. رویداد میتواند از این کنترلها یا هر جای دیگر
( کیبورد یا ماوس یا ساعت سیستم ) منشاء بگیرد. رویدادها میتوانند بدون هیچ ترتیبی اتفاق افتند، چون از قبل نمیتوان پیشبینی کرد که کاربر چگونه با کنترلها کار خواهد کرد. برای مقابله با چنین وضعیتی باید خود را برای برنامهنویسی رویدادگرا ( event driven ) آماده کنیم. اساساً هر عملی که در حین اجرای برنامه روی دهد یک رویداد است.
ویندوز یک سیستم عامل چند وظیفگی ( multitasking ) است یعنی در آن واحد چندین برنامه میتوانند در کنار هم اجرا شوند و در این حالت ویندوز باید رویدادهای هر برنامه را به همان برنامه بفرستد. هنگام برنامهنویسی، تعدادی از کنترلهای Visual Basic را روی یک فرم ( پنجره) قرار میدهید و خاص ظاهری آن را مطابق نیاز خود تنظیم میکنیم. هر کنترل دارای ویژگیهای ظاهری و عملکردی متعددی است که خاصیت ( Property ) نامیده میشود. در حقیقت این خواص هستند که کنترلها را از یکدیگر متمایز میکند. تمام این کنترلها از نوع دکمه فرمان هستند که فقط خواص متفاوتی برای آنهاست شده است.
هر کنترل به رویدادهای خاص خود پاسخ میدهد، مثلاً دکمه فرمان دارای رویداد کلیک شدن است که هرگاه کاربر روی دکمه کلیک کند ( یا Enter را بزند ) روی خواهد داد و برنامهنویس باید برای این رویداد کد لازم را بنویسد. برنامههای رویدادگرا برخلاف برنامههای سابق که لیست بلند بالایی از کد بودند، از قطعات کوچک کد که هر قطعه مجری یک رویداد خاص است، تشکیل میشوند. این قطعات کد در حالت عادی هیچ کاری نمیکنند و منتظر بروز رویداد مربوط به خود هستند تا وارد صحنه شوند و وظیفهشان را انجام دهند.
پنجره پروژه جدید
هرگاه Visual Basic شروع میشود پنجرهای بنام New Project ( پروژه جدید) ظاهر میشود و به شما امکان میدهد تا نوع برنامه خود را انتخاب کنیم.
اغلب برنامههای که خواهیم نوشت از نوع Standard EXE خواهند بود. میگوید که اگر برنامه را کامپایل کنیم یک فایل exe تولید خواهد شد.
برنامههای Standard exe را به صورت اینترترپری هم میتوان اجرا کرد.
میله ابزار Visual Basic درست زیر منوی آن قرار دارد و خود از چهار میله ابزار کوچکتر تشکیل شده است.
- دیباگ. این میله ابزار هنگام دیباگ کردن برنامهها فعال خواهد شد.
- ادیت. از این میله ابزار برای ادیت کردن کدهای Visual Basic استفاده خواهیم کرد.
- ادیتورفرم. با این میله ابزار میتوانیم اشیا روی فرم را کنترل کنیم.
- استاندارد. میله ابزار پیش فرض Visual Basic که در ذیل منو دیده میشود. برای ظاهر یا پنهان کردن این میلهها میتوانیم از View Toolbars استفاده کنیم. هر میله ابزار دارای دکمههای متعددی است که هر یک راه میانبری برای اجرای فرمانهای Visual Basic هستند و زحمت جستجو در منوهای Visual Basic را از دوش شما برمیدارند. در تمام این میلههای ابزار چند دکمه وجود دارد که بطور مرتب مورد استفاده قرار میگیرند و بسیار مفید هستند. البته هیچنیازی نیست که میلههای ابزار Visual Basic میتوانند چسبیده (dicked ) یا شناور (float ) باشند، یعنی هر میله ابزار میتواند بطور ثابت به سایر قسمتهای محیط Visual Basic بچسبد یا بصورت شناور ( در هر قسمت که برنامه نویس میل داشته باشد) قرار گیرد.
- جعبه ابزار
- پنجره جعبه ابزار ( Toolbox ) با میله ابزار تفاوت دارد. این پنجره که به آن مختصراَ جعبه ابزار گفته میشود، انباره کنترلهای Visual Basic است.
مسئله جاب در مورد توجه جعبه ابزار این است که این جعبه هرگز خالی نمیشود. یعنی هر چقدر که از ابزارهای آن استفاده کنیم باز هم این جعبه ابزار میتواند ابزارهای دیگری در اختیارتان بگذارد. در حقیقت جعبه ابزارها را خلق کرده و روی فرم قرار میدهد.
پنجره فرم جائیست که کنترلهای برنامه روی آن قرار میگیرند. البته یک برنامه میتواند چندین فرم داشته باشد (MDI ) که میتوانیم آنها را در محیط برنامهنویسی Visual Basic همزمان مشاهده کنیم البته در هر لحظه فقط یکی از فرمها فعالی است که رنگ میله عنوان این فرم با سایر فرمها تفاوت خواهد داشت.
پنجره طراحی فرم پنجره جالبی است که ارتباط نزدیکی با فرمهای برنامه دارد و ظاهر و موقعیت فرمهای برنامه را هنگام اجرای آن نشان می دهد. برای جابجا کردن فرمها روی صفحه کامپیوتر میتوانیم از پنجره طراحی فرم استفاده کنیم. اگر برنامه چند فرم داشته باشد، تمام آنها را میتوانیم در این پنجره مشاهده کرده و موقعیت نهایی آن را تعیین کنیم. ( بعدها خواهیم دید که محل و موقعیت فرمها روی صفحه مانیتور را از طریق کدنویسی هم میتوان کنترل کرد.)
پنجره پروژه محل کنترل اجزا برنامه است. برنامه میتواند دارای چندین فایل باشد و تعداد این فایلها میتواند به سرعت بالا رود. پنجره پروژه برای مدیریت این فایلهاست و میتوانیم به کمک آن هر فایل را به ناحیه کاری Visual Basic آورده و روی آن کار کنیم. ( به پنجره پروژه، کاوشگر پروژه هم میگویند.)
پنجره پروژه برای نمایش اجزا برنامه و روابط آنها از ساختار درختی استفاده میکند. در Visual Basic به هر شی ( از قبیل فرم یا مدول) میتوان نامی داد و هر آیتم با نامی دیگر روی دیسک ذخیره خواهد شد. نام فایل با نام پروژه متفاوت است( نام پروژه، بر خلاف نام فایل، پسوند ندارد) و در پرانتز نمایش داده میشود بدین ترتییب در پنجره پروژه علاوه برنام پروژه سه دکمه دیده میشود:
- دکمه Visual Basic: که با آن میتوانیم پنجره کد آیتم انتخاب شده را مشاهده کنیم.
- دکمه Visual object: که با آن میتوانیم ساختار نمایش پنجره پروژه را تغییر دهید.
- دکمه Visual folders: که با آن میتوانیم ساختار نمایش پنجره پروژه را تغییر دهید.
در پنجره پروژه اشیا مختلفی میتوانند ظاهر شوند:
- پروژه . یک برنامه میتواند دارای چندین پروژه باشد ( مانند کنترلهای Activex ) پسوند نام فایل پروژه همیشه VBP است.
- فرم. هر پروژه میتواند فرمهای متعددی داشته باشد. پسوند نام فایل فرمها همیشه FRM است.
- مدول. کدها و روتینهای عمومی برنامه، که به هیچ کنترل خاصی مربوط نیستند. باید در مدول ( module ) ها قرار داده شوند. از یک مدول به دلیل خصلت عمومی آنها میتوان در برنامههای متعددی استفاده کرد. پسوند نام فایل مدولها BAS است.
- مدول کلاس. محل تعریف کدهایی که اشیا پروژه را تعریف میکنند پسوند نام فایل مدولهای کلاس ( Class module ) همیشه CLS است.
- کنترل کاربر. کنترلهای اکتیوایکس اضافه شده به پروژه فایلهای اکتیوایکس دارای پسوند OCX هستند.
- سند کاربر. سند کاربر سندی است که مشخصات پروژه را توضیح دهید. پسوند نام فایل سند کاربر ( User document ) همیشه DOB است.
- صفحه خواص. صفحات خواص برای تعریف کنترلهای پروژه بکار میروند ( مانند صفحاتی که در گفتگوهای برگهدار دیده میشود.) پسوند نام فایل صفحه خواص ( Property page ) همیشه ح ش ل است.
- پنجره پروژه می تواند دارای اشیا دیگری از قبیل فایلهای منبع(Resource file ) و سندهای دیگر باشد.
« فهرست مطالب »
عنوان |
صفحه |
مقدمه........................................................................................................... 1
فصل اول :..................................................................................................
- معرفی نرم افزار ویژوال بیسیک............................................................ 2
- ویژوال بیسیک و فرآیند برنامه نویسی ................................................ 3
- آشنایی با application wizard ........................................................ 4
- واسط چند سندی................................................................................... 6
- واسط تک سندی.................................................................................... 6
- سبک کاوشگر......................................................................................... 6
- صفحه معرفی برنامه( Splash screen ).............................................. 8
- گفتگوی ورود ( Login dialog )....................................................... 8
- گفتگوی گزینهها ( Option dialog )................................................. 8
- پنجره about.......................................................................................... 9
- برنامهنویسی رویدادگرا.......................................................................... 10
- پنجرة پروژه جدید................................................................................. 12
- میله ابزار ................................................................................................ 12
- جعبه ابزار................................................................................................ 13
- پنجره فرم................................................................................................ 14
- پنجره طراحی فرم................................................................................... 14
- پنجره پروژه............................................................................................. 14
- پنجره خواص.......................................................................................... 17
- کمک....................................................................................................... 17
- پیشوندهای استاندارد برای اشیاء Visual basic................................ 18
- کمک محلی............................................................................................ 19
- پشتیبانی................................................................................................... 20
- با محیط ویژوال بیسیک مأنوس شوید.................................................. 21
- ساختن فرم.............................................................................................. 23
- با نوشتن کد برنامه را کامل کنید......................................................... 26
- مروری بر کنترلها ................................................................................ 28
- خواص مشترک کنترلهای ویژوال بیسیک............................................ 30
فصل دوم :..................................................................................................
- بانک اطلاعاتی........................................................................................ 31
- استفاده از بانکهای اطلاعاتی................................................................. 31
- اجزاء تشکیل دهنده بانک اطلاعاتی..................................................... 31
- بانک اطلاعاتی ویژوال بیسیک.............................................................. 32
- ساختار بانک اطلاعاتی........................................................................... 32
- جدول در بانک اطلاعاتی...................................................................... 33
- ایجاد یک بانک اطلاعاتی...................................................................... 33
- چاپ ساختار بانک اطلاعاتی................................................................. 36
- ورود اطلاعات به بانک اطلاعاتی.......................................................... 36
- تعیین رکورد جاری................................................................................ 36
- مرتبسازی رکوردها.............................................................................. 37
- ویرایش محتویات رکورد....................................................................... 38
- حذف رکورد.......................................................................................... 38
- جستجوی رکورد.................................................................................... 38
طراحی فرم.................................................................................................. 38
- مفهوم ایندکس در بانک اطلاعاتی........................................................ 41
- برنامهنویسی و بانک اطلاعاتی.............................................................. 42
- اشیای بانک اطلاعات............................................................................. 42
- شیData................................................................................................ 43
- شی Database ..................................................................................... 43
- باز کردن بانک اطلاعاتی........................................................................ 46
- حذف ایندکس........................................................................................ 47
- نمایش محتویلات بانک اطلاعاتی......................................................... 47
- افزودن ایندکس به جدول...................................................................... 49
- فعال کردن یک فایل ایندکس در جدول.............................................. 50
منابع............................................................................................................. 55
فهرست جداول
عنوان |
صفحه |
جدول 1-2:بعضی از خواص مهم شیء Data در بانک اطلاعاتی........ 44
جدول 2-2: خواص شیء Database ................................................... 45
جدول 3-2: متدهای شیء Database.................................................... 46
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 3531 کیلو بایت |
تعداد صفحات فایل | 16 |
حافظة مجازی
حافظه مجازی
در این تمرین شما با صورتها و شکلهای مختلفی از مکانیزم حافظه مجازی در ویندوز NT آشنایی پیدا خواهید کرد علیرغم اغلب دیگر سیستمهای عامل، ویندوز NT یک API ساده و روشنی را برای اداره کردن بعضی شکلها و صورتهای حافظه مجازی تهیه میکند(معمولاً حافظه مجازی بطور کامل توسط برنامه نویس کاربردیاش روشن و واضح میگردد) در این تمرین شما در موارد زیر اطلاعاتی یاد خواهید گرفت: سازماندهی سیستم حافظه مجازی ویندوز NT چگونه فضای حافظه مجازی خود را کنترل کنید؟ چگونه یک وسیله آگاه کننده و گزارش دهنده بنویسید؟ جزئیات GlobalMemory Status , GetsystemInfo – VirtualQuery – VirtualUnlock – VirtualLock – VirtueaFree – VirtualAlloc معرفی
حافظه مجازی صفحهبندی یا Paging Virtual Memory در بسیاری از سیستمهای عامل امروزی بکار گرفته میشود. در یک سیستم صفحهبندی شده، هر فرآیندی یک فضای آدرس دهی مجازی خاص خود دارد که برای ارجاع دیگر اشیاء بکار گرفته میشود که معمولاً محتوای یک محل یا موقعیتی از حافظه است بخشی از فضای آدرس دهی مجازی توسط ویراستار خطی ( Link editor ) تعریف میشوند وقتی که آن یک تصویر قابل اجرایی بوجود میآورد که در واقع فایل اجرایی یا EXE است. تعداد باقیمانده از فضای آدرسدهی میتواند بطور پویا در زمان اجرا توسط روشهایی که در این تمرین توضیح داده خواهد شد تعر یف شود. بعد از اینکه قسمت پایدار و ثابت از فضای آدرسدهی مجازی ایجاد شد در حافظه ثانویه ذخیره خواهد شد ( معمولاً در بخش یا Partition از وسیله ذخیرهسازی کهPaging disk نام دارد ). به منظور عملیتر شدن شما میتوانید Paging disk را مشابه فایل در نظر بگیرید. در یک کامپیوتر معمول و مرسوم پردازنده تنها میتواند دستورات را واکشی کند یا دادههایی را که در حافظه اولیه یا قابل اجرا ( که معمولاً RAM خوانده میشوند. ) واقع شدهاند را بارگذاری کند. حافظه اولیه در مقایسه با حافظه ثانویه کوچکتر و سریعتر است. حافظه اولیه خیلی گرانتر از حافظه ثانویه است بنابراین بطور معمول در زمره اجزای با ارزشتر از نظر حجم اما کوچکتر از حافظههای ثانویه قرار دارند. اغلب کامپیوترها حافظه اولیه کافی حتی برای ذخیره فضای آدرسدهی مجازی کامل یک فرآیند را هم ندارند بنابراین در یک زمان تعداد زیادی فضا روی حافظه ثانویه برای ذخیره فضای آدرسدهی مجازی تعداد زیادی فرآیند وجود خواهد داشت. حافظه اولیه همچنین خیلی سریعتر از حافظه ثانویه میباشد. پردازنده میتواند یک بایت را در 2 سیکل پردازنده در حافظه اولیه بخواند یا بنویسید. اما همین عمل هزاران سیکل از پروسسور را برای نوشتن یا خواندن اطلاعات در حافظه ثانویه نیازمند است.برای نگهداری فضای حافظه اولیه یک سیستم حافظه مجازی صفحهبندی شده در هر زمان داده شده تنها بخشی از فضای آدرسدهی مجازی تعداد مختلفی از فرآیندها را بارگذاری یا ( Load ) میکند. همانطور که Thread ها در فضای آدرسدهی فرآیندهایشان اجرا میشوندبخشی از فضای آدرسدهی مجازی که در حال حاضر در حال استفاده است در حافظه اولیه بارگذاری میشود و در همان حال دیگر بخشهای فضای آدرسدهی در حافظه ثانویه قرار گرفتهاند. زمانی که فرآیندی به بخشی از فضای آدرسدهی مجازی دیگر نیاز ندارد ( حداقل برای مدتی ) از آن بخش در حافظه ثانویه کپی گرفته میشود. این به موقعیتی از حافظه اولیه که مورد استفاده برای ذخیره بخشی از فضای آدرسدهی مجازی قرار گرفته بود این اجازه را میدهد که برای ذخیره بخش دیگری از فضای آدرسدهی مجازی در زمان دیگری بکار گرفته شود. در یک سیستم حافظه مجازی سنجش در کارایی بوسیله کپی کردن یک بلوک از حافظه در حافظه اولیه یا بازگرداندن به حافظه ثانویه در زمانی که یک جابهجایی بین دوسطح از سلسله مرتبه حافظ مورد نیاز و ضروری باشد بدست میآید کارایی از این واقعیت بدست میآید که عملیات ورودی و خروجی حافظه ثانویه وابسته به بلوکها میباشد. این یعنی اگر تنها یک کلمه ( Word ) اطلاعات از حافظه ثانویه مورد نیاز باشد همه بلوک باید خوانده شود تابه آن کلمه برسیم. همچنین نسبت به مکانی که همه آن بلوک در حافظه اولیه قرار داد هم احساس است تا زمانی که باید خوانده شود تابه لغت گم شده برسیم. فواید دیگری در بارگذاری همه بلوکها نسبت به فقط یک کلمه وجود دارد. هنگامی که یک نخ یا Thread به مکانی چون I رجوع میکند احتمال زیادی وجود دارد که بخواهد به مکان I+1 در آینده نزدیک رجوع کند به این مفهوم محلیت یا Locality گفته میشود. یک حافظه مجازی صفحهبندی شده بلوکهای با اندازة ثابت را بارگذاری میکند و یا برمیدارد که به آنها صفحه یا Page گفته میشود که در زمانی که دادهها و اطلاعات را بین حافظه اولیه و ثانویه در جهت رفت و برگشت حرکت میدهد انجام میگیرد. حد و مرز صفحهها یا Page ها کاملاً توسط برنامهنویس مشخص و واضح میشود. شکل 1 عملیات یک سیستم حافظه مجازی صفحهبندی شده بطور عام را خلاصه میکند.زمانی که یک نخ یا Thread به آدرس مجازی K رجوع میکند ( مرحله 1 در شکل ) حافظه مجازی ابتدا تعدا صفحات یا Page هایی که آدرس مجازی K را در بردارد تعیین میکند (مرحله2 در شکل ) اگر صفحه در حال حاضر در حافظه اولیه بارگذاری شده بود و موجود بود ( مرحله 3 در شکل ) سیستم حافظه مجازی آدرس مجازی را به آدرس فیزیکی متناظر با آن موقعیت در حافظه اولیه که همان Page Frame است تبدیل میکند ( جایی که صفحه هدف در آن واقع شده است. ) اگر صفحه در همان زمان که به آن رجوع شده بارگذاری نشده بود اجرای Thread عادی دچار وقفه میشود تا زمانی که مدیریت حافظه صفحه مقصد را در Page Frame بارگذاری کند به محضی که آن صفحه بارگذاری شد اجرا ادامه پیدا خواهد کرد در مرحله 4 رجوع به آدرس مجازی K دوباره با آدرس فیزیکی در حافظه اولیه تعیین میگردد ( مکانی که موقعیت مجازی K در حال حاضر آنجا بارگذاری شده است. )
حافظه مجازیدر این تمرین شما با صورتها و شکلهای مختلفی از مکانیزم حافظه مجازی در ویندوز NT آشنایی پیدا خواهید کرد علیرغم اغلب دیگر سیستمهای عامل، ویندوز NT یک API ساده و روشنی را برای اداره کردن بعضی شکلها و صورتهای حافظه مجازی تهیه میکند(معمولاً حافظه مجازی بطور کامل توسط برنامه نویس کاربردیاش روشن و واضح میگردد) در این تمرین شما در موارد زیر اطلاعاتی یاد خواهید گرفت: سازماندهی سیستم حافظه مجازی ویندوز NT چگونه فضای حافظه مجازی خود را کنترل کنید؟ چگونه یک وسیله آگاه کننده و گزارش دهنده بنویسید؟ جزئیات GlobalMemory Status , GetsystemInfo – VirtualQuery – VirtualUnlock – VirtualLock – VirtueaFree – VirtualAlloc معرفی حافظه مجازی صفحهبندی یا Paging Virtual Memory در بسیاری از سیستمهای عامل امروزی بکار گرفته میشود. در یک سیستم صفحهبندی شده، هر فرآیندی یک فضای آدرس دهی مجازی خاص خود دارد که برای ارجاع دیگر اشیاء بکار گرفته میشود که معمولاً محتوای یک محل یا موقعیتی از حافظه است بخشی از فضای آدرس دهی مجازی توسط ویراستار خطی ( Link editor ) تعریف میشوند وقتی که آن یک تصویر قابل اجرایی بوجود میآورد که در واقع فایل اجرایی یا EXE است. تعداد باقیمانده از فضای آدرسدهی میتواند بطور پویا در زمان اجرا توسط روشهایی که در این تمرین توضیح داده خواهد شد تعر یف شود. بعد از اینکه قسمت پایدار و ثابت از فضای آدرسدهی مجازی ایجاد شد در حافظه ثانویه ذخیره خواهد شد ( معمولاً در بخش یا Partition از وسیله ذخیرهسازی کهPaging disk نام دارد ). به منظور عملیتر شدن شما میتوانید Paging disk را مشابه فایل در نظر بگیرید. در یک کامپیوتر معمول و مرسوم پردازنده تنها میتواند دستورات را واکشی کند یا دادههایی را که در حافظه اولیه یا قابل اجرا ( که معمولاً RAM خوانده میشوند. ) واقع شدهاند را بارگذاری کند. حافظه اولیه در مقایسه با حافظه ثانویه کوچکتر و سریعتر است. حافظه اولیه خیلی گرانتر از حافظه ثانویه است بنابراین بطور معمول در زمره اجزای با ارزشتر از نظر حجم اما کوچکتر از حافظههای ثانویه قرار دارند. اغلب کامپیوترها حافظه اولیه کافی حتی برای ذخیره فضای آدرسدهی مجازی کامل یک فرآیند را هم ندارند بنابراین در یک زمان تعداد زیادی فضا روی حافظه ثانویه برای ذخیره فضای آدرسدهی مجازی تعداد زیادی فرآیند وجود خواهد داشت. حافظه اولیه همچنین خیلی سریعتر از حافظه ثانویه میباشد. پردازنده میتواند یک بایت را در 2 سیکل پردازنده در حافظه اولیه بخواند یا بنویسید. اما همین عمل هزاران سیکل از پروسسور را برای نوشتن یا خواندن اطلاعات در حافظه ثانویه نیازمند است.برای نگهداری فضای حافظه اولیه یک سیستم حافظه مجازی صفحهبندی شده در هر زمان داده شده تنها بخشی از فضای آدرسدهی مجازی تعداد مختلفی از فرآیندها را بارگذاری یا ( Load ) میکند. همانطور که Thread ها در فضای آدرسدهی فرآیندهایشان اجرا میشوندبخشی از فضای آدرسدهی مجازی که در حال حاضر در حال استفاده است در حافظه اولیه بارگذاری میشود و در همان حال دیگر بخشهای فضای آدرسدهی در حافظه ثانویه قرار گرفتهاند. زمانی که فرآیندی به بخشی از فضای آدرسدهی مجازی دیگر نیاز ندارد ( حداقل برای مدتی ) از آن بخش در حافظه ثانویه کپی گرفته میشود. این به موقعیتی از حافظه اولیه که مورد استفاده برای ذخیره بخشی از فضای آدرسدهی مجازی قرار گرفته بود این اجازه را میدهد که برای ذخیره بخش دیگری از فضای آدرسدهی مجازی در زمان دیگری بکار گرفته شود. در یک سیستم حافظه مجازی سنجش در کارایی بوسیله کپی کردن یک بلوک از حافظه در حافظه اولیه یا بازگرداندن به حافظه ثانویه در زمانی که یک جابهجایی بین دوسطح از سلسله مرتبه حافظ مورد نیاز و ضروری باشد بدست میآید کارایی از این واقعیت بدست میآید که عملیات ورودی و خروجی حافظه ثانویه وابسته به بلوکها میباشد. این یعنی اگر تنها یک کلمه ( Word ) اطلاعات از حافظه ثانویه مورد نیاز باشد همه بلوک باید خوانده شود تابه آن کلمه برسیم. همچنین نسبت به مکانی که همه آن بلوک در حافظه اولیه قرار داد هم احساس است تا زمانی که باید خوانده شود تابه لغت گم شده برسیم. فواید دیگری در بارگذاری همه بلوکها نسبت به فقط یک کلمه وجود دارد. هنگامی که یک نخ یا Thread به مکانی چون I رجوع میکند احتمال زیادی وجود دارد که بخواهد به مکان I+1 در آینده نزدیک رجوع کند به این مفهوم محلیت یا Locality گفته میشود. یک حافظه مجازی صفحهبندی شده بلوکهای با اندازة ثابت را بارگذاری میکند و یا برمیدارد که به آنها صفحه یا Page گفته میشود که در زمانی که دادهها و اطلاعات را بین حافظه اولیه و ثانویه در جهت رفت و برگشت حرکت میدهد انجام میگیرد. حد و مرز صفحهها یا Page ها کاملاً توسط برنامهنویس مشخص و واضح میشود. شکل 1 عملیات یک سیستم حافظه مجازی صفحهبندی شده بطور عام را خلاصه میکند.زمانی که یک نخ یا Thread به آدرس مجازی K رجوع میکند ( مرحله 1 در شکل ) حافظه مجازی ابتدا تعدا صفحات یا Page هایی که آدرس مجازی K را در بردارد تعیین میکند (مرحله2 در شکل ) اگر صفحه در حال حاضر در حافظه اولیه بارگذاری شده بود و موجود بود ( مرحله 3 در شکل ) سیستم حافظه مجازی آدرس مجازی را به آدرس فیزیکی متناظر با آن موقعیت در حافظه اولیه که همان Page Frame است تبدیل میکند ( جایی که صفحه هدف در آن واقع شده است. ) اگر صفحه در همان زمان که به آن رجوع شده بارگذاری نشده بود اجرای Thread عادی دچار وقفه میشود تا زمانی که مدیریت حافظه صفحه مقصد را در Page Frame بارگذاری کند به محضی که آن صفحه بارگذاری شد اجرا ادامه پیدا خواهد کرد در مرحله 4 رجوع به آدرس مجازی K دوباره با آدرس فیزیکی در حافظه اولیه تعیین میگردد ( مکانی که موقعیت مجازی K در حال حاضر آنجا بارگذاری شده است. )
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 1331 کیلو بایت |
تعداد صفحات فایل | 117 |
تحلیل فناوری اطلاعات (IT)
قسمت اول:
فنآوری اطلاعات
(IT)
مقدمه:
اطلاعات همانند خونی است که در کالبد سازمان جریان مییابد و به آن حیات میبخشد، اطلاعات میتواند فرایند تصمیمگیری را در مورد ساختار، تکنولوژی و نوآوری تغذیه نماید، و همچنین اطلاعات همانند یک رگ حیاتی است که سازمان را به عرضه کنندگان مواد اولیه و مشتریان متصل میسازد، توسعه فنآوری اطلاعات مانند کامپیوترها و وسایل ارتباط الکترونیکی ماهیت بسیاری از کارهای دفتری را دگرگون کردهاند، شبکههای کار در خانه و خودکار شدن، امکان محدود کردن بعضی بخشها و کاهش تعداد کارکنان سازمان را فراهم آوردهاند. از این پدیدهها (فنآوری اطلاعات) ممکن است چنین استنباط شود که سازمانهای بزرگ کوچکتر میشوند و گرایش بسوی انواع انعطافپذیرتر و کوچکتر سازمان نیرومندتر میشود.
فنآوری اطلاعات همچنین میتواند منجر به تغییرات نسبتاً وسیعی در سطح بینالمللی باشد. زیرا این فنآوریهای اطلاعاتی و کامپیوترها میتوانند تاثیر شدیدی بر عملکردهای اقتصادی و اجتماعی و مناسبات جهانی داشته باشند. هم در پیشبینیهای خوشبینانه از نظر ابعاد مثبت تاثیرات فنآوری اطلاعات بر شیوههای زندگی و هم در بدبینیهای موجود نسبت به تاثیرات مخرب آن عناصری از واقعیت نهفته است، به هر تقدیر، بر بازار کار و شیوه زندگی تاثیر خواهد نهاد. در حال حاضر فنآوری اطلاعات مهمترین مسالهای نیست که یک کشور بخصوص با آن روبرو باشد بلکه تجلی آن بعنوان سریعالتغیرترین عامل اقتصاد بسیاری از کشورها، مسالهساز است. این فنآوری به سرعت در حال بهسازی و ارتقاست و هزینهها با سرعت قابل توجه کاهش مییابند. دامنه کاربرد آن بسیار وسیع است و در غالب صنایع تاثیرات آن بر قیمت تمام شده محصول از نظر سهم هزینههای مربوط به نیروی انسانی از اهمیت بسیار برخوردار است.
همچنین کاربرد این فنآوریهای اطلاعاتی در سازمانها در حکم یکی از منابع و دارائیهای با ارزش سازمانی است و انتخاب و تعیین استراتژی صحیح برای کاربرد آن ضروری است.
البته در مرحله اول این مطلب برای بسیاری از مدیران سازمانها چندان پذیرفتنی نیست و برخورد با اطلاعات در حکم منبعی همپایه همچون نیروی انسانی، مواد اولیه، منابع مالی و … و گاه مهمتر از اینها، امر راحتی نیست. حتی برای بسیاری از مدیران سطح اجرایی نیز، تلقی عنصری غیر ملموس در حکم منبع اصلی امکانات حیاتی، مشکل است. اما اگر درست توجه کنیم میبینیم که چطور این عناصر غیر ملموس، بر بالا رفتن بهرهوری و سوددهی هر سازمانی و بهینهسازی اتخاذ تصمیمات مدیران راهبردی تاثیر میگذارند. اطلاعات در حیات هر سازمانی میتواند نقش مهمی را بعهده داشته باشد. در واقع اطلاعات وسیلهای است که امکان استفاده بهتر و مناسبتر از منابع ملموس سازمان را برای مدیریت فراهم میآورد. اطلاعات در سازمان غالباً به شکل موثری اداره نمیشود و با وجود آنکه در بسیاری از سازمانها، اطلاعات با فنآوری پیشرفته همراه شد و نظامهای پیچیده خودکار برای خدمات اطلاعات[1] و همچنین نظامهای خودکار دفتری و اداری[2] در سطح وسیع به کار گرفته میشوند، هنوز در مورد مسئله مدیریت این نظامها و مراکز خدمات اطلاعاتی و چگونگی و میزان کاربرد این فنآوریها و مدیریت منابع اطلاعاتی بحث و بررسی دقیق و مفصلی نشده یا اجرا نگردیده است.
میتوان اولین گام برای کاربرد فنآوریهای اطلاعاتی را آگاهی مدیران از ارزش بالقوة آن دانست. همان طوری که با فعالتر شدن مدیریت، بکارگیری اصول و علوم آن سادهتر گردید، با ارج نهادن به نقش اطلاعات در سازمان به کاربرد فنآوریهای اطلاعاتی و نیز نقشآفرینی اطلاعات در تصمیمات و استراتژیهای مدیریتی و چگونگی بهرهگیری از آن آگاهتر خواهیم شد.
تکنولوژی (فنآوری) :
تکنولوژی یکی از عوامل موثر و تعیین کننده در ساختار سازمانی است و تغییرات و تحولات تکنولوژیکی باعث پیدایش صنایع و مشاغل جدید و از بین رفتن یا بیاهمیت شدن بعضی از صنایع و مشاغل قبلی میگردد. بنابراین ورود تکنولوژی به سازمان محدودیتها و فرصتهایی را پدید میآورد که از جمیع جهات بر سازمان تاثیر میگذارد. تکنولوژی ترکیب جدیدی از تلاش انسان، ماشینها و تجهیزات و روشهای انجام کار را ایجاد میکند که نیازمند آمادگی سازمان در جهت پذیرش و انتخاب ترکیب صحیح میباشد. در مفهوم واقعی تکنولوژی، اتفاق نظر کامل وجود ندارد. برداشتهای متفاوت از تاثیر تکنولوژی در سازمان شده است همچین سطوح تجزیه و تحلیل تاثیر تکنولوژی در سازمان نیز متفاوت بوده است و عدهای کل سازمان را بعنوان استفاده کنندگان تکنولوژیهای متفاوت و حتی عدهای دیگر فرد را بعنوان یک واحد تاثیرپذیر تکنولوژی مورد بررسی قرار دادهاند.
به همین جهت تعریف واحدی از تکنولوژی ارائه نشده است.
به هر حال، تکنولوژی عبارتی است که برای هر نوع سازمانی قابل کاربرد است. سازمانها همگی اعم از صنعتی و خدماتی از تکنولوژی استفاده میکنند. همه سازمانها به این منظور بوجود آمدهاند که تغییری را در «شیء» بوجود آورند و ایجاد این تغییر مستلزم داشتن تکنولوژی است. البته شیء مذکور حتما نباید دارای شکل ظاهری و مادی باشد، بلکه میتواند شامل مواردی مثل اطلاعات، نمادها و حتی افراد نیز باشد. محسوس و ملموس بودن یا نبودن شیء مورد تغییر در سازمان، تاثیری در مفهوم و اهمیت تکنولوژی به طور عام ندارد به عبارت دیگر بعنوان عامل موثر هماهنگی که در یک پالایشگاه نفت مورد بررسی قرار میگیردبه همان نحو نیز در یک موسسه بیمه مورد تجزیه و تحلیل قرار میگیرد.(Scott . Bedeian . 1986)
تکنولوژی در جهان پیشرفته امروز، همان گنج پر ارزشی است که نوع بشر پس از قرنها تلاش برای دانستن و کاربرد دانشها برای زندگی بهتر و آسانتر بدست آورده است و در یک کلام میتوان گفت تکنولوژی دستاورد دانش است. (هوا کیمیان، 1374، ص 20)
علم، صنعت و تکنولوژی میتوانند جامعه و جهان را متحول کنند تا آن حد که پایهگذار تحولهای تاریخی باشند و جوامع بشری را از دورانی به دوران دیگر، با ویژگیهای کاملا متفاوت انتقال دهند. «ژان ـ ژاک سروان ـ شرایبر» نویسنده کتاب (تکاپوی جهانی)از لحظههای استثنایی و دگردیسی جوامع سخن میگوید که پیشرفت تکنولوژی زمینهساز آن خواهد بود. شرایبر میگوید «ما در لحظهای استثنایی از دگردیسی جوامع از جمله جامعه خودمان (فرانسه) زندگی میکنیم، لحظهای که نظیر آن در طول قرنها کمتر پیش میآید. … شرایبر برای اثبات این سخن به پیشگفتار کتاب «تکاپوی آمریکا» استناد میکند.
پنج قرن پیش، رابله و سروانتز، بر پایه اختراع صنعت چاپ، جهش بزرگ نورزایش (رنسانس) را بنا نهادند. و نظم اخلاقی را به لرزه در آوردند. زیر و رو شدن فنون در ساختهای اجتماعی و الگوی ذهنی جامعه قرون وسطی شکاف ایجاد کرد. این ضربه «نوزایش» را بوجود آورد.
شرایبر ابراز امیدواری میکند که این بار تحول جهان به گونهای باشد که همه جوامع از دستاوردهای آن برای رفاه و بهرورزی بهره گیرند. او میگوید «البته اراده و حماسه را نباید از ماشینهای کوچکی که مردمان سواحل اقیانوس آرام یکی پس از دیگری به خدمت ذکاوت انسانها در میآورند، انتظار داشت. اگر قرار است و باید جامعه اطلاعات که هم اکنون جانشین جامعه صنعتی فرو پاشیده میشود، به اشتغال کامل استعدادهای همه بیانجامد و درهای آینده را بر روی ما و پنج میلیارد انسان دیگر پیش از پایان نفت، بگشاید، یک انقلاب اجتماعی آنهم همین امروز ضروری است…»
با این تفاسیر باز بنظر میرسد که هنوز نمیتوان تعریف جامعی را از تکنولوژی ارائه داد ما در این پژوهش پس از بررسی تعاریف متعدد از تکنولوژی تعریف هنری مینتزبرگ از تکنولوژی را جامعتر یافتیم مینتز برگ تکنولوژی را عبارت از ابزاری میداند که برای دگرگون کردن «وارده یاin Put » به «ستاده یا Out Put» در هستة عملیاتی بکار میرود. مجموع تکنولوژیهای مورد استفاده در سازمان، نظام فنی سازمان را تشکیل میدهند که شامل سه تکنولوژی، انسانی، ماشینی و روشهای انجام کار میباشد. (مینتز برگ، 1371 ص 17)
همانطور که در صفحات پیشین اشاره کردیم تکنولوژی یکی از عوامل تاثیرگذار بر ساختار سازمانی است. و از نخستین سالهای انقلاب صنعتی آنچه نقطه همگرایی صاحب نظران قرار گرفت، فنآوری و پیشرفتهای آن بود که ضمیمه استمرار انقلاب را فراهم آورد. تاثیر فنآوری بر روابط افراد، گروهها و سازمانها مورد توجه صاحبنظران قرار گرفت و در طول سالهای قرن بیستم تحقیقات قابل ملاحظهای به منظور شناخت ماهیت و عوامل موثر در فنآوری صورت گرفته است در اینجا ما به چند نمونه اشاره خواهیم کرد:
1- پژوهش وود وارد[3]:
خانم جون وود وارد (1971 ـ 1916 م) استاد جامعه شناسی صنعتی دانشگاه علوم تکنولوژی امپریال دانشگاه لندن بود او تحقیقات خود را در دانشگاه لیورپول شروع کرد ولی اشتهارش را مرهون مطالعاتی است که وی متعاقبا در سمت مدیره واحد پژوهشهای مناسبات انسانی در دانشکده فنی اسکس جنوب شرقی بر روی تکنولوژی و ساختار در شرکتهای تولیدی بعمل آورده است. بعدها او و همکارانش، ضمن توسعه مطالعات یاد شده بر عمق آنها نیز افزودند. وود وارد و همکارانش حدود 100 شرکت را مورد مطالعه قرار دادند که اطلاعات بدست آمده از هر شرکت با شرکتهای دیگر متفاوت بود شاید یکی از دلایل متفاوت بودن نتایج اندازه شرکتها بود که یکی شاید 10 کارمند و دیگری 100 کارمند داشت. (نمودار 1 ـ2)
وود وارد سازمانها را در سه گروه کلی فرهمند، سنتی و بور و کراتیک جای داد و در این نوع طبقهبندی نکاتی از قبیل: سلسله مراتب اداری بین بالاترین و پایینترین سطح، حیطة نظارت و یا میانگین افرادی که زیر نظر یک سرپرست بکار اشتغال دارند، میزان ابهام یا وضوح در شرح وظایف کارکنان، حجم مکاتبات و دستور العملها، میزان تقسیم وظایف کارشناسان و متخصصین مورد نظر وی بودند. وود وارد درمییابد که سازمانها از نظر ویژگیهای بالا با هم متفاوت هستند. مثلا در یکجا افراد تحت سرپرستی یک سرپرست خیلی کم بودند و در جایی دیگر شاید 80 تا 90 نفر. سلسله مراتب در واحدهای تولیدی از حداقل 2 تا حداکثر 8 رده میرسید و ارتباطات در جایی بکلی بصورت شفاهی انجام میگرفت اما در جایی دیگر همین ارتباطات کلا بصورت کتبی صورت میپذیرفت. او از خود پرسید این تفاوتها ناشی از چیست؟
گروه خانم وود وارد برای یافتن پاسخ به سوال فوق ابتدا فرض کردند که ممکن است اندازه یا سوابق تاریخی سازمانها دلیل اختلافشان باشد. اما به جوابی نرسیدند. ولی وقتی تفاوت بین فنون متفاوت تولید بررسی گردید، معلوم شد واقعا فنآوری تولید با سلسله مراتب، حیطه نظارت و آن ویژگیهای سازمانی فوق الذکر ارتباط دارد. وود وارد و همکارانش ادعا نکردند که فنآوری تنها عامل موثر در ساختار یک سازمان است همچنان که نگفتند مدیران نمیتوانند بر ساختار سازمانها اثر بگذارند اما تاکید کردند که فنآوری در ساختار سازمان اثر عمدهای دارد.
نتایج اصلی تحقیقات خانم وود وارد بشرح ذیل میباشد:
1ـ ساختار سازمان با فنآوری ارتباط دارد.
2ـ سلسله مراتب همراه با پیچیدگی فنآوری تولید بیشتر میشود.
3ـ تعداد افراد تحت نظارت در تولید انبوه بیشترین ولی در تولید سفارشی و پیوسته پایین است.
4ـ هزینه نیروی کار همراه با افزایش پیچیدگی فنآوری کاهش مییابد و از 36 درصد تولید سفارشی 34 درصد از کل هزینههای تولید در تولید انبوه به 14 درصد در تولید پیوسته میرسد.
5 ـ نسبت کارکنان اداری و سرپرستی به کارگران ساعت مزد با پیچیدگی فنآوری کاهش مییابد.
6ـ با پیچیدگی فنآوری سطح تحصیلات کارکنان بالا میرود.
7 ـ با افزایش پیچیدگی فنآوری، حیطه نظارت مدیریت سطح بالا افزایش مییابد.
8 ـ سازمان تولید سفارشی و پیوسته انعطافپذیر است ولی در تولید انبوه شرح وظایف، مقررات و مسئولیتها دقیقا باید رعایت شود.
9 ـ ارتباطات کتبی بخصوص در تولید انبوه بیش از ارتباطات کتبی در تولید سفارشی و پیوسته است.
10 ـ تقسیم کار و تخصص در تولید انبوه شدید است.
11 ـ علیرغم نیاز به کنترل شدیدتر در تولید انبوه، فاصله مدیریت با سرپرستی بیشتر است.
(رحمان سرشت، 1377، ص 134 ـ 132)
لازم به یادآوری است که خانم وود وارد شرکتهای مورد مطالعه خویش را به سه دسته ذیل تقسیم کرد:
1 ـ تولید تک محصولی و دستههای کوچک[4]: که این شرکتها معمولا به صورت کارگاه هستند و سفارشات اندک میگیرند و بر طبق خواست مشتری عمل میکنند و در نتیجه استفاده بسیاری زیادی از دستگاههای پیشرفته و مکانیزه ندارند.
2 ـ تولید انبوه و دستههای بزرگ[5]: که یک نوع فرایند تولید یا ساخت است که از قطعات استاندارد استفاده میکند و سیستم تولید نسبتا طولانی است.
3 ـ فرایند تولید مستمر[6]: در فرایند تولید مستمر همه کارها بوسیله دستگاههای پیشرفته و مکانیزه انجام میشود. در این فرایند چیزی بنام شرع یا متوقف ساختن دستگاه وجود ندارد. (دفت، 79، ص 211 ـ 207)
1- M. I. S. Services
2- Office Automation - O. A
[3]- Wood ward
[4]- Small - batch Production
[5] - Large -batch Production
[6] - Continuous Process Production
دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 65 کیلو بایت |
تعداد صفحات فایل | 101 |
طراحی وب سایت یک شرکت تولید تجهیزات آزمایشگاهی
در گذشتهای نه چندان دور شرکتها و مؤسسات تجاری، فرهنگی، … و یا اشخاص حقیقی جهت معرفی خود از کاتالوگها یا کتابچههایی استفاده میکردند که با فواصل زمانی نسبتاً طولانی، معمولاً یک ساله، با تغییرات جدید چاپ میشدند. سایر اشخاص یا مؤسسات برای برقراری ارتباط با شخص یا مؤسسه مورد نظر از طریق آدرس پستی یا شماره تلفن یا فاکس ذکر شده در کتابچه اقدام مینمودند.
با گسترش شبکه جهانی اینترنت اغلب موسسات با ایجاد وب سایت اختصاصی و با استفاده از امکانات اینترنت به معرفی خود و برقراری ارتباط پرداختند.
برخی از برتریهای وب سایت اختصاصی در مقایسه با روش قدیمی را میتوان به صورت زیر خلاصه نمود:
1) دسترسی آسان و امکان جستجو:
در صورتی که وب سایت مورد نظر در موتورهای جستجو در اینترنت ثبت شده باشد، هر کاربر اینترنت میتواند به آسانی با استفاده از کلمات کلیدی به آدرس اینترنتی مربوطه دسترسی پیدا کند. کلمات کلیدی معمولاً به نام یا نوع فعالیت هر موسسه یا شخص و یا آدرس جغرافیایی آن مربوط است.
2) به روز بودن اطلاعات:
در حالیکه وارد کردن تغییرات در متن کتابچه ها یا کاتالوگها معمولاً در دورههای یکساله انجام گرفته است، انجام این کار میتواند در فواصل زمانی بسیار کوتاه حتی در چند دقیقه از طریق مدیر وب سایت صورت بگیرد.
3) ارتباط سریع و آسان و کم هزینه:
هر کاربر اینترنت میتواند به آسانی از طریق پست الکتریکی با موسسه مورد نظر ارتباط برقرار کند و حتی این امکان وجود دارد که ارتباط حدودی و تصویری بین دو طرف برقرار شود که بویژه در فواصل دور از نظر هزینه در مقایسه با روشهای قبلی مانند پست یا تلفن، بسیار سریعتر و ارزانتر بوده و ارتباط کاملتری برقرار میگردد.
4) پردازش اطلاعات:
این امکان وجود دارد که اطلاعات مربوط به هر مشتری به طور آن لاین (Online) دریافت گردیده و به طور خودکار در سرور پردازش شده و نتیجة آن سریعاً در اختیار مشتری قرار داده شود.
اینکه یک وب سایت تا چه اندازه بتواند مفید واقع شود به عوامل مختلفی بستگی دارد، از جمله:
- کیفیت طراحی وب سایت
- کارآیی سرویس دهنده (Server) ای که صفحات وب و فایلهای مربوطه روی آن قرار داده میشود.
- پهنای باند سرویس دهنده
- سرعت و کیفیت ارتباط اینترنتی کاربر
در این میان ، کیفیت طراحی و مدیریت سایت از اهمیت خاصی برخوردار است. مدیریت سایت معمولاً بر عهده یک نفر یا یک گروه با عنوان Web master قرار دارد. مدیر سایت ممکن است جهت آمادهسازی بخشهای مختلف سایت، مانند طراحیهای گرافیکی ، از متخصصان دیگر کمک بگیرد اما در مورد سایتهای کوچک معمولاً یکنفر مسئولیت طراحی و مدیریت سایت را بعهده میگیرد. طراحی سایت تنها یک کار تکنیکی نیست بلکه در نظر گرفتن زیبایی و جذابیت سایت بسیار مهم است بطوریکه یک سایت که از نظر تکنیکی بسیار قوی باشد، شاید بدلیل ضعف در برقراری ارتباط روانی مناسب با کاربر، در جذب او ناتوان باشد.
هدف این پروژه طراحی وب سایت شرکت نویدان طب بوده است. این شرکت تولید کنندة لوازم و تجهیزات آزمایشگاهی است؛ بنابراین اغلب کسانی که به این سایت مراجعه میکنند مسئولین آزمایشگاه در دانشگاهها یا مدارس، آزمایشگاههای تشخیص طبی و یا متخصصین شیمی میباشند. این افراد مایل هستند که به آسانی از نوع تولیدات و خدمات شرکت و بویژه هزینة آن آگاه شوند. گروه دیگر از کسانی که ممکن است به این سایت مراجعه کنند ممکن است تولیدکنندگان یا مصرفکنندگان از کشورهای خارجی باشند؛ بنابراین کلیة اطلاعات سایت باید علاوه بر زبان فارسی به زبان انگلیسی نیز طراحی و قابل دسترس باشد. این سایت بگونهای طراحی شده که کاربر بتواند از همان صفحه اول سایت انگلیسی یا فارسی را انتخاب کند.
در فصل دوم این پایاننامه، تاریخچة اینترنت و سرویسهای آن معرفی شده است و در فصل سوم کدهای HTML بکار رفته در طراحی صفحات مخلتف سایت و نیز نسخة چاپی سایت ارائه میگردد.
فهرست مطالب
عنوان مطالب صفحه
پیشگفتار ...............................................................................................................
چکیده ...................................................................................................................
مقدمه ....................................................................................................................
فصل 1 ..................................................................................................................
1) مروری بر اینترنت وب ....................................................................................
2) اجزای تشکیل دهنده اینترنت ...........................................................................
3) Applicatio server.......................................................................................
3-1- شبکه تار عنکبوتی جهانی- وب .................................................................
3-2- شمای فیزیکی اینترنت ................................................................................
3-3- زبان علامتگذاری ابرمتن HTML ............................................................
3-4- کاوشگرها ...................................................................................................
3-5- پروتکلهای اینترنت .....................................................................................
3-6- آدرسهای اینترنت ........................................................................................
3-7- وب دینامیک ...............................................................................................
فصل 2 ..................................................................................................................
1- HTML چیست؟ ...........................................................................................
2- محتوای فایل HTML......................................................................................
3- ساختار یک فایل HTML ...............................................................................
3-1- برچسب HTML .......................................................................................
3-2- پاراگرافها (Paragraphs)...........................................................................
3-3- لیستها (Lists) ..........................................................................................
3-4- توضیحات (Comments) .........................................................................
3-5- پیوندها (LINKS) .....................................................................................
4- اتصال به مستندات روی وب ...........................................................................
4-1- اتصال به مکانهای خاص در داخل مستندات ...............................................
5- تشریح بیشتر یک URL .................................................................................
5-1- انواع URL .................................................................................................
6- فرمت بندی متن با HTML ............................................................................
6-1- استیل منطقی ...............................................................................................
6-2- استیل فیزیکی .............................................................................................
6-3- تنظیم متن ...................................................................................................
6-4- فونت و اندازه فونت ...................................................................................
5-6- استفاده از تصاویر، رنگها و زمینه ................................................................
6-5-1- تصاویر در وب .......................................................................................
6-5-2- تصاویر داخلی در HTML .....................................................................
6-6- تنظیم متن و تصویر .....................................................................................
6-6-1- تنظیم فضای اطراف تصویر .....................................................................
6-6-2- استفاده از تصاویر خارجی ......................................................................
6-6-3- ایجاد جایگزین برای تصاویر ...................................................................
6-6-4- تغییر ابعاد و مقیاس تصویر .....................................................................
6-6-5- کادر تصویر Image Border ................................................................
6-6-6- پیش نمایش تصویر ................................................................................
6-6-7- استفاده از رنگ .......................................................................................
6-6-8- زمینههای تصویری .................................................................................
6-7- نگاشت تصویر (Image Maps) ................................................................
6-7-1- مشخصه USEMP ................................................................................
6-8- فرمها ...........................................................................................................
6-8-1- اجزای فرم در مرورگر و سرویس دهنده ................................................
7- مختصری در مورد نرم افزار فرانت پیج (Pront page) .................................
فصل سوم .............................................................................................................
1- نکات تجربی برای ارتقاء کیفیت طراحی وب سایت .......................................
2- کدهای HTML صفحات سایت .....................................................................
ضمیمه ..................................................................................................................
Source cod .......................................................................................................
منابع مورد استفاده .................................................................................................
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 32 کیلو بایت |
تعداد صفحات فایل | 53 |
اُراکل (Or – a – cle): 1- شخصی (همچون یکی از کشیشهای یونان باستان) که یکی از خدایان از طریق وی سخن میگفته است. 2- عبارت یا پاسخ مقتدرانه یا معقول. 3- شکل در هم ریخته Carole.
تعریف مذکور بیانگر همه چیز است، این طور نیست؟ صحبت از اُراکل i8 است. این همان بانک اطلاعاتی است که تمام بانکهای اطلاعاتی دیگر را مغلوب میکند. اُراکل یعنی عصاره تمام محصولات، بارزترین مدرک، بهترین بهترینها، چیزی که تمام حکمتها و پاسخها از آن جریان مییابد. و اگر کشیش یونانی خود را برای مشاوره داشتید، در آن صورت هیچ مشکلی برای پیدا کردن چگونگی استفاده از این مورد مشکلساز نداشتید.
اُراکل i8 نه تنها یکی از بهترین نرمافزارهای بانک اطلاعاتی رابطهای است، بلکه یکی از پیچیدهترین آنها نیز میباشد. اُراکل i8 کارهای بسیار جالبی انجام میدهد، اما کارهای آسان نیز گاهی اوقات مشکلساز هستند.
شاید اُراکل i8 را از طریق اینترنت خریده باشید. شاید از اُراکل i8 در کارهایتان استفاده میکنید. صرفنظر از اینکه چه عاملی باعث روی آوردنتان به اُراکل i8 شده است، میخواهم یک مطلب را در همین مرحله به طور واضح مطرح کنم. موتور بانک اطلاعاتی در اختیار دارید که حقیقتا پیچیده است و قابلیتهای بسیار زیادی دارد، اما اُراکل i8 فاقد زیباییهایی است که خریداران نرمافزار در عصر تکنولوژی “Plug and Play" خواهانند.
اُراکل i8 به تنهایی همچون اکسس میکروسافت یا پارادکس نیست، یعنی برنامههایی که همه چیز را آماده و سهلالاستفاده به طور یکجا دارند. اُراکل i8 از نظر شمای ظاهری بسیار ساده است و ویژگیهای بسیار کمی برای گزارشگیری و آمادهسازی فرمها دارد.
کشف اُراکل i8: برنامهای که همه چیز را یکجا دارد
در دهه 70 میلادی شخصی به نام لری الیسون[1] نرمافزار بسیار بزرگی نوشت. برنامه اُراکل در یک کامپیوتر بزرگ[2] اجرا میشد و اندازه آن به قدری بزرگ بود که تنها کامپیوترهای بسیار بزرگ، فضا برای آن داشتند.
روزی یکی از دوستان وی این برنامه را دید و از وی خواست که یک نسخه از آن را در اختیار او بگذارد، و لیکن به وی اطلاع داد که کامپیوترش قادر به اجرای آن برنامه بزرگ نیست. بنابراین به وی پیشنهاد نمود که چنانچه حجم برنامهاش را کاهش دهد، وجه قابل توجهای به او پرداخت خواهد نمود.
لری الیسون پیشنهاد او را پذیرفت و در کمتر از یک سال نسخه کمحجمتری از برنامه را برای کامپیوتر کوچک وی آماده نمود. وقتی نسخه جدید برنامه به آن شخص تحویل داده شد، وی آن را «اعجابانگیز» خواند.
انجام این کار لری را بر این فکر واداشت که مالکین کامپیوترهای کوچک دیگر نیز ممکن است برنامه اُراکل را بخواهند. بنابراین وی گروهی از بهترین مهندسین سرتاسر جهان را در کالیفرنیا گردهم آورد تا اُراکل را برای انواع کامپیوترها تولید کنند.
نسخه امروزی موتور اُراکل همان چیزی است که وی رویایش را در سر میپروراند. استفاده از اُراکل i8 یعنی به کارگیری یک بانک اطلاعاتی بسیار قدرتمند.
هسته مرکزی اُراکل i8
شکل 11 موتور بانک اطلاعاتی اُراکل i8 و برنامههای خدماتی[3] مرکزی آن را نشان میدهد. این برنامههای خدماتی صرفنظر از سیستم عامل یا سختافزاری که به کار میبرید، تجهیزات استاندارد همراه اُراکل i8 هستند. این برنامههای خدماتی و خود بانک اطلاعاتی در تمام محیطها به یک شکل عمل می کنند. تنها تفاوت موجود به امکانات درونی سیستمهایی که به کار میبرید مربوط است و اُراکل i8 از ویژگیهای منحصر به فرد هر کامپیوتر برای ذخیرهسازی، خواندن، نوشتن و غیره بهرهمند می شود.
برنامههای خدماتی مرکزی عبارتند از:
WebDB – صبر کنید تا به موقع ببینید که این برنامه خدماتی قادر به انجام چه کارهایی است! با استفاده از آن میتوانید صفحههای وبی پیادهسازی کنید که به صورت برنامه در بانک اطلاعاتی ذخیره می شوند و دادهها را بر حسب تقاضا به اینترنت یا یک اینترانت تحویل میدهند.
Enterprise Manager – استفاده از این ویژگی که در اُراکل 7 به عنوان یک برنامه خدماتی افزودنی [4] معرفی شد، در اُراکل i8 نیز ادامه دارد. این ابزار از طریق منوها و پنجرههایی که برای انجام بسیاری از کارهای مدیریتی بانک اطلاعاتی دارد (مثلا ایجاد جداول و تعریف کاربران جدید)، سبب صرفهجویی بسیار زیاد در برنامهنویسی میشود.
SQL*Plus – این ابزار امکان ایجاد و اجرای پرسوجوها، افزودن سطرهای جدید، تغییر دادهها و نوشتن گزارشها را فراهم میسازد. برای استفاده از آن باید با زبان برنامهنویسی SQL آشنا باشید. زبان SQL را میتوانید در تقریبا تمام بانکهای اطلاعاتی به کار برید.
Precompilers – مجموعهای از «پیشکامپایلرها»[5] در دسترس هستند؛ در واقع، یک مورد برای هر یک از زبانهای برنامهسازیی چون کوبول، Ada، C، C++، پاسکال و فرترن وجود دارد.
Assistants – ویزاردهایی در اُراکل معرفی شدهاند که شما را در انجام کارهایی چون انتقال از اُراکل 7 به 8، انتقال یک بانک اطلاعاتی اکسس به اُراکل، و تبدیل ساختارهای بانکهای اطلاعاتی رابطهای به شیءها، گام به گام یاری میکنند.
راهاندازی اُراکل i8
میدانم که بسیاری از شما اُراکل i8 را در یک کامپیوتر بزرگ یا در یک شبکه به کار میبرید. اُراکل i8 میبایست به عنوان بخشی از روتین راهاندازی اولیه کامپیوتر آماده و اجرا شود. در غیر این صورت قادر به استفاده از Enterprise Manager نخواهید شد. همان گونه که در قسمت «راهاندازی اُراکل i8 با استفاده از Server Manager» همین فصل شرح داده شده است، یک روش دیگر برای انجام این کار، استفاده از ابزار Server Manager در خط فرمان است.
راهاندازی بانک اطلاعاتی با Instance Manager
برای راهاندازی بانک اطلاعاتی اُراکل i8 خود به شکل ذیل عمل کنید:
1- Instance Manager را اجرا کنید.
اگر از ویندوز 95، 98 یا NT استفاده میکنید، گزینههای زیر را از منو انتخاب کنید
Start Programs Oracle HOME2 DBA Management pack Instance Manager
دقت کنید که ممکن است نام Oracle HOME2 در کامپیوترتان Oracle HOME1 باشد. نام دقیق این فرمان توسط شخصی که نرمافزار را بر روی کامپیوتر نصب میکند مشخص میشود.
اگر از یونیکس استفاده میکنید، فرمان ذیل را در مقابل خط فرمان سیستم عامل تایپ کنید:
صفحه آغازین Oracle Instance Manager را مشاهده خواهید کرد. سپس پنجره برقراری ارتباط[6] همچون شکل 2-1 ظاهر میشود.
2- با استفاده از نام کاربری INTERNAL ارتباط برقرار کنید.
دگمه رادیویی “Connect directly to a database" را انتخاب کنید. INTERNAL را به عنوان نام کاربری وارد و از ORACLE (یا کلمه عبور جاری) به عنوان کلمه عبور استفاده کنید. کادر Service را خالی گذاشته و یا نام گره شبکه اُراکل را تایپ کنید.
نماد تصویری [7] Database نزدیک بالای ساختار درختی است که در پنجرة سمت چپ نشان داده شده است. وقتی این نماد تصویری را به وسیله ماوس برمیگزینید، در وضعیت متمایز[8] قرار میگیرد. سپس تصویر چراغ راهنمایی در پنجرة سمت راست ظاهر میشود. سبز بودن چراغ آن نشانگر باز بودن و اجرای بانک اطلاعاتی است. چنانچه چراغ آن قرمز رنگ باشد، بانک اطلاعاتی بسته است و نیاز به اجرا دارد. چراغ زرد رنگ نیز نمایانگر آن است که بانک اطلاعاتی اجرا یا نصب شده و لیکن برای کار باز نشده است.
3- در صورت نیاز، بانک اطلاعاتی را اجرا کنید.
اگر چراغ راهنمایی قرمز است، بانک اطلاعاتی را اجرا کنید. برای این کار، دگمه رادیویی Database Open را در پنجرة سمت راست به وسیله ماوس برگزینید. سپس، Apply را به وسیله ماوس برگزینید. از شما سؤال خواهد شد که از کدام پارامترهای مقداردهی اولیه استفاده شود. OK را به وسیله ماوس برگزینید تا از مجموعه پارامترهای پیشفرض استفاده شود. سپس پیامی مبنی بر اجرای اُراکل i8 نمایش داده می شود. OK را یک مرتبه دیگر به وسیله ماوس برگزینید تا چراغ راهنمایی سبز رنگ را مشاهده کنید.
4- کادر (*) گوشه بالایی سمت راست را به وسیله ماوس برگزینید تا از Instance Manager خارج شوید. اینک میتوانید قسمتهای مختلف بانک اطلاعاتی را بررسی کنید.
قطع اجرای اُراکل i 8
قسمتهای ذیل شیوه قطع اجرای بانک اطلاعاتی را نشان میدهند.
به هنگام قطع اجرای بانک اطلاعاتی خود دقت کنید، به ویژه اگر بانک اطلاعاتی را در شبکه به اشتراک گذاشتهاید. کاربران دیگر نیز ممکن است در حال استفاده از آن باشند. اجرای اُراکل i8 را تنها پس از کسب اجازه از DBA خود قطع کنید. پس از حصول اطمینان از اینکه همه کاربران، کار خود را با بانک اطلاعاتی به پایان رساندهاند، اجرای آن را قطع کنید.
قطع اجرای اُراکل i8 در Desktop
اُراکل i8 راهحل سادهای برای قطع اجرای بانک اطلاعاتی فراهم کرده است. Instance Manager میتواند این کار را مدیریت کند. با انجام کارهای ذیل میتوانید اجرای اُراکل i8 را با استفاده از ابزار مذکور قطع کنید.
1- Instance Manager را اجرا کنید.
اگر از ویندوز 95، 98 یا NT استفاده میکنید، فرمان زیر را به وسیله ماوس برگزینید.
Start Programs Oracle HOME2 DBA Management pack Instance Manager
اگر از یونیکس استفاده میکنید، فرمان ذیل را تایپ کنید:
پنجره برقراری ارتباط ظاهر شده و اطلاعات لازم را درخواست میکند.
2- با استفاده از نام کاربری INTERNAL ارتباط برقرار کنید.
کادرهای پنجرة برقراری ارتباط را پر کنید؛ INTERNAL را به عنوان ID کاربری وارد کنید و کلمه عبور متناظر با آن را نیز وارد کنید. کلمه عبور پیشفرض آن ORACLE است.
3- کارهای این مرحله را تنها در صورتی که پارامترهای خود را تغییر داده و یا هیچگاه پیش از این اجرای اُراکل i8 به وسیله Instance Manager قطع نکردهاید، انجام دهید. برای اینکه پارامترها را ذخیره کنید، Initialization Parameters را در بخش سمت چپ به وسیله ماوس برگزینید. پارامترهای بانک اطلاعاتی خود را مشاهده خواهید کرد. دگمه Save را در بخش سمت راست به وسیله ماوس برگزینید.
4- دگمه رادیویی Shutdown را انتخاب و Apply را به وسیله ماوس برگزینید.
همان گونه که در شکل 20-1 نشان داده شده است، فهرستی از گزینهها ظاهر میشود. این گزینهها نشان دهندة روشهای مختلف قطع اجرای بانک اطلاعاتی هستند.
5- Immediate (گزینه پیشفرض) را انتخاب و OK را به وسیله ماوس برگزینید.
شرح گزینههای دیگر در ذیل آورده شده است.
Normal – قطع اجرای اُراکل i8 با استفاده از این گزینه بیشتر طول میکشد، اما روند کار به گونهای است که به تمام کاربران فرصت داده میشود تا کارهای خود را پیش از قطع اجرای بانک اطلاعاتی کامل کنند. از این گزینه در مواقعی استفاده کنید که به کاربران هشدار دادهاید که ارتباط خود را قطع کنند و میخواهید قطع اجرای بانک اطلاعاتی تا کامل شدن کار آنها به تعویق بیفتد.
اُراکل i8 پیامی را ارسال میکند و به آگاهیتان میرساند که پیش از قطع اجرا، آنقدر در انتظار میماند تا همه کاربران کار خود را به پایان برسانند. OK را به وسیله ماوس برگزینید. صبر کنید تا اُراکل i8 کارش را انجام دهد. اُراکل i8 شما را به Instance Manager باز میگرداند. خواهید دید که چراغ راهنمایی قرمز رنگ است.
6- Instance Manager را ببندید.
کادر (*) را در گوشه بالایی سمت راست پنجره به وسیله ماوس برگزینید.
اینک بانک اطلاعاتی بسته شده و در صورت تمایل میتوانید کامپیوتر خود را خاموش کنید.
قطع اجرای اُراکل i8 در یک کامپیوتر بزرگ یا شبکه
اجرای اُراکل i8 را بدون کسب اجازه از DBA خود قطع نکنید. در کامپیوترهای بزرگ، پردازشهایی که نیاز به بانک اطلاعاتی دارند ممکن است در حال اجرا باشند – پردازشهایی که ممکن است از وجودشان آگاه نباشید. برخی از پردازشها به گونهای زمانبندی میشوند تا پس از ساعات اداری اجرا شوند تا تأثیری بر عملیات معمول نداشته باشند.
اگر فردی به عنوان DBA تعیین شده است، به وی اطلاع دهید. در غیر این صورت، برای آشنایی با فرمان خاصی که برای قطع اجرای اُراکل i8 است، به دفترچه راهنمای اُراکل i8 رجوع کنید. همان گونه که در قسمت پیش شرح داده شد، متداولترین روش برای قطع اجرای اُراکل i8، استفاده از Instance Manager است.
انواع کارهایی که میتوانید با اُراکل i8 انجام دهید
در این قسمت سه سناریو مطرح شدهاند که شما را در درک بهتر کارهایی که بانکهای اطلاعاتی میتوانند در دنیای واقعی انجام دهند یاری میکنند. امیدوارم از مطالعه آنها لذت ببرید. از قوه تخیل خود به خوبی استفاده کنید و ببینید که چه کارهایی میتوانید با استفاده از بانک اطلاعاتی خود انجام دهید.
حفظ و نگهداری اطلاعات ماهیها (مثال آسان)
چرا ماهیهای یک آکواریم در مواقعی که دنیای آبیشان ساکت میشود، و در «گهوارة» حبابها و امواج آرام قرار دارند این قدر مضطرب میشوند. گمان میکنم اگر من هم چشمانم دائما از پشت آن شیشهها به چشمهای گرد و بزرگ می افتاد، مضطرب میشدم.
به مثال آکواریم باز می گردیم. مواردی که باید بر روی آنها کار کنید در ذیل فهرست شدهاند:
- حجم آب آکواریم یک گالن است.
- روزی یک مرتبه به Wesley غذا میدهیم.
- آب آکواریم را هر 14 روز یک بار عوض میکنیم.
- سه عدد از ماهیها مردهاند. نوشته سنگ قبر آنها به شرح ذیل است:
Fish Two – تاریخ تولد 1/1/96، تاریخ مرگ 15/3/96.
Fish Three - تاریخ تولد 1/1/96، تاریخ مرگ 8/4/96.
Fish Four - تاریخ تولد 1/3/96، تاریخ مرگ نامعلوم.
حفظ و نگهداری اطلاعات فروشگاه حیوانات خانگی (مثال نسبتا دشوار)
من غذای ماهیهای خود را از فروشگاهی که در نزدیکی خانهام است خریداری میکنم. این فروشگاه محل فروش قفس پرندگان، قلاده سگ، پودر شیرین و چند صد مورد دیگر است، از جمله پرندگان، خرگوش و حتی میمون. برخی از فعالیتهای گوناگون مالک فروشگاه در ارتباط با بانک اطلاعاتی این کار عبارتند از:
- حفظ و نگهداری اطلاعات تمام اقلام فروشگاه، قیمت خرید، قیمت فروش و موجودی انبار
- محاسبه مالیات فروش
- محاسبه مجدد موجودی انبار به هنگام فروش
- تهیه ترازهای مالی ماهیانه
- تهیه گزارشهای مالیاتی سالیانه
- حفظ و نگهداری نام و نشانی مشتریان
- چاپ نامههای شخصی برای تبلیغ
- چاپ برچسبهای پستی
محاسبه و حفظ و نگهداری خودکار موجودی انبار – انجام این کار مستلزم برنامهسازی و نوشتن Trigger برای بانک اطلاعاتی است که از حوصله این کتاب خارج است.
محاسبه مالیات به هنگام فروش – برای محاسبه مالیات به هنگام فروش به یک Trigger در بانک اطلاعاتی و یا یک ابزار اضافی (مثلا (Oracle Forms نیاز خواهید داشت.
1- Larry Ellison
2- Mainframe
3- Utility
4- Add - On
5- Precompiler
6 - Login
7- Icon
8- Highighted
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 37 کیلو بایت |
تعداد صفحات فایل | 43 |
راجع به مسائل مربوط به پروتکل اینترنت (IP) صحبت کردند. و در مورد مسائل مربوط به شبکه ها و روش های انتقال دیجیتالی صدای کد گذاری شده روی این شبکه ها به بحث و بررسی پرداختند. در مورد انتقال صدا با استفاده از IP صحبت شد و روش انتقال بسته های RTP را بین جلسات فعال مورد بررسی قرار دادیم. آنچه ما مشخص نکردیم ، اگر چه ، برپاسازی و روش اجرای این جلسات صوتی می باشد. ما فرض کردیم این جلسات (Session) از وجود یکدیگر مطلع بوده و جلسات رسانه ای به روش خاصی ایجاد می شوند که بتوانند صدا را با استفاده از بسته های RTP منتقل کنند. پس این جلسات چگونه بوجود می آیند و چگونه به اتمام می رسند؟ چگونه این طرفین به طرف دیگر اشاره می کنند تا یک ارتباط را فراخوانی کنند، و چگونه طرف دوم این فراخوانی کنند، و چگونه طرف دوم این فراخوانی را می پذیرد؟ جواب استفاده از سیگنال است.
در شبکه های سنتی تلفن ، قراردادهای سیگنالی مشخصی وجود داشته که قبل و در حین فراخوانی استفاده می شوند. یکی از محدودیت های فوری این بود که دو کاربر در صورتی با هم تماس برقرار می کردند که سیستم مشابهی خریداری کرده باشند. این کمبود کار کردن همزمان سیستم های متفاوت باعث یک نارضایتی عمومی شد و باعث ناکارآمدی سیستم های VolP اولیه شد. در پاسخ به این مشکل ، VOIP H.323, ITV را پیشنهاد کرد که وسیع ترین استاندارد مورد استفاده بود. اولین نسخه VOLP در 1996 پدید آمد و عنوان سیستم تلفن تصویری و تجهیزات برای شبکه های محلی که خدمات غیر تضمینی ارائه می کنند، نامیده شد . نهایتاً مهندسین H.323 را طراحی کردند، و در 1998 نسخه دوم H323 را منشتر کردند. این پیشنهاد عنوان به مراتب دوستانه تری داشت سیستم های ارتباطی چند رسانی بر مبنای بسته این نسخه از H323 پشتیبانی بیشتری از اجداد خود بدست آورد نسخه دوم بطور وسیعی در راه حل های Volp پیاده سازی شد و در بسیاری جهات ، این نسخه استانداردی برای سیستم های VOIP امروزی است .نسخه دوم VOIP مبحث اصلی ما در این فصل است بنابراین به تشریح ساختار H323 می پردازیم.
ساختار H323
H323 یکی از پیشنهاداتی است که بر مبنای یک ساختار کلی ، که قابلیت کار با سایر پیشنهادات را دارد، طراحی شده است . شما باید ارتباط این پیشنهاد را با سایرین مورد مطالعه قرار دهید،و به همان اندازه اگر شما سایر پیشنهادات را مطالعه کنید باید H323 را نیز مورد بررسی قرار دهید. در بین سایر پیشنهادات مهم H.225 و H.245 و مقدار دیگری نیز وجود دارند.
ما یک نگاه کلی بر H323 را در شکل 1-4 نشان داده ایم . این ستار شامل ترمینال ها ،دروازه ها و نگهبانها و واحدهای کنترل چند نقطه ای می شود (MCU) . هدف کلی H.323 عملی ساختن تبادل جریانهای اطلاعات بین پایانه های H.323 است آنجا که یک نقطه پایانی H.323 به عنوان یک پایانه یا دروازه محسوب می شود.
یک پایانه H323 یک نقطه نهایی است که یک ارتباط همزمان با سایر پایانه ها را ارائه می سازد. عمدتاً ، این پایانه یک دستگاه ارتباطی سمت کاربر است که حداقل یک کد صوتی را پشتیبانی می کند و ممکن است سایر کدهای صوتی را نیز پشتیبانی کند. یک دروازه در حقیقت یک نقطه نهایی H323 است که خدمات ترجمه بین شبکه H.323 و سایر شبکه ها مثل شبکه ISDN را فراهم می سازد که به عنوان GSTN شناخته می شوند یک طرف این دروازه از سیگنال کردن H.323 پشتیبانی می کند. طرف دیگر با یک شبیکه از سوئیچ ها سر و کار دارد. در طرف H.323 ،دروازه مشخصات یک خروجی H.323 را دارد. ترجمه بین قراردادهای سیگنال دادن و فرمت رسانه یک بخش ،و دیگران که بصورت داخلی انجام می شوند بخش دیگر آن هستند. ترجمه بطور کلی بصورت نامرئی از سایر شبکه ها مدار سوئیچ انجام می شود و در شبکه H.323 دروازه ها همچنین می توانند به عنوان یک رابط مشترک بکار روند. در جایی که ارتباطات بین پایانه نیاز به یک اجازه عبور برای شبکه خارجی دارد مثل شبکه تلفن عمومی سوئیچی یا PSTN یک دروازه بان موجودی اختیاری است که در شبکه H.323 بکار می رود. وقتی دروازه بان موجودات ،دروازه های ارتباطی بسته می مانند و شماری از خروجی های H.323 را کنترل می کنند. با کنترل ، ما می خواهیم که دروازه بان بر دسترسی به شبکه نظارت داشته و از یک یا چند پایانه بتواند اجازه بدهد یا ندهد تا دسترسی به شبکه داشته باشند. این امر می تواند منجر به آن شود که پهنای باند و سایر منابع مدیریتی حفظ شوند. یک دروازه بان همچنین می تواند یک خدمات ترجمة آدرس را ارائه بدهد و استفاده از این سیستم را در شبکه ممکن سازد.
مجموعه ای از پایانه ها ،دروازه ها و MC ها که یک دروازه بان را کنترل می کنند به عنوان یک منطقه شناخته می شوند و همگی می توانند شبکه یا زیر شبکه ها را کنترل کنند این منطقه در شکل 2-4 آمده است این مناطق لزوماً پیوسته و دنبال هم نیستند.
یک MC ، در حقیقت یک پایانه H.323 است که کنفرانس های چند نقطه ای را مدیریت می کند. برای مثال MC به یک رسانه اشاره می کند که می تواند بین موجودیت های مختلف با قابلیت های متفاوت وجود داشته باشد همچنین MC می تواند قابلیت مجموعه ای از حوادث را تغییر دهد بطوریکه سایر پایانه ها به کنفرانس های موجود بپیوندند. یک MC می تواند در یک MCV یا در یک زمینه (Platform) مثل یک دروازه با یک پایانه H.323 پیاده سازی شود.
برای هر MC ، حداقل یک پردازشگر چند نقطه ای (MP) وجود دارد که تحت کنترل MC کار می کند. پردازشگر MP جریان رسانه ای MP را پردازش می کند، یک خروجی جریانی N را بوجود می آورد در حالیکه ورودی را از M دریافت می کند (متغیر N و M) . MP این عمل را توسط سوئیچ گردن ،ادغام و ترکیب این دو انجام می دهد. پروتکل کنترل بین MC و MP استاندارد نشده است.
MC می تواند دو نوع از کنفرانس های چند نقطه ای را پشتیبانی کند: متمرکز و غیر متمرکز . این دو روش در شکل 3-4 آورده شده اند. در تنظیمات متمرکز ، هر پایانه در کنفرانس با MC به روش تنظیم hub-spoke ارتباط برقرار می کند. علاوه بر این در روش غیر متمرکز ، هر پایانه در کنفرانس سیگنال کنترل خود را با MC به روش اتصال نقطه به نقطه تبادل می کند اما ممکن است رسانه را با سایر کنفرانس ها در شبکه نیز سهیم و شریک شود.