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

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

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

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

مقاله تخصصی - هوش سازمان

فرمت :WORD                                                     تعداد صفحه :21

اشاره:

 

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

 پیش به سوی:

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

در طول ۱۰ سال اخیر، اکثر سازمان ها مبالغ متنابهی در زمینه اتوماتیک کردن فرآیندهای سازمانی از طریق طراحی و پیاده سازی سیستم های اطلاعاتی هزینه کرده اند. اما اکنون توجه اصلی خود را معطوف به بهینه کردن آن فرآیندها نموده اند. مشکل اصلی اینست که در اکثر مواقع اطلاعاتی که به ما در مورد شیوه بهینه سازی فرآیندها کمک می کنند در پایین ترین لایه های سیستم های اجرایی سازمان گیر افتاده اند.مجموعه ابزارهای هوش سازمانی به سازمان ها جهت ردیابی فرآیندهای اصلی و اندازه گیری کارایی آنها کمک می کند. محیط کار ساده و بسیار محاوره ای Qlik View به همراه امکان حرکت در میان اطلاعات فقط با فشردن یک کلید ماوس، شما را قادر می سازد تا در هر لحظه معیارهای کلان سازمان را در کنار جزئیات در حد یک سطر عملیاتی مشاهده کرده و بدین وسیله مسائل و مشکلات مخفی در سیستم های عملیاتی خود را شناسایی نمایید. ابزارهای هوش سازمانی یا هوش تجاری Business Intelligenceامکان اندازه گیری، کنترل و ردگیری فرآیندهای کلیدی را به مدیران ارائه می کنند و مدیران را در تصمیم گیری یاری می نمایند.

 نرم افزارQlik View شما را قادر می سازد تا:

 ۱- بهره وری و اثربخشی فرآیندها را در سازمان خود اندازه گیری کنید.

۲- نقاط ضعف و قوت سازمان خود را شناسایی کنید.

۳- گردش اطلاعات مدیریتی را در سازمان خود روان تر کنید.

۴- اطلاعات مناسب در زمان مناسب و با سرعت مناسب در اختیار داشته باشید.

۵- فرآیندهای سودآور سازمان خود را تقویت کرده و فرآیندهای بدون توجیه اقتصادی را حذف کنید.

۶- توان رقابت سازمان خود را با سایر شرکت ها سنجیده و خود را در برابر حوادث آینده آماده سازید. باید بدانید Qlik View تجزیه و تحلیل را برای همه آسان می کند. تکنولوژی منحصر به فرد Qlik View می تواند حجم بالایی از اطلاعات را با سرعت زیاد، روی سخت افزارهای ارزان قیمت، به درون حافظه بارگذاری کرده و دستکاری نماید. این توانایی شما را قادر می سازد تا برنامه های تحلیلی و گزارش های خود را در سطح سازمان بدون در نظر گرفتن شرایط سخت افزاری توزیع کنید. با استفاده از Qlik View طراحی نصب و راه اندازی سیستم های گزارشگیری و هوش سازمانی دیگر پروژه های وقت گیر، هزینه بر، فنی و پیچیده نخواهد بود.

اما Qlik View چهار برابر سریع تر طراحی و نصب می شود، نصف قیمت نرم افزارهای مشابه است و ۲ برابر ارزش افزوده بیشتری برای سازمان ها به همراه می آورد. Qlik View باعث انقلابی در فناوری نرم افزارها و سیستم های هوش سازمانی شده است.

 سرعت در نتیجه:

سازمان ها در کمتر از ۳۰ روز و در اکثر مواقع یک هفته می توانند گزارش ها و تحلیل های خود را طراحی و استفاده کنند.

 بدون ریسک:

نسخه کاملاً عملیاتی و مجانی آن جهت استفاده سازمان ها در دسترس است.

 راحتی استفاده:

کاربران در کمتر از یک روز و در اکثر مواقع در چند ساعت می توانند از آن استفاده کنند.

انعطاف پذیری:

ابعاد نامحدود اطلاعاتی، امکانات تحلیلی و محاسباتی که ظرف چند ثانیه قابل تغییر است.

 متمرکز:

 

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

مقایسه بین جاوا و c++

فرمت :WORD                                                     تعداد صفحه :77

فهرست:

 

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

  ++C ..................................................................................................1

       تاریخچه...........................................................................................1

       ساختار برنامه ها...............................................................................1

 جاوا .....................................................................................................1 

       تاریخچه...........................................................................................1

       تکامل جاوا ......................................................................................2

      ویژگیهای زبان جاوا .............................................................................3

 ....................................................................4C++  مقایسه اجمالی جاوا و

شی ئ گرایی ........................................................................................6

دلایل استفاده از شی ئ گرایی..................................................................7

شیئ گرایی و طبیعت ..............................................................................7

تاریخچه زبان های شیئ گرا.......................................................................7

بدون شیئ گرا .......................................................................................7

Abstraction چیست؟...............................................................................8

سه اصل oop .........................................................................................9

کپسول سازی encapsulation ...................................................................9

آبجکت‌ها (Objects) ................................................................................10

وراثت  Inheritance..............................................................................11

چند شکلی( polymorphism).................................................................15

مقایسه اصل شی گرایی در ++C و جاوا..................................................17

مقایسه کپسول سازی در جاوا و  C++ ....................................................19

مقایسه چند شکلی در جاوا و C++ ......................................................20

مقایسه وراثت (inheritance)  در C++ و جاوا ...........................................21

وراثت در جاوا ......................................................................................21

دسترسی به اعضائ و وراثت .................................................................23

استفاده از Final با وراثت ......................................................................29

وراثت در C++  ...................................................................................32

مقایسه جاوا و C++                                                                     

از نظر وراثت منفرد و چندگانه ................................................................33

مقایسه کلاس ها در C++ و جاوا ..........................................................34

کلاسها در جاوا ..................................................................................34

تعریف یک کلاس در جاوا ......................................................................38

سازندگان Constructors ......................................................................39

