اخبار کامپیوتر

MOHAMMAD-- N

عضو جدید
ویکی و توصیه در نتایج گوگل

ویکی و توصیه در نتایج گوگل



گوگل ویژگی جدیدی رای برای نمایش نتایج جستجو ارایه کرده است که به کاربران اجازه می دهد نقطه نظراتشان را در مورد لینک‌ها اضافه کنند.
این ویژگی جدید که عنوان SearchWiki را بخود گرفته است ، نشان می دهد که چطور عمل جستجو روز به روز پویاتر می‌شود و بگفته گوگل با قرار دادن ابزار در اختیار کاربران، این جستجو مفیدتر هم می شود.
آنتونی هاوس سخنگوی گوگل اعلام کرده است که کاربرانی که یک سایت را بطور مکرر مورد جستجو قرار می دهند می‌توانند سایت مذکور را از بقیه سایتهائی که علاقه زیادی به بازدید از آن ندارند جدا کنند.
بگفته هاوس، کاربران همچنین می توانند در صفحه نتایج، توضیحاتی را وارد کنند. درصورتیکه کاربر بدنبال یافتن سایتی جهت کسب اطلاعات در مورد اتومبیل باشد، می تواند بهنگام پیدا کردن سایت مربوطه ، توضیحاتی را در آن وارد نماید تا با هر بار نمایش سایت بیاد آورد که سایت مذکور چه اطلاعات جالبی درمورد مثلا اتومبیلهای چند تباره دارد.
کاربران دیگر نیز همواره به این توضیحات دسترسی دارند و توضیحات مربوطه توسط نام کاربری یک نفر به امضاء می رسد. با ای‌نوجود، آندسته از نتایج جستجوهای انجام شده که برای بار دوم تنظیم شده اند، تنها توسط کاربری که با وارد کردن نام و کلمه رمز خود وارد سایت شده است قابل رویت میباشد و تاثیری بر روی نتایج جستجوی کاربران دیگر ندارد.
درعین حال گزینه ای وجود دارد که روند جستجوی افراد دیگر را نشان می دهد. با کلیک بر روی عبارت "see all notes for this SearchWiki" که در انتهای صفحه وب قراردارد، می توان به این گزینه دسترسی پیدا کرد.
بگفته هاوس، برای استفاده از لینک SearchWiki باید کاربر گوگل بوده و دارای نام کاربری و کلمه عبور باشید و تغییرات بوجود آمده در اکانت گوگل کاربر ذخیره می شود.
در صورتیکه کاربری بخاطر نیاورد که آیا با وارد کردن نام کاربری و کلمه عبور وارد گوگل شده است یانه، می تواند به قسمت بالای صفحه وب از سمت راست نگاه کرده و ببیند نام کاربری او در آنجا درج شده است یا نه.
کاربران می توانند با کلیک بر روی عبارت " see all my SearchWiki" همه تغییراتی که ایجاد کرده‌اند ردیابی کنند. همچنین کاربران می توانند اصلاحات یا نظریات وارد شده را حذف کرده و به همان وضعیت عادی و معمول جستجوی نتایج بازگردند.
نکته دیگری که به نتایج گوگل اضافه شده‌است، ارزش‌گذاری نسبت به لینک‌های نتایج نمایش داده شده است. کاربران می‌توانند با استفاده از گزینه‌های توصیه (ارتقا) و کاهش ارزش، نظرات خود را در مورد سایت‌ها به صورت نمادی از ارزشمندبودن سایت ثبت کنند.:w10:

مایکل ریکناس، IDG
 

Rama Shakiba

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

یک ترفند برای خلاص شدن از دست پنجره های هنگ کرده

خیلی وقت ها پیش می آید که در هنگام کار کردن با یک برنامه ی سنگین یا در حین مرور صفحات اینترنت یا ... پنجره ی یک برنامه یا حتی My Computer را باز می کنیم ولی صفحه هنگ می کند اولین کاری که در این مواقع انجام می دهیم این است که Task Manager را باز کرده برنامه را End می کنیم ولی بسیاری از مواقع این کار هم نتیجه نمی دهد. روشی را که در ادامه خواهم به صورت کاملا تجربی پیدا کردم و همیشه هم جواب داده است. در این مواقع بعد از End کردن برنامه باید به تب Processes رفته و پروسه یی با نام dumprep.exeرا یافته آن را End کنید و پنجره یی را که نمایش داده می شود را OK کنید ، بلافاصله شاهد بسته شدن پنجره یا برنامه ی هنگ کرده خواهید بود.همین. یا علی.
 

secret_f

عضو جدید
کاربر ممتاز
ششمين دوره مسابقه برنامه نويسي اينترنتي ايران روز پنج‌شنبه با شركت 140 تيم از سراسر كشور برگزار شد.
دكتر محمد قدسي ــ عضو هيات علمي دانشگاه صنعتي شريف و سرپرست برگزاري مسابقات منطقه‌يي برنامه‌نويسي دانشجويي (ACM) در ايران ــ با اعلام اين مطلب به خبرنگار «علمي» خبرگزاري دانشجويان ايران (ايسنا) گفت: اين مسابقه روز پنج‌شنبه به مدت پنج ساعت به صورت اينترنتي برگزار شد كه از بين 230 تيم ثبت‌نام كننده از 70 دانشگاه و موسسه آموزش عالي و چند دبيرستان حدود 140 تيم موفق به شركت در آن شدند. هدف از اين مسابقه آزمايشي كمك به دانشگاه‌هاي مختلف براي انتخاب تيم‌هاي برترشان براي شركت در دهمين مسابقه منطقه‌يي برنامه نويسي دانشجويي ACM بود كه ششم دي ماه به ميزباني دانشگاه صنعتي شريف برگزار مي‌شود.
وي تصريح كرد: سه تيم برگزيده دهمين مسابقه منطقه‌يي برنامه نويسي دانشجويي - از سه دانشگاه مختلف - به سي و سومين دوره مسابقات جهاني برنامه‌نويسي دانشجويي كه فروردين ماه 88 در استكهلم سوئد برگزار مي‌شود، اعزام خواهند شد.
دكتر قدسي درباره نحوه برگزاري مسابقه آزمايشي برنامه نويسي اينترنتي گفت: در اين مسابقه 10 مساله براي تيم‌ها مطرح شد كه هر يك از تيم‌ها كه سه نفره بودند پس از حل مساله، پاسخ را به سيستم داوري ارسال كردند كه به طور خودكار تصحيح شد كه تيم برتر توانست ظرف مدت تعيين شده به 9 مساله پاسخ دهد.
سرپرست برگزاري مسابقات منطقه‌يي برنامه نويسي دانشجويي (ACM) در ايران خاطرنشان كرد: سيستم برگزاري خودكار مسابقه برنامه نويسي اينترنتي توسط دانشجويان دانشكده مهندسي كامپيوتر دانشگاه صنعتي شريف طراحي و اجرا شده است.
 

russell

مدیر بازنشسته
اقدامات IBM و HP برای کاهش مصرف کاغذ در سازمان‌ها

منبع: systemgroup.net


رقابت شرکت‌ها با يکديگر در يک زمينه به‌خصوص معمولا به نتايج خوب ختم مي‌شود و توليد محصولات بهتر را به‌همراه دارد. هم‌اکنون دو شرکت IBM و Hewlett-Packard در حوزه فناوري مديريت اسناد سازماني و توليد فناوري‌هاي سبز در اين زمينه اقداماتي را انجام داده و با يکديگر رقابت‌هاي خود را آغاز کرده‌اند. به پيش‌بيني کارشناسان، کاهش مصرف کاغذ در شرکت‌ها يکي از موارد مورد توجه آن‌ها در سال 2009 خواهد بود که شرکت‌هاي IBM و HP نيز در اين زمينه فعاليت‌هايي را انجام داده‌اند.

شرکت HP فناوري جديدي را با نام Green IT Action Plan ارايه کرده است که بر پايه فناوري‌هاي چاپ و عکس‌برداري اين شرکت توليد شده است تا به نيازهاي سازماني پاسخ گويد. از جمله فناوري‌هايي که در اين زمينه ارايه شده است، مي‌توان به موارد زير اشاره کرد:
•سري جديد ابزارهاي Software Capture and Workflow و نرم‌افزار Perceptive Software. اين دو شرکت با تکميل چاپگرهاي چندکاربردي HP با فناوري Perceptive ImageNow Interact، به کاربران امکان مي‌دهد اسناد خود را اسکن و سازماندهي کنند.
•فناوري جديد HP و ReadSoft که به شرکت‌ها کمک مي‌کند فعاليت‌هاي کاغذي خود را به فرآيند‌هاي الکترونيکي تبديل کنند.
•فناوري HP Automated Invoice Processing Solution براي کارخانه‌ها که بر اساس
آن، مراکز توليدي و کارخانجات مي‌توانند اسناد و مدارک ارسال و تاييد شده در مکان‌هاي مختلف را در اختيار داشته و با يکديگر مقايسه کنند.

شرکت HP معتقد است که اين فناوري‌ها نه تنها مي‌تواند به هدر رفتن کاغذ در سازمان‌ها کمک کند، مي‌تواند سرعت فرآيندهاي سازماني را افزايش داده و هزينه‌هاي سازماني را پايين بياورد.

1387/09/10
 

MOHAMMAD-- N

عضو جدید
اجرای ویندوز ۷ به پردازنده های گرافیكی پرقدرت نیازمند است

اجرای ویندوز ۷ به پردازنده های گرافیكی پرقدرت نیازمند است



شركت مایكروسافت از امكانات و توانایی بالای سیستم عامل جدید خود موسوم به ویندوز ۷ برای پردازش و نمایش تصاویر گرافیكی با كیفیت بالا خبر داد.
به نقل از پی سی پرو، بنا بر اعلام مایكروسافت پلاتفورم پیشرفته WARP۱۰ ویندوز ۷ قادر به اجرای Direct۳D ۱۰ و ۱۰.۱ بر روی پردازنده مركزی رایانه (CPU)بوده و بنابراین اگرچه تنها با استفاده از سخت افزارهای جدید و پیشرفته می توان ویندوز ۷ را با تمام قابلیت هایش اجرا كرد، اما خوشبختانه نیازی به خرید كارت گرافیك های قدرتمند اختصاصی نیست.
WARP پلاتفورمی است كه پردازش تصاویر گرافیكی را با سرعت بسیار بالایی ممكن می كند. به ادعای مایكروسافت یك تراشه ۸ هسته ای Core i۷ شركت اینتل با سرعت ۷.۳۶fps قادر به نمایش قدرت و توان پردازش تصاویر سه بعدی توسط ویندوز ۷ به طور كامل و با تمام جزییات است.
مایكروسافت اعلام كرده قابلیت های پلاتفورم WARP۱۰ تنها در صورت استفاده از پردازنده های جدید چند هسته ای قابل مشاهده خواهد بود و بهتر است این پردازنده ها حداقل چهارهسته ای باشند.
مایكروسافت اعلام كرده كه ویندوز ۷ را در سال ۲۰۰۹ یا ۲۰۱۰ روانه بازار خواهد كرد. :w10:
 

MOHAMMAD-- N

عضو جدید
۷ توصیه بیل گیتس رئیس مایکروسافت را بخوانید

۷ توصیه بیل گیتس رئیس مایکروسافت را بخوانید



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

misagh_esh

عضو جدید
آموزش NAT در سیسکو

آموزش NAT در سیسکو

Network Address Translation

NAT یکی از ابزارهای قدرتمند دنیای IT است که دقیقا همان کاری را انجام می دهد که از اسم آن بر می آید,به وسیله NAT میتوانیم آدرسهای یک شبکه را به یک شبکه دیگر ترجمه کنیم.
NAT تقریبا در تمامی سیستم عاملها و روتر ها قابل انجام است که هر کدام شیوه و روش خود را دارند.
برای همه متخصصین واضح است که قوی ترین روتر های دنیا Cisco هستند و تقریبا 80 درصد از بستر اینترنت بر روی دستگا های Cisco بنا شده اند. در این آموزش به توضیح مراحل انجام NAT به صورت عملی بر روی سخت افزارهای سیسکو می پردازیم.​

از کاربردهای NAT می توان به موارد زیر اشاره کرد:

  • ترجمه IP های Private به Public یا بلعکس
  • تغییر مرکز سرویس دهنده اینترنت بدون نیاز به تغییر IP ها داخلی
  • حفاظت از یک شبکه حساس در مقابل برخی حملات خارجی
  • تغییر پورت مقصد پکتها برای کاربران داخلی به صورت transparent

تعریف برخی اصطلاحات:

  • Inside Local : به آدرسی (هایی) اطلاق میشود که بر روی کلاینتهای شبکه داخلی تنظیم شده اند.
  • Inside Global : به آدرسی اطلاق میشود که به اینترفیس داخلی روتر که به شبکه داخلی متصل است داده شده است.
  • Outside Local : به آدرسهایی که درون اینترنت یا شبکه Public ما قرار دارد گفته می شود.
  • Outside Global : به آدرسی (هایی) که بر روی اینترفیس خارجی روتر که به شبکه Public متصل است گفته می شود.
با یک مثال تصویری با اصطلاحات فوق بیشتر آشنا خواهیم شد.


file:///J:/cisco/cisco_nat_files/A.PNG



Static NAT

این نوع NAT به صورت یک به یک عمل میکند. بدین معنی که یک عدد inside-localرا به یک outside-global ترجمه می کند. کاربرد این نوع NAT وقتی است که میخواهیم یک private ip را به یک public ip تبدیل کنیم.
با مثالی عملی این بیشتر توضیح می دهیم.


file:///J:/cisco/cisco_nat_files/B.PNG​


در مثال فوق یک روتر سیسکو داریم که 2 عدد اینترفیس دارد. یکی سریال که به اینترنت متصل و دومی اترنت که به شبکه داخلی ما وصل شده است.
ما میخواهیم آدرس 10.1.1.1را به 11.11.11.254ترجمه کنیم.
بر روی روتر سیسکو چنین عمل میکنیم:

وارد محیط کانفیگ میشویم


config terminal
با این دستور یک NAT استاتیک انجام میدهیم

ip nat inside source static 10.1.1.1 11.11.11.254
وارد اینترفیس سریال میشویم

interface serial0
این اینترفیس را به عنوان خروجی NAT مشخص میکنیم

ip nat outside
از اینترفیس خارج می شویم

exit
وارد اینترفیس اترنت میشویم

interface Ethernet0
اینترفیس را به عنوان ورودی NAT مشخص میکنیم

