دانلود مقاله و پروژه و پایان نامه دانشجوئی

دانلود مقاله و پروژه و پایان نامه دانشجوئی

دانلود مقاله و پروژه و پایان نامه دانشجوئی

دانلود مقاله و پروژه و پایان نامه دانشجوئی

علم کامپیوتر شبکه های کامپیوتری

چکیده:

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

  • پترولکل های ارتباطی
  •  مدل ارتباطی سیستم باز OSI  و بررسی لایه های مختلف شبکه که شامل تجزیه و تحلیل هرلایه وظایف آن در معماری لایه ای  می باشد.
  • مدلهای مختلف فیزیکی شبکه از قبیل مدل Sener base model , Peer to Peer  و Client – sener model  
  •  بررسی اجزای ارتباطی شبکه ها مانند کارت شبکه ( NIC   )، کابل های ارتباطی مانند Twisted Pair  و Coaxial  و نحوه اتصالات آنها و قطعات سخت افزاری
  • مهم مانند تکرار کننده ها ( Repeaters   )، پل ها ( bridges  )، مسیر یابها

( Routers  ) دروازه ها ( Gateways  )، سوئیچ ها ( Switch es  ) و اینکه هر کدام از این قطعات چه وظایفی دارند و در کدامیک از لایه های شبکه مورد استفاده قرار می گیرند.

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

این Sener  ها عبارت بودند از : DNS Sener , Samba Sener , HTTP Sener , Squid Sener , DHCP Sener  که در هر مورد ابتدا به کلیات و وظایف هر یک پرداختم. سپس به معرفی دستورات لازم برای کار با هر یک پرداختم و در نهایت تنظیمات هر کی را مطالعه کردم. در هر یک از این مورد سعی کردم بیشتر به جنبه های علمی قضایا نگاه کنم و از پرداختن به جزئیات تئوریک صرف حتی المقدور پرهیز کنم. لذا در جاهایی که احساس کردم توضیحات و جزئیات بیشتر صرفا جنبه تئوریک یا استفاده های بسیار خاص دارد به معرفی منابع و سایتهای اینترنتی مربوطه اکتفا کردم ولی سعی کردم نمونه هایی ازفایلهای مهمی که در تنظیمات این سرورها نقش مهمی دارند در این گزارش بیاورم.

شرح واحد صنقی :

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

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

اینجانب دوره کارآموزی خود را زیر نظر آقای مهندس بابادی نیا مدیر فنی شرکت انجام دادم.

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

و هم در پروژه های بخش IT  و شبکه با سایر اعضای شرکت همکاری می کنند و نقش مؤثری را ایفا می کنند.

 

  • دستورهای Umount , Mount  :

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

این درخت از شاخه Root  شروع می شود تا به شاخه های سیستم و کاربردو برسد.  در Linux   شاخه های مختلف  با اساسی خاص برای منظورهای مشخصی در نظر گرفته می شوند. به عنوان مثال :

ساختار فایلی با این شاخه آغاز می شود( root نامیده می شود )    /

برای نگهداری فایلهای Kemel  و Module  هایی که هنگام boot  شدن loud  می شوند.                                    Boot /

شاخه های کاربر را در بر می گیرد.                    Home  /

فایلهای واسط برای device  هایی مثل پرینتر را نگهداری می کند.            Dev  /

مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX

مقدمه

ویندوز NT نسبت به سیستمهای عامل OS/2 و UNIX و ویندوز 16 بیتی دارای برتری‌هایی است که این خصوصیات و امکاناتی که ویندوز NT دارد، با یک سیستم عامل یا بیشتر نیز قابل دسترسی است. ولی هیچ‌کدام از سیتم عاملها قابلیتهای ویندوز NT را ندارد. در این قسمت مهمترین خصوصیات NT را معرفی می‌کنیم و یکسری خصوصیات کلیدی NT را شرح می‌دهیم.

1- آدرس‌دهی 32 بیتی

در انیجا لازم است توضیحی در مورد اینکه آدرس چیست و نحوة آدرس‌دهی که میکروسافت DOS چگونه است بدهیم. آدرس کلاً محل یک بایت از اطلاعات در حافظه کامپیوتر یا Mass storage می‌گویند. آدرس بر دو نوع است. آدرس می‌تواند فیزیکی و یا می‌تواند مجازی باشد.

1-1- آدرس‌دهی فیزیکی: به بایت دادة معین در محل فیزیکی معینی از حافظه یا دیسک اشاره می‌کنند.

2-1- آدرس‌دهی مجازی: به آدرس منطقی (نرم‌افزاری) اشاره می‌کند که سیستم عامل به آدرس فیزیکی معینی اشاره می‌کند.

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

به دنبال پیشرفت مایکروسافت DOS به دلیل محدودیتهای حافظه، میکروپروسسورهایی از قبیل 8086 و 8088 شانزده بیتی که یک فضای آدرس‌دهی بیست بیتی را عرضه می‌داشتند طراحی کردند. یعنی در واقع این میکروپروسسورهای می‌توانستند یک مگابایت از حافظه را به طور فیزیکی آدرس‌دهی کنند. با توجه به این که بیست بیت به خوبی در کلمه (word) شانزده بیتی جای نمی‌گرفت مهندسین INTEL برای دستیابی به هر آدرس، طرحی به نام تقسیم حافظه ارائه دادند.

در این نوع آدرس‌دهی آمدند یک مگابایت را به 16 قسمت تقسیم کردند که هر قسمت 64 کیلوبایتی با ghunk بود. این کار بدین دلیل بود که برنامه‌نویسان اصولاً در پردازنده‌های 8 بیتی قدیمی مانند INTEL 8085 و ZILOG Z80 با آدرس‌دهی 64 kdyte آشنایی داشتند.

برای اینکه برنام‌نویسان بتوانند به هر آدرسی در داخل فضای آدرس یک مگابایتی دست پیدا کنند آدرس حافظه فیزیکی محاسبه شد. (قسمت در 16 ضرب کرده و سپس یک offset به آن اضافه می‌شود. نتیجه به بایت مورد نظر اشاره می‌کند.) بقیة پردازنده‌های 6 بیت مانند 68000 Motorola از آدرس‌دهی خطی استفاده می‌کردند که هربیت از حافظه مستقیماً و بدون استفاده از offset & segment آدرس‌دهی می‌کرد. و علاوه بر تسهیلاتی مانند MS-DOS 5.0 و windows 3.1، طراحان زیادی طرحهای خود را برای آدرس‌دهی و بیش از 640 کیلوبایت حافظه پیشنهاد کردند. می‌توان از معروفترین نمونه‌ها  QEMM QUALAS’ 386 MAو QUARTERDECK’S را نام برد.