سازندگان Constructorsدر جاوا .............................................................39

سازندگان پارامتردار شده (parameterized) .............................................41

وقتی که سازندگان فراخوانی می شوند..................................................43

استفاده از کلاسهای مجرد (abstract)....................................................44

انباشتن روشها …...........................................................................48

انباشتن سازندگان Overloading constructors.....................................52

جمع آوری زباله Garbage collection..................................................55

کلاس ها در C ++..........................................................................55

تخصص حافظه به صورت پویا با

 اشاره گرهای new  و delete در ++ c..............................................57

ایجاد یک زیرکلاس در جاوا ...............................................................58

ایجاد سلسله مراتب کلاس .............................................................59

وراثت چگونه عمل میکند؟............................................................61

واسط ها (Interface) و

 بسته­ها (Package) در جاوا .........................................................62

ایجاد یک سلسله مراتب

 چند سطحی (Multilevel)............................................................63

استثنائات توکار جاوا ....................................................................67

کتابخانه های کلاس جاوا …...........................................................69

مدل نخ در جاوا ...........................................................................69

کشف کلاس رشته ای (string)......................................................73

جمع بندی(مزایای شیئ گرایی

 در حوزه مهندسی نرم افزار).........................................................77

                                                

مقایسه زبان‌های برنامه‌نویسی C # و جاوا

فرمت :WORD                                                     تعداد صفحه :93

مقایسه زبان‌های برنامه‌نویسی C # و جاوا

 مقدمه

بسیاری از زبان‌های برنامه‌نویسی امروزی از این قرارند: C++,C ، Javad , C# , COBOL , Microsoft Visual Basic و غیره. با وجود این همه زبان، یک مهندس نرم‌افزار چگونه تصمیم می‌گیرد که کدامیک از آنها را برای یک پروژه استفاده کند. گاهی اوقات، یک زبان به این دلیل انتخاب می‌شود که تولید کنندگان یک شرکت کار با آن را دوست دارند و یا می‌شناسند، که این می‌تواند یک دلیل منطقی باشد. گاهی اوقات یک زبان به دلیل جدید بودن و فوق العاده بودنش انتخاب می‌شود، که این یک ابزار بازاریابی برای جلب نظر عمومی به یک محصول می‌باشد، و ممکن است این دلیل منطقی به نظر نرسد. در حالت ایده‌آل، یک زبان برنامه‌نویسی باید بر مبنای توانایی‌های آن جهت اجرای یک کار خاص انتخاب شود و حل یک مشکل باید تعیین کننده زبان باشد.

ما تنها به مقایسه زبان‌های C# و جاوا می‌پردازیم. برخی زبان‌ها، همچون C++ و پاسکال، نیز در این مقایسه استفاده می‌شوند، اما تنها برای کمک به اثبات انگیزه‌های بالقوه برای ایجاد زبان‌های برنامه‌نویسی جدیدتر با ویژگی‌های جدیدتر. اگر در زبان قدیمی‌تر ضعف‌هایی وجود دارد و در زبان جدیدتر این ضعف‌ها دیده نمی‌شوند و یا از نظرها پنهان شده‌اند، این مسئله می‌تواند بیانگر انگیزه معماران در انجام برخی تغییرات در زبان جدیدتر باشد. شناخت این انگیزه اغلب حائز اهمیت است،‌ چرا که در غیر اینصورت انتقاد هدف‌دار از یک زبان غیرممکن می‌شود.

مثلا، اگر ویژگی معروفی که در زبان قبلی وجود داشته از زبان جدیدتر حذف شود، یک تولید کننده برنامه کاربردی ممکن است احساس کند که زبان جدیدتر جایگزین با ارزشی برای زبان قبلی نیست، چرا که قدرت زبان قبلی را ندارد. هر چند که زبان جدیدتر ممکن است واقعا ویژگی‌های موثری را در اختیار او قرار دهد و او را از گرفتار شدن در برخی مشکلات شناخته شده حفظ نماید.

تولید جاوا به قبل C# باز می‌گردد، و C# جدای از دیگر زبان‌ها ایجاد نشد. کاملا طبیعی است که C# در برگیرنده نقاط قوت و ضعف جاوا است، درست مانند جاوا که برگرفته از Objective – C بود و آن هم برگرفته از C و به همین ترتیب.

بنابراین، C# نباید متفاوت از جاوا باشد. اگر جاوا کامل بود، دیگر دلیلی برای ایجاد C# وجود نداشت. اگر C# کامل باشد، دیگری دلیلی برای ایجاد زبان برنامه‌نویسی جدیدتر وجود ندارد. بهرحال، آینده نامشخص است، و هم اکنون C# و جاوا زبان‌های برنامه‌نویسی شی‌ءگرای خوبی هستند.

شباهت‌های بین C# و جاوا

از نقطه نظر تولید کننده برنامه کاربردی، C# و جاوا کاملا شبیه هم هستند، در این بحث به شباهت‌های اصلی این دو زبان خواهیم پرداخت.

تمامی آبجکت‌ها مرجع هستند

انواع مرجع‌ها بسیار شبیه اشاره‌گرها (pointer) در C++ هستند، به خصوص وقتی که شناسه‌ای را برای برخی نمونه‌های جدید کلاس تنظیم می‌کنید. اما هنگام دستیابی به نمونه‌های داده‌ها در C++  است که در پشته ایجاد می‌شوند. تمامی نمونه‌های کلاس با استفاده از اپراتور جدید در هیپ ایجاد می‌شوند، اما استفاده از delete مجاز نیست چرا که هر دو زبان از روش‌های garbage collection متعلق به خود استفاده می‌کنند.

Garbage Collection

طبیعتا، یاری نکردن حافظه مشکل بزرگی در زبان‌های نظیر C++ است. این فوق‌العاده است که شما بتوانید بطور پویا نمونه‌های کلاس را در زمان اجرا در هیپ ایجاد کنید، اما مدیریت حافظه می‌تواند مشکل‌ساز باشد.