ip nat inside
از اینترفیس و مد کانفیگ خارج میشویم



هم اکنون با ست کردن آدرس 10.1.1.1و گیت وی 10.10.10.10روی کلاینت میتوانیم به اینترنت دسترسی داشته باشیم.




Dynamic NAT

Dynamic NAT نیز همانند Static NAT است اما با این تفاوت که در NAT به صورت Dynamic میتوانیم یک یا چندین IP با به چندین IP ترجمه کنیم.

اما چرا چندین IP به چندین IP؟

فرض کنید شما Admin یک ISP هستید و به دلیل کمبود IP نیاز به NAT دارید. بر فرض مثال شما دارای 10 Valid IP و 100 Invalid IP که باید به آنها ترجمه کنید. ممکن است تا کنون برای شما پیش آمده باشد که یوزری تماس گرفته و اعلام نا رضایتی کند از اینکه مدتهای طولانی برای دانلود یک فایل از سایت Rapidshare.com باید انتظار بکشد. این به دلیل این است که سایت Rapidshare.com تمامی یوزرهای شما را به چشم یک کاربر میبیند. برای رفع این مشکل میتوانیم 10 آدرس معتبر را به 100 آدرس غیر معتبر ترجمه کنیم که تا حدود زیادی مشکل را حل خواهد کرد.
در Dynamic NAT معمولا آدرسهای معتبر را به وسیله IP nat pool مشخص و آدرسهای غیر معتبر را توسط یک access-list مشخص میکنیم. دلیل استفاده از access-list ایجاد امنیت بیشتر است.

حال با یک مثال به نحوه ایجاد یک Dynamic NAT واقف می شویم:

یک روتر سیسکو داریم که از یک سو توسط اینترفیس سریال به اینترنت متصل گردیده که دارای رنج IP 217.219.109.128/25 و از سوی دیگر توسط اینترفیس اترنت به شبکه داخلی با رنج 172.16.0.0/24 متصل شده است.

آدرس اینترفیس سریال را 217.219.109.129 و آدرس اینترفیس اترنت را 172.16.0.1 قرار میدهیم.



config terminal
ابتدا برای آدرسهای Valid خود یک Pool تهیه می کنیم

ip nat pool pool1 217.219.109.130 217.219.109.254 prefix-length 25
Prefix-length در مثال بالا همان subnet mask آدرسهای ما می باشد
حال access-list مربوط به آدرسهای داخلی را می نویسیم

access-list 8 permit 172.16.0.0 0.0.0.255
دستور اصلی NAT را می نویسیم

ip nat inside source list 8 pool pool1
که در دستور فوق عدد 8 بیانگر آدرسهای داخلی و pool1 مشخص کننده آدرسهای خارجیست

interface serial0
اینترفیس را به عنوان خروجی NAT مشخص میکنیم

ip nat outside
از اینترفیس خارج می شویم

exit
وارد اینترفیس اترنت میشویم

interface ethernet0
اینترفیس را به عنوان ورودی NAT معرفی میکنیم

ip nat inside




Dynamic NAT به صورت Overload


ممکن است ما به شرایطی بر بخوریم که تنها 1 عدد آدرس Valid در اختیار داریم و اجبار به NAT کردن آدرس مذکور به چندین آدرس را داریم. در چنین شرایطی باید از قابلیت Overload استفاده کنیم.
در این حالت روتر برای ورود و خروج هر آدرس Invalid یک پورت مجزا در نظر می گیرد که تمامی آنها را در جدولی که درون خود تشکیل می دهد به ثبت می رساند. به این ترتیب هر پکت که از روتر به مقصد اینترنت خارج می شود دقیقا در هنگام بازگشت به همان آدرس Invalid که صادر کننده آن است باز میگردد. هر یک خط در جدول مذکور یک کانکشن به حساب می آید. اگر دقت کنید بر روی کاتالوگ بعضی سخت افزارها محدودیتی برای تعداد این کانکشن ها قائل می شوند.

در مثال زیر نحوه تنظیم یک روتر به صورت Overload را توضیح می دهیم :

دیاگرام خود را مقداری تغییر می دهیم. در این مثال ما روتر خود را که دارای 3 اینترفیس است به 3 شبکه متصل میکنیم. پورت سریال که به اینترنت متصل و دارای آدرس 80.191.120.8/26 است . اینترفیس ethernet0 به شبکه داخلی اول ما متصل و دارای آدرس 172.16.100.1/24 میباشد و در آخر اینترفیس ethernet1 را داریم که دارای آدرس 192.168.30.1/24 است.
میخواهیم آدرس 80.191.120.8 را به دو سابنت داخلی NAT کنیم:

وارد مد کانفیگ می شویم

config terminal
یک pool برای آدرس Valid تهیه میکنیم که تنها 1 آدرس در آن وجود دارد

ip nat pool ovrld 80.191.120.8 80.191.120.8 netmask 255.255.255.192
با access-list زیر آدرسهای 2 رنج داخلی خود را به access-list شماره 3 نسبت می دهیم

access-list 3 permit 172.16.100.0 0.0.0.255
access-list 3 permit 192.168.30.0 0.0.0.255
دستور اصلی NAT را می نویسیم که کلمه Overload میبایست در آخر آن اضافه شود

ip nat inside source list 3 pool ovrld overload
اینترفیس خروجی NAT را مشخص میکنیم

interface serial0
ip nat outside
exit
این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet0
ip nat inside
exit
این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet1
ip nat inside
exit
هم اکنون آدرس 80.191.120.8 عمل NAT را برای هر دو سابنت ما انجام می دهد.




Destination NAT



dstNAT یا outside source address translation بدین معنی است که ما عمل NAT را برای شبکه Public خود انجام دهیم. با یک مثال قضیه را روشن میکنم:
فرض کنید آدرس IP یکی از مشترکین شما NAT شده است. یعنی مشترک به صورت دستی آدرس را در کامپیوتر خود وارد کرده و default gateway را آدرس اینترفیس داخلی روتر شما قرار داره است. شما قبلا عمل NAT را برای وی انجام داده اید و او را به اینترنت متصل نموده اید. حال مشترک نیاز دارد که کاربری در اینترنت به کامپیوترش وصل شود یا اینکه قصد هاست کردن یک وبسایت بر روی کامپیوتر حود را دارد. با شرایط فعلی این امر امکان پذیر نیست زیرا که آدرس معتبری یر روی آن تنظیم نشده و از اینترنت قابل رویت نیست.
ما برای رفع مشکل این یوزر می بایست عمل dstNAT را انجام دهیم. یعنی به روتر خود بگوئیم هر گاه پکتی با درخواست اتصال به آدرس X را داشت آن را به کامپیوتری در شبکه داخلی با آدرس Y بفرست. بدین ترتیب با داشتن آن آدرس valid میتوانیم به هاست لوکال خود دسترسی پیدا کنیم. این امر نیز به دو صورت static و dynamic قابل اجراست که در مثالهای زیر توضیح داده شده است.






Static dstNAT

ابتدا همانند قبل یک static nat میان 2 آدرس 10.1.1.1 و 11.11.11.254 ایجاد میکنیم

سپس این خط را به تنظیمات خود اضافه میکنیم

ip nat outside source static 11.11.11.254 10.1.1.1



Dynamic dstNAT



در این مثال نیز ابتدا تمامی تنظیمات Dynamic NAT را که قبلا گفته شده انجام میدهیم سپس این خط را به آخر آن اضافه میکنیم


ip nat outside source list 8 pool pool1
بدین ترتیب عمل reverse را نیز برای NAT خود انجام میدهیم.





Redirect in NAT


در بعضی مواقع نیاز داریم که یک پورت یا IP را به صورت transparent برای یوزرهای خود عوض کنیم. به عنوان مثال ما در شبکه خود یک وب سرور داریم. این سرور قبلا بر روی پورت 80 کار کرده است اما اکنون به دلایلی مجبور به تعویض پورت آن به 8080 شده ایم. ممکن است آگاه سازی یوزرهای ما برایمان مشکل ساز باشد و بخواهیم بدون هیچ تغییری برای آنها این پورت را عوض کنیم. در چنین مواقعی Redirect به کمک ما می شتابد.
در مثال زیر با چگونگی تنظیمات این نوع NAT آشنا می شویم:

در این مثال ما یک روتر سیسکو داریم که 2 اینترفیس سریال و اترنت دارد. که آدرس سریال را 100.100.100.5 و آدرس اترنت را 10.20.30.1 قرار داده ایم.
آدرس وب سرور ما 10.20.30.55 می باشد که در شبکه داخلی ما قرار دارد.
برای Redirect کردن پورت 80 به 8080 بدین صورت عمل میکنیم:


config terminal
ip nat inside source static tcp 10.20.30.55 8080 10.20.30.55 80
اینترفیس خروجی NAT را مشخص میکنیم

interface serial0
ip nat outside
exit
این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet0
ip nat inside
exit

حال یک سولوشن دیگر پیاده میکنیم.

در شبکه ما یک روتر وجود دارد که دارای 3 اینترفیس است. اینترفیس سریال که آدرس 200.200.200.43 و اینترفیس ethernet0 که آدرس 172.16.10.1 و اینترفیس ethernet1 که آدرس 192.168.0.1 را داراست.
ما در شبکه ای که به اینترفیس ethernet1 متصل شده یک سرور داریم که آدرس آن 192.168.0.6 است. به دلایلی مجبور به تعویض آدرس آن به 192.168.0.12 شده ایم. به دلیل اینکه این سرور مربوط به اتوماسیون اداری ما بوده بسیار کار دشواریست که بر روی 176 کلاینت خود که با این سرور کار میکنند و در شبکه ای که به اینترفیس ethernet0 وصل است آدرس سرور را عوض کنیم.
برای همین به سراغ روتر قدرتمند خود می آئیم و تمامی درخواستهایی را که به مقصد 192.168.0.6 می روند را به 192.168.0.12 هدایت میکنیم.
در زیر نحوه انجام این کار توضیح داده شده است.


config terminal
ip nat inside source static 192.168.0.12 192.168.0.6
اینترفیس خروجی NAT را مشخص میکنیم

interface serial0
ip nat outside
exit
این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet0
ip nat inside
exit
این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet1
ip nat inside
exit


Change Translation Timeouts


وقتی که ما از Dynamic NAT استفاده می کنیم یک IP به یک IP دیگر نسبت داده می شود. فرضا اگر کلاینت ما 1 ساعت از این IP استفاده کند تا یک مدت بعد این IP خارجی برای وی به صورت رزرو می ماند. اگر بعد از یک پریود زمانی کلاینت ما از آن استفاده نکند به کلاینت دیگری اختصاص داده می شود.
زمان این تاخیر را میتوانیم مشخص کنیم که در حالت Dynamic NAT بدون Overload این زمان به صورت پیش فرض 24 ساعت است.

با دستور زیر این امر محقق می شود:

config terminal
ip nat translation timeout 21600
عدد فوق بر اساس ثانیه بوده که در مثال بالا ما این زمان تاخیر را بر روی 6 ساعت تنظیم کرده ایم.

همانطور که گفتیم مثال بالا برای حالت Dynamic NAT بدون Overload هست. در حالت Overload چون برای هر یوزر یه آدرس خارجی نداریم مقدار این زمان اصلا مشخص نیست.
در حالت Overload تنها میتوانیم زمان برای پروتکلهای خاص مشخص کنیم:

در مثال زیر پروتکلها آورده شده اند:


config terminal
ip nat translation udp-timeout 120
ip nat translation dns-timeout 100
ip nat translation tcp-timeout 480
exit
مانیتور کردن NAT درون Router


show ip nat translations
show ip nat statistics
دوستان عزيز از وبلاگ دانشجويان رشته كامپيوتر حتما ديدن كنيد
http://hezare-sevom.blogfa.com/
 

MOHAMMAD-- N

عضو جدید
سیستم عامل اپل Vista را تهدید می كند

سیستم عامل اپل Vista را تهدید می كند



شرکت اپل قرار است تا دسامبر ۲۰۰۸ بین ۲.۴ میلیون تا ۲.۷ میلیون كامپیوتر را بفروشد كه ۱۳% بیش از سال گذشته خواهد بود.
دنیا در فصل جدیدی از تحولات قرار گرفته وپیش بینی های صورت گرفته نشان می دهد كه ركود اقتصادی تا سال آینده ادامه خواهد داشت و برخی دیگر نیز پیش بینی های بدتری كرده اند.
با این حال بنابر گزارش گارتنر شركت اپل ۹.۵درصد از بازار كامپیوتر در آمریكای شمالی را در اختیار دارد. این شركت ۲۰.۱درصد از بازار خرده فروشی در آمریكا در ماه اكتبر را به خود اختصاص داد و قرار است تا دسامبر ۲۰۰۸ بین ۲.۴ میلیون تا ۲.۷ میلیون كامپیوتر را بفروشد كه ۱۳درصد بیش از سال گذشته خواهد بود.
این در حالی است كه فروش سیستم عامل Vista دچار مشكل است. درآمد عملیاتی واحد مشتری مایكروسافت به ۳.۳ میلیارد دلار كاهش یافت، در حالی كه این رقم در سال گذشته ۳.۴ میلیارد دلار بود. بخشی از مشكل از آنجا ناشی می شود كه شركت ها همه با هم به سمت خرید سیستم عامل جدید كوچ می كنند و بسیاری نیز ترجیح می دهند صبر كنند.
در عین حال شركت اپل سیستم عامل جدیدی را عرضه می كند كه نقطه ضعف های اصلی Vista یعنی سرعت و ثبات را ندارد. نام این سیستم جدید Snow Leopard است كه مستقیماً بازار شكنندهء Vista را هدفگیری كرده است.:w10:
 

amin_rz

عضو جدید
Fieldbus

Fieldbus

Foundation Fieldbus یک سیستم ارتباطی دو طرفه و سریال و تمام دیجیتال است که تجهیزات Field از قبیل سنسورها و محرک ها و نیز کنترلرها را با هم مرتبط می سازد. در واقع Fieldbus یک شبکه محلی (LAN) برای تجهیزات ابزار دقیق است که در کنترل فرآیند و اتوماسیون تولید بکار می رود.

http://powerengineering.blogfa.com
http://powerengineering.blogfa.com/post-283.aspx
 

MOHAMMAD-- N

عضو جدید
مایکروسافت همچنان در پی یاهو

مایکروسافت همچنان در پی یاهو