کل این و طرحها حافظة مورد استفاده را بیش از حد 640 کیلوبایتی بسط داند، ولی مجبور کردن آنها به کار با یک موقعیت خاص PC و دنبالة درخواستها و تسهیلات نرم‌افزاری معمولاً یک هدر کردن زمان، پردازش خنثی‌کننده است. همیشه این‌طور به نظر می‌رسد که حداقل یک درخواست مهم با یکی از تسهیلات با مدیریت حافظة شما سازگار نیست.

اولین پردازنده که فضای آدرس‌دهی خطی را به کار برد و نیز با DOS سازگاری داشت INTEL 386 بودکه می‌بایست تقسیم‌بندی حافظه در کنار آن احتیاج به مدیریت شخص ثالث را حذف کرد که در واقع فضای آدرس‌دهی 32 بیتی INTEL 386 با برنامه‌ها نوشته شده برای پردازنده‌های INTEL قبلی سازگاری نداشت.

این برنامه‌های ناسازگار، DOS و تمام برنامه‌های اجرا شده تحت DOS بودند. برایایجاد سازگاری با DOS و درخواستهای آن INTEL یک طریقة دیگر آدرس‌دهی را طرح کرد بنام Real Mode .

این نوع آدرس‌دهی با سایر نرم‌افزارهای قبل سازگاری داشت ولی متذسفانه در هنگام کار با این نوع آدرس‌دهی یعنی Real moed ، 386 و (486) بیش از یک 8086 خیلی سریع عمل نمی‌کند. DOS که در مقابل محدودیتهای 8086 و 8088 نوشته شده بود، هنوز بسیار شبیه نسخه سریع حد خود در سال 1981 با تمام محدودیتهای آدرس‌دهی عمل می‌کنند.

دو طریق آدرس‌دهی حافظه:

Real Mode : یک طریقة آدرس‌دهی حافظه است که از آدرس‌دهی نوع تقسیم‌بندی حافظه یعنی همان segment & offset استفاده می‌کنند. ماننده پردازندة INTEL 8086.

‍‍‍‍‍Protected Mode : یک طریقة دیگر آدرس‌دهی حافظه که برای دستیابی به بایت حافظه به جای segment & offset از آدرس‌دهی خطی استفاده می‌کند. این نوع آدرس‌دهی مشخصات حفاظت سخت‌افزاری که windows و windows NT آن را به کار گرفته‌اند، فعال می‌کند.

windows NT برای تهیه آدرس‌دهی 32 بیتی واقعی Trune 32-bit addressing از آدرس‌دهی خطی 386 و 186 و پنتوم (INTELS586) و  همچنین  پردازنده  pisk  همچنون  Mips  و DigtalAlpha   استفاده  می کند.  قابل  ذکر است  که  دیگر  NT از  سازگار  بودن  با DOS و windos  16بیتی  صرفنظر می کند و دارای طرحی است بنام (viriul dos machine) که در این  صورت  این  امکان  را به  ویندوز NT می دهد که بتواند در خواستهای Dos و windows16 بیتی را اجرا کند (بعدا در مورد VDM صحبت خواهیم کرد ) .

شبکه های نظیر به نظیر

فهرست مطالب

عنوان                                    صفحه

چکیده

مقدمه...................................... 1

فصل اول: شبکه کامپیوتری چیست؟

1-1- شبکه کامپیوتری چیست ؟................. 3

2-1- مدل های شبکه[2] ....................... 5

3-1- اجزا ءشبکه ........................... 7

4-1- انواع شبکه از لحاظ جغرافیایی.......... 8

5-1- ریخت شناسی شبکه " Net work Topology" ]10[ ... 9

6-1- پروتکل های شبکه ...................... 14

7-1- مدل Open System Interconnection OSI"[20]......... 16

8-1- ابزارهای اتصال دهنده : " Connectivity Devices"     19

فصل دوم : مفاهیم مربوط به ارسال سیگنال و پهنای باند

1-2- مفاهیم مربوط به ارسال سیگنال و پهنای باند  25

2-2- کابل شبکه............................. 26

3-2- کارت شبکه (Network Interface Adapter).......... 33

4-2- عملکردهای اساسی کارت شبکه............. 34

5-2- نصب کارت شبکه......................... 35

6-2- تنظیمات مربوط به ویندوز برای ایجاد شبکه[49] 38

7-2- شبکه های بی سیم WirelessNetworking.......... 40

8-2- پارامترهای مؤثر در انتخاب و پیاده‌سازی یک سیستم WLAN 46

فصل سوم : آشنائی با کارت شبکه

1-3- کارت شبکه............................. 51

2-3- وظایف کارت شبکه ...................... 51

3-3- نصب کارت شبکه ........................ 54

فصل چهارم : مراحل نصب ویندوز 2003

1-4- نصب ویندوز 2003........................ 57

فصل پنجم : مبانی امنیت اطلاعات

1-5- مبانی امنیت اطلاعات  .................. 67

2-5- اهمیت امنیت اطلاعات و ایمن سازی کامپیوترها 68

3-5- داده ها و اطلاعات حساس در معرض تهدید .. 68

4-5- ویروس ها ............................. 69

5-5- برنامه های اسب تروا ( دشمنانی در لباس دوست )   69

6-5- ره گیری داده  ( استراق سمع ) ......... 71

7-5- کلاهبرداری  ( ابتدا جلب اعتماد و سپس تهاجم ) 71

8-5- نرم افزارهای آنتی ویروس .............. 72

9-5- فایروال ها ........................... 74

10-5- رمزنگاری ............................. 74

فصل ششم : مراحل اولیه ایجاد امنیت  در شبکه

1-6- مراحل اولیه ایجاد امنیت  در شبکه...... 79

2-6- شناخت شبکه موجود ..................... 81

3-6- ایجاد محدودیت در برخی از  ضمائم پست الکترونیکی 83

4-6- پایبندی به  مفهوم کمترین امتیاز  ..... 84

5-6- پروتکل SNMP)Simple Network Management Protocol) . 85