C# و جاوا هر دو دارای garbage collection توکار هستند. به عبارتی برای آزادسازی حافظه دیگر نیازی به فراخوانی delete نیست. هیچ زبانی اجازه تسهیم کردن Object ای را که قابل مصرف است به شما نمی‌دهد. اما ممکن است از شما خواسته شود تا new را حتی بیشتر از آنچه که دوست دارید، فرا بخوانید. علت این مسئله آن است که در هر دو زبان تمامی Object ها در هیپ ایجاد می‌شوند، به این معنی که چنین چیزی در هر زبانی قابل قبول نیست.

 

Class BadaBing

{

           Public BadaBing   (  )

           {

           }

}

BadaBing badaBing   (  ) ;     // You can’t create

temporary data but You must use parens on

a constructor

کامپایلر پیغام کوتاهی را در این باره برای شما می‌فرستد، چرا که شما سعی می‌کنید ذخیره‌سازی موقتی را ایجاد کنید. باید این کار را انجام دهید:

BadaBing badaBing = new BadaBing  (  ) ;

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

delete BadaBoom;    // illegal in C# and

Java – the compiler will complain

تا جائیکه می‌خواهید از badaBoom استفاده کنید، سپس زمانیکه تصمیم می‌گیرید مرجع خود را به دیگری بدهید، garbage colletor شما را از دست آن خلاص می‌کند.

بسیاری از تولید کنندگان برنامه‌های کاربردی از garbage collection شکایت دارند، شاید آنها کنترل می‌خواهند. شاید با وجود این امکان احساس می‌کنند برنامه‌نویسان واقعی نیستند، چرا که نمی‌توانند Object ای را که ایجاد کرده‌اند، delete کنند. شاید داشتن یک زبان بسیار پیچیده و مستعد خطا، مالکیت کد را از جانب تولید کننده اصلی به مدت طولانی تضمین می‌کند. بدون توجه به این دلایل garbage collection دارای مزایایی است که برخی از آنها از این قرارند:

1ـ عدم یاری حافظه. این مزیت مشخصی است. هر دو روش garbage collection تضمین می‌کنند تا در برخی مواقع هنگام اجرای برنامه، تمامی آبجکت را حذف کنند، اما هیچکدام زمان آن را تضمین نمی‌کنند، جز اینکه هیچ آبجکتی حذف نمی‌گردد تا زمانی که حداقل تمام ارجاعات برنامه به آن حذف گردد. 

مهمترین نقاط آسیب پذیر یونیکس و لینوکس

فرمت :WORD                                                     تعداد صفحه :58

مهمترین نقاط آسیب پذیر یونیکس و لینوکس ( بخش اول )
سیستم عامل، یکی از عناصر چهار گانه در یک سیستم کامپیوتری است که دارای نقشی بسیار مهم و حیاتی در نحوه مدیریت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله  امنیت سیستم های عامل ، همواره از بحث های مهم در رابطه با ایمن سازی اطلاعات در یک سیستم کامپیوتری بوده که امروزه با گسترش اینترنت ، اهمیت آن مضاعف شده است . بررسی و آنالیز امنیت در سیستم های عامل می بایست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعیت های موجود ، انجام تا از یک طرف تصمیم گیرندگان مسائل استراتژیک در یک سازمان قادر به انتخاب مستند و منطقی یک سیستم عامل باشند و از طرف دیگر امکان نگهداری و پشتیبانی آن با در نظر گرفتن مجموعه تهدیدات موجود و آتی  ، بسرعت و بسادگی میسر گردد .
اکثر کرم ها و سایر حملات موفقیت آمیز در اینترنت ، بدلیل وجود نقاط آسیب پذیر در تعدادی  اندک  از سرویس های سیستم  های عامل متداول است . مهاجمان ، با فرصت طلبی خاص خود از روش  های متعددی بمنظور سوء استفاده از نقاط ضعف امنیتی شناخته شده ، استفاده نموده  و در این راستا ابزارهای  متنوع ، موثر و گسترده ای را بمنظور نیل به اهداف خود ، بخدمت می گیرند . مهاجمان ، در این رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنیتی ( حفره ها و نقاط آسیب پذیر ) خود را برطرف نکرده و بدون هیچگونه تبعیضی آنان را بعنوان هدف ، انتخاب می نمایند . مهاجمان بسادگی و بصورت مخرب ،  کرم هائی نظیر : بلستر ، اسلامر و Code Red را در شبکه  منتشر می نمایند. آگاهی از مهمترین نقاط آسیب پذیر در سیستم های  عامل ، امری ضروری است . با شناسائی و آنالیز اینگونه نقاط آسیب پذیر توسط کارشناسان امنیت اطلاعات ، سازمان ها و موسسات قادر به استفاده از مستندات علمی تدوین شده بمنظور برخورد منطقی با مشکلات موجود و ایجاد یک لایه حفاظتی مناسب می باشند.
در مجموعه مقالاتی که ارائه خواهد شد ، به بررسی مهمترین نقاط آسیب پذیر یونیکس و لینوکس خواهیم پرداخت . در این راستا ، پس از معرفی هر یک از نقاط آسیب پذیر ، علت وجود ضعف امنیتی ، سیستم های عامل در معرض تهدید ، روش های  تشخیص آسیب پذیری سیستم و نحوه مقابله و یا پیشگیری در مقابل هر یک از نقاط آسیب پذیر ، بررسی می گردد .همزمان با  ارائه مجموعه مقالات مرتبط با  یونیکس ( پنج مقاله ) ، به بررسی مهمترین نقاط آسیب پذیر در ویندوز  ، طی مقالات جداگانه ای خواهیم پرداخت .
همانگونه که اشاره گردید ، اغلب تهدیدات و حملات ، متاثر از وجود نقاط آسیب پذیر در سیستم های عامل بوده که زمینه تهاجم را برای مهاجمان فراهم می آورد .  شناسائی و آنالیز نقاط آسیب پذیر در هر یک از سیستم های عامل ، ماحصل  تلاش و پردازش دهها کارشناس امنیتی ورزیده در سطح جهان است و می بایست مدیران سیستم و شبکه در یک سازمان بسرعت با آنان آشنا و اقدامات لازم را انجام دهند.
نقاط آسیب پذیر موجود در هر سیستم عامل  که در ادامه به آنان اشاره می گردد ، سندی پویا و شامل دستورالعمل های لازم بمنظور برخورد مناسب با هر یک از نقاط آسیب پذیر و لینک هائی به سایر اطلاعات مفید و تکمیلی مرتبط با ضعف امنیتی است .

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

  • BIND Domain Name System
  • Remote Procedure Calls (RPC)
  • Apache Web Server
  • General UNIX Authentication Accounts with No Passwords or Weak Passwords
  • Clear Text Services
  • Sendmail
  • Simple Network Management Protocol (SNMP)
  • Secure Shell (SSH)
  • Misconfiguration of Enterprise Services NIS/NFS
  • Open Secure Sockets Layer (SSL)

