دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 591 کیلو بایت |
تعداد صفحات فایل | 85 |
امنیت در شبکه های بی سیم
مقدمه :
از آنجا که شبکههای بی سیم، در دنیای کنونی هرچه بیشتر در حال گسترش هستند، و با توجه به ماهیت این دسته از شبکهها، که بر اساس سیگنالهای رادیوییاند، مهمترین نکته در راه استفاده از این تکنولوژی، آگاهی از نقاط قوت و ضعف آنست. نظر به لزوم آگاهی از خطرات استفاده از این شبکهها، با وجود امکانات نهفته در آنها که بهمدد پیکربندی صحیح میتوان بهسطح قابل قبولی از بعد امنیتی دست یافت، بنا داریم در این سری از مقالات با عنوان «امنیت در شبکه های بی سیم» ضمن معرفی این شبکهها با تأکید بر ابعاد امنیتی آنها، به روشهای پیکربندی صحیح که احتمال رخداد حملات را کاهش میدهند بپردازیم.
بخش اول
1-1 شبکه های بی سیم، کاربردها، مزایا و ابعاد
تکنولوژی شبکه های بی سیم، با استفاده از انتقال داده ها توسط امواج رادیویی، در ساده ترین صورت، به تجهیزات سخت افزاری امکان می دهد تا بدون استفاده از بسترهای فیزیکی همچون سیم و کابل، یا یکدیگر ارتباط برقرار کنند. شبکه های بی سیم بازه وسیعی از کاربردها، از ساختارهای پیچیده ای چون شبکه های بی سیم سلولی - که اغلب برای تلفن های همراه استفاده می شد- و شبکه های محلی بی سیم (WLAN- wireless LAN ) گرفته تا انواع ساده ای چون هدفون های بی سیم، مرا شامل می شوند. از سوی دیگر با احتساب امواجی همچون مادون قرمز، تمامی تجهیزاتی که از امواج مادون قرمز نیز استفاده می کنند، مانند صفحه کلیدها، ماوس ها و برخی از گوشی های همراه، در این دسته بندی جای می گیرند. طبیعی ترین مزیت استفاده از این شبکه ها عدم نیاز به ساختار فیزیکی و امکان نقل و انتقال تجهیزات متصل به این گونه شبکه ها و هم چنینی امکان ایجاد تغییر در ساختار مجازی آن ها است. از نظر ابعاد ساختاری، شبکه های بی سیم به سه دسته تقسیم می شوند: WPAN , WlAN, WWAN .
مقصود از WWAN که مخفف Wireless WAN است، شبکه ها ساختار بی سیم سلولی مورد استفاده در شبکه های تلفن همراه است. WLAN پوششس محدودتر، در حد یک ساختمان یا سازمان، و در ابعاد کوچک یک سالن یا تعدادی اتاق، را فراهم می کند. کاربرد شبکه های WPAN یا Wireless Personal Area Netuork برای موارد خانگی است. ارتباطاتی چون Blue tooth و مادون قرمز در این دسته قرار میگیرند.
شبکه های WPAN از سوی دیگر در دسته شبکه های Ad Hoc نیز قرار می گیرند. در شبکه های Ad Hoc یک سخت افزار، به محض ورود به فضای تحت پوشش آن، به صورت پویا به شبکه اضافه می شود. مثالی از این نوع شبکه Blue tooth است. در این نوع، تجهیزات مختلفی از جمله صفحه کلید، ماوس، چاپگر، کامپیوتر کیفی یا جیبی و حتی تلفن همراه، در صورت قرار گرفتن در محیط تحت پوشش، وارد شبکه شده و امکان رد و بدل داده ها با دیگر تجهیزات متصل به شبکه را می یابند. تفاوت مکان شبکه های Ad Hoc با شبکه های محلی بی سیم (WLAN) در ساختار مجاز آنها است. به عبارت دیگر، ساختار مجازی شبکه های محلی بی سیم بر پایه طرحی استیاست در حالی که شبکه های Ad Hoc از هر نظر پویا هستند. طبیعی است که در کنار مزایایی که این پویایی برای استفاده کنندگان فراهم می کند، حفظ امنیت چنین شبکه های نیز با مشکلات بسیاری همراه است. با این وجود، عملاً یکی از راه حل های موجود برای افزایش امنیت در این شبکه ها، خصوصاً در انواعی همچون Blue tooth کاشتن از شعاع پوشش سیگنالهای شبکه است. در واقع مستقل از این حقیقت که عملکرد Blue tooth بر اساس فرستنده و گیرنده های کم توان استوار است و این مزیت در کامپیوتر های جیبی برتری قابل توجهی محسوب می گردد، همین کمی توان سخت افزار مربوطه، موجب کاهش محدود تحت پوشش است که در بررسی امنیتی نیز مزیت محسوب می گردد. به عبارت دیگر این مزیت به همراه استفاده از کدهای رمز نه چندان پیچیده، تنها ضربه های امنیتی این دسته از شبکه های به حساب می آیند.
2-1 اساس شبکه های بی سیم
در حال حاضر سه استاندارد در شبکه های Wireless با یکدیگر در حال رقابت هستند.
استاندارد (802.11b ) Wi-Fi که بر مناسبی برای استفاده در مکان های اداری دارد.
استاندارد 802.11a که پهنای باند بیشتری داشته و مشکلات تداخل فرکانس رادیویی آن کمتر می باشد ولی برد کوتاهتری دارد.
استاندارد Blue tooth برای برد کوتاه مثل شبکه های موقت در اتاق های کنفرانس، مدرسه ها، یا خانه ها استفاده می شود.
1-2-1 حکومت عالی Fi - Wi
Fi - Wi در حال حاضر محبوب ترین و ارزان ترین شبکه محلی بی سیم (Wireless LAN ) را دارد.
Fi - Wi در طیف رادیویی 2.4GH2 عمل می کند و می تواند سرعت انتقال اطلاعات را تا 11ubps با دامنه 30 متر بالا ببرد.
تعادلی که Fi - Wi بین اقتصاد، پهنای بلند، و مخصوصاً برد برقرار کرده، آن را به صورت استانداردی برجسته برای تجارت درآورده، و کارمندان بسیاری از این تکنولوژی برای کار و محاسبات شخصی استفاده می کنند. WECA[1] سهم خود را با تضمین صدها هزار محصول و اطمینان از کار و هماهنگی آنها با یکدیگر انجام داده، اما در Fi - Wi دو اشکال دارد.
اولاً از فضای هوایی، مشترکاً برای موبایل B;ue tooth امواج[2] رادیویی مهم و بقیه وسایل استفاده می کند. بنابراین، این تداخل امواج رادیویی، آ. را آسیب پذیر می کند.
ثانیاً به دلیل انتقال داده در هوا و وجود دیوار و دیگر موانع اجتناب ناپذیر، عملکرد واقعی به 5Mbps، یا تقریباً نصف سرعت مورد انتظار از آن می رسد.
2-2-1 802.11a یک استاندارد نوپا
802.11a دو مزیت بیشتر نسبت به Wi-Fi در فرکانس 5.35GH2 E5.15GH2 کار می کند که کمتر مورد استفاده است، در نتیجه تداخل امواج رادیویی در آن کمتر است. ثانیاً پهنای باند آن بسیار بالا است، و از نظر تئوری به 54cubp می رسد.
با وجود این که عملکرد واقعی آن نزدیک به 22Mbps است، همچنان فضای خالی برای انتقال صوت و تصویر دیجیتالی با کیفیت بالا و بقیه فایل های بزرگ، و همچنین به اشتراک گذاشتن اتصال Broad band در شبکه بیشتر از استاندارد Wi-Fi است و بعضی از تولید کننده ها، روشهای مخصوصی ارائه می دهند، که عملکرد آن را کمی بهتر می کند.
مشکل اصلی 802.11a از Wi-Fi در حال کاهش است، ولی در حال حاضر تجهیزات 802.11a بسیارگران تر از Wi-Fi است.
802.11a از Wi-Fi با یکدیگر سازگار نیستند، زیرا از دو تکنولوژی رادیویی متفاوت و دو قمست متفاوت از طیف رادیویی استفاده می کنند. به هر حال، تجهیزات استانداری برای هر دو تکنولوژی وجود دارد، که تبدیل آنها به یکدیگر را بسیار راحت کرده است. اگر می خواهید یکی از این دو استاندارد را انتخاب کنید، عوامل زیر را در نظر بگیرید:
اگر در حال حاضر از یکی از این استانداردها در کار خود استفاده می کنید، حتماً از همان استاندارد در منزل استفاده کنید، این کار ارتباط ر راحت تر می کند. اگر از لحاظ قیمت و سازگاری ( تجهیزاتی که برای سازگاری با استانداردهای دیگر هستند)، مشکلی ندارید، 802.11a کارایی بهرتری دارد و می تواند ارزش پرداخت هزیهنه اضافی را داشته باشد. اما اگر می خواهید دامنه بیشتری را با قیمت کمتر، تحت پوشش قرار دهید، Wi-Fi انتخاب بهتری است.
3-2-1 Blue tooth قطع کردن سیم ها
Blue tooth بطور اصولی یک فن آوری جایگزین کابل است. استاندارد فعلی Setup کردن کامپیوتر را در نظر بگیرید: یک صفحه کلید یک ماوس و مانیتور و احتمالاً یک چاپگر یا اسکنر به آن متصل هستند. اینها معمولاً به وسیله کابل به کامپیوتر متصل می شوند. یک تراشه Blue tooth برای جایگزین نمودن کابل ها بوسیله گرفتن اطلاعات حمل شده بصورت معمولی توسط یک کابل و انتقال آن در یک فرکانس خاص به یک تراشه گیرنده Blue tooth در کامپیوتر، تلفن، چاپگر یا هر چیز دیگری طراحی شده است. Blue tooth که در ابتدا توسط Ericsson ایجاد شده، استانداردی برای تراشه های رادیویی ارزان قیمت و کوچکی است که درون کامپیوترها، تلفن ها، موبایل ها و چاپگر ها و ممیره قرار می گیرد.
این ایده اصلی بود، اما سریعاً آشکار شد که کارهای بیشتری امکان پذیر است. شما می توانید اطلاعات را بین هر دو دستگاهی انتقال دهید، کامپیوتر و چاپگر، صفحه کلید و تلفن و موبایل، و غیره. هزینه کم تراشه Blue tooth ( حدود 5 درصد) و مصرف نیروی برق پایین آن، به این معنی است که می توان آن را تقریباً در هر جایی قرار داد.
می توانید تراشه های Blue tooth را در کانتینر های باری برای تشخیص بار در هنگام حرکت بار در گمرک یا در انبار داشته باشید، یا یک هدست که با یک تلفن موبایل در جیب شما یا در اتاق دیگری مرتبط می گردد. یا یک e-mail که به دستگاه موبایل شما ارسال شده و به محض رسیدن شما به محدوده کامپیوتر اداره چاپ می شود.
در حال حاضر می توان از یک ماوس و صفحه ملید بی سیم استفاده کرد، می توان عقب نشست و صفحه کلید را روی پاهای خود قرار داد، بدون اینکه سیم صفحه کلید مانع از انجام این کار شود.
کابل ها در اداره ها و خانه ها دردسر زیادی را ایجاد می کنند. اکثر ما این تجربه را داشته ایم که سعی نموده ایم تا سردر بیاوریم کدام کابل به کجا می رود و در سیم های پیچیده شده در پشت میز کار خود سردر گم شده ایم. رفع این مشکل با استفاده از تکنولوژی Blue tooth انجام می گیرد. Bluetooth همچنین یک استاندارد جهانی را برای ارتباط بی سیم ارائه می دهد. و پس از سال 2002 یک ریز تراشه Blue tooth در هر دستگاه دیجیتالی ساخته شده قرار خواهد گرفت. روش کار چنین است که اگر دو دستگاه Blue tooth در فاصله 10 متری از یکدیگر قرار بگیرند، می توانند با هم ارتباط برقرار کنند و چون Blue tooth از یک ارتباط رادیویی بهره می گیرد، تراشه نیازی به یک خط مرئی برای برقراری ارتباط ندارد.
تراشه رادیویی روی باند فرکانس 2.4GH2 قابلیت دسترسی جهانی دارد عمل می کند و سازگاری را در کل دنیا تضمین می کند فن آوری های Blue tooth، تمامی ارتباطات را بطور آنی برقرار می کنند و انتقال سریع و ایمن داده و صدا را ارائه می دهند.
در اینجا برخی کارهای ساده ای که می توانند بعنوان نتیجه استفاده از تکنولوژی Blue tooth برای ما فراهم شوند را می بینیم.
در آینده، احتمال می رود Blue tooth استاندارد دهها میلیون تلفن موبایل، PC، Laptop و دامنه وسیعی از دستگاه های الکترونیکی دیگر باشد. در نتیجه باید تقاضای زیادی برای برنامه های ابتکاری جدید، خدمات با ارزش افزوده، رهیافت های to-end و غیره وجود داشته باشد. احتمالات نامحدود هستند.
در ابتدا، Blue tooth شروع به جایگزینی کابل هایی خواهد نمود که دستگاه های دیجیتال متنوعی را به هم متصل می کنند و با افزایش تعداد ارتباطات، پتانسیل نیز افزایش می یابد. با پذیرش Blue tooth توسط تولید کنندگان بیشتری که آن را پشتیبانی می نمایند، توسعه دهندگان راه های جدیدی که پیشتر تصور آنها نمی رفت را برای به کارگیری نیروی آن خواهند یافت.
4-2-1 پشتیبانی خصوصی: Blue tooth
نام Blue tooth از نام یک پادشاه دانمارکی ( به نام Harald Blaatand ) که در قرن دهم زندگی می کرد، گرفته شده است. Blue tooth تا حدی متفاوت از دو استاندارد Wi-Fi و 802.11a می باشد. Blue tooth انعطاف پذیری بیشتری دارد ولی در مقیاس کوچکتر شبکه های[3] خانگی عمل می کند. عملکرد واقعی آن، فقط 300Kbps است و برد آن تقریباً 10 متر است.
Wi-Fi و 802.11a برای برقراری ارتباط بین دستگاه ها به Adaptor، مسیریابها Gateway ، Routers ها، ایستگاه های Access Point و برنامه های راه اندازی هم زمان، نیاز دارند. اما برخلاف آنها، تمام دستگاه هایی که امواج رادیویی و آنتن های Blue tooth داشته باشند، با تدارکات کمی، می توانند با یکدیگر ارتباط برقرار کنند. دستگاه هایی که با اشعه مادون قرمز کار می کنند، روشی برای انتقال فوری هستند. Blue tooth به وسیله جانشین کردن پورت های این دستگاه ها آنها را متعادل می کند و این کار را با برد بهتر و بدون نیاز به دید مستقیم (Line -of- sign) انجام می دهد. حضار در جلسات به وسیله Blue tooth هایی که به Blue tooth مجهز شده، می توانند فایل ها را از یک سر میز کنفرانس، به سر دیگر انتقال دهند، و یا فایلی را به پرینتری که به Blue tooth مجهز شده بفرستند، بدون نصب هیچ درایوی. کیوسک های مجهز به Blue tooth در فرودگاه ها و Houses Coffee به مشا اجازه می دهند تا از طریق کامپیوتر[4] کیفی یا کامپیوتر قابل حمل خود به اینترنت متصل شوید.
Blue tooth به زودی یک وسیله استاندارد بر روی بسیاری از موبایل ها و کامپیوتر های قابل حمل خواهد بود. حتی صحبت از برقرار دادن Blue tooth در وسایل خانگی می باشد.
اما با تمام منفعت که در تئوری برای Blue tooth وجود دارد، واقعیت این است که در حال حاضر، آشفتگی در سخت افزار و نرم افزار سازگار وجود دارد، به دلیل اینکه Blue tooth و Wi-Fi ، هر دو از یک رنج فرکانسی استفاده می کنند، در پهنای باند آنها تداخل صورت می گیرد و عملکرد را تا 10%، با بیشتر کاهش می دهد.
با ورود این استانداردها به بازار، طی چند سال آینده، الفبای Wireless پیچیده تر خواهد شد. برای مثال 802.11g پهنای باند Wi- Fi را تا 54Mbps افزایش خواهد داد ( در عمل 22Mbps )، در همین حال 802.11I ، تعدادی از سوارخ های امنیتی را در پروتکل WEP خواهد بست Blue tooth جدید در فرکانس بالاتر عمل خواهد کرد، در نتیجه دو برابر پهنای باند فعلی اش بهره می دهد.
ساختما ن ها می توانند سیگنالهای Wireless شما را ببلعند، به همین دلیل اسکلت اداره یا منزلتان - مکان دیوارها، حالت تالار ( راهرو)، و درها - همه چیز را به حساب آورد - اگر شما نقشه کف اتاقتان را نادیده بگیرید به شبکه ای که در هر گوشه و کناری قابل دسترسی است، خاتمه می دهید.
خطر معمول در کلیه شبکه های بی سیم متصل از پروتکل و تکنولوژی مورد نظر، بر مزیت اصلی این تکنولوژی که همان پویایی ساختار، مبتنی بر استفاده از سیگنال های رادیویی به جای سیم و کابل، استوار است. با استفاده از این سیگنالها و در واقع بدون مرز ساختن پوشش ساختار شبکه، نفوذ گران قادرند در صورت شکستن موانع امنیتی نه چندان قدرت مند این شبکه ها، خود را به عنوان عضوی از این شبکه ها جا زده و در صورت تحقق این امر امکان دست یابی به اطلاعات حیاتی، حمله به سرویس دهندگان سازمان و مجموعه، تخریب اطلاعات، ایجاد اختلال در ارتباطات گره های شبکه با یکدیگر، تولید داده ذهای غیر واقعی و گرمراه کننده، سوء استفاده از پهنای باند موثر شبکه و دیگر فعالیتهای مخرب وجود دارد.
در مجموع، در تمامی دسته های شبکه های بی سیم، از دید امنیتی حقایقی مشترک صادق است:
فهرست مطالب
عنوان صفحه
بخش اول
1-1 شبکههای بی سیم، کاربردها، مزایا و ابعاد............................................. 2
2-1 اساس شبکههای بی سیم................................................................ 3
1-2-1 حکومت عالی Wi-Fi............................................................... 3
2-2-1 802.11a یک استاندارد نوپا...................................................... 4
3-2-1 Bluetooth- قطع کردن سیمها................................................... 4
4-2-1 پشتیبانی خصوصی: Bluetooth.................................................. 6
5-2-1 آنچه پیشرو داریم................................................................... 7
3-1 منشأ ضغف امنیتی در شبکههای بیسیم و خطرات معمول............................ 7
بخش دوم
شبکههای محلی بیسیم...................................................................... 10
1-2 پیشینه..................................................................................... 10
2-2 معماری شبکههای محلی بیسیم........................................................ 11
بخش سوم
عناصر فعال و سطح پوشش WLAN ...................................................... 14
1-3 عناصر فعال شبکههای محلی بیسیم.................................................... 14
1-1-3 ایستگاه بیسیم........................................................................ 14
2-1-3 نقطة دسترسی......................................................................... 14
3-1-3 برد و سطح پوشش................................................................... 14
3-1-3 برد و سطح پوشش................................................................... 14
بخش چهارم
امنیت در شبکههای محلی بر اساس استاندارد 802.11.................................... 18
1-4 قابلیتها و ابعاد امنیتی استاندارد 802.11............................................. 19
1-1-4 Authentication................................................................. 19
2-1-4 Confidentiality................................................................. 19
3-1-4 Intergrity.......................................................................... 20
بخش پنجم
سرویسهای امنیتی Wep Authentication............................................. 21
1-5 Authentication.................................................................... 21
1-1-5 Authentication بدون رمزنگاری.............................................. 22
2-1-5 Authentication با رمزنگاری RC4.......................................... 22
بخش ششم
سرویسهای امنیتی 802.11b-privacy و integrity................................... 24
1-6 privacy................................................................................ 24
2-6 integrity.............................................................................. 25
بخش هفتم
ضعفهای اولیه امنیتی WEP................................................................ 27
1-7 استفاده از کلیدهای ثابت WEP....................................................... 27
2-7 Initialization........................................................................ 28
3-7 ضعف در الگوریتم...................................................................... 28
4-7 استفاده از CRC رمز نشده............................................................. 28
بخش هشتم
خطرها، حملات و ملزومات امنیتی .......................................................... 30
بخش نهم
پیاده سازی شبکه بی سیم..................................................................... 33
1-9 دست به کار شوید....................................................................... 33
2-9 دندة درست را انتخاب کنید............................................................ 33
3-9 راهاندازی یک شبکه بیسیم............................................................ 34
4-9 دستورالعملها را بخوانید................................................................ 35
5-9 محافظت از شبکه........................................................................ 36
بخش دهم
برنامهنویسی سیستمهای بی سیم و موبایل (معرفی WAP) ................................ 39
1-10 WAP چیست؟ ....................................................................... 39
2-10 ایدة WAP ........................................................................... 40
3-10 معماری WAP ....................................................................... 40
4-10 مدل WAP ........................................................................... 41
5-10 Wap تا چه اندازهای امن است؟ ..................................................... 42
بخش یازدهم
مفاهیم امنیت شبکه .................................................................................. 43
1-11 منابع شبکه .................................................................................... 43
2-11 حمله ........................................................................................... 44
3-11 تحلیل و خطر ................................................................................. 45
4-11 سیاست امنیتی ................................................................................. 45
5-11 طرح امنیت شبکه ............................................................................. 47
6-11 نواحی امنیتی .................................................................................. 47
7-11 مرکزی برای امنیت شبکه .................................................................... 48
8-11 چرا service directory ................................................................. 49
9-11 اکتیو دایرکتوری چگونه کار می کند ...................................................... 51
10-11 مزایای اکتیو دایرکتوری ................................................................... 52
11-11 افزایش همکاری بین شبکه ها ............................................................. 53
بخش دوازدهم
1-12 کنترل دولتی .................................................................................. 55
2-12 کنترل سازمانی ............................................................................... 55
3-12 کنترل فردی .................................................................................. 55
4-12 تقویت اینترانت ها ........................................................................... 56
5-12 وجود یک نظام قانونمند اینترنتی ....................................................... 56
6-12 کار گسترده فرهنگی .................................................................... 56
7-12 فایروالها ................................................................................... 57
8-12 سیاستگذاری ملی در بستر جهانی ....................................................... 59
9-12 اینترنت و امنیت فرهنگی ایران .......................................................... 63
10-12 جمع بندی ............................................................................... 68
بخش سیزدهم
امنیت تجهیزات شبکه ........................................................................... 70
1-13 امنیت فیزیکی ............................................................................. 71
2-13 امنیت منطقی .............................................................................. 75
3-13 ملزومات و مشکلات امنیتی ارائه دهندگان خدمات .................................. 78
فهرست منابع ..................................................................................... 80
[1]- Wireless Ethernet compatibitity Alliance
[2]- Security radios
[3] - Personal area network
[4] - Laptop
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 23 کیلو بایت |
تعداد صفحات فایل | 27 |
طراحی لباس با کمک کامپیوتر (CAD)
ظهور کامپیوتر اگرچه رویدادی علمی بود، اما انقلاب صنعتی را که از بسیاری جهات قابل مقایسه با انقلابهای صنعتی دیگر نیست پدید آورد. کامپیوتر در قرن اخیر در کشورهای صنعتی و پیشرفته به سرعت گسترش یافته و حیطه عمل و حکومت ان تمام فعالیت های انسانی را در برگرفته است. طرز کار و اداره و مدیریت دستگاههای اقتصادی و اجتماعی و آموزشی و اداری و دفاعی پس از اختراع و استفاده از کامپیوتر تحول عظیمی یافت که زندگی بشر را در نیمه دوم قرن بیستم کاملاً تحت تسلط خود در آورد.یکی از جنبه های کاربرد کامپیوتر، تأثیرگذاریبر طراحی پارچه و لباس و سایزبندی و محاسبه ضایعات پارچه هنگام برش و علامت گذاری بر روی الگو برای دوخت است. کامپیوترها به چهار گوره تقسیم می شوند: 1- پردازنده مرکزی MAINFRAME کامپیوتر بزرگی است که ظرفیت آن بسیار بیشتر از یک کامپیوتر کوچک یا ریز کامپیوتر است. 2- کامپیوتر کوچک MINICOMPUTER 3- کامپیوتر خانگکی HOME COMPUTER 4- کامپیوتر شخصی PERSONAL COMPUTER کامپیوتری که در طراحی استفاده می شود، از نوع کامپیوترهای بزرگ با قدرت زیاد POWER of MINI MAINFRAME است. امروزه تعداد این گونه کامپیوترها بسیار افزایش یافته است و با کاهش قیمتهای کامپیوتر CAD کمپانیهای کوچک نیز قادر به تهیه آن شده اند. انواع مختلف نرم افزار و برنامه ها و زبان کامپیوتر و عملیات مربوط را می توان به راههای گوناگون بر روی صفحه مانیتور مشاهده کرد. خطوط پیشکل ، بردار ، برش الگو برای کشیدن یک تصویر صفحه نمایش را به مربع های کوچک زیادی تقسیم می کنمی. و سپس با سیاه کردن برخی از آنها شکل مورد نظر را به دست می آوریم. این مربع های کوچک یخته تصویری می گویند. اطلاعات یاخته تصویری برای ویدئو ، طرح های کشباف، طراحی پارچه های بافته شده در طرح های چاپ پارچه در نساجی بسیار مناسب است، البته پس از سیاه کردن تمام صفحه و سفید کردن بعضی از مربعها، می توان به تصویر (منفی) یک شکل دست یافت، لیکن ما در اینجا برای آسانی کار همه نمونه ها را از تصویرهای (مثبت) انتخاب می کنیم. دستگاههای جدیدتر، نگاره سازی ریزنگاشت «HIGH RESOLUTION» می توان تصویرها را با جزئیات بیشتری ارائه کند. نقطهها بر روی صفحه کامپیوتر نشانگر یاخته تصویری هستند خطوط کوچک بین دو نقطه با برداری که هم دارای اندازه و هم جهت فضایی است ثبت می شود. VECTOR LINE به طور کلی هر دستگاه کامپیوتر عملیات زیر را انجام می دهد. 1- خواندن دستورالعملها (قسمت ورودی)2- ضبط کردن دستورالعملها و اطلاعات لازم در حافظه و استفاده به موقع از آنها؛ 3- اجرای عملیات منطقی و محاسبات 4- نظارت بر اجرای کلیه و عملیات 5- چاپ یا ظاهر کردن نتایج (قسمت خروجی)کاربرد کامپیوتر در الگو و دوخت تعداد محدودی از کارخانجات بزرگ تولید لباس از کامپیوتر استفاده می کنند. بسیاری از آنها معتقدند که با کامپیوتر فقط می توان طرح الگوها را تغییر داد و انها را اصلاح کرد و این دستگاه در برش الگو کاربردی ندارد. برخی از دلائل عدم استفاده از کامپیوتر عبارت است از : 1- شرکت هایی که سرمایه زیادی دارند. و طرفدارتکنولوژی مدرن جدیدند و در صدد بالابردن کیفیت کار هستند علیرغم قیمت بالای این دستگاه به علت درآمد حاصل از آن و تأثیری که بر روی محصولات کارخانه بجا خواهد گذارد این دستگاه را برای تسریع کارهای مربوط به الگو و دوخت می خرند و استفاده می کنند، لیکن تولیدیها و شرکتهای کوچک به علت هزینه سنگین و آموزش نمی توانند از این دستگاه استفاده کنند. 2- بسیاری از طراحان تمایلی به تغییر روش قدیمی و سنتی خود که در آن مهارت تجربه کافی کسب کرده اند ندارند و ترس از روبرو شدن با دستگاه پیچیده ای متشکل از قطعات الکترونی و سازشی با شرایط جدید و مشکلات آموزشی، آنها را از این کار باز می دارد. 3- شرکت ها با مشکل تربیت تکنسین و کمبود افراد متخصص در این زمینه مواجه هستند. آموزش CAD برای برش الگو، سایزبندی و غیر و ... بسیار گران است شرکت های می بایست هزینه سنگینی را متقبل شوند. اگر شرکت ها و تولیدیهای لباس، آماده کردن و اجرای طرح و برش الگو را با کامپیوتر انجام دهند و به افراد آموزش لازم را در این زمینه بدهند، در مدت زمان کوتاهی تأثیر متقابل آن را در انسان و ماشین های دوخت در می یابند. در اینجا نمونه کارهای کامپیوتر را به اختصار توضیح می دهیم. رسم خطو مستقیم و منحنی و طرح های آزاد پاک کردن خطوط و یا قسمتهایی از آن، امتداد و گسترش خطوط. تغییر خطوط به اندازه دلخواه ، یا به طول های ویژه. اندازه گیری خطوط الگو ، تمام و یا قسمت های مورد نظر. تغییر محیط شکلها در الگو. جدا کردن قسمتهای مختلف الگو. اتصال کامل قسمت های جدا شده یا قسمتی از آنها. حرکت دادن قسمت هایی از الگو به اطراف. چرخاندن و قرینه کردن الگوها. اتصال ساسونها و افزودن گشادی (اوازمان) به الگو. تکمیل الگو ، افزودن اضافه درز برای دوخت، مشخص کردن علائم روی الگوف چرتها و محل اتصال قسمت عهای مختلف الگو. دادن اطلاعات لازم در مورد خصوصیات پارچه (طول، عرض، و طرح روی پارچه). مدل لباس، سایزهای مورد لزوم، محاسبه ضایعات پارچه و انتخاب سایزهای مناسب برای جلوگیری از هدر رفتن پارچه و کاهش در قیمت پارچه مصرفی. طرحهای گرافیکی شکل صفحه 201 برگه مشخصات طرح و برش شکل صفحه 202 کاهش قیمت لباس با استفاده از نقشه ای که کامپیوتر ارائه می دهد. پس از ساختن الگو و سایزبندی، کامپیوتر با استفاده از کلیه اطلاعات برگه مشخصات طرح و برش و مشخصات پارچه، نقشه قرار دادن الگو را بر روی پارچه به نحوی که ضایعات به حداقل برسد، سایزهای مناسب و تعداد آنها برای تولید انبوه، کلیه محاسبات را انجام می دهد. نقشه را می توان بر روی صفحه مانیتور کامپیوتر مشاهده کرد. درتولیدیها، این کار را برشکار در مدت زمانی طولانی انجام می دهد و با جا به جا کردن قطعات چیده شده الگو بر روی پارچه سعی می کند از خرد شدن پارچه جلوگیری کند. تا بر قیمت لباس فزوده نشود. حال آنکه کامپیوتردر مدت زمان کوتاهی، کلیه اطلاعات دقیق و لازم را فراهم می آورد و از اتلاف وقت جلوگیری و بر سرعت کار می افزاید.
ظهور کامپیوتر اگرچه رویدادی علمی بود، اما انقلاب صنعتی را که از بسیاری جهات قابل مقایسه با انقلابهای صنعتی دیگر نیست پدید آورد. کامپیوتر در قرن اخیر در کشورهای صنعتی و پیشرفته به سرعت گسترش یافته و حیطه عمل و حکومت ان تمام فعالیت های انسانی را در برگرفته است. طرز کار و اداره و مدیریت دستگاههای اقتصادی و اجتماعی و آموزشی و اداری و دفاعی پس از اختراع و استفاده از کامپیوتر تحول عظیمی یافت که زندگی بشر را در نیمه دوم قرن بیستم کاملاً تحت تسلط خود در آورد.یکی از جنبه های کاربرد کامپیوتر، تأثیرگذاریبر طراحی پارچه و لباس و سایزبندی و محاسبه ضایعات پارچه هنگام برش و علامت گذاری بر روی الگو برای دوخت است. کامپیوترها به چهار گوره تقسیم می شوند: 1- پردازنده مرکزی MAINFRAME کامپیوتر بزرگی است که ظرفیت آن بسیار بیشتر از یک کامپیوتر کوچک یا ریز کامپیوتر است. 2- کامپیوتر کوچک MINICOMPUTER 3- کامپیوتر خانگکی HOME COMPUTER 4- کامپیوتر شخصی PERSONAL COMPUTER کامپیوتری که در طراحی استفاده می شود، از نوع کامپیوترهای بزرگ با قدرت زیاد POWER of MINI MAINFRAME است. امروزه تعداد این گونه کامپیوترها بسیار افزایش یافته است و با کاهش قیمتهای کامپیوتر CAD کمپانیهای کوچک نیز قادر به تهیه آن شده اند. انواع مختلف نرم افزار و برنامه ها و زبان کامپیوتر و عملیات مربوط را می توان به راههای گوناگون بر روی صفحه مانیتور مشاهده کرد. خطوط پیشکل ، بردار ، برش الگو برای کشیدن یک تصویر صفحه نمایش را به مربع های کوچک زیادی تقسیم می کنمی. و سپس با سیاه کردن برخی از آنها شکل مورد نظر را به دست می آوریم. این مربع های کوچک یخته تصویری می گویند. اطلاعات یاخته تصویری برای ویدئو ، طرح های کشباف، طراحی پارچه های بافته شده در طرح های چاپ پارچه در نساجی بسیار مناسب است، البته پس از سیاه کردن تمام صفحه و سفید کردن بعضی از مربعها، می توان به تصویر (منفی) یک شکل دست یافت، لیکن ما در اینجا برای آسانی کار همه نمونه ها را از تصویرهای (مثبت) انتخاب می کنیم. دستگاههای جدیدتر، نگاره سازی ریزنگاشت «HIGH RESOLUTION» می توان تصویرها را با جزئیات بیشتری ارائه کند. نقطهها بر روی صفحه کامپیوتر نشانگر یاخته تصویری هستند خطوط کوچک بین دو نقطه با برداری که هم دارای اندازه و هم جهت فضایی است ثبت می شود. VECTOR LINE به طور کلی هر دستگاه کامپیوتر عملیات زیر را انجام می دهد. 1- خواندن دستورالعملها (قسمت ورودی)2- ضبط کردن دستورالعملها و اطلاعات لازم در حافظه و استفاده به موقع از آنها؛ 3- اجرای عملیات منطقی و محاسبات 4- نظارت بر اجرای کلیه و عملیات 5- چاپ یا ظاهر کردن نتایج (قسمت خروجی)کاربرد کامپیوتر در الگو و دوخت تعداد محدودی از کارخانجات بزرگ تولید لباس از کامپیوتر استفاده می کنند. بسیاری از آنها معتقدند که با کامپیوتر فقط می توان طرح الگوها را تغییر داد و انها را اصلاح کرد و این دستگاه در برش الگو کاربردی ندارد. برخی از دلائل عدم استفاده از کامپیوتر عبارت است از : 1- شرکت هایی که سرمایه زیادی دارند. و طرفدارتکنولوژی مدرن جدیدند و در صدد بالابردن کیفیت کار هستند علیرغم قیمت بالای این دستگاه به علت درآمد حاصل از آن و تأثیری که بر روی محصولات کارخانه بجا خواهد گذارد این دستگاه را برای تسریع کارهای مربوط به الگو و دوخت می خرند و استفاده می کنند، لیکن تولیدیها و شرکتهای کوچک به علت هزینه سنگین و آموزش نمی توانند از این دستگاه استفاده کنند. 2- بسیاری از طراحان تمایلی به تغییر روش قدیمی و سنتی خود که در آن مهارت تجربه کافی کسب کرده اند ندارند و ترس از روبرو شدن با دستگاه پیچیده ای متشکل از قطعات الکترونی و سازشی با شرایط جدید و مشکلات آموزشی، آنها را از این کار باز می دارد. 3- شرکت ها با مشکل تربیت تکنسین و کمبود افراد متخصص در این زمینه مواجه هستند. آموزش CAD برای برش الگو، سایزبندی و غیر و ... بسیار گران است شرکت های می بایست هزینه سنگینی را متقبل شوند. اگر شرکت ها و تولیدیهای لباس، آماده کردن و اجرای طرح و برش الگو را با کامپیوتر انجام دهند و به افراد آموزش لازم را در این زمینه بدهند، در مدت زمان کوتاهی تأثیر متقابل آن را در انسان و ماشین های دوخت در می یابند. در اینجا نمونه کارهای کامپیوتر را به اختصار توضیح می دهیم. رسم خطو مستقیم و منحنی و طرح های آزاد پاک کردن خطوط و یا قسمتهایی از آن، امتداد و گسترش خطوط. تغییر خطوط به اندازه دلخواه ، یا به طول های ویژه. اندازه گیری خطوط الگو ، تمام و یا قسمت های مورد نظر. تغییر محیط شکلها در الگو. جدا کردن قسمتهای مختلف الگو. اتصال کامل قسمت های جدا شده یا قسمتی از آنها. حرکت دادن قسمت هایی از الگو به اطراف. چرخاندن و قرینه کردن الگوها. اتصال ساسونها و افزودن گشادی (اوازمان) به الگو. تکمیل الگو ، افزودن اضافه درز برای دوخت، مشخص کردن علائم روی الگوف چرتها و محل اتصال قسمت عهای مختلف الگو. دادن اطلاعات لازم در مورد خصوصیات پارچه (طول، عرض، و طرح روی پارچه). مدل لباس، سایزهای مورد لزوم، محاسبه ضایعات پارچه و انتخاب سایزهای مناسب برای جلوگیری از هدر رفتن پارچه و کاهش در قیمت پارچه مصرفی. طرحهای گرافیکی شکل صفحه 201 برگه مشخصات طرح و برش شکل صفحه 202 کاهش قیمت لباس با استفاده از نقشه ای که کامپیوتر ارائه می دهد. پس از ساختن الگو و سایزبندی، کامپیوتر با استفاده از کلیه اطلاعات برگه مشخصات طرح و برش و مشخصات پارچه، نقشه قرار دادن الگو را بر روی پارچه به نحوی که ضایعات به حداقل برسد، سایزهای مناسب و تعداد آنها برای تولید انبوه، کلیه محاسبات را انجام می دهد. نقشه را می توان بر روی صفحه مانیتور کامپیوتر مشاهده کرد. درتولیدیها، این کار را برشکار در مدت زمانی طولانی انجام می دهد و با جا به جا کردن قطعات چیده شده الگو بر روی پارچه سعی می کند از خرد شدن پارچه جلوگیری کند. تا بر قیمت لباس فزوده نشود. حال آنکه کامپیوتردر مدت زمان کوتاهی، کلیه اطلاعات دقیق و لازم را فراهم می آورد و از اتلاف وقت جلوگیری و بر سرعت کار می افزاید.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 93 کیلو بایت |
تعداد صفحات فایل | 53 |
مقدمات داده پردازی
تعریف داده(Data)
هر اطلاع مفید ولازم درباره چیز یا امری رایک داده می گویند.به شناسنامه خود نگاه کنید.نام، نام خانوادگی،نام پدر ،سال تولد،محل تولد،شماره شناسنامه وسایر اطلاعات آن ،همه درباره شماست.
اینها داده های مرتبط با شما هستندوشما را از دیگران متمایز ومجزا می کنند؛ به شما سود می رسانند؛
حقوق شما را محفوظ می دارند وبه دولت امکان می دهند که برای شما برنامه ریزی کندو امکانات فراهم سازد.
داده ها در همه امور، نقش بازی می کنند.مثلا در دادوستد، داده ها نقش بسیار بزرگی دارند.اطلاع ازاین که چه مقدارپول دارید؛ بابت چه کالا وخدماتی پول گرفته یا پرداخته اید؛ از چه حسابی پول برداشته وبه کدام حساب واریز کرده اید؛ چقدر طلبکبرید وچقدر بدهکارید؛و…. همه، داده های مالی شما هستند . حسابداران با چنین دا ده های مالی سروکاردارند وآن را مدیریت می کنند وازآن ها نتیجه گیری می کنند.
گفتیم که داده ها باید مفید ولازم باشند.مثالی می زنیم:
اگردر شناسنامه شما وزن یا قد شما را می نوشتند،صحیح بود؟ پاسخ منفی است.ذکر وزن وقد در شناسنامه کاربردی ندارد و وجود آنها لازم نیست، هر چند که مفید است.اما در پرونده پزشکی شما هم لازم هستند وهم مفید،زیرا به شناسایی وضع سلامت شما ونیز، به شناخت ودرمان بیماری شما یاری میرسانند.
داده ها با هم ارتباط دارند.
اگر بدانید شماره شناسنامه شخصی 259 است، آیا می توانیداورا پیدا کنید؟ این کار دشوار است. ممکن است شماره شناسنامه خیلی از مردم259 باشد. حالا اگر بدانید که نام آن شخص مثلا مسعود است یافتن او آسانتر می شود؛ هر چند که هنوز هم شاید اسم خیلیها مسعود وشماره شناسنامه شان 259 باشد.اما اگر در همین حال، نام خانوادگی او را هم بدانید دیگر یافتن اوساده می شود.نتیجه ارتباط داده ها به یکدیگر، شناسایی سریعتر است.داده هایی که به هم ارتباط نداشته باشند یا نتوان ارتباط آنها را نسبت به هم پیدا کرد، کاربرد زیادی ندارد وشاید اصلا به درد نخورد.
داده های نامرتب کاربرد ندارند.
اگر اطلاعات وداده های زیادی را بدون نظم وترتیب در جاهای مختلف پخش کنید، چطور می توانید به هنگام نیاز ازمیان آنها چیز خاصی را پیدا کنید؟داده ها هم مثل اشیای یک خانه یا انبار هستند وفقط از طریق نظم دادن وطبقه بندی وتازه کردن آنهاست که می توان از آنها سود برد .
داده ها چگونه مرتب میشوند؟
راههای مختلفی برای مرتب کردن داده ها وجود دارد.یکی از آسانترین روشها آن است که داده هارا به شکل یک جدول در آوریم. همه شمامی دانید جدول چیست.برنامه دانشگاه شما یک جدول است.دفتر حضور وغیاب کلاس شما یک جدول است صورتحساب بانکی پدر ومادر شما یک جدول است . اصول تمام جدولها یکی است ودرک آن نیز بسیار آسان است.در تمام آنها،برای مرتب کردن اطلاعات صفحه را خط کشی کردند وآن به شکل سطر ها وستونها در آوردند.به این ترتیب ، مجبورید اطلاعات را به شکل مرتب و زیر هم ،در جدول وارد کنید.در بالای هر ستون جدول،نام آنچه را که قرار است در آن ستون وارد کنید،می نویسید.در هر سطر اطلاعات،نام شخص یا چیزی را که آن داده ها به او مرتب است می نویسید.مثالی می زنیم.کتابهایی را که در خانه یا دانشگاه دارید،در نظر بگیرید.می توانید یک جدول درباره ی آنها تشکیل دهید و اطلاعات مرتبط با کتابها را در آن نگهداری کنید.در مورد هر کتاب می توانید داده هایی از قبیل نام کتاب،نام نویسنده،نام مترجم،نام ناشر،تعداد صفحات،تاریخ نشر و… را به صورت زیر،تبدیل به یک جدول کنید.
حال،برای هر کتاب اطلاعات مرتبط با آن را در یک سطر این جدول می نویسید:
نام کتاب |
نام نویسنده |
نام مترجم |
نام ناشر |
تعداد صفحات |
شناسایی وشکار جاسوس |
پیتر رایت |
محسن اشراقی |
مؤسسه اطلاعات |
608 |
ساعت سرمستی |
هیوبرت ریوز |
دکتر سهامی |
نشر قطره |
339 |
… |
… |
… |
… |
… |
البته می توان این جدول را به هر شکل دیگری تهیه کرد و درباره ی هر کتاب اطلاعات دیگری مانند نوبت چاپ،شماره ی شناسایی کتاب و…را نیز در جدول وارد کرد.مهم،اطلاعاتی ست که شما درباره ی هر کتاب مفید و لازم می دانید و داده های شما به شمار می آیند.این جدول،داده های شما را مرتب می کند.به این جدول داده ها(Data Table)می گویند.
جستجو در جدول داده ها
گفتیم که مرتب کردن اطلاعات ، جستجو در آن را آسان می کند فرض کنید که جدولی از کتاب های موجود در خانه یا دانشگاه خود را تهیه کرده اید واینک می خواهید بدانید که مثلا کدامیک در سال 1371چاپ شده است.
در این صورت، به شکل زیر عمل می کنید:
ستون تاریخ نشر را می بینیم وآن را از بالا به پایین مرور می کنید . در هر خانه ای از این ستون که عدد 1371 که دیدید آن سطر جدول را با یک قلم رنگی رنگ می زنید یا بیرون جدول ، کنار نام کتاب ،یک علامت می گذارید. وقتی همه جدول را مرور کردید تمام سطرهایی که علامت دارند یا رنگ شده اند، کتابهای مورد نظر شماهستند به همین شکل، جستجوی نام نویسنده خاص ویا هر مورد دیگر ،آسان می شود.
با ارزان شدن وتوانمندشدن رایانه ها،بزودی برنامه نویسان بر آن شدند تا برنامه های کاربردی قدرتمندی را برای کار با اطلاعات ایجاد کنند.که در عین حال آسان وهمه فهم باشد.یکی از آخرین محصولات نرم افزاری ویژه ی این کار،برنامه های اداری شرکت میکروسافت است،این سلسله از برنا
مه های میکروسافت آفیس(MicrosaftOffice)نام دارد و مجموعه ای از چند برنامه ی ک
اربردی برای ماشینی کردن دفاتر کار است.
یکی از قطعات این مجموعه برنامه ها،برنامه ی کاربردی اکسس است که برای داده پردازی و استفاده از اطلاعات ایجاد شده است.این برنامه می تواند یک پایگاه داده ها را اداره کند.اینک ببینیم که پایگاه داده ها چیست؟
تعریف پایگاه داده ها
گفتیم که یکی از روشهای آسان اداره ی داده ها،ایجاد جدول مرتبی از آنهاست که به آن جدول داده ها (DataTable)می گویند.
برنامه ی اکسس،دو یا چند جدول داده را،پایگاه داده ها (Database)می نامدو می تواند آن رابه خوبی اداره کند.برنامه ای را که می تواند یک پایگاه داده ها را اداره کند،برنامه ی مدیریت پایگاه داده ها(Database Management Program)می گویند.اکسس،یک برنامه ی مدیریت پایگاه داده هاست.به مجموعه ای از جدولهای داده ها،پایگاه داده ها می گویند.
تعریف فیلد(Field)و رکورد(Record)
همان طور که قبلا گفتیم،اکسس با جدول های داده ها کار می کنیم.هر جدول،از تعدادی سطرو ستون تشکیل شده است.اکسس به هر یک از ستون ها،یک فیلد،(Field) میگویند.بنابراین،جدول کتابخانه ی ما در مثال قبلی 6فیلد دارد.همچنین اکسس،هر سطر جدول داده ها را نیز یک رکورد می خواند.
در همان جدول کتابخانه ها،در مثال قبلی ،شما سه رکوردرا می بینید.به این ترتیب، هر رکورددر آن
داده ها را نیز یک رکورد(Record)می خواند.در همان جدول کتابخانه ها،در مثال قبلی،شما سه رکورد را می بینید.به این ترتیب،هر رکورد در آن جدول شامل شش فیلد است.درک مفهوم فیلدو رکورد در کار با اکسس بسیار مهم است،اما پس از مقداری تمرین،به راحتی آن را فرا گرفته،به کار گفتیم که هر پایگاه داده،از تعدادی جدول تشکیل می شود.حال ببینیم چرا چند جدول رادر یک پایگاه داده ها می گذارند؟و این کار چه مزیتی دارد؟به مثال زیر توجه کنید:
|
فرض کنید یک جدول داده ها دارید که فیلد های آن اطلاعاتی درباره ی سفارش های مشتریان یک فروشگاه مثل نام و نام خانوادگی و تاریخ ومقدار خرید هر کالاست و جدول دیگری داریدکه در آن فیلد های دیگری مثل اطلاعاتی درباره ی شهر،محله،خیابان،کوچه،تلفن وموارد از این دست درباره ی همان مشتری ها موجود است.حال،چگونه بایدمثلا کشف کنید که فلان مشتری ساکن فلان خیابان،چقدر خرید کرده است.اطلاعات خرید وفروش مشتری در یک جدول و اطلاعات سکونتی همان مشتری،در جدول دیگر است.
برای این کار،باید در هر یک از جدول های یک فیلد مشترک پیدا کنید.یعنی فیلدی که هم در این جدول و هم در آن جدول موجود باشد.بعد:
1ـاطلاعات را از جدول اول برمی دارید و به فیلد مشترک نگاه می کنیدوداده ی موجود در آن،مثلا نام خانوادگی یا شماره ی شناسنامه را جایی یادداشت می کنید.
2ـدر جدول دوم،فیلد مشترک را پیدا می کنیدو در آن داده ای را که یادداشت کرده اید می یابید.حالا رکورد مورد نظررا پیدا کرده ایدوباید در آن به سراغ فیلد نشانی بروید وآن را یادداشت کنید.
به این ترتیب،این دو جدول به هم ربط پیدا می کنند.ربط دادن جدول ها به هم،از طریق یک فیلد مشترک،قدرت مانور شمارا در جستجوی داده هاو نتیجه گیری از آنها بسیار افزایش می دهد ودر حجم جدولها صرفه جویی می کند.زیرا،دیگر لازم نیست که مثلا در مقابل هر رکوردی که برای خرید و فروش مشتری به وجود می آورید،یک بار هم،آدرس او را در همان جدول بنویسیدو می توانید این داده را از جدول دیگری بردارید.به این مدل از پایگاه داده ها،پایگاه داده ها ی ارتباطی (Relational Database).اکسس،از این مدل پایگاه داده ها استفاده میکندو به همین سبب به آن مدیرپایگاه داده های ارتباط (Relational Database Management System) به طور خلاصهRDMBSمی گویند.
تعریف پایگاه داده های ارتباطی
پایگاه داده های ارتباطی،مجموعه ای از جدولهای داده است که یک فیلد مشترک در هر یک از
جدولها وجود دارد و از طریق آن می توان داده ها را به هم ربط داد.
تعریف کلید
اکسس،به فیلدی که لا اقل در دو جدول داده ها مشترک باشد،فیلد کلیدی(KeyField)یا به اختصار (کلید)می گویند.علت این نام آن است که این فیلد،کلید وارد شدن از یک جدول به جدول دیگر است.گفتیم که دو جدول اکسس از طریق یک فیلد مشترک می توانند به همدیگر ارتباط یابند.حالا،این موضوع را برای بیش از دو جدول بررسی می کنیم.در این مورد مثالی را مشاهده کنید.
فرض کنید دو جدول داده هایاکسس دارید که در اولی مشتریان معرفی می شوندو به هر یک از آنها یک شماره ی مشتری که حتما باید غیر تکراری و بدون مشابه باشد،اختصاص می یابد.حالا اگر جدول دیکری داشته باشیم که به خرید های مشتریان اختصاص یافته باشدو در آن هم،برای هر بار خرید مشتریان یک رکوردثبت و نگهداری شود.اگر در این جدول،از همان شماره ی مشتری های تعریف شده در جدول مشتریان استفاده کنید،این دو جدول به هم ارتباط می یابند.هر چند که در هر دو جدول،داده های تکراری وجود دارد(یعنی فیلد شماره ی مشتری)،اما این تکرار اجتناب ناپذیراست و در عوض،باعث می شودکه از تکرار بزرگتری که همان اطلاعات کاملجدول مشتری هاست،در جدول خرید مشتریان،جلوگیری شود.
حالا فرض کنید یک جدول دیگر هم داریدکه یکی از فیلدهای آن نام مشتریست اما فیلدشماره مشتری ندارد.آیا این جدول را هم می توان به جدول اولیوصل کرد؟بله.اگر فیلد نام مشتری در هر دو فایل یکسان تعریف شده باشد،می توان از این فیلد برای اتصال دو جدول داده ها استفاده کرد.بنابراین،فیلد کلید ما در این حالت،فیلد نام مشتری است.وقتی این دو جدول داده ها به هم مرتبط شوند، در حقیقت،به جدول دیگرهم وصل شده اند؛زیرا دو جدول دیگر نیز از طریق یک فیلد مشترک به هم متصل بودند.به این طریق ،هر سه جدول،از طریق فیلدهای دوبه دو مشترک به هم وصل شده اند.بنابراین لازم نیست که فیلد های ارتباط دهنده در هر سه جدول(یا بیشتر)،یکی باشند.بلکه فقط کافیست دو به دو یکی باشند.
چگونه یک پایگاه داده ها بسازیم؟
روش ساختن یک پایگاه داده های خوب را اولین باردر سالهای اولیه ی رواج یافتن رایانه ها یعنی حدود سال1960 م تبیین کرده اند و این اصول تا کنون تغییر چندانی نیافته است.البته،کار ایجاد پایگاه داده ها به مرور زمان پیشرفت بسیار زیادی کرده است.مثلادر روزگاران گذشته،دست بردن در ساختمان یک پایگاه داده ها،کار بسیار مشکل و حتی غیر ممکن بود و به همین دلیل،دست بردن در ساختمان پایگاه داده ها خیلی گران تمام می شدو برخی اوقات،این کار،6% به قیمت طراحی اولیه می افزود.اما امروزه ایجاد پایگاه داده ها با کمک یک عدد رایانه ویک برنامه ی پایگاه داده ها ی ارتباطی مانند اکسس بسیار سریع انجام می شود و دست بردن در ساختمان پایگاه داده ها نیز در هر لحظه ممکن ومیسراست.امروزه میتوان با اطلاعات کم و ناقص،کار را آغاز کرد و به مرور،ساختمان پایگاه داده ها و اجزای گوناگون آن و داده های داخل آن را تغیر داد تا به حالت ایده آل رسید.اما توصیه های کلی زیر را در مورد ساختن پایگاه داده ها در نظر داشته باشید.
1-کارهایی را که می خواهید با پایگاه داده هاانجام دهید معین کنید:
پیش از آغاز ایجاد یک پایگاه داده ها، باید تقریبا بدانیدکه از ایجاد آن چه انتظاری داری. دانستن این نکته، کار سختی نیست.قلم وکاغذی بر داریدوعمده کارهایی را که می خواهید با پایگاه داده های مورد نظر انجام دهید زیر هم بنویسید. این فهرست می تواند شامل کارهایی که هم اکنون می خواهید ونیز کارهایی که انتظار دارید بعد ها انجام دهید باشید . وقتی می گوییم کارهای عمده را بنویسید، یعنی بنویسید که می خواهید چه چیز هایی را در پایگاه داده ها وارد کنید وچه گزارشهایی را از آن
دریافت دارید.بنابراین ،مثلا یکی از عناوین فهرست شما می تواند این باشد:‹‹وارد کردن سفارش مشتری››؛اما لازم نیست جزییاتی مانند محاسبه جمع کلی صورتحساب ویا کسر مقدار تخفیف از مبلغ دریافتی را در این فهرست بگنجانید. اینها اعمال اصلی نیستند.
2-نمودار گردش عملیات را رسم کنید:
رسم نمودارعملیات یعنی این که مشخص کنید کدام عمل قبل از کدام عمل انجام می گیرد .تعیین این که اگر عمل خاصی انجام نشود، کدام عمل بعدی قابل انجام نخواهد بود ، بسیار مهم است.به این ترتیب ، جریان کار شناسایی می شود وبنابراین ، کاری که هر کس باید انجام دهد مثل پر کردن فرم خاص یا تایید کردن یک عمل خاص ، مشخص می گردد.
3-شناسایی داده های لازم:
وقتی دو مرحله قبل را انجام دادید تقریبا خواهید که به چه داده هایی که به چه داده هایی احتیاج دارید.مثلا می توانید تعیین کنید که در مورد هر مشتری ،چه داده هایی نیاز دارید ویا در مورد صدور صورت حساب فروش ، چه داده هایی را لازم دارید .این داده ها،پایه ایجاد پایگاه داده های شما هستند. بنابراین باید تا حد امکان بکوشیدتا فهرست کاملی از داده های مورد نظر را درآورید وزیر هم بنویسید.
4-گروه بندی داده ها:
در این مرحله، مشخص میکنید که داده ها چگونه باهم گروه بندی می شوند.مثلا شماره مشتری ،نام مشتری،نام خانوادگی مشتری،شماره تلفن مشتری،نشانی مشتری،داده های مرتبط به همهستندومیتواننددر یک گروه جای بگیرند.
پس از انجام کار گروه بندی باید چند فهرست داشته باشیدکه در زیر هر یک نام اجزای آن نوشته شده باشد.
5-سازماندهی داده ها:در این مرحله، تقریبا ساختمان جدولهای داده های موردنیاز برای برای یک پایگاه داده ها مشخص شده است.هرکدام از فهرستهایی که در مرحله قبل به وجود آورده ایدمی تواند
یک جدول دادها را تشکیل دهد.
در اکسس می توانید در هر مرحله که لازم شد. جدول جدید داده ها درست کنید ویاجدول های قبلی را دست کاری وتصحیح کنید.اما اصلاح مکررتوصیه نمیشود وبهتر است، ازهمان ابتدای کار طرحی تقریبی از آنچه را که روی کاغذ انجام میدهیدپیاده کنید.به این شکل،ازسردرگمی نجات می یابید.
6-ایجاد فرمها وگزارشها:
حال، جدول داده ها ایجاد شدهاست وشما در این مرحله شروع میکنید به ارتباط دادن آنها به یکدیگر وساختن فرمها وگزارشها.در این مرحله،ازماکروها وزبان ویژوال بیسیک هم استفاده میشود ورابطه کاربر نیز ساخته می شود.
7-آزمایش وتجدید نظر وتصفیه:
در این مرحله متوجه کمبودها شده ودر نکاتی تجدید نظر می کنید ودر برخی ودر برخی از داده ها، عناصر دیگری را که متوجه می شوید به درد نخواهد خورد وزایداست،حذف کنید.این مرحله آخر کار است ومعمولا،پس از تحویل پایگاه داده هابه مشتری ودر حین کار آن نیز تا مدتی باید این کار را انجام دهید تا پایگاه داده ها از هر جهت، احتیاجات کاربر را برآورد وبدون نقص شود.
کسانی که پایگاه داده ها راطراحی می کنند، معمولا وقت زیادی را برای تحقیق وتفحص درباره آنچه کاربران ومدیران می خواهند اختصاص می دهند.آنها جریان عادی کاری را که می خواهند برای آن پایگاه داده ها تهیه کنند مطالعه می کنند.
دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 146 کیلو بایت |
تعداد صفحات فایل | 95 |
شرح زبان سی شارپ و قابلیت های تحت وب آن (دات نت)
مقدمه
C# یکی از زبانهای جدید برنامهسازی شیگرا است که با ارائة رهیافت Component-Based به طراحی و توسعه نرمافزار میپردازد. آنچه ما در حال حاضر از زبانهای برنامهسازی Component-Based در اختیار داریم و آنچه که C# در اختیار ما قرار میدهد، افق جدیدی به سوی تولید و طراحی نرمافزارهای پیشرفته را در روی ما قرار میدهند.
نرمافزار، به عنوان یک سرویس، هدف اصلی نسل بعدی در سیستمهای محاسباتی است. برای مثال، C# زبانی مناسب برای تولید و طراحی صفحات وب، ایجاد اجزایی با قابلیت استفاده مجدد و ایجاد محیطهایی چند رسانهای را به عنوان زبانی که هدفش توسعه ایجاد نرمافزارهای پیشرفته است، در اختیار ما قرار میدهد.
زبان برنامهسازی C#، به همراه تکنولوژی جدید شرکت نرمافزاری مایکروسافت یعنیNET. ارائه گردید، از این رو از تکنولوژیNET. این شرکت بهره میبرد. پس در ابتدا به بیان مطالبی درباره محیطNET. میپردازیم.
فصل اول:تکنولوژیNET.
چراNET.؟
در گذشته زبانهای برنامهسازی، سیستمهای عامل و محیطهای اجرایی نرمافزارها برای دورهای خاص ساخته میشدند. هنگامیکه برنامهها از محیطهای رومیزی(Desktop) به اینترنت منتقل میشدند، ابزارهای موجود نیازمند API هایی اضافی و قابلیتهای دیگری بودند. بیشتر این قابلیتها در کنار زبانهای برنامهسازی بعنوان ابزارهایی جهت رفع این نیازمندیها ارائه میشدند. هرچند این ابزارهای اضافی بصورت قابل توجهی نیازمندیها را حل کرده و باعث رسیدن اینترنت به وضعیت کنونی شدند، اما همچنان مسائل بسیاری وجود داشت که نیاز به حل شدن داشتند.
NET. به منظور پشتیبانی از کاربردهای عصر جدید اینترنت ساخته شد. مواردی همچون گسترش، امنیت و versioning، که از مسایل مهممی بودند، توسط NET. پوشش داده شدند. قسمت مرکزیNET. بخش CLR (Common Language Runtime) است که یک موتور اجرایی مجازی است که از توسعه، امنیت و ارتقای نسخه کد پشتیبانی مینماید. در گذشته چنین امکاناتی برای کدهای کامپایل شده فراهم نبود. بدلیل اینکهNET. توانست بر این مشکلات اساسی فائق آید، راه حل قدرتمندتری جهت ساخت برنامههای تحت اینترنت به شمار میرود.
NET. چیست؟
NET. محیطی جهت ساخت برنامههای توزیع شده است که شامل ابزارهایی نظیر ""کتابخانه کلاسهای پایه"(BCL: Base Class Library)، CLR و زبانهای برنامهنویسی است. این ابزارها امکان ساخت انواع مختلفی از نرمافزارها، از قبیل فرمهای ویندوز، ADONET.، ASPNET. و سرویسهای وب، را فراهم میآورند.
فرمهای ویندوز، مجموعهای از کتابخانهها جهت ساخت رابطهای کاربر گرافیکی برای برنامههای کاربردی است. این کتابخانهها اغلب API های Win32 را در خود دارا میباشند. همچنین امکان استفاده از رهیافت شیگرایی را جهت تولید آسان برنامههای تحت ویندوز، فراهم میآورند.
ADONET. مجموعهای از کلاسهای شیگرایی است که جهت ساخت مولفههای داده و سطوح دسترسی داده در برنامههای n-tiered مورد استفاده قرار میگیرد.
ASPNET. شامل مدل برنامهنویسی فرمهای وب است که بوسیلة آن برنامههای تحت وب ساخته شده و تحت اینترنت قابلیت اجرا پیدا کرده و از طریق مرورگر(Browser) قابل دسترسی میباشند. این روش مدل بهبود یافته برنامهسازی وب است که در آن کدها در سرور کامپایل میشوند ولی همانند صفحات HTML در کامپیوتر مشتری اجرا میشوند.
سرویسهای وب، رهیافتی جدید، مستقل از platform و استاندارد، جهت ایجاد ارتباط و فعالیت بین سیستمهای ناهمگون در اینترنت، میباشند. سرویسهای وبNET.، از زیر ساخت شیگرایی برنامهنویسی ASPNET. استفاده میکنند، اما همچنان از استانداردهای باز و مدلی بر پایة پیغام(Message Based Model) استفاده مینمایند. استفاده از استانداردهای باز از قبیل XML، WSDL و UDDI باعث میشوند تا سرویسهای وب با سایر سرویسهای وب استاندارد که پیادهسازیهایی متفاوت دارند، بدون توجه به محیط و platform آنها، ارتباط برقرار نمایند.
این چند نمونه، اندکی از انواع مختلف نرمافزارهایی بودند که میتوان تحتNET. به پیادهسازی آنها پرداخت.
کتابخانههای کلاسهای پایه(Base Class Library: BCL)
BCL درNET.، شامل هزاران نوع قابل استفاده، جهت افزایش بهرهوری در ساخت برنامههایNET. است. به علت گستردگی BCL یادگیری تمام کلاسهای آن وقتگیر بوده و امکان پذیر نمیباشد، به همین دلیل برای صرفهجویی در زمان بهتر است قبل از ایجاد یک نوع خاص به جستجوی نوعهای موجود در BCL بپردازیم. نگاهی کلی به BCL میتواند بسیار سودمند باشد. جدول زیر Namespace های مهم و توضیح نوعهای مختلف BCL را نمایش میدهد.
NET. Namespaces |
|
Namespace |
Description |
System |
The most commonly used types. |
System.CodeDom |
Allows creating types that automate working with source code, that is, compilers and code creation tools. |
System.Collections |
Collection types such as ArrayList, Hashtable, and Stack. |
System.ComponentModel |
Supports building reusable components. |
System.Configuration |
Types for working with various kinds of XML configuration files. |
System.Data |
Most of the types for ADONET. database programming. Other types are in namespaces that are specific to a database or data interface. |
System.Diagnostics |
Process, EventLog, and Performance Counter types. |
System.DirectoryServices |
Managed interface for accessing Windows Active Directory Services. |
System.Drawing |
GDI+ types. |
System.EnterpriseServices |
COM+ types. |
System.Globalization |
Types for culture-specific support of calendars, formatting, and languages. |
System.IO |
Directory, File, and Stream types. |
System.Management |
APIs for performing WMI tasks. |
System.Messaging |
Types for working with message queues. |
SystemNET. |
Access to networking protocol types. |
System.Reflection |
Reflection APIs for inspecting assembly metadata. |
System.Resources |
Types for culture-specific resource management. |
System.Runtime |
COM Interop, Remoting, and Serialization support. |
System.Security |
Code access security, role-based security, and cryptography types. |
System.ServiceProcess |
Types for building Windows Services. |
System.Text |
Text encoding/decoding, byte array from/to string translation, the StringBuilder class, and regular expressions. |
System.Timers |
Timer types. |
System.Threading |
Threads and synchronization types. |
System.Web |
HTTP Communications, ASPNET., and Web Services types. |
System.Windows |
Windows Forms types. |
System.XML |
All XML support types, including XML Schema, XmlTextReaders/XmlTextWriters, XPath, XML Serialization, and XSLT. |
جدول 1-1 Namespaceهای مهم و رایج
هر Namespace مجموعهای از کلاسهای از پیس ساخته شدةNET. است که میتوان از آنها در برنامههای مختلف استفاده نمود.
(Common Language Runtime)CLR
CLR یک موتور اجرایی است که با هدف اصلی اجرای هدایت شدة کدها درNET. ایجاد گردیده است. CLR به مدیریت اجرا، ارتقای نسخه و امنیت تمامی کدها درNET. میپردازد. به همین دلیل کدهایNET. یا C# اغلب تحت عنوان کدهای مدیریت شده، شناخته میشوند.(Managed Code) تمامی کدهایی که به CLR مرتبت هستند، تحت عنوان "مدیریت شده" و کدهایی توسط CLR مدیریت نشدهاند، بلکه مستقیماً به کد ماشین تبدیل میشوند، تحت عنوان "مدیریت نشده" بیان میشوند.
کدهای مدیریت شده، به کد ماشین کامپایل نمیشوند، بلکه به زبان سطح میانی مایکروسافت(MSIL) کامپایل شده و مورد استفاده قرار میگیرند. این زبان سطح میانی را میتوان زبانی شبیه به زبان اسمبلی تصور کرد. IL در حافظه بارگذاری میشود و بلافاصله بوسیلة CLR در حافظه به کد ماشین کامپایل میگردد.
برنامههایNET. از اسمبلیهایی تشکیل شدهاند که اجزای خودکار منطقی توسعه، شناسایی و امنیت به حساب میآیند و تفاوت آنها با روشهای قدیمی در آن است که اسمبلی میتواند شامل یک یا چندین فایل باشد. اسمبلیNET. به صورت یک فایل اجرایی تک یا یک فایل کتابخانهای است، اما ممکن است حاوی ماژولها، که کدهایی غیر اجرایی بوده و قابلیت استفادة مجدد را دارند، نیز باشد.
مسئلة مهم دیگر در مورد CLR، نحوة بارگذاری(Load) و اجرای برنامه توسط آن است. به محض اینکه برنامةNET. شروع به اجرا میکند، ویندوز اسمبلیNET. راتشخیص داده و CLR را اجرا میکند. سپس CLR نقطه شروع برنامه را شناسایی و پروسة تعیین انواع که در آن، محل قرارگیری انواع مختلف بکار رفته در برنامه مشخص میشود را، اجرا میکند. اسمبلی شناسایی شده در پروسة Loader بارگذاری میگردد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 25 کیلو بایت |
تعداد صفحات فایل | 20 |
حافظه RAM
آنچه در این فصل می آموزید:
/ کنترل میزان مصرف حافظه در سیستم
/ اجرای برنامه های ارزیابی و سنجش حافظه
/نمایش اطلاعات حافظة ویندوز به کمک برنامة Sandra
/ آماده شدن برای ارتقا حافظة سیستم
/ عیب یابی نصب حافظه در سیستم
/ حذف کاربرد حافظة بسط یافته و حافظة توسعه یافته در محیط ویندوز
/ کنترل مقدار فیزیکی مصرف RAM در محیط ویندوز
قبل از اینکه Cpu بتواند برنامهها را اجرا کند، دستورات و اطلاعات آن برنامه باید داخل حافظة Ram کامپیوتر منتقل و مستقر شوند. در این فصل روش نگهداری اطلاعات در حافظة Ram را می آموزید و اینکه چرا اطلاعات داخل حافظة Ram فرار هستند ( یعنی با قطع برق یا خاموش شدن کامپیوتر همة اطلاعات موجود در این حافظه از بین می روند)، و اینکه چرا انواع حافظة Ram عرضه شده اند.
بر روی وب یا داخل مجلات و بروشورها و کتابهای کامپیوتر اغلب توصیه های مطالعه می کنید که مقدار لازم حافظة Ram برای سیستم شما را اعلام می کنند. اغلب اعلام می شود که حداقل 126 تا 512 مگابایت حافظة Ram برای عملکرد مناسب یک سیستم لازم است.
داخل کامپیوترهای شخصی از دیسکها برای نگهداری دایمی و بلند مدت اطلاعات استفاده میکنیم. اطلاعات داخل دیسک سخت از طریق مغناطیس نمودن سطح دیسک انجام میگیرد. به دلیل روش مغناطیسی ذخیرة اطلاعات در دیسک سخت
(در مقابل روش الکترونیکی ) این وسیله قابلیت نگهداری دایمی و بلند مدت اطلاعات را دارد و با قطع برق یا خاموش شدن سیستم اطلاعات مستقردر دیسک از بین نرفته و ماندگار هستند چون دیسک سخت برای نگهداری اطلاعاات نیاز به جریان برق دایمی ندارد. اما حافظة Ram اطلاعات را بطور موقت نگهداری می کند بدیهی است که با قطع برق یا خاموش شدن سیستم این اطلاعات از بین خواهند رفت.
فنآوریهای گوناگون برای ذخیرهسازی اطلعات ابداع شدهاند که اغلب آنها را بر اساس سرعت، هزینه و ظرفیت ذخیره سازی طبقهبندی میکنند. معمولاً دیسکها وسایل مکانیکی هستند و به همین دلیل سرعت عملیات آنها نسبت به انواع حافظههای الکترونیکی بسیار کندتر است. در شکل زیر نمایی از اواع وسایل ذخیرهسازی و در سمت راست کندترین وسیلة ذخیرهسازی را نشان دادهایم.
جریان اطلاعات از حافظة RAM به پردازنده (CPU)
هرگاه Cpu برای اجرای عملیات به اطلاعات یا دستوری نیاز داشته باشد ابتدا آنها را داخل حافظه میانجی L1 جستجو میکند. اگر اطلاعات مورد نیاز را آنجا پیدا نکند به سراغ حافظه میانجی L2 خواهد رفت. اگر اطلاعات مورد نیاز را آنجا هم پیدا نکند پس Cpu باید نشانی آدرس آن اطلاعات را از طریق گذرگاه سیستم به حافظه Ram ارسال نماید. درخواست اطلاعات از Cpu باندا به تراشة کنترل کنندة حافظه میرسد.
کنترل کنندة حافظه از آدرس رسیده استفاده میکند و اطلاعات یا دستور مورد نیاز Cpu را پیدا میکند. پس از اینکه کنترل کنندة حافظه این اطلاعات را پیدا می کند آن را از طریق گذرگاه سیستم به Cpu ارسال میکند.
انجام مراحل فوق نیاز به زمان دارند. در سیستم های جدید به منظور افزایش کارایی سیستم از روشهایی استفاده می کنند تا تاخیر زمانی درخواست و دریافت اطلاعات را کاهش دهند.
سازماندهی حافظة RAM توسط کامپیوترهای شخصی
در حافظة Ram اطلاعات ( Data ) و دستوراتی ( Instructions ) ذخیره می شوند که Cpu برای اجرای عملیات به آنها نیاز دارد. می دانید که هر برنامه شامل دستوراتی است که به زبان صفر و یک ها نوشته شده ( یا ترجمه شده) اند. بنابراین در حافظة Ram نیز اطلاعات به شکل صصفرها و یک ها ذخیره می شوند. می توانید حافظة Ram را به شکل چند ردیف از مکانهای ذخیره سازی تصور نمایید.
برنامه نویسان تصور دیگری از حافظة Ram دارند.
آنها مجموعه بیت ها را در یک « لغت» ( Word) گروه بندی می کنند. به همین دلیل پردازنده هایی که از گذرگاه اطلاعات 32 بیتی استفاده می کنند در واقع از لغات 32 بیتی استفاده می کنند. پردازنده هایی که از گذرگاه اطلاعات 64 بیتی استفاده می کنند از بغات 64 بیتی استفاده می کنند. اما در پشت صحنه واقعیت این است که برنامه ها می توانند به بایت های انفرادی داخل حافظة Ram دسترسی داشته باشند. در شکل زیر نمایی از ساختار حافظة Ram را مشاهده می کنید که مکان هر بایت یک آدرس منحصربه فرد دارد. Cpu برای بازخوانی اطلاعات از حافظه Ram یا ثبت اطلاعات رد حافظة Ram باید آدرس مکانهای ذخیره سازی در این حافظه را بداند.
در فصل 12 جزییات مربوط به تبادل اطلاعات از طریق گذرگاه های کامپیوتر بین تراشه ها را می آموزید. هر گاه سیستم (System bus ) ارتباط بین حافظة Ram و Cpu را برقرار نمودده و شامل سیستم هایی است که اطلاعات بر روی آنها حرکت می کنند. تعداد بیت های موجود در گذرگاه آدرس مشخص کنندة مقدار حافظه ای هستند که کامپیوتر شخصی می تواند به آنها دسترسی داشته باشد. به عنوان مثال اگر در یک سیستم از گذرگاه آدرس 32 بیتی استفاده شود پس 232 یعنی 4 گیگابایت را می توان آدرس دهی نمود.
یا در یک سیستم که از گذرگاه آدرس 64 بیتی استفاده می شود پس 264 9551616، 737، 18446744 خانة حافظه را می توان آدرس دهی نمود.
دسته بندی | کامپیوتر و 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هایشان را تمام کنند. البته این امکان وجود دارد که یک الگوریتم آسنکرون تا حدی سنکرون شود.
یک الگوریتم قطعی است اگر هر بار که الگوریتم بر روی ورودی مشابه اجرا شود، نتیجه اجرا یکسان باشد. یعنی دستورالعملهای مشابه به ترتیب مشابه انجام شود. بنابراین اجراهای متوالی از یک الگوریتم همیشه خروجی یکسان دارد در حالیکه در الگوریتمهای غیر قطعی یک تصمیم یکسان خروجیهای متفاوتی دارد. مثلاً خروجی یک تصمیم ممکن است و البته به فاکتورهای محیطی معینی باشد که توسط الگوریتم کنترل نمیشود. از اینرو اجراهای پیدر پی یک الگوریتم غیر قطعی، خروجیهای متفاوت تولید میکند.
دسته بندی | روانشناسی و علوم تربیتی |
فرمت فایل | zip |
حجم فایل | 18 کیلو بایت |
تعداد صفحات فایل | 5 |
مقاله ای بسیار کاربردی برای والدین و دانشجویان روانشناسی...ترجمه زبان اصلی توسط روانشناس بالینی با منابع معتبر..چگونگی کنترل رفتار کودک پرخاشگر.
در این فایل فقط متن ترجمه شده وجود دارد.
دسته بندی | روانشناسی و علوم تربیتی |
فرمت فایل | zip |
حجم فایل | 13 کیلو بایت |
تعداد صفحات فایل | 3 |
تحقیق و مقاله ای بسیار کاربردی و مفید برای همه و مخصوصا دانشجویان روانشناسی..6 راز افسردگی پنهان و روانشناسی این رموز..این مقاله به زبان اصلی بوده و ترجمه اش موجود نیست..این ترجمه ترجمه ی معتبر یک روانشناس است.
در این فایل فقط متن ترجمه شده وجود دارد.
دسته بندی | پاورپوینت |
فرمت فایل | zip |
حجم فایل | 2081 کیلو بایت |
تعداد صفحات فایل | 31 |
پاورپوینتی کامل به همراه نمودارها و عکس ها و توضیحات جامع و کامل و طرحی زیبا.وِیژه ارائه درکلاس و کارعملی و تحقیقی در گرایش مهندسی مواد و متالوژی.
دسته بندی | پاورپوینت |
فرمت فایل | zip |
حجم فایل | 9488 کیلو بایت |
تعداد صفحات فایل | 89 |
تحقیقی کامل به همراه 89 اسلاید با عکس ها و نقشه های کامل و توضیحات جامع درباره ی تمام ویژگی ها روستا..شیپ.جهت باد،طرح های کلی،وضعیت اقتصادی اجتماعی وو...
دسته بندی | کامپیوتر و 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 |
حجم فایل | 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 در حال حاضر آنجا بارگذاری شده است. )
دسته بندی | برنامه نویسی |
فرمت فایل | 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 |
حجم فایل | 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 .........................................................................................