مذاکرات یاهو و مایکروسافت، دو غول اینترنتی، برای همکاری در حوزه جست وجو در وب و فروش واحد خدمات جست وجوی یاهو مجدداً آغاز شد. مایکروسافت مجدداً پیشنهادی برای خرید سرویس خدمات جست وجوی یاهو به قیمت ۲۰ میلیارد دلار را مطرح کرده است. گفته می شود در صورت موافقت یاهو با این پیشنهاد جاناتان میلر رئیس سابق AOL و راس لوینشان رئیس سابق Fox Interactive از جمله گزینه های احتمالی برای هدایت و مدیریت واحد یاد شده خواهند بود. تایمز لندن مدعی است دو طرف بر سر کلیات این معامله با هم به توافق رسیده اند، اما هنوز مشخص نیست آیا این بار توافق نهایی حاصل خواهد شد یا باز هم دو طرف مذاکرات را نیمه کاره رها خواهند کرد. مایکروسافت هنوز در مورد این خبر اظهارنظر نکرده است. پیش از این شرکت حاضر بود رقمی بیش از ۲۰ میلیارد دلار به یاهو بپردازد، اما با وجود بحران اقتصادی شدید که ارزش سهام یاهو را به تنها ۱۶ میلیارد دلار رسانده دیگر چنین پیشنهاداتی از سوی مایکروسافت مطرح نخواهد شد.:w10:
 

MOHAMMAD-- N

عضو جدید
لب تاپ ها ضد سرقت می شوند

لب تاپ ها ضد سرقت می شوند



شرکتFSC سیستم امنیتی جدیدی را در اختیار مشتریان خود می‌گذارد که به آن‌ها امکان می‌دهد موقعیت مکانی لپ‌تاپ خود را مشخص کنند و در زمان سرقت لپ‌تاپ، اطلاعات خود را محفوظ نگه دارند.
شرکت FSC اعلام کرد که نرم‌افزار ردیاب SystemTrack و نرم‌افزار DataProtect برای محافظت از اطلاعات را در سه ماهه نخست سال ۲۰۰۹، در برخی از مدل‌های سری لپ‌تاپ‌های لایف بوک و تمامی مدل‌های لپ‌تاپ‌های تجاری Esprimo عرضه می‌کند.
هنوز جزئیات بیشتری در مورد این دو نرم‌افزار منتشر نشده است و FSC نیز تمایل زیادی به انتشار اخبار بیشتر در مورد این نرم‌افزارها، پیش از عرضه رسمی آن‌ها به بازار ندارد. با این وجود، شرکت FSC اعلام کرده است که در اواسط ماه دسامبر جزئیات بیشتری از دو نرم‌افزار یاد شده را منتشر خواهد کرد.
آنچه که هم‌اکنون مشخص شده، این است که وقتی یک کاربر شخصی یا تجاری مدل‌های برگزیده لپ‌تاپ‌های FSC را خریداری می‌کند، می‌تواند این نرم‌افزارهای امنیتی را به عنوان یک گزینه مازاد انتخاب کند تا روی کامپیوتر قابل‌حمل او نصب شود. در این شرایط، کاربران به سادگی می‌توانند لپ‌تاپ خود را در مرکز Computrace Customer Centre ثبت کنند. اگر لپ‌تاپ این کاربران سرقت شود، آن‌ها می‌توانند گزارش این سرقت را به صورت آنلاین و یا از طریق تلفن اعلام کنند که این گزارش سرقت دقیقا شبیه به گزارش مفقود شدن یا سرقت شدن کارت‌های اعتباری است.
به گفته مرکز FSC، پس از این جریان نرم‌افزار SystemTrack لپ‌تاپ سرقت شده را ردیابی و به محض اتصال این کامپیوتر قابل‌حمل به اینترنت، موقعیت فیزیکی آن را شناسایی می‌کند.:w10:
 

Dr-hiva

عضو جدید
ارتباط زبان برنامه سازی پاسکال با سایر زبانها

ارتباط زبان برنامه سازی پاسکال با سایر زبانها

در مورد ارتباط زبان برنامه سازی پاسکال با سایر زبانهای برنامه سازی هر آنچه میدانید :que:بنویسید و یا به آدرس زیر ایمیل کنید . با تشکر از همه دوستان و اعضاء باشگاه . hiva

E-mail : rojnay@yahoo.com
;)
 
آخرین ویرایش:

Keivan Keihanipour

عضو جدید
کاربر ممتاز
جاوا و مقايسه با ديگر زبان‌هاي برنامه‌نويسي

جاوا و مقايسه با ديگر زبان‌هاي برنامه‌نويسي

بخش اول: معرفي جاوا
چرا جاوا زباني جالب است ؟
در يكي از مقالات در باره‌ي زبان شركت Sun، جاوا را با اين خصوصيات شرح مي‌دهد :
جاوا يك زبان ساده ، شي گرا ،‌توزيع شده ، تفسير شده ، قدرتمند ، ايمن ، با معماري خنثي ، قابل حمل ، با عملكرد سطح بالا چند نخ كشي شده و پويا است .
Sun تصديق ميكند كه به طور قطع اين كلمات رشته هايي از واژه هاي متداول در زبان برنامه نويسي هستند ، اما حقيقت اين است كه اين واژه ها به طور ماهرانه‌اي خصوصيات اين زبان را شرح ميدهند .
حال به برخي از خصلت هاي جاوا در پشت اين واژه ها ميپردازيم .

شي گرا :Object Oriented
جاوا يك زبان برنامه نويسي شي گرا است . براي يك برنامه نويس اين به اين معنا است كه به جاي فكر كردن به قسمت هاي رويه برنامه ، بايد به كاربرد داده ها و روش هايي كه روي آن داده ها عمل ميكنند ، توجه شود.
اگر شما به برنامه نويسي با اعلان رويه در C عادت كرده ايد ،ممكن است دريابيد كه به هنگام استفاده از جاوا مجبور به تغيير در روش و چگونگي برنامه تان هستيد . هنگامي كه فهميديد اين الگوي جديد چقدر قدرتمند است ، به سرعت با آن هماهنگ ميشويد .
در يك سيستم شي گرا ، يك كلاس مجموعه اي از داده ها و روش هايي است كه روي آن داده عمل ميكنند. همراه بودن داده ها و متد ها رفتار و حالت يك شي را بيان مي دارد . كلاس ها به صورت سلسله مراتبي مرتب شده اند ، بنابر اين يك زير كلاس ميتواند رفتار هايي را از كلاس بالاتر به ارث ببرد . يك كلاس سلسله مراتبي هميشه يك كلاس ريشه دارد كه كلاسي است با رفتار هاي كاملا عمومي .
جاوا به همراه دسته ي گسترده اي از كلاس هايي است كه در بسته هايي مرتب شده اند و شما مي توانيد از آنها در برنامه ي خود استفاده كنيد . براي مثال جاوا كلاس هايي را ايجاد ميكند كه :
بخش هاي رابط گرافيكي را ميسازند (the java.awt package) ،كلاس هايي كه عمليات ورودي و خروجي را به عهده دارند(the java.io package) و كلاس هايي كه از شبكه پشتيباني ميكنند (the java.net package ) .
يك شي كلاس(in the java.lang package) به عنوان ريشه كلاس سلسله مراتبي جاوا انجام وظيفه ميكند .
جاوا بر خلاف C++ طوري طراحي شده است كه از همان ابتدا به صورت شي گرا باشد . اكثر چيز ها در جاوا اشيا هستند . ارقام ابتدايي ، كاراكترها و مدل هاي منطقي تنها استثناء ها هستند . حتي رشته ها هم در جاوا به وسيله اشيا حاضر ميشوند ،همان طور كه ساختمان هاي مهم ديگر اين زبان ، مثل نخ ها احضار ميشوند . يك كلاس يك واحد پايه براي كامپايل و اجرا شدن در جاوا است . تمام برنامه هاي جاوا متشكل از كلاس ها است .
درست است كه جاوا طوري طراحي شده است كه مثل C++ باشد و خاصيت هاي آن را داشته باشد ، اما هنگامي كه با آن كار كنيد خواهيد فهميد كه بسياري از پيچيده گي هاي آن زبان را از بين برده است .
اگر شما يك برنامه نويس C++ هستيد حتما لازم است كه ساختار هاي شي گرايي در جاوا را به دقت مطالعه كنيد . اگرچه تركيب و نحوه دستورات آن تقريبا شبيه C++ است ،‌اما رفتار هاي آن خيلي مشابه نيست .

تفسير شده :Interpreted
جاوا يك زبان تفسير شده است . كامپايلر جاوا به جاي ايجاد كد محلي ماشين ، كد بايتي براي ماشين مجازي جاوا ايجاد ميكند . براي اجراي دقيق برنامه ، از مفسر جاوا براي اجراي كد هاي بايتي كامپايل شده استفاده ميشود. به دليل اينكه كد هاي بايتي جاوا به نوع كامپيوتر بستگي ندارند ، برنامه هاي جاوا ميتوانند روي هر نوع كامپيوتري كه JVM (Java Virtual Machine) را دارند ، اجرا شوند .
در محيط تفسير شده ، مرحله لينك استاندارد توسعه برنامه از ديد كاربر پنهان است . اگر جاوا تنها يك مرحله لينك داشت ، فقط بارگذاري كلاس جديد به محيط پردازش ميشد كه يك پردازش نموي سبك وزن است كه در زمان اجرا مشاهده ميشود . كه اين خصوصيت با چرخه كامپايل-لينك-اجرا ي آرام و طاقت فرساي زبان هايي مانند C يا C++ در تضاد است .

معماري خنثي و قابل حمل :Architecture Neutral and Portable
به دليل اينكه برنامه هاي جاوا در فرمت كد بايتي با معماري خنثي كامپايل شده اند ، برنامه كاربردي جاوا ميتواند در هر سيستمي اجرا شود.
البته با اين شرط كه آن سيستم توانايي پياده سازي ماشين مجازي جاوا را داشته باشد . اين مسئله تقريبا براي كاربرد هاي توزيع سده روي اينترنت و يا ديگر شبكه هاي ناهمگن مهم است . اما روش معماري خنثي براي كاربرد هاي بر مبناي شبكه مفيد است .
به عنوان يك توسعه دهنده برنامه هاي كاربردي در بازار نرم افزاري امروز ممكن است بخواهيد مدل هاي كاربردي خود را توسعه دهيد ، به طوري كه بتواند روي Pc ، مكينتاش و سيستم عامل Unix اجرا شود .با وجود گونه هاي مختلف Unix ، Windows روي Pc و مكينتاش قوي جديد ، رفته رفته توليد نرم افزار براي همه انواع اين كامپيوتر ها سخت مي شود . اگر شما برنامه تان را در جاوا بنويسيد ميتواند روي همه ي اين كامپيوترها اجرا شود .
در حقيقت تفسير شده بودن جاوا وتعريف يك استاندارد ، معماري خنثي داشتن و فورمت كد بايتي آن از بزرگترين دلايل قابل حمل بودن آن به شمار مي آيند .
اما جاوا باز از اين هم بيشتر گام برميدارد ،‌ با اطمينان حاصل كردن از اينكه هيچيك از جنبه هاي وابستگي اجرايي زبان را ندارد . براي مثال جاوا به طور صريح اندازه هريك از انواع داده را تعريف ميكند كه اين با C تفاوت دارد ، برای مثال هريک از انواع صحيح می تواند بسته به نوع کامپيوتر16-32 يا 64 بيت طول داشته باشد .
هنگامی که به صورت تکنيکی امکان نوشتن برنامه های غير قابل حمل در جاوا فراهم شد ، جلوگيری از چند خاصيت وابسته به نوع کامپيوتر که توسط جاوا API توليد شده و به طور قطع قابل حمل نوشته شده است ، آسان است .
يك برنامه جاوا به توليد كنندگان نرم افزار كمك ميكند تا از قابل حمل بودن كد هايشان اطمينان حاصل كنند . برنامه نويسان فقط براي پرهيز از دام غير قابل حمل بودن برنامه احتياج به يك تلاش ساده دارند كه شعار تجارتي شركتSun را زنده نگهدارند و آن شعار اين است :
« يك بار بنويس ، همه جا اجرا كن » .

پويا و توزيع شده :Dynamic and Distributed
جاوا يك زبان پويا است . هر كلاس جاوا ميتواند در هر زماني روي مفسر جاوا بارگذاري شود . سپس اين كلاس هاي بارگذاري شده ي پويا ميتوانند به صورت پويا معرفي شوند . حتي كتابخانه كد هاي محلي ميتواند به طور پويا بارگذاري شود .كلاس ها در جاوا با كلاس Class فراخواني ميشوند ؛ شما ميتوانيد به طور پويا در مورد يك كلاس در زمان اجرا اطلاعاتي بدست بياوريد . اين خصوصيت در جاوا 1-1 به طور درستي موجود است . با وجود بازتاب API اضافه شده (Application Program Interface ) كه به برنامه ساز امكان ميدهد كه با برنامه از طريق يك برنامه كاربردي ديگر ارتباط برقرار كند .
جاوا حتي با نام زبان توزيع شده نيز خوانده ميشود . به طور ساده اين به اين معنا است كه اين زبان پشتيباني سطح بالايي براي شبكه به وجود مي آورد . براي مثال كلاس URL و كلاس هاي مرتبط با آن در بسته ي Java.net ، خواندن فايل هاي دوردست را به همان سادگي خواندن فايل هاي محلي كرده است . به طور مشابه در جاوا 1-1 ، احضار روش كنترلي RMI
(Remote Method Invocation ) ، API به يك برنامه جاوا اجازه ميدهد كه روش هايي از اشياء دور دست جاوا را به همان صورتي كه اگر آن اشياء محلي بدند آنها را ميخواند ، بخواند .( جاوا حتي از سيستم شبكه اي سطح پايين كه شامل آدرس مقصد و مسير جرياني كه توسط سوكت ها متصل شده است ، نيز پشتيباني ميكند .)
طبيعت توزيع شده ي جاوا زمانيكه با امكانات پوياي بارگذاري كلاس همراه ميشود ، واقعا درخشنده است . اين خصوصيات با هم اين امكان را براي مفسر جاوا به وجود مي آورند كه كد ها را از اينترنت بارگذاري و اجرا كند . ( همان طور كه بعدا خواهيم ديد جاوا باعث ميشود كه با وجود ابزار قدرتمند و ايمن اين كار به طور مطمئن انجام شود .) اين چيزي است كه در هنگام بارگذاري و اجراي يك برنامه كاربردي از اينترنت توسط مرورگر وب ، اتفاق مي افتد . اما داستان پيچيده تر از اين هم ميتواند باشد . تصور كنيد يك پردازشگر كلمه چند رسانه اي در جاوا نوشته شده است . وقتي از اين برنامه پرسيده ميشود كه چند نوع از داده هايي را كه قبلا هرگز وارد نشده را نمايش دهد ، ممكن است به طور ديناميكي يك كلاس را كه ميتواند داده را شناسايي كند ، از شبكه بارگذاري كند و بعد كلاس ديگري را كه بتواند داده را از درون يك پوشه تركيبي بخواند ، باز به طور ديناميكي بارگذاري ميكند . برنامه اي مانند اين از منابع توزيع شده در شبكه براي رشد و سازگاري خودكار كاربران استفاده ميكند .