در بخش اول این مقاله ، به بررسی BIND Domain Name System  وRemote Procedure Calls   (موارد یک و دو)  ، خواهیم پرداخت .

اولین نقطه آسیب پذیر BIND Domain Name System
 نرم افزار BIND ) Berkeley Internet Name Domain) ، در مقیاس گسترده ای و بمنظور پیاده سازی DNS)Domain Name Service) ، استفاده می گردد. BIND ، سیستمی حیاتی است که از آن بمنظور تبدیل اسامی میزبان ( نظیر : www.srco.ir ) به آدرس IP ریجستر شده ،استفاده می گردد .با توجه به استفاده وسیع از BIND  و جایگاه حیاتی آن در یک شبکه کامپیوتری ، مهاجمان آن را بعنوان یک هدف مناسب بمنظور انجام حملات ، خصوصا"  از نوع DoS)Denila Of  Service) انتخاب و حملات متنوعی را در ارتباط با آن انجام داده اند. حملات فوق،از کارافتادن سرویس DNS و عدم دستیابی به اینترنت برای سرویس های مربوطه و میزبانان را می تواند بدنبال داشته باشد. با اینکه پیاده کنندگان BIND ، تلاشی مستمر را از گذشته تا کنون بمنظور برطرف نمودن نقاط آسیب پذیر انجام داده اند ، ولی هنوز تعداد زیادی از نقاط آسیب پذیر قدیمی ، بدرستی پیکربندی نشده و سرویس دهندگان آسیب پذیر در آن باقی مانده است .
عوامل متعددی در بروز اینگونه حملات نقش دارد: عدم آگاهی لازم مدیران سیستم در خصوص ارتقاء امنیتی سیستم هائی که بر روی آنان Bind deamon  بصورت غیر ضروری  اجراء می گردد و پیکربندی نامناسب فایل ها ، نمونه هائی از عوامل فوق بوده و  می تواند زمینه  یک تهاجم از نوع DoS  ، یک Buffer Overflow و یا  بروز اشکال در DNS Cache  را بدنبال داشته باشد.از جمله مواردیکه اخیرا" در رابطه با ضعف امنیتی  BIND کشف شده است مربوط به یک تهاجم از نوع DoS است . مقاله CERT Advisory CA-2002-15  جزئیات بیشتری را در این رابطه ارائه می نماید. از دیگر حملات اخیر ، تهاجمی  از نوع Buffer Overflow است . مقاله CERT Advisory CA-2002-19  جزئیات بیشتری را در این رابطه در اختیار قرار می دهد. درتهاجم فوق ، یک مهاجم از نسخه آسیب پذیر پیاده سازی  توابع Resolver مربوط به DNS  استفاده و با ارسال پاسخ های مخرب به DNS و اجرای کد دلخواه ، امکان  سوء استفاده از نقطه آسیب پذیر فوق را فراهم و حتی دربرخی موارد می تواند زمینه بروز یک تهاجم از نوع  DoS را باعث گردد .
تهدیدی دیگر که می تواند در این رابطه وجود داشته باشد ، حضور یک سرویس دهنده BIND آسیب پذیر در شبکه است . در چنین مواردی ، مهاجمان از وضعیت فوق استفاده و از آن بمنزله مکانی جهت استقرار داده های غیر معتبر خود و بدون آگاهی مدیرسیستم استفاده می نمایند. بدین ترتیب ، مهاجمان از سرویس دهنده بعنوان پلات فرمی بمنظور فعالیت های آتی مخرب خود بهره برداری خواهند کرد .

سیستم های عامل در معرض تهدید : 
تقریبا" تمامی سیستم های عامل  یونیکس و لینوکس بهمراه یک نسخه از BIND  ارائه شده اند .در صورت پیکربندی میزبان بعنوان سرویس دهنده ، نسخه ای  از BIND بر روی آن نصب خواهد شد. 

مهمترین نقاط آسیب پذیر یونیکس و لینوکس14

فرمت :WORD                                                     تعداد صفحه :167

مقدمه

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

تمام کامپیوترها از سیستم عامل استفاده نمی نمایند. مثلا"  اجاق های مایکرویو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپیوتر بوده که از سیستم عامل استفاده نمی نمایند. در این نوع سیستم ها بدلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظیر صفحه کلید و نمایشگرهای LCD ، در اختیار سیستم گذاشته می گردند. ماهیت عملیات انجام شده در یک اجاق گاز مایکروویو بسیار محدود  و مختصر است، بنابراین همواره یک برنامه در تمام حالات و اوقات اجراء خواهد شد.

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

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

-  مدیریت منابع نرم افزاری و سخت افزاری یک سِستم کامپیوتری را برعهده دارد. پردازنده ، حافظه، فضای ذخیره سازی  نمونه هائی از منابع اشاره شده می باشند .

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

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

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

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