6-6- تست امنیت شبکه ....................... 86

نتیجه گیری ................................ 87

منابع و ماخذ .............................. 88

  فهرست اشکال

عنوان                                                                                                                            صفحه

شکل 1-1. شبکه نظیر به نظیر.......................... 6

شکل 2-1. سرویس دهنده / سرویس گیرنده................. 7

 شکل 3-1. توپولوژی ستاره ای......................... 10

شکل 4-1. توپولوژی حلقوی............................. 11

شکل 5-1. توپولوژی اتوبوسی........................... 12

شکل 6-1. توپولوژی توری.............................. 13

شکل 7-1. توپولوژی درختی............................. 13

شکل 8-1. لایه کاربرد................................. 18

شکل 9-1. ابزارهای اتصال دهنده....................... 19

شکل 10-1. هاب....................................... 20

شکل 11-1. شبکه ترکیبی .............................. 21

شکل 12-1. سوئیچ ها.................................. 23

شکل 1-2. ارسال سیگنال و پهنای باند.................. 25

شکل 2-2. کابل شبکه.................................. 27

شکل 3-2. کابل Coaxial................................. 27

شکل 4-2.  BNC connector................................. 28

شکل 5-2. Thin net...................................... 29

شکل 6-2. connector RJ45................................. 30

شکل 7-2. کابل CAT3‌.................................. 31

شکل 8-2. فیبر نوری ................................. 31

شکل 9-2. شبکه های بی سیم WirelessNetworking.............. 41

شکل 10-2. شبکهWLANبا یکAP((AccessPoint.................. 43

شکل 1-3. کارت شبکه ................................. 51

شکل 2-3. مادربرد.................................... 53

شکل 1-4. Recovery Console............................... 57

شکل 2-4. پنجره Partitions............................... 58

شکل 3-4. Regional and Language Options...................... 59

شکل 4-4. انتخاب مجوز ............................... 60

شکل 5-4. انتخاب پسورد .............................. 61

شکل 6-4. پنجره ضوابط و معیارهای گزینش............... 62

شکل 7-4. Date and Time Settings............................. 62

شکل 8-4. پنجره تنظیمات شبکه ........................ 63

شکل 9-4. Domain Controller & Workgroup ..................... 64

شکل 10-4. Welcoming screen.............................. 65

 

کامپیوتر (سخت افزار)

مقدمه

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

ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله،‌در سوپرمارکت ها داخل صندوق های پول و ترازوها؛ در خانه، در اجاق ها، ماشین های لباسشویی، ساعت های دارای سیستم خبردهنده و ترموستات ها؛ در وسایل سرگرمی همچون اسباب بازی ها، VCR ها، تجهیزات استریو و وسایل صوتی؛ در محل کار در ماشین های تایپ و فتوکپی؛ و در تجهیزات صنعتی مثل مته های فشاری و دستگاههای حروفچینی نوری می یابیم. در این مجموعه ها کامپیوترها وظیفه «کنترل» را در ارتباط با “دنیای واقعی” ، برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام می هند. میکروکنترلرها (برخلاف میکروکامپیوترها و ریزپردازنده ها ) اغلب در چنین کاربردهایی یافت می شوند.

با وجود این که بیش از بیست سال از تولد ریزپردازنده نمی گذرد، تصور وسایل الکترونیکی و اسباب بازیهای امروزی بدون آن کار مشکلی است. در 1971 شرکت اینتل 8080 را به عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی پس از آن، موتورولا، RCA و سپس MOS Technology و zilog  انواع مشابهی را به ترتیب به نامهای 6800 ، 1801 ، 6502 و Z80 عرضه کردند. گر چه این مدارهای مجتمع      IC) ها ) به خودی خود فایده چندانی نداشتند اما به عنوان بخشی از یک کامپیوتر تک بورد[1] (SBC) ، به جزء مرکزی فرآورده های مفیدی برای آموزش طراحی با ریزپردازنده ها تبدیل شدند.

از این SBC ها که بسرعت به آزمایشگاههای طراحی در کالج ها،‌دانشگاهها و شرکت های الکترونیک راه پیدا کردند می توان برای نمونه از D2 موتورولا، KIM-1 ساخت MOS Technology و SDK-85 متعلق به شرکت اینتل نام برد.

میکروکنترلر قطعه ای شبیه به ریزپردازنده است. در 1976 اینتل 8748 را به عنوان اولین قطعه خانواده میکروکنترلرهای MCS-48TM معرفی کرد. 8748 با 17000 ترانزیستور در یک مدار مجتمع ،‌شامل یک CPU ،‌1 کیلوبایت EPROM ، 27 پایه I/O و یک تایمر 8 بیتی بود. این IC و دیگر اعضای MCS-48TM  که پس از آن آمدند، خیلی زود به یک استاندارد صنعتی در کاربردهای کنترل گرا تبدیل شدند. جایگزین کردن اجزاء الکترومکانیکی در فرآورده هایی مثل ماشین های لباسشویی و چراغ های راهنمایی از ابتدای کار، یک کاربرد مورد توجه برای این میکروکنترلرها بودند و همین طور باقی ماندند. دیگر فرآورده هایی که در آنها می توان میکروکنترلر را یافت عبارتند از اتومبیل ها،‌تجهیزات صنعتی، وسایل سرگرمی و ابزارهای جانبی کامپیوتر(افرادی که یک IBM PC دارند کافی است به داخل صفحه کلید نگاه کنند تا مثالی از یک میکروکنترلر را در یک طراحی با کمترین اجزاء ممکن ببینند).

توان، ابعاد و پیچیدگی میکروکنترلرها با اعلام ساخت 8051 ، یعنی اولین عضو خانوادة‌میکروکنترلرهای MCS-51TM در 1980 توسط اینتل پیشرفت چشمگیری کرد. در مقایسه با 8048 این قطعه شامل بیش از 60000 ترانزیستور ، K4 بایت ROM، 128 بایت RAM ،‌32 خط I/O ، یک درگاه سریال و دو تایمر 16 بیتی است. که از لحاظ مدارات داخلی برای یک IC بسیار قابل ملاحظه است، امروزه انواع گوناگونی از این IC وجوددارند که به صورت مجازی این مشخصات را دوبرابر کرده اند. شرکت زیمنس که دومین تولید کنندة‌قطعات MCS-51TM است SAB80515 را به عنوان یک 8051 توسعه یافته در یک بستة 68 پایه با شش درگاه I/O 8 بیتی، 13 منبع وقفه، و یک مبدل آنالوگ به دیجیتال با 8 کانال ورودی عرضه کرده است. خانواده 8051 به عنوان یکی از جامعترین و قدرتمندترین میکروکنترلرهای 8 بیتی شناخته شده و جایگاهش را به عنوان یک میکروکنترلر مهم برای سالهای آینده یافته است.