ساده :Simple
جاوا يك زبان ساده است . طراحان جاوا سعي در اين داشتند تا زباني بوجود بياورند كه برنامه نويسان بتوانند به سرعت آن را ياد بگيرند . بنابراين تعداد ساختار هاي اين زبان تقريبا كم است . هدف ديگر طراحي اين زبان اين بود كه به منظور راحتي انتقال آن ، آن را طوري طراحي كنند كه براي عده ي زيادي از برنامه نويسان آشنا باشد . اگر شما يك برنامه نويس C يا C++ هستيد ، خواهيد فهميد كه جاوا از بسياري از ساختار هاي C و ‍ C++ استفاده ميكند .
براي اينكه اين زبان را هم به طور ساده و هم آشنا و ملموس و هم كوچك نگه دارند بسياري از خصوصيات C و C++ را در آن حذف كردند . اينها خصوصياتي بودند كه باعث مي شدند برنامه نويسي ضعيفي صورت بگيرد يا آنهايي بودند كه به ندرت در برنامه استفاده مي شدند . براي مثال جاوا از دستور goto استفاده نمي كند ، در عوض از دستورهاي break , continue در مواقع نياز استفاده مي كند .
جاوا از سر فايل ها(header files) استفاده نمي كند و پردازشگر C را هم حذف كرده است . به اين دليل كه جاوا يك زبان شي گرا است ، ساختار هاي C مثل struct , union از آن برداشته شده است . جاوا حتي بارگذاري مجدد و خواص چندگانه ارث بري از C++ را هم حذف كرده است . شايد مهمترين پارامتر ساده بودن جاوا عدم استفاده اين زبان از اشاره گر ها باشد . اشاره گر ها يكي از بيشترين موجوديت هاي دردسرساز در C , C++ هستند . چون جاوا ساختمان ندارد و آرايه ها و رشته ها اشياء آن هستند ، بنابراين احتياجي به اشاره گر نيست .جاوا به طور خودكار آدرس دهي و دستذسي به محتواي موجود در يك آدرس را براي شما انجام ميدهد .
جاوا حتي زباله هاي حافظه اي را هم به طور خودكار جمع آوري ميكند .(Garbage Collectin) (* جمع آوري آشغال فرايندي است براي ترميم خودكار حافظه انباشته شده . بلوك هايي از حافظه كه زماني به فايل ها اختصاص داشتند اما مدتي است كه از آنها استفاده نمي شود و بلوك هايي از حافظه كه هنوز مورد استفاده قرار ميگيرند ممكن است حركت داده شوند تا از به هم پيوستن فضاهاي خالي حافظه بلوك هاي خالي بزرگتري بدست آيد .
[ از كتاب : Microsoft computer dictionary] * ) بنابراين لازم نيست كه نسبت به موضوع مديريت حافظه نگران باشيد ، همه اينها شما را از نگراني در مورد اشاره گر هاي بي ارزش ، خطرناك و هرز هاي حافظه رها ميكنند . بنابر اين شما ميتوانيد وقت خود را صرف بهبود برنامه تان كنيد .

قدرتمند :Robust
جاوا براي نوشتن نرم افزارهاي قدرتمند و بسيار ايمن ساخته شده است . جاوا هنوز هم به طور قطع نرم افزار ها را تضمين نميكند . تقريبا هنوز هم امكان نوشتن برنامه هاي مشكل ساز در جاوا وجود دارد ، هرچند كه جاوا برخي از انواع مشخص خطاهاي برنامه نويسي را حذف كرده كه به طرز چشمگيري نوشتن نرم افزار هاي ايمن را آسان تر كرده است .
جاوا يك زبان تايپ شده قدرتمند است ،‌ كه اجازه چك شدن مشكلات و خطاهاي تايپي را در زمان كامپايل مي دهد . جاوا بسيار قويتر از C++ تايپ شده است كه بسياري از خصوصيات انعطاف پذير در زمان كامپايل را از C به ارث برده است . مخصوصا هنگام اعلان توابع .جاوا به مدل اعلان صريح احتياج دارد ، زيرا كه از مدل اعلان صريح C پشتيباني نميكند . اين مسئله مارا از اينكه كامپايلر ميتواند خطاهاي زمان اعلان را بدست آورد ، مطمئن ميكند . مسئله اي كه منجر به ايجاد برنامه هاي ايمن تري ميشود .
يكي از چيزهايي كه باعث شده كه جاوا ساده باشد عدم وجود اشاره گر ها ومحاسبات بر روي آنها است . اين ويژگي حتي قدرت جاوا را هم با از ميان بردن يك كلاس سراسري اشاره گر افزايش ميدهد .
به طور مشابه تمام دسترسي به آرايه ها و رشته ها در زمان اجرا چك مي شوند تا از قطعي بودن آنها اطمينان حاصل شود .با از بين بردن امكان دوباره نويسي حافظه و داده هاي هرزه ، تعويض نقش اشياء از نوعي به نوع ديگر هم در زمان اجرا كنترل ميشود تا از مجاز بودن آن اطمينان حاصل شود .
سرانجام زباله جمع كن خودكار جاوا بسياري از عمليات پاكسازي مرتبط با معماري حافظه را راه اندازي ميكند . چيزي كه از خطاهاي خطر ساز مرتبط با تخصيص و آزاد سازي حافظه جلوگيري ميكند .
 

Keivan Keihanipour

عضو جدید
کاربر ممتاز
بخش اول- قسمت دوم: آشنايي با جاوا

بخش اول- قسمت دوم: آشنايي با جاوا

ايمن : Secure
يكي از دلايل پرطرفدار بودن جاوا اين است كه يك زبان ايمن است . اين ويژگي مخصوصا به خاطر طبيعت توزيع شده ي آن بسيار مهم است .بدون وجود امنيت شما قطعا نميخواهيد كه يك كد را از يك سايت تصادفي اينترنت بارگذاري كنيد و به آن اجازه اجرا شدن روي كامپيوتر خودتان را هم بدهيد . اين دقيقا همان چيزي است كه مردم هرروز با يك كد جاوا انجام ميدهند . جاوا به صورت ايمن طراحي شده و چندين لايه كنترل امنيت به وجود مي آورد كه شما را در برابر كد هاي خطرساز محافظت مي كنند و به كاربر اجازه ميدهد كه برنامه هاي ناشناخته را با خيال راحت اجرا كند .
همان طور كه ديديم ، برنامه جاوا نميتواند اشاره گر ها را به حافظه يا آرايه هاي سرريز يا حافظه خواندني خارج از محدوده يك آرايه يا رشته اشاره ، اشاره دهد. اين خصوصيت يكي از اصلي ترين وسايل دفاع جاوا در برابر كدهاي خطرساز است . دومين راه دفاع در برابر كد هاي خطرساز ، پردازش كدهاي بايتي به صورت قابل تصديق و تاييد است كه مفسر جاوا به روي هر كدي كه در حال بار گذاري باشد اعمال ميكند . اين مراحل تاييد از اينكه كد به صورت درستي ساخته شده اطمينان حاصل ميكنند ، كه براي مثال پشته سرريزي يا زيرريزي نداشته باشد ، يا شامل كد هاي بايتي غير مجاز نباشد .
كدهاي بايتي خراب يا خطرساز ممكن است از ضعف هاي اجرايي در مفسر جاوا سوء‌ استفاده كنند . لايه اي كه در اينجا ما را به طور ايمن محافظت ميكند ، مدل جعبه شني (Sand box) است : كدهاي ناشناخته در يك جعبه شني قرار ميگيرند جايي كه ميتوانند به صورت ايمن اجرا شوند ، بدون اينكه هيچ صدمه اي به بقيه اجزاء يا محيط جاوا بزنند .
وقتي يك برنامه كاربردي يا ديگر كدهاي ناشناخته در جعبه شني در حال اجرا است ،‌ چند محدوديت در مورد كاري كه ميتواند انجام دهد ، وجود دارد . واضح ترين اين محدوديت ها اين است كه هيچ دسترسي به هيچ يك از فايل هاي محلي سيستم وجود ندارد . در جعبه شني محدوديت ديگري هم وجود دارد كه به وسيله كلاس مديريت امنيت اعمال ميشود . اين مدل در ابتدا از اينكه سيستم هاي امنيتي را نصب كرده ايد يا نه ، مطمئن ميشود ، چرا كه همه كلاس هاي جاوا نياز به عمليات حساسي مانند دسترسي به سيستم فايل را دارند . اگر فراخواني به وسيله يك كد ناشناخته به صورت مستقيم يا غير مستقيم انجام شد ،‌ مدير امنيت مورد استثناء‌ را مي فرستد و عمليات صورت نمي گيرد .
و سرانجام در جاوا 1-1 يك راه حل ممكن ديگر براي مشكلات امنيتي وجود دارد ، به وسيله ضميمه كردن يك امضاء ديجيتالي به كد جاوا كه اصل آن كد ميتواند به صورت پنهاني و نهفته ساخته شود . اگر شما اعتماد خود را به يك شخص يا يك سازمان مشخص كرده باشيد ، كدي كه امضاء آن هويت مورد اعتماد روي آن قرار دارد ،‌ ايمن و مطمئن است . حتي زمانيكه در حال بارگذاري شدن در شبكه است و ممكن است حتي بدون جلوگيري توسط جعبه شني اجرا شود .

عملكرد سطح بالا :High Performance
جاوا يك زبان تفسير شده است ، بنابر اين هرگز به سرعت زبان كامپايل شده اي مثل C نخواهد بود . گفته ميشود كه جاوا 0-1 به اندازه 20 برابر از C كند تر است . جاوا 1-1 تقريبا سرعتي دو برابر جاوا 1-1 دارد . بنابراين ممكن است عاقلانه باشد اينكه بگوييم كد C كامپايل شده 10 برابر سريع تر از كد هاي تفسير شده ي جاوا اجرا ميشود . اما قبل از اينكه به خاطر اين موضوع مايوس شويد ، آگاه باشيد كه اين سرعت بيشتر از آن چيزي است كه براي برنامه هاي پرسرعت ، كاربردهاي GUI (Graphical User Interface ) ، برنامه هاي برمبناي شبكه ، جايي كه برنامه كاربردي معمولا آماده براي اجرا شدن است ، انتظار براي كاربر كه يك دستوري اعمال كند و يا انتظار براي دريافت از شبكه ، لازم است .
به علاوه قسمت هايي كه به سرعت هاي بالا نياز دارند ، كه كارهايي از قبيل الحاق رشته ها و مقايسه را انجام ميدهند ، با كد محلي جاوا اجرا ميشوند .
علاوه بر اين كارايي ، بسياري از مفسر هاي جاوا اكنون شامل كامپايلر هاي فقط در زمان " just in time " نيز هستند كه ميتواند كدهاي بايتي جاوا را براي هر نوعCPU در زمان اجرا به كد ماشين ترجمه كند . فرمت كد بايتي جاوا با اين كامپايلر هاي در زمان در مركز كافي و مناسب است و انصافا كدهاي خوبي توليد ميكند . در حقيقت Sun ادعا ميكند كه كارايي كد هاي بايتي كه به كد ماشين تبديل شده اند ، تقريبا به خوبي كارآيي آن در C و C++ است .
اگر شما خواهان اين هستيد كه قابل حمل بودن كد ها را قرباني بهبود در سرعت آن كنيد ، ميتوانيد بخش قابل توجهي از برنامه خود را در C و C++ بنويسيد و از روش هاي مخصوص جاوا براي مشترك كردن با اين كد محلي جاوا استفاده كنيد .

چند نخ كشي شده :Multitbreaded
در يك برنامه كاربردي بر مبناي GUI شبكه اي ، مثل مرورگر وب ، تصور اينكه چند چيز بتوانند به طور همزمان اجرا شوند ، آسان است . يك كاربر ميتواند همزمان با اينكه دارد يك صفحه وب را ميخواند به يك كليپ صوتي گوش دهد و همزمان در پس زمينه مرورگر يك عكس را بارگذاري كند .
جاوا يك زبان چندنخ كشي شده است ، كه از چندين رشته اجرايي (گاهي پردازش سبك وزن خوانده ميشود) پشتيباني ميكند و ميتواند چندين كار را انجام دهد . يكي از مزيت هاي چندنخ كشي شده اين است كه عملكرد سطح بالايي براي كاربردهاي گرافيكي براي كاربر فراهم ميكند .
اگر شما سعي كرده ايد كه با نخ ها در C و C++ كار كنيد ، ميدانيد كه كمي مشكل است . جاوا برنامه نويسي با نخ ها را بسيار آسان تر كرده است ، با به وجود آوردن زبان درون ساخته شده اي كه از نخ ها پشتيباني ميكند . بسته jana.lang يك كلاس بوجود آورده است كه از روش هايي براي شروع و پايان يك نخ ، و مرتب كردن ترتيب گره ها در ميان چيز هاي ديگر ، پشتيباني ميكند .
حتي دستورات زبان جاوا از نخ ها پشتيباني ميكنند ، كه با استفاده از كلمات كليدي مطابق شده . اين كلمات كليدي علامت گذاري بخش هاي كد يا تمامي روش هايي را كه بايد فقط با يك نخ در يك زمان اجرا شوند را به شدت آسان كرده است .
به دليل اينكه جاوا استفاده از نخ ها را بسيار ساده ميكند ، كلاس جاوا در شماري از جاها از اين نخ ها استفاده ميكند . براي مثال هر برنامه كاربردي كه انيميشن اجرا ميكند ، از نخ ها استفاده كرده است .
به طور مشابه جاوا از برنامه هاي نا همگام ، ورودي ها و خروجي هاي بلاك نشده با اخطاري به وسيله سيگنال ها يا وقفه ها پشتيباني نميكند ، در اين صورت شما بايد يك نخ بسازيد كه روي هر كانال ورودي خروجي كه با آن كار ميكنيد بلاك شده باشد .
 