- سیستم عامل بلادرنگ (RTOS). از این نوع سیستم های عامل برای کنترل  ماشین آلات صنعتی ، تجهیزات علمی و سیستم های صنعتی استفاده می گردد. یک سیستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامه های کاربردی مختص کاربران می باشند.  یکی از بخش های مهم این نوع سیستم های عامل ، مدیریت منابع موجود کامپیوتری بگونه ای است که یک عملیات خاص در زمانی که می بایست ، اجراء خواهند شد. 

- تک کاربره - تک کاره . همانگونه که از عنوان این نوع سیستم های عامل مشخص است، آنها بگونه ای طراحی شده اند که قادر به مدیریت کامپیوتر بصورتی باشند که یک کاربر در هر لحظه قادر به انجام یک کار باشد. سیستم عامل Palm OS برای کامپیوترهای PDA نمونه ای مناسب از یک سیستم عامل مدرن تک کاربره و تک کاره است . 

- تک کاربره - چندکاره . اکثر سیستم های عامل استفاده شده در کامپیوترهای شخصی از این نوع می باشند. ویندوز 98 و MacOS  نمونه هائی در این زمینه بوده که امکان اجرای چندین برنامه بطور همزمان را برای یک کاربر فراهم می نمایند. مثلا" یک کاربر ویندوز 98 قادر به تایپ یک نامه با استفاده از یک واژه پرداز بوده و در همان زمان اقدام به دریافت یک فایل از اینترنت نموده و در همان وضعیت محتویات نامه الکترونیکی خود را برای چاپ بر روی چاپگر ارسال کرده باشد.

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

در اینجا لازم است که به تفاوت های موجود  سیستم های عامل " چند کاربر " و " تک کاربر"  در رابطه با امکانات شبکه ای اشاره گردد.  ویندوز 20000 و ناول قادر به حمایت از صدها و هزاران کاربر شبکه می باشند این نوع سیستم های عامل بعنوان سیستم عامل چند کاربره واقعی در نظر گرفته  نمی شوند.

در ادامه با توجه به شناخت مناسب بوجود آمده در دررابطه با انواع سیستم های عامل به عملیات و وظایف سیستم عامل اشاره می گردد.

وظایف سیستم عامل

پس از روشن نمودن کامپیوتر، لولین برنامه ای که اجراء می گردد ، مجموعه دستوراتی می باشند که در حافظه ROM ذخیره و مسئول بررسی صحت عملکرد امکانات سخت افزاری موجود می باشند. برنامه فوق (POST) ، پردازنده ، حافظه و سایر عناصر سخت افزاری را بررسی خواهد کرد . پس از بررسی موفقیت آمیز برنامه POST ، در ادامه درایوهای ( هارد ، فلاپی ) سیستم فعال خواهند شد. در اکثر کامپیوترها  ، پس از فعال شدن هارد دیسک ، اولین بخش سیستم عامل با نام Bootstrap Loader فعال خواهد شد. برنامه فوق صرفا" دارای یک وظیفه اساسی است : انتقال ( استقرار ) سیستم عامل در حافظه اصلی و امکان اجرای آن . برنامه فوق عملیات متفاوتی را بمنظور استفرار سیستم عامل در حافظه انجام خواهد داد.

سیستم عامل دارای وظایف زیر است :

*     مدیریت پردازنده

*     مدیریت حافظه

*     مدیریت دستگاهها ( ورودی و خروجی )

*     مدیریت حافظه جانبی

*     اینترفیس برنامه های کاربردی

*     رابط کاربر

وظایف شش گانه فوق ، هسته عملیات در اکثر سیستم های عامل است . در ادامه به تشریح  وظایف فوق اشاره می گردد :

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

مدیریت پردازنده دو وظیفه مهم اولیه زیر را دارد :

* ایجاد اطمینان که هر پردازه و یا برنامه به میزان مورد نیاز پردازنده را برای تحقق عملیات خود ، اختیار خواهد کرد.

*     استفاده از بیشترین سیکل های پردازنده برای انجام عملیات

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

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

موتورهای جستجو

فرمت :WORD                                                     تعداد صفحه :28

فهرست مطالب  :

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

پیشینه پژوهش .......................... 3

روش شناسی ............................. 5

یافته ها .............................. 9

امتیاز تنظیم بر اساس ارتباط .......... 10

جستجو در اینترنت ..................... 11

انواع موتورهای جستجو.................. 12

نحوه کار موتورهای جستجو .............. 13

عوامل مهم در انتخاب موتور جستجو ...... 15

دسته بندی موتور های جستجو............. 17

بررسی یک موتور جستجوی پیمایشی ........ 18

مکان و تکرار ......................... 20

عوامل خارج از صفحه ................... 21

نتیجه گیری ها ........................ 21

مهمترین موتورهای جستجو................ 24

منابع و پی نوشت ها ................... 25