این کتاب درباره خانواده میکروکنترلرهای MCS-51TM نوشته شده است فصل های بعدی معماری سخت افزار و نرم افزار خانواده MCS-51TM را معرفی می کنند و از طریق مثالهای طراحی متعدد نشان می دهند که چگونه اعضای این خانواده می توانند در طراحی های الکترونیکی با کمترین اجزاء اضافی ممکن شرکت داشته باشند.

در بخش های بعدی از طریق یک آشنایی مختصر با معماری کامپیوتر، یک واژگان کاری از اختصارات و کلمات فنی که در این زمینه متداولند (و اغلب با هم اشتباه می شوند) را ایجاد خواهیم کرد. از آنجا که بسیاری اصطلاحات در نتیجة تعصب شرکت های بزرگ و سلیقه مؤلفان مختلف دچار ابهام شده اند،‌روش کار ما در این زمینه بیشتر عملی خواهد بود تا آکادمیک. هر اصطلاح در متداولترین حالت با یک توضیح ساده معرفی شده است.

 

 

 

 

 

فصل اول

 

2-1 اصطلاحات فنی

یک کامپیوتر توسط دو ویژگی کلیدی تعریف می شود: (1) داشتن قابلیت برنامه ریزی برای کارکردن روی داده بدون مداخله انسان و (2) توانایی ذخیره و بازیابی داده . عموماً یک سیستم کامپیوتری شامل ابزارهای جانبی[2] برای ارتباط با انسان ها به علاوه برنامه هایی برای پردازش داده نیز می باشد. تجهیزات کامپیوتر و سخت افزار،‌و برنامه های آن نرم افزار نام دارند. در آغاز اجازه بدهید کار خود را با سخت افزار کامپیوتر آغاز می کنیم.

نبود جزئیات در شکل عمدی است و باعث شده تا شکل نشان دهنده کامپیوترهایی در تمامی اندازه‌ها باشد. همانطور که نشان داده شده است،یک سیستم کامپیوتری شامل یک واحد پردازش مرکزی[3] (CPU) است که ازطریق گذرگاه آدرس[4]، ‌گذرگاه داده[5] و گذرگاه کنترل[6] به حافظه قابل دستیابی تصادفی[7] RAM) وحافظه فقط خواندنی[8] (ROM) متصل می باشد. مدارهای واسطه[9] گذرگاههای سیستم را به وسایل جانبی متصل می کنند.

 


[1] - Single Board Computer

[2] - peripheral devices

[3] - central processing unit

[4] - address bus

[5] - data bus

[6] - control bus

[7] - random access memory

[8] - read-only memory

[9] - interface circuits

آشنایی با صفحه کلید و دیگر نرم افزارهای کامپیوتر

فهرست مطالب

عنوان                                           صفحه

مقدمه                                           آ

صفحه کلید                                       1

حافظه RAM                                   2

هارد دیسک                                       8

اتصال کابل                                      11

روش RLL                                      22

کنترلر SCSI                                       28

کارت گرافیک                                     31

CD درایو و کار با آن                                 56

نصب درایو در سیستم                                  62

مونتاژ کردن                                     65

کانتکتورهای مادر برد                                83

انواع مدولاسیون                                      86

متراکم سازی داده ها                                 88

نص و راه اندازی مودم                                92

خلاصه مطالب                                      95

صفحه کلید :

به عنوان میکرو کنترلی 40 پایه و پردازنده استفاده شده است.این تراشه در داخل خود           حافظهRA M  به مقدار 128بیت حافظهROM  به مقدار یک کیلو بایت دارد.سیگنال صفحه کلید به  عنوان تنها ورود  استاندارد کامپیوتر،دارای 38کلید درکامپیوتر IBM-XI              می باشد.در ساختار تمام صفحه کلیدها از  ماتریس برای تست فشار یک کلید استفاده شده است.در صفحه کلیدXT  از تراشه8048  ورودی این تراشهMH2 77/4 می باشدکه درداخل آن تقسیم برسه انجام می شود. 12ردیف و3 ستون این تراشه هر3 تا5 میلی ثانیه یک بار جاروب می شوند.هنگامی که یک کلید فشرده شد و کد جاروب آن توسط 8048 کشف شد،کد جاروب آن در حافظهRAM مربوط به 8048 ذخیره می شود.سپس از طریق یک خط سریال برای مادربرد ارسال می شود.اگر یک کلید بیش از نیم ثانیه پایین نگاه داشته شود،آنگاه در هر ثانیه 10 بار کد اسکن کلید تولید شده ودر حافظه RAMذخیره    می شود(البته این مدت زمان و تعداد آن در صفحه کلیدهای AT قابل تغییر بوده وحتی از طریق فرامین DOS نیز قابل کنترل می باشد).حافظه RAM برای16 کلید جای لازم را دارد.هنگامی که یک کلید فشرده شده،رها می شود،کد اسکن آن کلید بعلاوه 128(بیت7آن یک شد)برایCPU  فرستاده می شود،ز اینکه یک کلید و یا مجموعه ای از کلیدها فشرده می شوند.از خط خط اطلاعات(پایه شماره2کابل ارسالاطلاعات) سیگنال HIGHبمدت2/0 میلی ثانیه به خروجی فرستاده   می شود و سپس هشت بیت اطلاعات از طریق خط خروجی و پالس ساعت از طریق پایه یک به خروجی فرستاده می شود و سپس پهنای پالس هر بیت که 1/0 میلی ثانیه است جهت ارسال به بوردCPU  از طریق کابل سریال است. بعد از وصل شدن خط+5 ولت به صفحه کلید یک منطق(power on reset)POR   به مدت حداقل 300 میلی ثانیه و حداکثر 4 ثانیه بوجود می آید.بعد از آن یک برنامه تست در صفحه کلید اجرا شده وحافظهROM وRAMتست می شود.در این مرحله برای لحظه ای سه لامپ سمت راست روشن شده وسپس خاموش شده.زمان اجرای این برنامهاز600 تا900میلی ثانیه میباشد.با کامل شدن برنامه تست و آماده شدن صفحه کلید(خط پالس و اطلاعات بصورت HIGHمی شود)در صورت درست بودن یک کدAAHبرای آمادگی و سالم بودن ویا FCHجهت خطا برای واحد سیتم ارسال               می نماید.در حین کار و ارسال اطلاعات توسط صفحه کلید،فرامین زیادی بین صفحه کلید و واحد سیستم مبادله می شود که هر کدام معنی و کار خاصی انجام می دهند .