Keivan Keihanipour

عضو جدید
کاربر ممتاز
بخش دوم: "مقايسه‌ي جاوا و دات نت‌ها"

بخش دوم: "مقايسه‌ي جاوا و دات نت‌ها"

بخش دوم: "مقايسه‌ي جاوا و دات نت‌ها"
از آغاز ارائه‌ی .Net توسط شرکت مایکروسافت، یکی از دغدغه‌های اصلی شرکت‌های تولید نرم‌افزارهای کاربردی، اداره‌ها، کارخانه‌ها و سایر صنایع، تصمیم‌گیری بر روی استفاده از یکی از دو فناوری جاوا یا دات‌نت بوده است. تحلیل‌های مختلفی که از سوی مراکز تجاری مختلف ارائه می‌شوند عمدتاً جنبه‌ی تجارب دارند، به همین علت مشاهده می‌شود که شرکت‌هایی که به نوعی شریک تجاری مایکروسافت هستند و یا محصولات آن‌ها عمدتاً بر روی فناوری دات‌نت است، در مقالات و پیشنهادهای خود از دات‌نت حمایت می‌کنند و به همین ترتیب هم شرکت‌های مرتبط با فناوری جاوا و علاقه‌مند به توسعه‌ی سیستم‌ها بر روی سکوی جاوا، آن‌را مطمئن‌ترین فناوری برای توسعه‌ی سیستم‌های تجاری و بزرگ اعلام می‌کنند. تاریخچه‌ی فراگیر شدن دات‌کام‌ها و در واقع ارائه‌ی سرویس‌های مجازی مبتنی بر وب به اواخر دهه‌ی 90 و خصوصاً سال‌های 1998 تا 2000 بر می‌گردد [JavaWorld]. در آن زمان علاوه بر فراگیر شدن اینترنت، بلوغ مرورگرهای وب و استانداردسازی قراردادهای ارتباطات مبتنی بر وب همه و همه به توسعه‌ی سرویس‌های مجازی کمک کردند و به بیانی شرکت‌ها یک زمین مجازی برای ارائه‌ی خدمات یافتند. به تبع آن، نیازی روزافزون برای تسهیل توسعه‌ی سیستم‌های مبتنی بر وب احساس می‌شد.
پاسخ شرکت سان (Sun Microsystems) به این نیازها ارائه‌ی بسته‌ی توسعه‌ی نرم‌افزار Java 2 Entrrprise Edition (به طور مخفف J2EE، که از نسخه‌ی 5 به بعد به Java EE معروف است) بود. این بسته در واقع مجموعه‌ای از استانداردهای فناوری‌های مبتنی بر وب بود که با استفاده از جاوا، مجموعه امکانات جدیدی را به توسعه‌دهندگان برنامه‌های وب (و فراتر از آن سیستم‌های توزیع‌شده مانند EJBها) ارائه می‌داد. J2EE در واقع مجموعه‌ای از استانداردها به همراه پیاده‌سازی مرجع آن‌ها (عموماً توسط سان) می‌باشد.
سه سال پس از ارائه‌ی J2EE (که اساساً حول محورهای برنامه‌های حجیم، معماری‌های پیچیده و طراحی منسجم قرار دارد)، مایکروسافت در سال 2002 فناوری دات‌نت را ارائه داد. در این بسته‌ی توسعه‌ی نرم‌افزار، مایکروسافت زبان‌های گوناگونی چون VB.Net، J#.Net، C++.Net و زبان جدید C#.Net را ارائه داد. همچنین برای توسعه‌ی سیستم‌های مبتنی بر وب برنامه‌نویسان می‌توانستند از فناوری ASP.Net استفاده نمایند. کتابخانه‌ی کلاس‌های دات‌نت با در نظر گرفتن امکانات موجود جاوا و به منظور رقابت با آن طراحی شده بودند. با اندک نگاهی به آن می‌توان متوجه شد که بر خلاف جاوا که طراحان آن بهترین تمرین‌ها (Best practices) را ملاک طراحی خود قرار داده بودند و به شدت به اصول طراحی پایبندند، پایبندی اصلی طراحان کتابخانه‌ی کلاس‌های دات‌نت، سهولت کاربر و آسانی نوشتن کد (هم از جهت اختصار و هم از جهت ملموس بودن) است.
در ادامه‌ی به بررسی دو فناوری جاوا و دات‌نت از منظر‌های مختلف می‌پردازیم.
کارایی (Performance)
هر چند مقایسه‌ی کارایی فناوری‌های مبتنی بر دات‌نت و جاوا کاری پیچیده و دشوار است، مقایسه‌ی سرعت محیط‌های اجرایی آن‌دو برای برنامه‌های سرعت‌گیر و محاسباتی حاکی از آن است که تفاوت چندانی وجود ندارد. برخی ادعا می‌کنند که به دلیل قابلیت اجرای برنامه‌های جاوا بر روی بسترهای مختلف نرم‌افزاری (بر خلاف دات‌نت که فقط بر روی بستر ویندوز قابل اجراست) کارایی آن نسبت به دات‌نت کم‌تر است. این ادعا هر چند در عمل برای برنامه‌های گرافیکی محیط ویندوز در مقابل برنامه‌های جاوا مبتنی بر سوینگ (Swing) مشاهده می‌شود، ولی برای برنامه‌های سنگین محاسباتی و یا مواردی چون سرعت عملیات ورودی و خروجی (I/O) به چالش کشیده می‌شود و باید در آن تردید کرد.
در مورد اجرای برنامه‌ها، هر دو محیط از روش تفسیر (interpret) (و نه کد ماشین) استفاده می‌کنند. در این روش پس از کامپایل کد منبع (source code)، یک کد دودویی میانی تولید می‌شود که برای مفسرهای جاوا/دات‌نت قابل فهم است. به طور معمول روش تفسیر در زمان اجرا از تولید و اجرای کد ماشین کندتر است ولی هر دو فناوری موجود برای بدست آوردن مزایای تفسیر از تولید کد ماشین صرف‌نظر کرده‌اند. در بعد محسوس‌تر، باید سرعت تولید صفحات پویای ASP.Net را به عنوان مثال با JSP مقایسه کرد. این کار هرچند در نظر اول منطقی به نظر می‌رسد ولی با آسانی ممکن نیست. صرف‌نظر از اینکه دیگران چه ادعاهایی در مورد سرعت برنامه‌های تحت وب جاوا در مقابل دات‌نت دارند توجه به نکات زیر ضروری است:
برنامه‌های ASP.Net بالاجبار از تنها سرور قابل اطمینان برنامه‌های دات‌نت آی‌آی‌اس (Microsoft’s Internet Information System) استفاده می‌کنند. این وب سرور یکی از قدرتمندترین وب‌سرورهای محیط ویندوز است که منحصراً در همان محیط اجرا می‌شود. در مقابل برای توسعه‌ی یک برنامه‌ی تحت وب J2EE طیف وسیعی از سرورهای برنامه‌ی کاربردی از تجاری گرفته تا بازمتن (open source) و از سنگین‌وزن (heavy weight) گرفته تا سرورهای جاسازی شده (embedded) در اختیار برنامه‌ساز وب است. در این میان می‌توان از حداقل 10 سرور زنده و محبوب نام برد که بر روی تمامی محیط‌هایی که جاوا در آن اجرا می‌شود نصب می‌شوند .
ASP.Net به خصوص در نسخه‌ی دات‌نت دو، طیف وسیعی از امکانات ساخت برنامه‌های غنی تحت وب را در اختیار برنامه‌ساز قرار می‌دهد، در حالی که با استفاده از JSP و یا نهایتاً JSF، کاربر بسیاری از آن امکانات را توسط کتابخانه‌های جانبی و یا به صورت دستی به برنامه اضافه می‌کند. این امکانات یکپارچه مزیت خوبی را برای سرعت برنامه‌های دات‌نت مهیا می‌کنند، هر چند نمی‌توان حقیقتاً در مورد سرعت رندر شدن (rendering) صفحات ASP.Net و JSP به سادگی قضاوت کرد. در مجموع می‌توان گفت به جز مواردی نظیر برنامه‌های گرافیکی تحت ویندوز، برنامه‌های دات‌نت مزیتی از لحاظ سرعت اجرا بر جاوا ندارند و حتی در مواردی کندتر اجرا می‌شوند.
زمان توسعه:
اساساً این یک حقیقت است که سرعت توسعه‌ی برنامه‌های دات‌نت بیشتر از برنامه‌های J2EE است، هرچند باید به این نکته توجه داشت که برای هر شرکت تولید نرم‌افزار، مهم تخصص‌های موجود در آن شرکت است. در صورتی که تخصص‌های برابر دات‌نت و جاوا وجود داشته باشد، سرعت تولید برنامه‌های تحت وب دات‌نت - مشروط بر شرایط زیر - به صورت محسوسی بیشتر از برنامه‌های J2EE است:
محیط و فناوری‌های مورد استفاده توسط مایکروسافت پشتیبانی شوند. این بدان معنی است که بهترین حالت برای تولید نرم‌افزار در محیط دات‌نت، استفاده از VS.Net در کنار VSS (مدیریت کنترل نسخه‌های متن برنامه)، MS SQL Server به عنوان دِیتابیس سِرور و IIS به عنوان وب سرور می‌باشد. تغییر هر یک از موارد فوق به یک محصول غیر مایکروسافتی (مثلاً استفاده از اراکل به جای SQL Server) مساوی با تأخیر در تولید نرم‌افزار در محیط دات‌نت است. به دلیل قدمت بیشتر جاوا (از حدود سال 1996) در برابر دات‌نت (از 2002) کتابخانه‌های گوناگونی برای تقریباً هر کاری برای جاوا نوشته شده است. در حالی که دات‌نت تلاش می‌کند در این مورد از جاوا عقب نماند، ولی این حقیقت کماکان وجود دارد که عموماً کتابخانه‌های قابل قبول دات‌نت توسط شرکت مایکروسافت ارائه می‌شوند. کافی است مقایسه‌ای بین برنامه‌های موجود بر سایت SourceForge.net داشته باشیم. در حال حاضر در برابر 6.480 برنامه‌ی مختلف به زبان‌های VB.Net و C#.Net، بیش از 22.000 برنامه جاوا (شامل کتابخانه‌ها، برنامه‌های کاربردی، بازی‌ها، ابزارهای اینترنت و ...) وجود دارد. این واقعیت وجود دارد که در برابر 3 یا 4 کتابخانه‌ی مختلف بازمتن جاوا برای یک کار خاص (مثلاً فشرده‌سازی، ایمیل، پروتکل‌های مختلف شبکه و ...) یک و یا دو پیاده‌سازی مورد استفاده در دات‌نت (و آن‌هم متعلق به مایکروسافت) وجود دارد. در واقع در برابر بازار آزاد و خنثای تولید نرم‌افزارهای Java/J2EE (که با ارائه‌ی استاندارد و لیسانس کردن نرم‌افزارها، به شرکت‌های مختلف اجازه می‌دهد تا پیاده‌سازی خود را برای هر استاندارد J2EE ارائه دهند)، انحصار بازار و تجارت اصلی دات‌نت در اختیار مایکروسافت است.
انجمن (community)
جاوا و دات‌نت توسط طیف وسیعی از کاربران مورد استفاده قرار می‌گیرند. در حالی که شرکت‌های بزرگی چون مایکروسافت و SAP از طرفداران اصلی دات‌نت هستند، در طرف دیگر میدان سان، اراکل (Oracle)، آی‌بی‌ام (IBM) و رِدهَت (RedHat) حضور دارند. اراکل در دیتابیس خود یکپارچگی قابل قبولی با جاوا ارائه می‌کند و در عین حال هر سه شرکت اراکل، آی‌بی‌ام و سان (و همچنین BEA) بسته‌ی JDK خود را تحت لیسانس سان (یعنی به صورت کاملاً Sun compaliant) ارائه می‌دهند. در این مورد کاربران با گزینه‌های مختلفی از بسته‌ی توسعه‌ی نرم‌افزار جاوا مواجهند. تقریباً تمامی دیتابیس‌های کنونی قابل استفاده در هر دو محیط دات‌نت (با استفاده از ODBC و یا native client) و جاوا (JDBC) هستند. سایت‌ها، میلینگ‌لیست‌ها، انجمن‌ها و گروه‌های مجازی به دلیل قدمت بیشتر جاوا، به مراتب از دات‌نت بیشترند. و باز به همین دلیل کتابخانه‌های موجود جاوا بسیار وسیع‌تر از موارد مشابه دات‌نت هستند.
قابلیت گسترش
هر دو محیط استراتژی‌های مناسبی را برای تأمین امنیت به کار می‌گیرند و انواع روش‌های رمز‌نگاری را پشتیبانی می‌کنند. تفاوت عمده‌ در این بخش نیز همچون بسیاری از بخش‌ها، پشتیبانی عمیق و یک‌جنس امنیت در سطح مایکروسافت ویندوز برای محیط دات‌نت در مقابل پشتیبانی فراگیر و ناهمگن برای محیط‌های مختلف توسط جاوا است.
سهولت استفاده برنامه‌نویس
به نظر می‌رسد هدف مهم در طراحی کتابخانه‌ی کلاس‌های دات‌نت، سهولت استفاده‌ی برنامه‌نویس باشد. این سهولت در جاوا با به کارگیری تکنیک‌های پیچیده‌ی طراحی دقیق شی‌گرایی تا حدی از دست داده شده است.
آسانی یادگیری
به نظر نمی‌رسد در این مورد تفاوت خاصی بین دو فناوری وجود داشته باشد، هرچند پشتیبانی دات‌نت از چندین زبان به برنامه‌نویسان این امکان را می‌دهد که ملموس‌ترین زبان را برای خود انتخاب کنند.
انحصار (سیستم‌عامل، ابزارها و ...)
همانطور که پیشتر نیز اشاره شد، مزیت اصلی استفاده از دات‌نت، یکپارچگی به کارگیری محصولات مایکروسافت است. بر خلاف آن سان صرفاً استانداردها را (با مشارکت شرکت‌های بزرگ دیگر) در انجمن JCP وضع می‌کند و شرکت‌های مختلف به پیاده‌سازی آن استاندارد می‌پردازند. از مزایای دیگر جاوا قابلیت اجرای آن بر روی اکثر سیستم‌عامل‌های موجود است. در واقع این به عنوان مهم‌ترین برتری جاوا بر دات‌نت شناخته می‌شود، هر چند برخی آن‌را سرگردان کننده می‌دانند. جاوا از موبایل‌های ساده تا دستگاه‌های اکترونیکی نظیر ماکروفر و یخچال و PDA حضور دارد (نسخه‌ی سبک جاوا). در مقابل دات‌نت هم بر روی PDAهای Pocket PC وجود دارد (نسخه‌ی سبک دات‌نت).
 