مقدمه
رشد اینترنت شگفت‌آور شده است. با توجه به تحقیق میدانی در سال 1996 این رشد تصاعدی همچنان ادامه دارد. و تخمین زده شده که شبکه از نظر اندازه و حجم هر 12 تا 15 ماه دوبرابر می‌شود. بطور تقریبی 000/100 وب‌گاه در اگوست 1995 وجود داشته و این تعداد در اگوست 1996 به 041/536 رسیده است. از آنجائی که هر پایگاه می‌تواند بسیاری از صفحات وب را در خود داشته باشد این باعث می‌شود که تعداد بیشتری از صفحات وب بوجود آید. در حالیکه کیفیت بسیاری از صفحات ممکن است مورد سؤال باشد و نگهداری بسیاری از صفحات پراکنده است. اما صفحات معتبری هم وجود دارد که اطلاعات با ارزشی در مورد بسیاری از موضوعات ارائه می‌دهد. آنچه استفاده‌کنندگان به آن نیاز دارند یک سیستم جداکننده است که مو از ماست بکشد.
تلاشهای زیادی صورت گرفته که این وظیفه را آسان کند: کتابداران و متخصصان موضوعی راهنماهای موضوعی را گردآوری کرده‌اند.«اخبار کتابخانه‌های تحقیقاتی و دانشکده‌ای»1 بطور دوره‌ای راهنماهای منابع اینترنتی را در موضوعات انتخابی منتشر می‌کند. علاوه بر آن فهرستنویسان 
Intercat را (که یک فهرست آزمایشی برای اینترنت است) بوجود آورده‌اند. OCLC نیز پایگاه Netfirst را برای نمایه‌سازی منابع اینترنت با سرعنوانهای موضوعی کتابخانه کنگره و اعداد طرح دهدهی دیویی ایجاد کرده است. کتابداران مرجع یک پایگاه وب را به نام Infofilter بوجود آورده‌اند که مرور منابع اینترنتی را به اشتراک بگذارند و کتابداران رده‌بندی موضوعی را برای سازماندهی منابع اینترنت مورد آزمایش قرار داده‌اند. اما چیزی که بیشترین توجه استفاده‌کنندگان اینترنت را به خود معطوف داشته است، احتمالاً عنکبوتها و روباتهایی هستند که خدمات جستجو را انتخاب می‌کنند. برای بسیاری از جستجوگران اینترنت، این موتورها با راه دادن آنها به فضای اطلاعاتی عظیم کمک موقتی ارائه می‌دهند. کاربران اینترنت بزودی فهمیدند که این موتورها کامل و مناسب نیستند زیرا آنها منطقه جغرافیایی خاصی را پوشش می‌دهند، بصورت متفاوت نمایه‌سازی می‌شوند و منابع را با کلیدواژه‌ها بازیابی می‌کنند. استفاده‌کنندگان هرگز نمی‌توانند اعتماد کنند که یک جستجو جامع یا قطعی باشد. با وجود اینکه نتایج بازیابی ظاهراً بوسیله میزان ارتباط مرتب شده است و استفاده‌کنندگان مبارزه با ریزش کاذب مواد تکراری و نامربوط را ادامه می‌دهند. در کل پیشرفت خوبی در کمک به استفاده‌کنندگان برای جهت‌یابی در اینترنت بوجود آمده، اما این ابزارها آنقدر زیاد هستند که انتخاب صحیح یکی از آنها کار سختی است.
علاوه بر آن انتخاب موتورهای جستجوی مناسب ممکن است برای استفاده‌کنندگان عمومی و نیز کتابداران، به علت رویه‌های پیچیده، مهمتر باشد. بعنوان مثال، اینفوسیک سرویس رایگان دارد، اما سرویسهای هزینه بر، یعنی متخصصان اینفوسیک، نمایهء بزرگتر و قابلیتهای جستجوی قویتر ارائه می‌دهند.
وب کروکر یک درخواست حق عضویت دارد که زمانی آن را تحمیل می‌کند. اگر این عمل در مقابل هزینه برای خدمات یک رویه شود، لازم خواهد بود برای استفاده کنندگان و بخصوص کتابداران که بدانند کدامیک از موتورهای جستجو را باید به خدمت بگیرند.
این تحقیق تلاش کرده که کارآیی موتورهای کاوش را در آدرس دهی نیازهای اطلاعاتی ارزیابی کند. آیا آنها می‌توانند جوابهایی برای سؤالات مرجع واقعی بازیابی کنند؟ آیا آنها منابع خوبی برای سؤالات موضوعی ارائه می‌دهند؟ آنها تا چه حد نتایج جستجو را براساس میزان ارتباط مرتب می‌کنند؟ کدامیک از موتورهای جستجو بهتر عمل می‌کنند؟ جواب این سؤالات به ما کمک خواهد کرد که نقاط ضعف و قوت موتورهای کاوش را بهتر بفهمیم و ما را قادر می‌سازد که برای برطرف کردن نیازهای اطلاعاتی موتور کاوش مناسب را انتخاب کنیم.

موتورهای جستجوگر

فرمت :WORD                                                     تعداد صفحه :34

فهرست

موضوع                                                                    صفحه

 

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

 

  • موتور جستجوگر چیست و چرا اهمیت دارد؟...........................3

 

  • تعاریف.........................................................................................11

 

  • موتور جستجوگر چگونه کار می کند؟.......................................16

 

  • جستجوگر ترکیبی چیست؟......................................................24

 

  • انتخاب واژه های کلیدی............................................................26

 

  • منابع و مأخذ..............................................................................34

مقدمه

 

         رشد اینترنت شگفت آور شده است. با توجه به تحقیق میدانی در سال 1996 این رشد تصاعدی همچنان ادامه دارد. و تخمین زده شده که شبکه از نظر اندازه و حجم هر 12 تا 15 ماه دو برابر می‌شود. بطور تقریبی 000/100 وب‌گاه در اگوست 1995 وجود داشته و این تعداد در اگوست 1996 به 041/536 رسیده است. از آنجائی که هر پایگاه می‌تواند بسیاری از صفحات وب را در خود داشته باشد این باعث می‌شود که تعداد بیشتری از صفحات وب بوجود آید. در حالیکه کیفیت بسیاری از صفحات ممکن است مورد سؤال باشد و نگهداری بسیاری از صفحات پراکنده است. اما صفحات معتبری هم وجود دارد که اطلاعات با ارزشی در مورد بسیاری از موضوعات ارائه می‌دهد. آنچه استفاده‌کنندگان به آن نیاز دارند یک سیستم جداکننده است که مو را از ماست بکشد.

         تلاشهای زیادی صورت گرفته که این وظیفه را آسان کند: کتابداران و متخصصان موضوعی راهنماهای موضوعی را گردآوری کرده‌اند. «اخبار کتابخانه‌های تحقیقاتی و دانشکده‌ای» بطور دوره‌ای راهنماهای منابع اینترنتی را در موضوعات انتخابی منتشر می‌کند. علاوه بر آن فهرست نویسان Intercat را (که یک فهرست آزمایشی برای اینترنت است) بوجود آورده اند.

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

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

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

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