تولید کننده پالس ساعت

حافظه ROM

حافظه  RAM، بافر صفحه کلید که به صورت :first inpat first output)FIFO اولین ورودی و اولین خروجی)کار می کند.

تایمر و کانتر،(جهت شروع،پایان جاروب صفحه کلیدها).

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

تراشه8048به عنوان یک ریزپردازنده(میکروکنترلی)کارهای زیر را در صفحه کلید انجام می دهد:

اجرای یک برنامه برای تست داخلیش به هنگام روشن سیستم (POR) .                            

جاروب کردن صفحه کلید هر3تا5 میلی ثانیه.

قرار دادن کد اسکن 16 کلید در بافر مربوطه.

اجرای حالت typematic(نگهداری کلید برای تکرار).

فرستادن کد اسکن برای واحد سیستم .

سیگنال پالس فعال کننده صفحه کلید از واحد سیستم می آید(توسط 6بیت پورت 61 تراشه 8255  فعال می شود)،با فعال شدن این بیت (HIGH) ارتباط بین صفحه کلید و سیستم در هنگام روشن شدن بر قرار می شود.هنگام زدن و یا آزاد شدن یک کلید کد اسکن آن توسط 8048 برای واحد سیستم از طریق پورت 60H تراشه 8255 فرستاده می شود و سپس یک وقفه صفحه کلید در CPU رخ می دهد.CPU  از طریق پورت 60H کد فوق را خوانده و به وقفه از طریق (INTA) بیت 7پورت 60H جواب می دهد (با فرستادن یک پالس مثبت).همانطور که قبلاً اشاره شد صفحه کلیدهای XT دارای 38 کلید می باشد که از 1تا83 شماره گذاری شده اند به عنوان مثال کلید درA  دارای کد اسکن 30 و کلیدS  دارای کد اسکن 31 می باشد.هنگام رها کردن یک کلید فشرده هنگام زدن و رها کردن می باشد.با دریافت و هنگام رها کردن یک کلید فشرده شده کد اسکن آن عبارتست از کد اسکن اصلی آن +128.به عنوان مثال کدهای 30و158 مربوط به حرف،A هنگام زدن و رها کردن می باشد.با دریافت یک وقفه از صفحه کلید توسطCPU  اجرای برنامه در حال اجرا متوقف شده و سیستم به آدرس سرویس روتین وقفه 0000:0024H(4X9H)  پرش کرده     و آدرس سرویس رویتن وقفه 9H (وقفه مربوط به صفحه کلید)را بدست آورده و آنرا اجرا مــی کند. تعـــدادی از کـــارهای که بوسیله سرویس روتین صفحه کلید انجام می شود عبارتست از ( ایــن سرویس روتین در حافظه ROM می باشدو جزء وقفه های بایاس محسوب می شود) :

(1)ترجمه کدهای اسکن به کدهای اسکی.

(2)داشتن 15 کاراکتر در بافر (مستقل از 16 کد اسکن موجود در بافر صفحه کلید).

(3)انجام عمل کرد کلید CAPS LOCK در هنگام فشردن آن.

بررسی: MANAGEMENT INPUT/ OUTPUT

یکی از عملکردهای بسیار مهم و اصلی سیستم عامل کنترل و مدیریت دستگاههای ورودی/ خروجی (I/O) در کامپیوتر است. سیستم عامل باید فرمانهایی را به این دستگاهها بفرستد، وقفه ها را بگیرد و خطاها را اداره کند. و همچنین باید یک رابط بین دستگاهها و بقیه سیستم به منظور استفاده ساده تر از آنها فراهم نماید.

اصول سخت افزاری I/O

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

1- دستگاههای بلوکی BLOCK DEVICE

2- دستگاههای کارکتری CHARACTER DEVICE

یک دستگاه بلوکی وسیله ای است که اطلاعات را در یک بلوک با اندازه معین ذخیره می کند که هر کدام با آدرس خودشان مشخص شده اند. حدود اندازه بلوک‌های معمولی از 512 بایت تا 32768 بایت می باشند خاصیت اساسی یک دستگاه بلوکی این است که خواندن و نوشتن هر بلوک را بطور مستقل از بقیه ممکن می سازد دیسکها از متداولترین دستگاههای بلوکی هستند.

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

1- قابل خواندن توسط انسان:

مناسب برای ارتباط با کاربر، مانند پایانه های نمایش دهنده تصویر، صفحه کلید و

2- خواندن توسط ماشین:

مناسب برای ارتباط با وسائل الکترونیکی، مانند گردانندهای دیسک و نوار، حس کننده‌ها، کنترل کننده ها و محرکها.

3- ارتباطات:

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

نرخ انتقال، کاربرد، پیچیدگی کنترل، واحد انتقال، نمایش داده ها، شرایط خطا.

سازمان عمل ورودی/ خروجی

الف) ورودی/ خروجی برنامه ریزی شده: پردازنده یک فرمان ورودی/ خروجی را از جانب فرایندی به یک مولفه ورودی/ خروجی صادر می کند. سپس آن فرایند قبل از ادامه، تا کامل شدن عمل ورودی/ خروجی به انتظار می ماند.

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

بانک اطلاعاتی Access 2005

بخش اول) آشنایی با نرم افزار مورد استفاده

نرم افزار از دبیرخانه تحت بانک اطلاعاتیAccess 2005 تهیه و تدوین گردیده فلذا برآن شدیم به دلیل توضیح کامل در خصوص نرم افزار استفاده شده جهت این برنامه را از فصل اول کتاب خودآموز جامع مایکروسافتAccess 2003 استفاده نماییم.