Keivan Keihanipour

عضو جدید
کاربر ممتاز
بخش دوم- قسمت دوم: مقايسه با دات نت‌ها

بخش دوم- قسمت دوم: مقايسه با دات نت‌ها

سخت‌افزار و نرم‌افزار مورد نیاز
تفاوت زیادی بین سخت‌افزار مورد نیاز وجود ندارد؛ اگرچه برنامه‌هاي جاوا عموماً به عنوان مصرف‌کننده‌ی بالای حافظه شناخته می‌شوند، اما بايد دانست كه مايكروسافت‌دات‌نت‌ها نيز در این عرصه دست کمی از جاوا ندارند. برای برنامه‌سازی جاوا باید Java SDK را در اختیار داشت و برای دات‌نت نیز .Net Framework که هر دو به صورت رایگان قابل دریافتند.
Open Source
اساساً تعداد زیادی از پروژه‌ها بر روی هر دو محیط به صورت بازمتن عرضه می‌شوند ولی در این عرصه تمایز زیادی بین دات‌نت و جاوا وجود دارد. از همان اوایل عرضه‌ی جاوا و به خصوص J2EE شرکت‌های زیادی به عرضه‌ی محصولات در این حوزه پرداختند. از جمله بنیاد نرم‌افزاری آپاچی با هزینه‌ی شرکت‌های بزرگ‌تری چون سان، بی‌ئی‌اِی و آی‌بی‌ام سال‌هاست که به تولید کتابخانه‌ها، سرورها و سایر ملزومات برنامه‌سازی می‌پردازد. یک برنامه‌نویس محیط جاوا به سادگی می‌تواند با استفاده از هر فناوری حوزه‌ی J2EE یک نرم‌افزار - فقط با استفاده از ابزارهای بازمتن - تولید کند. به علاوه روند توسعه‌ی خود Java SDK به سایت java.net (که حاوی پروژه‌های باز متن جاوا است) منتقل شده و کاربران از نسخه‌ی Java SE 5 به بعد به سادگی به کد منبع SDK جاوا دسترسی دارند. این موضوع متأسفانه هنوز در مورد دات‌نت اتفاق نیفتاده ولی با توجه به رویکرد جدید مایکروسافت نسبت به حمایت از پروژه‌های بازمتن بعید نیست در سال‌های آتی شاهد آن باشیم. به تازگی سان اعلام کرده که می‌خواهد بسته‌ی نرم‌افزاری توسعه‌ی جاوا را تحت لیسانس آزاد گنو (GNU General Public License) ارائه کند. در کنار این جریان مایکروسافت هم با حمایت از چند سایت (که پروژه‌های بازمتن را توسعه می‌دهند) قصد دارد تا نقشی در عرصه‌ی بازمتن ایفا کند. (سایت‌های GotDotNet و CodePlex از این دسته‌اند.)
محیط برنامه سازی (IDE: Integrated Development Environment)
یکی از موارد مهم در تولید نرم‌افزار ابزار اصلی برنامه‌نویسان یعنی محیط برنامه‌سازی با IDE می‌باشد. در حالی که دات‌نت تنها یک IDE قدرتمند دارد که غیر رایگان است، جاوا در حدود ده IDE مختلف از محیط‌های بازمتنی مانند Eclipse و NetBeans گرفته تا محیط‌های تجاری چون IntelliJ IDEA، JBuilder، Workshop، JDeveloper و WebSphere را در اختیار دارد. یگانه محیط برنامه‌سازی دات‌نت Visual Studio.Net می‌باشد که تقریباً تمامی امکاناتی که یک IDE بالغ باید داشته باشد را در خود گرد آورده. در مقابل ابزارهای بازمتنی چون Eclipse با قابلیت نصب pluginهای گوناگون، IDEهای دیگر را به چالش می‌کشد. هرچند محیط‌های بازمتنی چون SharpDevelop هم برای توسعه‌ی برنامه‌های دات‌نت در اختیار است،البته این محیط‌ها تفاوت چشمگیری با VS.Net دارند.
 

هستی فرهادی

عضو جدید
ممنونم ازتون آقاي کيهاني پور...:gol:
من خيلي وقته مي خوام جاوا ياد بگيرم.شما مي تونين منبع،کتاب و يا هر چيز ديگه اي به من معرفي کنيد؟؟؟:smile:
 

MOHAMMAD-- N

عضو جدید
۹۸ درصد کامپیوترها در برابر هکرها آسیب پذیرند

۹۸ درصد کامپیوترها در برابر هکرها آسیب پذیرند



شرکت امنیتی سکونیا با ارائه آماری هشداردهنده و شگفت‌آور اعلام کرده است که بیش از ۹۸ درصد رایانه‌های شخصی، از لحاظ امنیتی آسیب‌پذیر بوده و بر این اساس هکرها و بزهکاران اینترنتی می‌توانند به آنها رخنه کنند و اطلاعات موجود در آنها را استخراج نمایند.
بنا به اعلام محققان شرکت دانمارکی سکونیا، کمتر از دو درصد رایانه‌های شخصی یا همان PCهایی که از برنامه Secunia PSI استفاده می‌کنند، نسخه کاملاً به‌روز این نرم‌افزار را به کار می‌برند.
در این بررسی ۲۰ هزار رایانه/کاربر مورد کنکاش قرار گرفت و نتایج ذیل به دست آمد:
۱. در ۱/۹۱ درصد PCها هیچ برنامه ناامن و خطرسازی نصب نشده است.
۲. در ۳۰/۲۷ درصد PCها ۱ الی ۵ برنامه خطرساز نصب شده است.
۳. در ۲۵/۰۷ درصد PCها ۶ الی ۱۰ برنامه خطرساز نصب شده است.
۴. در ۴۵/۷۶ درصد PCها بیش از ۱۱ برنامه خطرساز نصب شده است.
Jakob Balle یکی از کارشناسان سکونیا و مدیر توسعه IT این شرکت می‌گوید: هکرها با بهره ‌گیری از ضعف امنیتی موجود در یک برنامه می‌توانند به PC رخنه کنند، اطلاعات شخصی کاربر را برملا سازند و اقدام به نصب خودکار تروجان و ویروس نمایند.
گفتنی است نرم‌افزار رایگان Secunia Personal Software Inspector که به اختصار Secunia PSI خوانده می‌شود، تمام فایل‌های اجرایی را که در نرم‌افزارهای مختلف ساخته می‌شود، مورد بررسی قرار می‌دهد و پس از آن، اطلاعات گزینش‌‌شده‌ای را از سرور Secunia به رایانه ارسال می‌کند تا از این طریق نرم‌افزاری را که بر رایانه کاربر نصب شده، شناسایی کند.:w10:
 

MOHAMMAD-- N

عضو جدید
فن‌آوری جدید یاهو چكیده‌ای از نتایج جست‌وجو ارایه می‌كند

فن‌آوری جدید یاهو چكیده‌ای از نتایج جست‌وجو ارایه می‌كند



فن‌آوری جدیدی در آزمایشگاه یاهو در هند در دست طراحی است تا به‌جای نمایش لینك‌ها در صفحه نتایج جست‌وجو خلاصه اطلاعاتی در مورد نتایج جست‌وجوی وب فراهم كند.
به گفته معاون آزمایشگاه‌های بنگلور یاهو، این فن‌آوری كه سال آینده در سرویس جست‌وجوی یاهو عرضه می‌شود خلاصه كوچكی از اطلاعات كلیدی نتایج جست‌وجو فراهم می‌كند.
بر اساس این گزارش، آزمایشگاه بنگلور یاهو در حال كار برروی خلاصه‌سازی خودكار اطلاعات است كه شامل مرور میلیاردها صفحه وب و به دست آوردن چكیده‌ای از اطلاعات مربوط است.
با عرضه فن‌آوری خلاصه‌سازی اطلاعات نتایج جست‌وجو به‌عنوان مثال اگر یك صفحه مربوط به محصول وجود داشته باشد كاربران خلاصه‌ای از اطلاعات كه شامل تصویر محصول، نام سازنده و قیمت آن است دریافت خواهند كرد.
آزمایشگاه بنگلور یاهو همچنین در حال كار با سایر آزمایشگاه‌های یاهو برای اصلاح نتایج جست‌وجو است. فن‌آوری اصلاح جدید كه مجموعه‌های جدیدی از صفحات وب را به كاربران جست‌وجو پیشنهاد می‌كند فراتر از فن‌آوری‌های فعلی یاهو مانند Search Assist است كه تقاضای جست‌وجو وارد شده در كادر جست‌وجو را به طور خودكار كامل می‌كند.
فن‌آوری جدید كه تا سال آینده برای كاربران موجود خواهد بود به آن‌ها كمك می‌كند با اصلاح تقاضای جست‌وجوی خود مجموعه آدرس‌های سایت‌هایی را كه حاوی اطلاعات مورد نظر آن‌ها هستند محدود كنند.
این اصلاح با شناخت قصد كاربر با توجه به جست‌وجوهای قبلی و بازدیدهایی كه از سایر وب‌سایت‌های یاهو به‌عمل آورده و اطلاعات دیگر انجام می‌گیرد.:w10:
 

آلوین

عضو جدید
کاربر ممتاز
خدمات الکترونیکی و امضای دیجیتالی

خدمات الکترونیکی و امضای دیجیتالی

با پيشرفت فناوري اطلاعات گرايش به سمت استفاده از فرم هاي الكترونيكي افزايش يافته است. در سالهاي گذشته فرم هاي الكترونيكي انواع گوناگوني داشتند. از تصاوير اسكن شده تا فرم هاي ساده HTML. ولي هيچ يك از اين فرم ها قابليت هاي واقعي يك فرم فيزيكي كاغذي را نداشتند. در چند سال گذشته شركت هاي Adobe و Microsoft نسل جديدي از فرم هاي الكترونيكي را گسترش داده اند.
براي مثال فرض كنيد شهروند يا كارمندي مي خواهد فرم درخواستي را به سازمان يا شركتي ارسال كند.
در حالت معمولي اين شهروند يا كارمند به اداره يا سازمان مورد نظر مراجعه و فرم مخصوصي را دريافت مي كند. سپس آن را پر، امضا و دوباره به سازمان مورد نظر تحويل مي دهد. اين فرم در اين سازمان مراحل تعريف شده اي را طي مي كند. ممكن است چند امضا نيز در داخل اين سازمان بخورد و در نهايت نتيجه آن به درخواست كننده ارائه خواهد شد.
فرم هاي الكترونيكي نيز بايد همين جريان را به صورت الكترونيكي پياده كنند: كاربر به وب سايت سازمان مورد نظر مراجعه فرم مخصوص را دريافت و آن را پر و امضا مي كند. سپس آن را Submit مي كند. فرم در داخل سازمان مراحل مربوطه را طي مي كند. كاربر در هر لحظه مي تواند به سايت سازمان مراجعه و از وضعيت فرم خود اطلاع پيدا كند.
استفاده از فرم هاي ساده با قالب HTML در سالهاي گذشته بسيار رواج داشته. عدم وجود امنيت كافي مهمترين مشكل اين فرم ها است.
شركت Microsoft با ارائه نرم افزار InfoPath نسل جديدي از فرم هاي الكترونيكي،eForm ها را رواج داده است. اين نرم افزار به خوبي با محيط برنامه سازي .net سازگار است و فرم هاي توليد شده توسط اين نرم افزار استاندارد XML را پشتيباني مي كند و به راحتي مي تواند با Web Service ها مورد استفاده قرار گيرد.



شکل 1- ساختار فرم الکترونيکی در InfoPath
InfoPath از XML بعنوان زبان پايه و هسته اصلي خود استفاده مي كند. با وجود اين InfoPath به خوبي با ساير نرم افزارهاي Office سازگار است و كلا قسمتي از مجموعه Office به شمار مي رود. از آنجايي كه فرمهاي InfoPath بر پايه XML توليد مي شوند، همانطور كه در شكل بالا نيز مشاهده مي شوند، فرمهايي با قابليت استفاده عمومي مي باشند. در واقع هدف W3C از ارائه استاندارد XML و توصيفات xForm تعريف ساختاري عمومي براي eForm ها بود كه Microsoft در اين نرم افزار سعي بر برقراري آن كرده است.
شركت Adobe نيز امكاناتي را براي توليد و امضا كردن فرم هاي الكترونيكي در نرم افزار Acrobat خود گنجانده است. ولي طبق گفته هاي اخير ،اين شركت نرم افزار جديد با نام Adobe Approval را در اين زمينه در سالهاي آينده ارائه خواهد داد.

مهمترين مزيت هاي فرم هاي InfoPath نسبت به فرم هاي Adobe اين است كه InfoPath از استاندارد XML پشتيباني مي كند، با محيط .net سازگار است و به راحتي با Web Service ها ارتباط برقرار مي كند. در حالي كه فرمهاي Adobe فقط توسط نرم افزار Acrobat پشتيباني مي شوند و بايد توسط اين نرم افزار طراحي ، پر و سپس بصورت دستي Submit شوند.
نرم افزار InfoPath براي كد كردن فرم هاي خود از يك الگوريتم معروف و مطمئن به نام RSA كه يك الگوريتم كدگذاري بر اساس كليد عمومي (PKI) است استفاده مي كند. اين الگوريتم در سال 1978 توسط Ron Rivest ، Adi Shamir و Leonard Adleman در دانشگاه MIT ايجاد شده است. كه بصورت خلاصه در زير آمده است:
فرض كنيد شخص A مي خواهد اطلاعات D را به شخص B بفرستد. همچنين فرض كنيد شخص C به كانال ارتباطي بين A و B دسترسي دارد و مي خواهد اين اطلاعات را بدست آورد.
1-ابتدا B دو عدد اول بسيار بزرگ (براي مثال InfoPath از اعداد 1024 بيتي استفاده مي كند)، مثل pو q را انتخاب مي كند.
2- B كليد عمومي e را كه عددي بين 1و p*q است انتخاب مي كند. همچنين e بايد نسبت به (p-1)*(q-1) اول باشد. سپس e و n=p*q را كه همان كليد هاي عمومي هستند به A مي فرستد.
3- A براي ارسال D مقدار De mod n را محاسبه و به B مي فرستد.
4- B مقدار كليد خصوصي خود، d را از طريق رابطه d*e=1(mod (p-1)(q-1)) محاسبه مي كند.
5- B براي محاسبه مقدار فرستاده شده توسط A از رابطه زير استفاده مي كند:
D=(De)d mod n.
همانطور كه ملاحظه كرديد A براي ارسال اطلاعات به B از با كليد عمومي B آنها را كد مي كند و B براي رمزگشايي از كليد خصوصي خود استفاده مي كند.
در اين ميان C اطلاعات زير را بدست آورده است: n، e و De. محاسبه D از روي اين اطلاعات بسيار مشكل و با استفاده از كامپيوتر هاي امروزي به قرن ها وقت نياز دارد.
براي اينكه ارتباط بين A و B دوطرفه باشد بايد هر كدام از اين دو يك كليد عمومي در اختيار ديگري قرار بدهد.