موتور جستجوگر چیست و چرا اهمیت دارد؟

 

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

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

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

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

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

میکرو کنترلر

فرمت :WORD                                                     تعداد صفحه :56

آموزش و مطالب کلی راجع به میکرو کنترلر

  • آشنایی با دستگاه اسیلوسکوپ
  • معرفی پورت موازی
  • میکروپروسسور به عنوان قلب یک کامپیوتر
  • مختصری بر تاریخچه ی ریزپردازنده ها
  • چرا میکروکنترلر؟
  • بررسی انواع حافظه ها
  • آشنایی با پورت سریال
  • مفهوم فرکانس ساعت پردازنده
  • همه چیز در باره بایوس کامپیوترتان

در این قسمت قصد داریم یک دوره کوتاه و ساده از کار با اساسی ترین وسایل تولید و اندازه گیری سیگنال های الکتریکی ارایه کنیم. سعی کردیم که توضیحات به زبانی ساده بیان شود .

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

1- اسیلوسکوپ (oscilloscope)

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

 2- تنظیمات پایه

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

 

a. انتخاب و ضعیت عمودی (کلید Vertical MODE در مرز مشترک قسمت 2 و 3)

بسته به این که بخواهیم از کدوم یک از ورودی های اسکوپ استفاده کنیم می تونیم کلید MODE رو تنظیم کنیم که به ترتیب از بالا به پایین اسکوپ، روی صفحه نمایش، کانال یک، کانال دو، دو موج را

همزمان و در وضعیت ADD، جمع ریاضی دو موج را نشان خواهد داد.

توجه1: بعضی از اسکوپ ها بجای کلید DUAL دو کلید دیگر به نام های ALT و CHOP دارند که هر دوی اون ها هم دو موج رو همزمان نمایش می دن اما تفاوت ALT و CHOP در اینه که ALT یک دوره تناوب از یک موج رو به طور کامل و بسیار سریع نمایش میده و بعد موج کانال دیگه رو. اما این تغییر انقدر سریع انجام میشه که ما اون رو حس نمی کنیم. اما وضعیت CHOP به صورت انتخابی بریده هایی از یک موج و بریده هایی ازیک موج دیگه رو هم زمان نشون میده که ممکنه شکل موج در فرکانس های پایین با نقطه هایی خالی نشون داده بشه.

توجه2:(MODE X-Y) در بعضی از اسکوپ ها دکمه ی تغییر وضعیت به X-Y در کنار همین دکمه های Vertical mode قرار داره و در بعضی در قسمت تریگر و برخی در قسمت های دیگه مثلا کلید MODE (نه Vertical MODE مثل چیزی که در بالا توضیح داده شد). اما چیزی که مهمه اینه که این وضعیت برای حذف بین دو کانال استفاده میشه و درواقع اونچه بر روی اسکوپ نشون داده میشه، مشخصه ی انتقالی بین دو نقطه است که محور عمودی معرف تغییرات کانال A و محور افقی نمایش تغییرات کانال B است.

b.کنترل زمان

همون طور که در شکل قسمت 1 می بینید صفحه نمایش (CRT) اسکوپ با واحدهایی مدرج شده که در مورد زمان برای پیدا کردن فرکانس موج استفاده می شه به این شکل که فرض کنیم یک موج به ورودی اسکوپ وارد شده(منبع اش می تونه مثلا یک سیگنال ژنراتور یا یک ترانس باشه که توضیح داده خواهد شد) و ما می خواهیم فرکانس اش رو پیدا کنیم. اول باید سوییچ Sweep time/Div رو به صورتی تنظیم کنیم که یک موج ثابت با حداقل یک دوره ی تناوب بر روی صفحه مشخص بشه، بعد از اون عددی رو که سوییچ روی اونه در واحد اون قسمت ضرب کنیم و به این ترتیب دوره ی تناوب یا پریود موج به دست می یاد که با معکوس کردن اون می تونیم فرکانس اش رو به دست بیاریم. مثلا فرض کنیم در مورد موج بالا اگه سوییچ time/div(بخونید تایم دیویژن) روی عدد 5 در قسمت ms باشه، نشون می ده که هر واحد افقی ما 5 میلی ثانیه رو نشون می ده و از اون جایی که موج ما در یک دوره ی تناوب در امتداد 4 خونه قرار گرفته، پس 4 تا 5 میلی ثانیه که 20 میلی ثانیه(یا 0.02 ثانیه) است دوره ی تناوب این موجه و در نتیجه فرکانس اون 0.02/1 یا پنجاه هرتزه که مثلا می تونه خروجی یه ترانس از برق شهری باشه.

c.کنترل ولتاژ یا دامنه

کنترل دامنه یا روش خوندن دامنه ی موج دقیقا مثل روش خوندن زمانه با این تفاوت که باید واحد های عمودی در Volt/Div (بخونید ولت دیویژن) ضرب بشه. مثلا در مورد موج بالا اگه بخواهیم ولتاژ P-P (پیک تو پیک یا از قله تا قله) رو اندازه بگیریم. با فرض اینکه Volt/Div بر روی عدد 1 باشه از قله تا قله ی موج ما 4 خونه رو اشغال کرده که ضربدر عدد یک، 44 ولت رو نشون میده. و این تنظیمات برای هر کانال ورودی باید به طور جداگانه انجام بشه و موج هر کانال باید بر اساس مقیاس خودش خونده بشه.

نکته ی مهم: در اکثر اسکوپ ها روی دستگیره های Time/Div و Volt/Div یه دستگیره ی کوچکتر وجود داره که برای کالیبره کردن اسکوپ استفاده میشه و ما همیشه باید قبل از تنظیم این سوییچ ها این دستگیره ی کوچکتر رو تا انتها در جهت عقربه های ساعت بچرخونیم در غیر اینصورت اندازه گیری های ما صحیح نخواهد بود.

d. انتخاب وضعیت های AC , GND , DC