اگر با کامپیوترهای شخصی زیاد کار می کنید، بی تردید از واژه پردازها یا برنامه های کاربردی صفحه گسترده در کارهای خود استفاده می نمایید و احتمالاً استفاده از واژه پردازها را از زمانی که محصولات مبتنی بر کاراکتر تحتMS-DOS به کار برده می‌شوند شروع کرده و به تدریج آنها را به واژه پردازهایی که تحت سیستم عامل ویندوز اجرا می‌شوند ارتقاء داده اید. و نیز احتمال می رود که اکنون از مزیت داشتن بعضی نرم افزارهای بانک اطلاعاتی، یا به منزله جزئی از بسته های مجتمع سازی نشده مانند Microsoft Works یا به صورت یک برنامه جداگانه برخوردار هستید.

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

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

بانک اطلاعاتی چیست؟

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

اگر کار شما کاملاً سازماندهی شده باشد، می توانید صدها کاربرگ یا میانبر را با استفاده از پوشه ها و زیرپوشه ها اداره کنید. هنگام انجام این کار، «شما» مدیر بانک اطلاعاتی محسوب می شوید. ولی اگر به اشکال بزرگی برخوردید چه باید کرد؟

چگونه می توان اطلاعات مربوط به مشتریان متعدد را که در اسناد و پرونده های کاربرگ های گوناگون درج شده اند جمع آوری کرد و به آنها دسترسی داشت؟ چگونه می توان با وارد کردن اطلاعات جدید همین اطلاعات رابطه برقرار نمود؟ چگونه می‌توان مطمئن شد که اطلاعات وارد شده صحیح می باشند؟ چگونه می توان اطلاعات را با دیگرانبه اشتراک گذاشت، ولی به آنان اجازه تغییر آنها را نداد؟ برای انجام این کارها، به یک سیستم مدیریت اطلاعات یا DataBase Management System (DBMS) نیاز دارید.

بانک های اطلاعاتی رابطه ای