شکل 2- ارسال اطلاعات با الگوريتم RSA

معماري اين الگوريتم در شكل زير نشان داده شده است :


شکل 3- معماری بوجود آمدن يک امضاء

سناريو امضاي ديجيتالي :

شهروند حضورا به سازمان مربوطه مراجعه مي كند، فرم مشخصات شخصي خود را پر مي نمايد. پس از بررسي به وي يك نام كاربري و كلمه عبور داده مي شود. شهروند با با ورود به پورتال درخواست يك Certificate مي نمايد. اين Certificate از بخش هاي ذيل تشكيل شده است :
  • Serial number :
  • Expire Date :
  • Certificate Type : X509 (ISO/IEC 9594-8)
  • Key Length : 1024 Bits
  • Key Type : RSA

Public key , Private key در اختيار شهروند مي باشد. و Publickey در اختيار سازمان، لذا وقتي شهروند اطلاعاتي را به سازمان مي فرستد با امضاي ديجيتالي خود بوسيله Public key , Private key كد مي نمايد. و در سازمان چون Public key شهروند موجود است از روي آن مي توان به اطلاعات فرم دسترسي پيدا كرد و همچنين مطمئن شد كه از سوي آن شهروند آمده است. اين سناريو در شكل ذيل نشان داده شده است :





شکل 4- سناريو ارسال فرم به سازمان
معماري امضاي ديجيتالي بر روي يك سند و رمز گشائي آن در سازمان





شکل5- معماري امضاي ديجيتالي بر روي يك سند و رمز گشائي آن در سازمان
با اين تفاسير وقتي شهروندان از پورتال Certificate درخواست مي كنند اين Certificate ها در محلي بنام Certificate Storage ذخيره مي شوند. و چون ساختار پورتال بگونه اي است كه از Domain Controler استفاده مي كند و كاربران پورتال عضو اين Domain Controler هستند لذا Certificate ها در محلي بنام ACTIVE_DIRECTORY_USER_STORE ذخيره مي شوند. بنابراين وقتي شهروندي سندي را با Certificate خود امضاي ديجيتالي مي نمايد و E_Form را از طريق وب سرويس انتقال مي دهد، وب سرويس از روي نام كاربري شهروند مشخصات شناسنامه اي و CA Public Key وي را از پايگاه داده Active Directory و Certificate Storage استخراج كرده و بكمك الگوريتم هاي پيچيده رياضي اين دو امضاء را مقايسه و در صورت Validate بودن آن اجازه ارسال فرم را به كاربر مي دهد. اين معماري در شكل ذيل نشان داده شده است :



شکل6- معماری تشخيص امضاء در سازمان بوسيله LDAP,CA

تذکر : لطفا پست Certificate Services (نصب و راه اندازی) را مطالعه فرمائید.
معماري يك E_Form در نرم افزار Microsoft Infopath 2003 :
وقتي كه شما يك E_Form را در Infoapth باز مي كنيد ، بلافاصله يك Dom tree در حافظه براي آن تشكيل مي شود. اين Dom tree شامل يك XML Schema و XSL Transformation (XSLT) مي باشد. وقتي كاربر مي خواهد اطلاعات را بفرستد، اطلاعات فرم بوسيله پروتكل هاي SOAP و HTTP اطلاعات از فرم بسوي سرور فرستاده مي شود. اين معماري در شكل زير نشان داده شده است :



شکل7- معماري يك E_Form در نرم افزار Microsoft Infopath 2003
نمونه يك فرم الكترونيكي :


پر كردن و امضاء فرم الكترونيكي :


فرم پر شده که توسط شهروند امضاء می شود :


در قسمت View Certificate مي توان مشخصات امضاء را ديد :


همانطور كه مشخص است Public Key اين امضاء 1024 بيتي مي باشد.
نمونه يك امضاء :


حال وقتي شهروند فرم امضاء شده را مي خواهد ارسال نمايد دكمه Submit را فشار مي دهد وب سرويس امضاء شهروند را با PublicKey موجود در سازمان چك مي كند ، در صورتيكه امضاء براي سيستم معتبر و شناخته شده باشد اجازه مي دهد كه فرم به سازمان ارسال شود.




منابع و ماخذ


[1] www.perfectxml.com
[2] www.Microsoft.com
[3] http://certs.centurywebdesign.co.uk/support/cert_installation/iis5.html
[4] http://certs.centurywebdesign.co.uk/support/csr_generation/iis5.html
[5] http://world.std.com/~franl/crypto/rsa-guts.html
[6] http://www.gilbane.com




برگرفته از وب سایت صوفی زاده
 

nasrin-eng

عضو جدید
مقايسه اجمالي IE7 & FireFox

مقايسه اجمالي IE7 & FireFox

مقايسه اجمالي IE7 & FireFox
1-در زمينه طراحي : هيچ يك برتري خاصي نسبت بهم ندارند.
2-در ارتباط با سرعت:هر چند كه IE 7 در هنگام بارگزاري صفحات وب ،از رقيبان خود تنبل‌تر است ،اما اين مرورگر پشتيباني خوبي از تمام صفحات وب بعمل مي‌آورد.
فايرفاكس با وجود آنكه سريعتر است ،اما گهگاه ديده مي‌شود كه در هنگام نمايش يك سايت با مشكل مواجه مي‌شود.
3-يكي از ايرادهاي IE7 ،نداشتن اضافه‌شونده‌ها(Extensions ) است و در شرايطي كه فاير فاكس داراي انبوهي از اضافه شونده‌هاي متنوع و بسيار پر كاربردي است
4-در مورد امنيت نميشه چيزي گفت .هر دو شركت ادعا مي‌كنند كه از لحاظ امنيت در سطح خوبي هستند.
ضمن اينكه در يكي دو سال اخير ثابت شده‌است كه افرادي كه از مرورگر موزيلا استفاده مي‌كنند،كمتر در معرض خطر حملات كرم‌هاي اينترنتي(Malware )واقع شده‌اند.
5-به عقيده برخي كاربران ،قابليت برجسته Quicktabs در IE 7 ،اين شايستگي را برايش به وجود مياورد كه به عنوان انتخاب اول باشد و به عقيده برخي ديگر ،سرعت بارگزاري صفحات توسط فاير فاكس، آن را برنده خواهد كرد.
6-در حالت كلي تساوي بين آنها برقرار است.ok;)
 

nasrin-eng

عضو جدید
معرفي سايت‌هاي منابع اطلاعاتي

معرفي سايت‌هاي منابع اطلاعاتي

معرفي سايت‌هاي منابع اطلاعاتي:
Yahoo answers(كيفيت جوابها جالب نست)
Answers google(از قبول سوالهاي جديد خودداري مي‌كند،سوالها در هر زمينه توسط متخصصين جواب داده شده‌اند،مجاني نيست،آرشيو غني از سوالهاي خوب دارد)
LiveQna(سايت سوال و جواب ميكروسافت،كيفيت جوابها جالب نيست)
AskVille(متعلق به آمازون است،پديده سايت‌هاي سوال و جواب است،)
Ask MetaFilter(وبلاگ است ،سوالات توسط اعضا جواب داده مي‌شوند)
AllExperts(مفيد و مجاني،سوالات در هر زمينه توسط متخصصين جواب داده مي‌شوند،)
Answerbag (داراي كاربراني با سطح تحصيلات عالي‌ست،جوابهاي با كيفيت،)
Wondir(مجاني،جوابهاي حرفه‌اي ندارد)
Exchange Expert(بزرگترين سايت سوال و جواب تخصصي كامپيوتري،10000 متخصص و نيم ميليون كاربر دارد،امكانات پايه مجاني،براي استفاده از كليه امكانات ساليانه 100 دلارو در ازاي آن حداكثر ظرف 30 دقيقه جواب سوال را مي‌گيريد،2 ميليون سوال و جواب در آرشيو دارد.)ok ;)
 

MOHAMMAD-- N

عضو جدید
هشدار به کاربران ویندوز

هشدار به کاربران ویندوز



آسیب پذیری جدید کشف شده در سیستم عامل ویندوز، همان طور که انتظار می رفت، مشکلات امنیتی فراوانی را برای کاربران اینترنت و شبکه های سازمانی ایجاد کرد. طبق پیش بینی کارشناسان امنیتی، آسیب پذیری جدید ویندوز که در ماه جاری میلادی کشف شد، موجب آلودگی تعداد زیادی از کاربران اینترنت شده است. هرچند این نقص امنیتی مهم با عنوان MS۰۸-۶۷ ، توسط مایکروسافت ترمیم شده، اما بسیاری از کاربران ویندوز و مدیران شبکه هنوز نسبت به دانلود فایل ترمیمی و اصلاح این حفره امنیتی اقدام نکرده اند. بنا بر گزارش Panda Security، لابراتوارهای امنیتی این شرکت موفق به کشف یک کرم رایانه یی جدید با عنوان Conficker.A شده اند که تنها سیستم های دارای آسیب پذیری MS۰۸-۶۷ را آلوده می کند. میزان شیوع و سرعت انتشار این کد مخرب نشان می دهد درصد زیادی از کاربران اینترنت، از وجود این آسیب پذیری مهم بی اطلاع یا نسبت به رفع آن بی توجه هستند. Conficker.A، به محض نفوذ در سیستم، یک ضدویروس جعلی به نام Adware/Antivirus ۲۰۰۹ را در آن دانلود کرده و مشکلات فراوانی را برای کاربر ایجاد خواهد کرد. همچنین این کرم اینترنتی، با استفاده از دسترسی به حجم عظیمی از آدرس های IP، به جست وجوی رایانه هایی می پردازد که پورت شماره ۴۴۵ آنها باز است. باز بودن این پورت که متعلق به سرویس RPC است، نشانه یی از وجود آسیب پذیریMS۰۸-۶۷ محسوب می شود. پاندا به کاربران اینترنت و نیز مدیران شبکه های محلی، توصیه کرده است به منظور عدم آلودگی به این کد مخرب، سیستم های عامل خود را به روز کنند. این کاربران می توانند برای اطمینان از عدم آلودگی رایانه های خود به پایگاه اینترنتی www.activescan.com مراجعه کنند. :w10:
 

nasrin-eng

عضو جدید
امكان رايت كردن در كامپيوترتان را غير فعال كنيد.

امكان رايت كردن در كامپيوترتان را غير فعال كنيد.

امكان رايت كردن در كامپيوترتان را غير فعال كنيد.
امكان رايت كردن در كامپيوترتان را غير فعال كنيد تا در حضور يا غياب شما كس ديگر نتواند نتواند سي دي رايت كند.
Run--àregedit
HKEY_CURRENT_USER\software\microsoft\currentversion\policies\explore
حال در پنل سمت راست يك مقدار جديد از نوع DWORD بنام NOcdburning بسازيد ومقدار آن را به يك تغيير دهيد.;)
 

Mehr noosh

عضو جدید
bios چگونه کار میکند؟

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