این کلید سه حالته که معمولا زیر Volt/Div قرار داره به ما امکان میده که نوع خروجی مون رو انتخاب کنیم به این صورا که اگر کلید در وضعیت AC قرار داشته باشه تنها مولفه ی AC سیگنال نمایش داده خواهد شد و مقدار DC یا آفست موج ما حذف خواهد شد. وضعیت GND ورودی ما را به زمین اتصال کوتاه می کند و امکان تنظیم عمودی سطح صفر رو به ما میده. و وضعیت DC موج رو دست نخورده و بدون تغییر به ما نشون می ده که این موج مقدار شامل DC و AC خواهد بود.

توجه: همیشه در ابتدای کار باید از تنظیم بودن وضعیت صفر اسکوپ مطمئن بشیم به این ترتیب که کلید رو در حالت GND قرار داده و با دستگیره های Position خط افقی را بر روی صفر قرار دهیم. اینکار را باید برای هر کانال به طور جداگانه باید انجام دهیم و برای تغیر وضعیت از یک کانال به کانال دیگه می تونیم از کلید MODE (که توضیح داده شد) استفاده کنیم.

میکروفن

فرمت :WORD                                                     تعداد صفحه :25

میکروفن

مقدمه

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

پدیده‌های تبدیل انرژی آکوستیکی به انرژی الکتریکی

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

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

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

میکروفونهای زغالی

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

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

میکروفون خازنی

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

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

میکروکنترلها

فرمت :WORD                                                     تعداد صفحه :54

3-5 خصوصیات Atmega8L,Atmega8

* ازمعماری AVR RISC استفاده می کند.

 - کارایی بالا  توان مصرفی کم

- دارای 130 دستورالعمل با کارآیی بالا که اکثر در یک کلاک سیکل اجرا می شوند.

32*8 رجیستر کاربردی

-سرتعتی تا 16MIPS در فرکانس 16MHZ

حافظه> برنامه و داده غیر فرار

  • 8K بای ت حافظه FLASH داخلی قابل برنامه ریز ی

 پایداری حافظه FLASH و فابلیت 10000 بار نوشتن و پاک کردن(WRIT/ERASE )

1024 بایت حافظه EEPROM داخلی قابل برنامه ریزی

پایااری حافظه EEPROM قابلیت 100,000 بار نوشتن  و پاک کردن(WRITE/ERASE )

فعل برنامه FLASH  حفاظت داده EEPROM

* خصوصیات جانبی

دو تایمر – کانتر(TIMER/COUNTER ) 8 بیتی با PRESCALER مجزا و دارای نذ COMARER و CAPUTER

-  3 کانال PWM

8 کانال مد آنالوگ به دیجیتال در بسته بندی های TQFP و MLF

6 کانال با دقت 10 بیتی

2 کانال با دقت 8 بیتی

6کانال مبدل آنالوگ به دیجیتال در بسته بندیهای PDIP

4 کانال با دقت 10 بیتی

2 کانال با دقت 8 بیتی

- دارای (REAL-TIME CLOCK) یااسیلاتور مجزا

- یک مقایسه کننده آنالوگ داخلی

USART سریال قابل برنامه ریزی

WATCHDOG قابل برنامه ریزی با اسیلاتور داخلی

- ارتباط سریال SPI برای برنامه ریزی داخل مدار (IN SYSTEM PROGRAMING )

- قابلیت ارتباط سریال(SERIAL PERIPHERAL INTERFACE )SPI به صورت MASTER یا SLAVE

- قابلیت ارتباط با پروتکل سریال دو سیمه (TOW-WIRE)

* خصوصیات ویژه میکرکنترلر

POWER- ON RESET CIRCULT

- دارای 5 حالت IDEL ADC NOISE REDUCCTION, POWER- SAVE, POWER- DOWN و STANDBY )

-منابع وقفه( INTERPUT ) داخلی و خارجی

- دارای اسیلاتور RC داخلی کالبیره شده

- عملکرد کاملاً ثابت

- توان مصرفی پائین و سرعت بالا توسط تکنولوژی CMOS

* توان مصرفی در 3V, 4MHZ و 

- حالت فعال (ACTIVE MODE) 3.6 Ma

- در حالت بیکاری (IDELMODE)1.0,Ma 

- در حالت POWER- DOWN :

* ولتاژ های عملیاتی( کاری)

2.7V تا 5.5 برای (Atmega 8L )

-4.5V تا 5.5V برای (Atmega8 )

* فرکانسهای کاربری

0MHZ تا8MHZ برای(Atmega 8L )

0MHZ تا 16MHZ برای(Atmega 8)

* خطوط 1/0 و انواع بسته بندی

23 خطوط ورودی / خروجی(I/O ) قابل برنامه ریزی

28 پایه PDIP و 32 پایه TAFP و MLF

* ترکیب پایه ها

فیوز بیت های ATMEFGA8

ATMEFGA8 برای دو بایت فیوز بیت است که در دو جدول نشان داده شده ند. منطق 0  به معنای برنامه ریزی شدن و I به معنای برنامه ریزی نشدن بیت است.

RSTDISBL: در حالت پیش فرض PC6 پایه ریس ست است . با برنامه ریزی این بیت پایه PC6 به عنوان پایه I/O استفاده می شود.

 WDTON: در حالت پیش فرض WATCHDOG غیرفعال و کاربرد بایستی نرم افزاری WATCHDOGرا راه اندازی کند ولی زمان که این بیت برنامه ریزی شود WATCHDOG همیشه روشن است.

 SPINE : در حالت پیش فرض برنامه ریزی شده و میکرو از طریق سریالSPI برنامه ریزی می شود. این بیت در مد برنامه ریزی سریال قابل دسترسی نمی باشد.

CKOPT : یبت انتخابی کلاک که به صورت پیش فرض برنامه ریزی نشده است. عملکرد این بیت بستگی به بیت های CKSEL دارد که در بخش 3-14 در انتهای همین فصل آمده است.