تقریباً کلیه سیستم های جدید مدیریت بانک اطلاعاتی، اطلاعات را با استفاده از الگوی مدیریت رابطه ای بانک اطلاعاتی، ذخیره و اداره می کنند. در یک سیستم مدیریت رابطه‌‌ای بانک اطلاعاتی که به RDBMS معروف می باشد، سیستم کلیه اطلاعات را از طریق جدول کنترل می کند. در جدول هایی (Tables) که حتی یک عنوان مثل نام مشتری یا محصول ذخیره می شوند، هر جدول دارای ستون ها(Columns) یا فیلدها(Filds) می باشد که هر ستون حاوی اطلاعات مختلفی درباره موضوع (مثل نشانی مشتری یا شماره های تلفن) می باشد. و نیز یک جدول دارای ردیف ها(Rows) (یا رکوردها(Crecords) است که کلیه مشخصه های یک نمونه از موضوع (مثل اطلاعات درباره یک محصول یا یک مشتری خاص) در آنها ثبت می شوند. ولی هنگامی که از یک بانک اطلاعاتی پرس و جویی(Query) می کنید (آوردن اطلاعات از یک یا چند جدول) همیشه نتیجه شبیه جدول دیگری به نظر خواهد رسید.

مقدمات داده پردازی

تعریف داده(Data)

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

اینها داده های مرتبط با شما هستندوشما را از دیگران متمایز ومجزا می کنند؛ به شما سود می رسانند؛

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

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

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

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

داده ها با هم ارتباط دارند.

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

 

 

داده های نامرتب کاربرد ندارند.

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

داده ها چگونه مرتب میشوند؟

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

حال،برای هر کتاب اطلاعات مرتبط با آن را در یک سطر این جدول می نویسید:

نام کتاب

نام نویسنده

نام مترجم

نام ناشر

تعداد صفحات

شناسایی وشکار جاسوس

پیتر رایت

محسن اشراقی

مؤسسه اطلاعات

608

ساعت سرمستی

هیوبرت ریوز

دکتر سهامی

نشر قطره

339

 

البته می توان این جدول را به هر شکل دیگری تهیه کرد و درباره ی هر کتاب اطلاعات دیگری مانند نوبت چاپ،شماره ی شناسایی کتاب ورا نیز در جدول وارد کرد.مهم،اطلاعاتی ست که شما درباره ی هر کتاب مفید و لازم می دانید و داده های شما  به شمار می آیند.این جدول،داده های شما را مرتب می کند.به این جدول داده ها(Data Table)می گویند.

 

جستجو در جدول داده ها

گفتیم که مرتب کردن اطلاعات ، جستجو در آن را آسان می کند فرض کنید که جدولی از کتاب های موجود در خانه یا دانشگاه خود را تهیه کرده اید واینک می خواهید بدانید که مثلا کدامیک در سال 1371چاپ شده است.

در این صورت، به شکل زیر عمل می کنید:

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

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

مه های میکروسافت آفیس(MicrosaftOffice)نام دارد و مجموعه ای از چند برنامه ی ک

اربردی برای ماشینی کردن دفاتر کار است.

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

تعریف پایگاه داده ها

گفتیم که یکی از روشهای آسان اداره ی داده ها،ایجاد جدول مرتبی از آنهاست که به آن جدول داده ها (DataTable)می گویند.

برنامه ی اکسس،دو یا چند جدول داده را،پایگاه داده ها (Database)می نامدو می تواند آن رابه خوبی اداره کند.برنامه ای را که می تواند یک پایگاه داده ها را اداره کند،برنامه ی مدیریت پایگاه داده ها(Database Management Program)می گویند.اکسس،یک برنامه ی مدیریت پایگاه داده هاست.به مجموعه ای از جدولهای داده ها،پایگاه داده ها می گویند.

تعریف فیلد(Field)و رکورد(Record)

همان طور که قبلا گفتیم،اکسس با جدول های داده ها کار می کنیم.هر جدول،از تعدادی سطرو ستون تشکیل شده است.اکسس به هر یک از ستون ها،یک فیلد،(Field) میگویند.بنابراین،جدول کتابخانه ی ما در مثال قبلی 6فیلد دارد.همچنین اکسس،هر سطر جدول داده ها را نیز یک رکورد می خواند.

در همان جدول کتابخانه ها،در مثال قبلی ،شما سه رکوردرا می بینید.به این ترتیب، هر رکورددر آن

داده ها را نیز یک رکورد(Record)می خواند.در همان جدول کتابخانه ها،در مثال قبلی،شما سه رکورد را می بینید.به این ترتیب،هر رکورد در آن جدول شامل شش فیلد است.درک مفهوم فیلدو رکورد در کار با اکسس بسیار مهم است،اما پس از مقداری تمرین،به راحتی آن را فرا گرفته،به کار گفتیم که هر پایگاه داده،از تعدادی جدول تشکیل می شود.حال ببینیم چرا چند جدول رادر یک پایگاه داده ها می گذارند؟و این کار چه مزیتی دارد؟به مثال زیر توجه کنید:

 

  

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

 

برای این کار،باید در هر یک از جدول های یک فیلد مشترک پیدا کنید.یعنی فیلدی که هم در این جدول و هم در آن جدول موجود باشد.بعد:

1ـاطلاعات را از جدول اول برمی دارید و به فیلد مشترک نگاه می کنیدوداده ی موجود در آن،مثلا نام خانوادگی یا شماره ی شناسنامه را جایی یادداشت می کنید.

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

مقدمه

طبق آمار سایت Global Videogame Market سهم 7 میلیون دلاری بازی های همراه از بازار 28 میلیارد دلاری بازی های رایانه در سال 2001 ( که تقریباً معادل 025/0درصد است) به سهم 6/3میلیارد دلاری از بازار 30 میلیارد دلاری بازی های رایانه ای در سال 2006 افزایش یافته است. یعنی تنها در عرض 6 سال این بازار رشدی 500 درصدی داشته است. ارقام وقتی حیرت آورتر می شود که پیش بینی کاربران بازی های همراه را هم با یکدیگر مقایسه کنیم. در سال 2002 تنها 7 میلیون کاربر تلفن همراه از بازی های همراه استقبال می کرده اند. IDC پیش بینی کرده است که این آمار در سال 2007 به 2/71 میلیون کاربر بالغ خواهد شد. یعنی تعداد علاقه مندان به این بازی ها در عرض ای مدت ده برابر شده است.

اکنون میکرو سافت نسخة Windows CE خودش را که بسیار شبیه به Windows XP را ارائه کرده است. RedHat هم لینوکس کوچولوی خود را ارائه داده است. و البته همه و همة اینها برای تلفن های همراه پیشرفته تر است. آنهایی که به سری 60 به بالا معروف هستند از چنین سیستم عامل هایی سود می برند. برای دستگاههای همراه کوچکتر هر سازنده ای سیستم عامل خاص خودش را دارد که الزاماً نرم افزارهای آزادی هم نیستند.

 برای نوشتن نرم افزار برای این دستگاه های کوچک و جیبی هم مناقشه ها بسیار است. سان جعبه ابزار بی سیم خودش را دارد که بسیار هم به آن می نازد. یک عیب کوچک هم دارد و آن اینکه IDE مناسبی ندارد و شما باید از دیگر ویرایشگرهای جاوا سود ببرید که با نصب ابزارهایی برای نوشتن MIDlet مجهز می شوند. میکروسافت هم در نسخ جدید Visual Studio خود هم امکان را عرضه داشته است. اولی را رایگان و تحت لیسانس کاربری عمومی سان[1]می توانید از اینترنت بگیرید و دومی را قفل شکسته به هر قیمتی که خواستید در گیشه هر بقالی در هر کجا یافته می شود.

جنگ IDE ها هم بسیار است. Eclipse  , Net Beans هر دو به اصطلاح نرم افزارهای آزاد هستند و رقبای سرسخت. بورلند هم از قافله عقب نیفتاده است و میکروسافت می کوشد بازار از دست رفته را مثل همه جای دیگر دوباره قبضه کند. اما در میان همة اینها هستند کسانی که با لذت و شعف از Programmers Notepad تعریف می کنند. ابزارهایی را به این نرم افزار کوچولوی آزاد می افزایند و آن را تبدیل به سریع ترین IDE می کنند.

Linux

آدرس سایت: http:// www. Linux. Org/

یکی از قویی ترین سیستم عامل ها، لینوکس است این سیستم عامل نهضت نرم افزارهای باز[2] را هدایت می کند و سکوپی قوی را برای سرورها،‌کامپیوترهای رومیزی و اخیراً کامپیوترهای جیبی فراهم کرده است. لینوکس به طور گسترده ای توسط سانده های سخت افزارها و کمپانی های نرم افزاری بزرگ مانند ( IBM, Novell, HP….) پشتیبانی می شود. البته این سیستم عامل به طور گسترده پذیرفته نشده و برای بازاریابی های گسترده مناسب نمی باشد. زبان های برنامه نویسی مانند ASM, C, C ++, python , Java  بر روی این سیستم عامل پشتیبانی می شود اکثر نرم افزارهای موجود برای این سیستم عامل به صورت OpenSource بوده و کاملاً رایگان می توانید آنها را دریافت کنید.

این سیستم بر روی گوشی های زیر موجود است:

  •  Motorola A 760
  •  A 780 Motorola
  •  E 680I Motorola
  •  E 895 Motorola
  •  E2 E2800
  •  NEC N900il
  •  NEC N901is
  •  Panasonic P 700I
  •  Panasonic P901is
  •  TCL e787

زبان های برنامه نویسی موبایل

 در ادامه چند مورد از زبان های برنامه نویسی که در بالا اشاره شد را به طور مختصر توضیح می دهیم.

 J2ME

اولین نسخه پلاتفرم جاوا (Java 2 Standard Edition) J2SE بود. که به این منظور به وجو آمد تا برنامه نوشته شده به محیط اجرایی وابستگی نداشته باشد. چون بقیه زبان ها به کدهای ماشین ترجمه می شدند و این کدها به سخت افزار مربوطه وابستگی داشتند و امکان اجرای آنها در سیستم دیگری نبود ولی برنامه های جاوا به یک سری کد واسط تبدیل می شدند و در پایان در سیستم هدف به کدهای ماشین ترجمه می گردیدند.

مدتی بعد (Java 2 Enterprise  Edition) J2EE به بازار عرضه شد و برای وسایلی که دارای حافظه کمی بودند نسخه دیگری نیز به نام (Java 2 Micro Edition) J2ME وارد بازار شد که برای وسایلی مانند موبایل ها که دارای حافظه کمتری بودند نسخه بسیار مناسبی بود.

 


[1] - SPL

[2] - Open Source

پیچیدگی در نرم افزار

پیچیدگی در نرم افزار

بدلیل تفاوت ذاتی بین نرم افزار و سخت افزار پیچیدگی خاصی در ابعاد مختلف از جمله تعریف نرم افزار، طراحی و پیاده‌سازی، تست و نگهداری آن وجود دارد که:

با پیچیدگی سیستم‌های طبیعی و محصولات فیزیکی ساخت است بشر متفاوت است.

یک خاصیت ذاتی سیستمهای نرم افزاری بزرگ

بنابراین نمی‌توان این پیچیدگی را از بین برد بلکه باید آنرا کنترل نمود.

انواع پیچیدگی:

intelleictually intractivility (تمردپذیری و اجازه پذیرفتن برای آشفتگی):

پیچیدگی بطور ذاتی در ساخت سیستم وجود دارد، پیچیدگی ممکن است از بزرگی سیستم ، یا از واسینگیها، بدعت‌ها و پیاده‌سازی تکنولوژی و . . . بوجود آید.

Management intractivility (تمرد پذیری مدیریتی):

پیچیدگی در سازمان و فرآیند بکار گرفته شده در ساخت سیستم، ممکن است از اندازة پروژه (تعداد افردی که در تمام جهات ساخت سیستم درگیر هستند)، وابستگیهای پروژه، فاصله جغرافیایی سیستمها و . . .  بعبارتی عوامل تولید کننده نرم افزار غیر قابل کنترل هستند چون سازمان، افراد و فرآیند هستند و ماشین نیستند که کنترل شوند و سرمایه‌های اولیه برای تولید نرم افزار الزاماً ماشین، سرمایه و پول نیست بلکه یکسری عوامل انسانی متغیری هستند که تحت مدیریت قرار می‌گیرند.

راهکارهای معماری

حق مشکل I : معماری نرم افزری می‌بایست سیستم را قابل هضم و بطور هوشمند قابل مدیریت بوسیله مهیا کردن تجریدی که بدون نیاز به جزئیات، مهیا کننده مفاهیم ساده و یکسان باشند تجزیه سیستم و . . . 

حل مشکل IF : معماری نرم افزاری نمی‌بایست توسعه سیستم را آسانتر برای مدیریت بوسیله ارتقای ارتباطات، مهیا کرن بهتر با جدا کردن کار با کاهش زیاد وابستگیهای قابل مدیریت و غیره.

اما مسائل جدید پیدا شده مرتبط با تجزیه سیستم برای حل پیچیدگی بایست توسط معماری بررسی شوند.

چگونه سیستم را به قطعات بشکنیم، یک تجزیه خوب اصل از بین رفتن کوپلاژ بین مؤلفه‌ها (یا قطعات) را بوسیله واسطهای واضح و توانمند، ساده کردن بوسیله تقسیم به قطعات منتقل قابل استدلال که دوباره می‌توانند جدا شوند، ارضا می‌کند.

آیا تمام قطعات مورد نیاز را داریم ساختار می‌بایست وظیفه مندی و یا سرویس‌های مورد نیاز سیستم را پشتیبانی کند بنابراین رفتار دینامیکی سیستم زمان طراحی معماری می‌بایست بحساب آید. همینطور می‌بایست زیربنای ضروری برای پشتیبانی این سرویس‌ها را داشته باشیم.

آیا این قطعات با هم بدرسیت کار می‌کنند؟ این موضوع واسط و رابطه‌های بین قطعات می‌باشد. اما تطابق خوبی که جامعیت سیستم را مدیریت می کند و همچنین با شرایط سیستم کار کند زمانیکه این قطعات ترکیب می‌شود خصوصیات خوب داشته باشند. مورد لزوم است.

شکل  زیر وسعت تصمیم و تأثیرات مستقیم را معین می‌کند. بخشیی از تصمیمات در حوزه محدود به توسعه‌های محلی (Local) است و اثری روی معماری ندارد و در سطح تک تک مؤلفه‌ها است و از نوع غیر معماری می‌باشد.

بخش دیگر Local نیست ولی تأثیر زیادی ندارد. از خود تقسیم‌بندی سیستماتیک و Local می‌باشد. خود سیستماتیک شامل Highimpaet می‌باشد که ما بدنبال Highimpnet می‌باشیم (اولویت بالا برای ما مهم است).

تأثیر زیاد

(اولویت بالا، مهم برای حرفه‌ها

تمرکز تصمیمات معماری

تأثیر کم

 غیرمعماری                   سیستماتیک

بطور کلی غیر معماری( ممکن است مجموعه‌ای از سیایت و خطوط راهبردی معماری نیاز باشد)

غیرمعماری                   سیستماتیک

و بدلیل اینکه تصمیمات معماری روی جنبه‌های مختلفی از جمله 1- Sysstempriority (قراردادهای اولویت: مثلاً آیا Perdormance اولویت بیشتری دارد یا Security):

2- تجزیه و ترکیب سیستم 3- مسائل مربوط به راههای میامنبر 4- جامعیت سیم، . . . اثر می‌گذارد، نباید سیستمهای عاری از لایه‌های مختلف تجرید رخ دهد. که متمرکز اصلی بر روی عناصر ساختاری سیستم را خصوصیات قابل روئیت از بیرون و روابط ما بین آنها می‌باشد.

مدل لایه‌بندی و تصمیمات معماری:

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

1- سطح بالاتر از معماری (Meta- Architecture): dictionary معماری می‌باشد مجموعه‌ای از تصمیمات  سطح بالا است که ساختاری، تجزیه و مجموعه‌ای از تصمیمات سطح بالا را شامل می‌شود. دورنمای معماری ، اصول- لیک‌ها- مفاهیم کلیدی و مکانیزمها را شامل می‌شود.

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

2- سطح معماری: ساختار و رفتار، دیده‌های دینامیکل و استارستکی، فرضیات و منطبق را شامل می‌شود.

بر روی تجزیه و انتسایب وظایف، طراحی واسط ، انتساب فرآیندها و نخ‌ها تمرکز دارد. خود شامل سه سطح 1- معماری ادراکی 2- معماری منطقی 3- معماری اجرا می‌باشد.