از رایج ترین کاربردهای flash memoryها در ساخت “بایوس” ، BIOS (Basic Input/Output System) است. BIOS درعمل از هماهنگی بین تراشه ها، دیسک های سخت، پورت ها و عملکرد CPU اطمینان حاصل میکند.
هر کامپیوتر desktop یا laptop یک ریزپردازنده یا Microprocessor بعنوان واحد پردازش مرکزی دارد. Microprocessor یک واحد سخت افزاری است. این واحد سخت افزاری برای اینکه بتواند کارهایی را انجام دهد، مجموعه ای از دستورات موسوم به نرم افزار یا Software را اجرا میکند.
شما احتمالا با دو نوع متفاوت از نرم افزارها آشنا هستید:
سیستم عامل _ سیستم عامل مجموعه ای از سرویسها را برای اجرای برنامه های کاربردی روی کامپیوتر فراهم میکند. همچنین interface (رابط کاربر) اولیه ای را برای کاربر فراهم میکند.
Windows۹۸ و Linux نمونه ای از سیستم عامل ها هستند.
برنامه های کاربردی _ برنامه های کاربردی تکه نرم افزارهایی هستند که برای کاربردهای خاص نوشته شده اند.
مثلا همین الان ممکن است روی کامپیوتر شما برنامه هایی مثل browser، word، برنامه ارسال E_mail و برنامه های مشابهی نصب باشد.
پس بعبارتی میتوان گفت که BIOS سومین نوع نرم افزار است که کامپیوتر شما برای کارکردن به آن نیاز دارد. در این مقاله چیزهای زیادی راجع به BIOS خواهید آموخت. اینکه BIOS چه کاری انجام میدهد، تنظیمات چگونه روی آن اعمال میشود و اینکه چگونه میتوان آنرا update کرد.
BIOS چه کارهایی انجام میدهد؟
مهمترین کاری که BIOS انجام میدهد، Load کردن سیستم عامل است. وقتی شما کامپیوترتان را روشن میکنید و Microprocessor تلاش میکند تا اولین دستورات را اجرا کند، بایستی این دستورات را از جایی بگیرد.
Microprocessor نمیتواند این دستورات را از سیستم عامل بگیرد. چرا؟
چون سیستم عامل روی دیسک سخت (hard disk) کامپیوتر قرار دارد و بایستی دستورات اولیه ای باشد تا Microprocessor را برای مراجعه به hard disk راهنمایی کند. BIOS این دستورات اولیه را برای Microprocessor صادر میکند.
برخی کارهای رایج دیگر که BIOS انجام میدهد عبارتند از:
اجرای عملیات POST(power-on self-test) برای اجزای سخت افزاری پایه که روی کامپیوتر شما نصب شده و وجود آنها برای کارکردن سیستم ضروری است، تا از صحت عملکرد آنها اطمینان حاصل شود. (این عملیات به محض روشن شدن کامپیوتر شروع میشود و با ارسال سیگنال هایی به قطعات سخت افزاری پایه، و دریافت پاسخ از آنها کامل میگردد.)
فعال کردن سایر تراشه های BIOS موجود روی کارت های مختلفی که داخل case نصب شده اند. بعنوان مثال، کارت های SCSI و کارت های گرافیک، اغلب تراشه های BIOS مختص به خود را دارند.
فراهم کردن یک سری بسترهای مقدماتی از طریق اجرای تعدادی دستورات سطح پایین، که سیستم عامل از آنها در جهت برقراری ارتباط با سخت افزارهای مختلف استفاده میکند. درواقع نام BIOS بیشتر از این عملکردش گرفته شده. در این مرحله قطعات جانبی مثل صفحه کلید، صفحه نمایش، پورت های موازی و سریال و… (بخصوص هنگام بوت شدن کامپیوتر)، باهم هماهنگ میشوند.
اعمال یک سری تنظیمات برای hard disk ها، clock و…
BIOS نرم افزار ویژه ای است که ارتباط اجزای اصلی سخت افزاری را با سیستم عامل کامپیوترتان برقرار میکند. BIOS معمولا در یک تراشه ی حافظه ی flash که روی مادربورد قرار گرفته ذخیره میشود. البته بعضی وقتها، این تراشه از نوع دیگری از ROM است.
وقتی شما کامپیوترتان را روشن میکنید، BIOS چند کار را انجام میدهد.
این سلسله مراتب معمولا بترتیب زیر است:
چک کردن CMOS Setup برای بررسی تنظیمات خاص
Load کردن سیستم اعمال وقفه ها و درایورها (device drivers)
مقداردهی اولیه به registerها (ثبات ها) و مدیریت قدرت (برق)
اجرای عملیات POST
نمایش تنظیمات سیستم
شناسایی اجزای bootable
آغاز کردن سلسله مراتب لازم برای boot شدن سیستم
اولین کاری که BIOS انجام میدهد، چک کردن اطلاعاتی است که روی بخش کوچکی (۶۴ bytes) از حافظه ی RAM قرار گرفته در یک آی سی (Complementary Metal Oxide Semiconductor) CMOS، ذخیره شده.
CMOS Setup اطلاعات جزئی که خاص سیستم شماست را نگهداری میکند و درصورت بوجود آمدن تغییراتی در سیستم میتواند تغییر کند.
BIOS از این اطلاعات ذخیره شده در CMOS، برای تغییر دادن یا تکمیل خود استفاده میکند. بعدها در مورد این ویژگی بیشتر بحث خواهیم کرد!
سیستم ایجاد وقفه درواقع تکه برنامه های کوچکی است که مثل رابط مترجم بین اجزای سخت افزاری و سیستم عامل عمل میکند. بعنوان مثال وقتی شما کلیدی را روی صفحه کلید فشار میدهید، سیگنالی تولید میشود. این سیگنال به سیستم تولید وقفه ی صفحه کلید ارسال میشود و به CPU اعلام میکند که این وقفه مربوط به چه چیزی است.
و در نهایت سیستم عامل تصمیم مناسب را اتخاذ میکند.
Device driverها هم تکه برنامه هایی هستند که اجزای سخت افزاری پایه مثل صفحه کلید، ماوس، هارد درایو و فلاپی درایو را شناسائی میکنند.
BIOS معمولا هنگام نیاز در RAM سیستم کپی میشود تا سریع تر اجرا شود.
بوت کردن کامپیوتر
هر وقت کامپیوترتان را روشن میکنید، اولین اتفاقی که می افتد این است که BIOS کار خود را انجام میدهد. در بسیاری از سیستم ها، BIOS متنی را نشان میدهد که توصیف کننده ی چیزهایی مثل مقدار حافظه ی RAM، نوع دیسک سخت و … در آن سیستم است. این نشان میدهد که درطول فرآیند بوت شدن سیستم، BIOS مقدار قابل ملاحظه ای عملیات را انجام میدهد تا سیستم شما آماده به کار شود. در این قسمت برخی از این عملیات برای یک PC ی معمولی بطور خلاصه توصیف میشود:
پس از چک کردن CMOS Setup و فراخوانی سیستم اعمال وقفه ها، BIOS بررسی میکند که آیا کارت گرافیک کار میکند یا نه.
بیشتر کارت های گرافیک یک BIOS کوچک دارند که حافظه و پردازنده گرافیکی موجود روی آنها را مقدار دهی اولیه میکند. درغیر اینصورت BIOS اطلاعات مربوط به راه اندازی کارت گرافیک را از روی یک تراشه ROM موجود روی مادربورد میخواند.
بعد BIOS چک میکند که آیا Cold boot (Reset کردن سیستم بصورت سخت افزاری. مثلا با دکمه reset روی case) اتفاق افتاده یا Reboot (Reset کردن سیستم بصورت نرم افزاری مثلا با Alt+Ctrl+Del).
BIOS این کار را با چک کردن مقدار موجود در خانه حافظه با آدرس ۰۰۰۰:۰۴۷۲ انجام میدهد. اگر مقدار ۱۲۳۴h در این خانه ذخیره شده باشد، منظور Reboot است. بنابراین BIOS از انجام عملیات POST صرف نظر میکند و فقط سیستم را reset میکند.
هر مقداری غیر از ۱۲۳۴h نشاندهنده ی Cold boot است. (مثل اینکه سیستم تازه روشن شده _ POST هم انجام میشود.)
اگر Cold boot اتفاق افتاده باشد BIOS هریک از آدرسهای خانه های حافظه RAM را با نوشتن و خواندن مقداری در آنها آزمایش میکند.
همچنین پورت های PS/۲ یا USB را هم برای صفحه کلید و ماوس بررسی میکند. BIOS بدنبال گذرگاه PCI (Peripheral Component Interconnect) هم میگردد و اگر آنرا پیدا کرد همه کارت های PCI را چک میکند.
اگر در حین انجام عملیات POST اشکالی بوجود بیاید، BIOS با بوق اخطار یا پیغامی که روی صفحه نمایش نشان داده میشود، بروز اشکال را به شما اعلام میکند. معمولا اگر در این مرحله اشکالی پیدا شود، این اشکال سخت افزاری است.
سپس BIOS جزئیاتی راجع به سیستم تان نمایش میدهد. که معمولا این اطلاعات مربوط میشود به:
پردازنده
فلاپی درایو و هارد درایو
حافظه
نسخه BIOS (ورژن)
هر درایور خاصی، مثل درایورهای مربوط به آداپتورهای SCSI (small computer system interface)
از آداپتور فراخوانی میشود و BIOS اطلاعات را نمایش میدهد.
سپس BIOS ترتیب و توالی ابزارهای ذخیره سازی که در CMOS Setup بعنوان مرجعی برای boot شدن سیستم تعیین شده اند را چک میکند.
Boot از Bootstrap آمده. Bootstrap را “خود راه انداز” ترجمه کرده اند. همچنان که در اصطلاح قدیمی “Lift yourself up by your bootstraps.” کلمه Boot اشاره دارد به مجموعه عملیاتی که منجر به بالا آمدن سیستم عامل میشود.
BIOS سعی میکند برای Boot کردن سیستم از اولین مرجع تعیین شده استفاده کند. اگر نتیجه نگرفت به سراغ دومین درایو تعیین شده میرود. اگر فایلهای مورد نظر برای boot کردن سیستم در هیچ یک از درایوهای مشخص شده پیدا نشد، روند startup متوقف میشود.
اگر دیسکتی در فلاپی درایو باشد، وقتی سیستم را restart میکنید، احتمالا با این پیغام مواجه خواهید شد:
چون BIOS سعی میکند فایلهای راه انداز سیستم را از روی دیسکت بخواند و وقتی آنها را پیدا نکند، با این پیغامBIOSاین پیغام را میدهد و منتظر دیسکتی میشود که حاوی فایلهای مناسب برای راه اندازیمواجه میشوید. BIOSسیستم باشد. البته این مشکل خاصی نیست. میتوانید دیسکت را خارج کنید و کلیدی را فشار دهید تا BIOS
کردن سیستم استفاده کندbootکار خود را ادامه دهد و احتمالا از درایو دیگری برای
پیکربندی BIOS
در قسمت های قبلی متوجه شدید که BIOS ، CMOS Setup را برای تنظیمات خاص بررسی میکند. در ادامه به نحوه تغییر دادن این تنظیمات می پردازیم.
برای ورود به CMOS Setup، باید هنگامی که سیستم در حال اجرای عملیات مربوط به startup است از یک کلید خاص یا ترکیبی از چند کلید استفاده کنید. بیشتر سیستمها از کلیدهای “Esc” ، “Del” ، “F۱” ، “F۲” ، “Ctrl-Esc” یا “Ctrl-Alt-Esc” برای این منظور استفاده میکنند. معمولا به محض روشن شدن کامپیوتر، در قسمت پایینی صفحه نمایش یک خط توضیحات برای اشاره به کلید یا کلیدهای مورد استفاده جهت ورود به قسمت تنظیمات BIOS دیده میشود.
“برای ورود به Setup کلید … را فشار دهید.”
وقتی وارد Setup شدید، مجموعه ای از صفحات متنی را به همراه تعدادی گزینه برای تنظیمات مختلف می بینید. برخی از این تنظیمات استاندارد است درحالیکه سایر گزینه ها را شرکت سازنده BIOS طبق معیارهای خودش انتخاب می کند.
برخی از معمول ترین و رایج ترین گزینه های این قسمت عبارتند از:
System Time/Date : برای تنظیم ساعت و تاریخ
Boot Sequence : برای مشخص کردن محل فایلهای مخصوص Boot کردن سیستم به ترتیب اولویت (از این فایل ها برای Load کردن سیستم عامل استفاده میشود.)
Plug and Play : استانداردی برای یافتن و شناسایی اجزای سخت افزاری جانبی بصورت خودکار; اگر کامپیوتر و سیستم عامل شما هر دو از این امکان پشتیبانی می کنند، بایستی گزینه Yes برای آن فعال باشد.
Mouse/keyboard : گزینه هایی مثل “Enable Num Lock” ، “Enable the Keyboard” ، “Auto-Detect Mouse” و …
Drive Configuration : برای تنظیم و پیکربندی hard drive ، CD-ROM ، floppy drive و …
Memory : خط دادن به BIOS و راهنمائی کردن آن برای مراجعه به آدرس خاصی از حافظه
Security : در این قسمت میتوان Password ی را برای کنترل دسترسی به سیستم اعمال کرد.
Power Management : سیستم مدیریت انرژی که امکاناتی چون مشخص کردن مدت زمان توقف در حالت standby و suspend هم به همراه آن ارائه میشود و قابل تنظیم است.
Exit : انتخاب کنید، آیا تغییراتی که اعمال کردید ذخیره شود، یا نادیده گرفته شود، یا تنظیمات سیستم به حالت پیش فرض شرکت سازنده set شود.
ر تنظیمات Setup را تغییر میدهید بسیار مراقب باشید. تنظیمات غلط ممکن است مانع از boot شدن سیستمتان شود. وقتی همه تغییرات مورد نظرتان را در Setup ایجاد کردید، باید Save Changes را انتخاب کنید و خارج شوید. در اینصورت BIOS سیستم شما را restart خواهد کرد تا تنظیمات جدید تاثیر گذار شوند.
BIOS برای ذخیره کردن هرگونه تغییری که در Setup سیستم داده میشود از فنآوری CMOS استفاده میکند. با استفاده از این فناوری یک باتری کوچک lithium یا Ni-Cad میتواند انرژی کافی برای نگهداری داده های ذخیره شده را در طول چند سال فراهم کند. حتی در بعضی تراشه های جدید یک باتری lithium خیلی کوچک درست در داخل تراشه CMOS جاسازی میشود که میتواند برای مدت ١٠ سال انرژی لازم را تامین کند!
Update کردن BIOS
گاهی لازم میشود که BIOS یک کامپیوتر update شود. بخصوص در مورد سیستم های قدیمی تر. از آنجا که اجزای سخت افزاری جدید و استانداردها روز به روز تغییر میکند تا بهتر شود، BIOS هم لازم است تغییر کند تا بتواند با سخت افزار جدید هماهنگ شود. از آنجا که BIOS روی انواع خاصی از ROM ذخیره میشود، بنابراین تغییر دادن آن نسبت به سایر انواع نرم افزارها کمی مشکل تر است.
برای تغییر دادن خود BIOS ، احتمالا به یک برنامه خاص که شرکت سازنده کامپیوتر یا BIOS سیستم ارائه میکند نیاز دارید. برای اینکه بفهمید BIOS سیستم شما از چه نوع یا نسخه ای است، به مشخصات نسخه و تاریخ BIOS که در startup سیستم نمایش داده میشود دقت کنید. سپس به Web Site شرکت سازنده BIOS سری بزنید و ببینید که آیا نسخه مورد استفاده ی شما upgrade شده یا نه. اگر چنین است نسخه upgrade و برنامه کمکی (utility) همراه آنرا که برای نصب این نسخه جدید لازم است download کنید. بعضی وقتها برنامه utility و نسخه upgrade بصورت یکجا داخل یک فایل ارائه میشود. برنامه utility و نسخه upgrade را روی یک دیسکت کپی کنید و بعد از قرار دادن آن در floppy drive سیستم را restart کنید تا از روی floppy drive بوت شود. برنامه از روی دیسکت خوانده میشود، BIOS قدیمی را پاک میکند و نسخه جدید را جایگزین آن میکند. شما میتوانید برای چک کردن BIOS سیستمتان از یک برنامه BIOS Wizard در آدرس BIOS Upgrades استفاده کنید.
مهمترین شرکتهای تولیدکننده BIOS :
· American Megatrends Inc. (AMI)
· Phoenix Technologies
· ALi
· Winbond
درست مثل زمانیکه CMOS Setup را دستکاری میکردید، اینجا هم مراقب باشید. مطمئن شوید BIOSتان را به نسخه ای upgrade میکنید که با سیستم کامپیوترتان سازگار است. به عبارت دیگر، درصورت بی دقتی ممکن است BIOS سیستم را خراب کنید و دیگر قادر به بوت کردن کامپیوتر نباشید.
 

Similar threads

بالا