خانه / بایگانی برچسب: کامپیوتر

بایگانی برچسب: کامپیوتر

تعمیر یک هارد درایو خراب و بازیابی داده های آن— به زبان ساده

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

توضیحات بیشتر »

ترمینال لینوکس و هر آن چه برای استفاده از آن باید بدانید — به زبان ساده

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

توضیحات بیشتر »

اعداد تصادفی (Random Numbers) — تاریخچه و کاربردها

ضرورت استفاده از «اعداد تصادفی» (Random Number) در صنعت، نمونه‌گیری و توزیع‌های آماری و بخصوص «رمزنگاری» (Cryptography) اطلاعات رایانه‌ای برهیچ کس پوشیده نیست. ولی سوالی که مطرح می‌شود این است که چگونه مطمئن هستیم که روش‌های مختلف تولید عدد تصادفی، واقعا اعداد تصادفی تولید کرده‌اند. آیا واقعا اعداد تصادفی تولید شده توسط الگوریتم‌ها، دستگاه‌های الکترونیکی و … تصادفی هستند. در این نوشتار به بررسی علت نیاز به اعداد تصادفی، تاریخچه تولید آن‌ها و کاربردهایشان می‌پردازیم. از آنجایی که معمولا در تولید اعداد تصادفی از توزیع یکنواخت (گسسته) استفاده می‌شود، مطالعه نوشتار توزیع یکنواخت گسسته و پیوسته — مفاهیم و کاربردها خالی از لطف نیست. اعداد تصادفی (Random Numbers) چگونه می‌توان پدیده تصادفی (Random Phenomena) را تشخیص داد؟ آیا همه پدیده‌های طبیعی تصادفی هستند؟ از آنجایی که پدیده‌های تصادفی، غیرقابل پیش‌بینی هستند، زیبا به نظر می رسند ولی مشکل آن است که استخراج و تشخیص پدیده‌های تصادفی طبیعی کاری سخت و پیچیده است. یکی از قدیمی‌ترین وسایل ایجاد پدیده‌های (اعداد) تصادفی که به دست انسان ساخته ش..

توضیحات بیشتر »

شناسایی و اصلاح خطا در شبکه‌های کامپیوتری — راهنمای جامع

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

توضیحات بیشتر »

یافتن مسیرهای بهینه در برنامه نویسی دینامیک (پویا) — به زبان ساده

در علوم رایانه و ریاضیات، برنامه نویسی دینامیک روشی کارآمد برای حل مسائل جستجو و بهینه‌سازی با استفاده از دو خصیصه «زیر مسئله‌های هم‌پوشان» و «زیرساخت‌های بهینه» است. برخلاف برنامه‌ریزی خطی، چارچوب استانداردی برای فرموله کردن مسائل برنامه نویسی دینامیک وجود ندارد. در واقع، برنامه‌نویسی دینامیک صرفاً یک روش برخورد کلی جهت حل این نوع مسائل در اختیار ما قرار می‌دهد و در هر مورد، باید معادلات و روابط ریاضی مخصوصی که با شرایط آن مسئله تطبیق دارد نوشته شود. در این راهنما به بررسی یک مسئله برنامه‌نویسی دینامیک می‌پردازیم تا روش یافتن مسیرهای بهینه را معرفی کنیم. مسئله ما چنین است: یک شبکه با اندازه N*M (یعنی N ردیف و M ستون) داریم. هر مربع در این شبکه می‌تواند با استفاده از یک جفت عدد صحیح (A,B) اندیس شود که 0≤A < N و 0≤B < M. یک ماشین در آغاز در فیلد (0,0) قرار دارد. این ماشین دو نوع حرکت می‌تواند انجام دهد: حرکت از فیلد (A,B) به فیلد (A+1,B) یا حرکت از فیلد (A,B) به فیلد (A,B+1) این ماشین در طی حرکت خود روی شبکه همه سکه‌هایی که در خانه‌های مسیرش قرار دارد را جمع می‌کند. اکنون مسئله چنین..

توضیحات بیشتر »

مفهوم فناوری ۷ نانومتری و ۱۰ نانومتری در CPU — به زبان ساده

CPU-ها از میلیاردها ترانزیستور بسیار کوچک تشکیل یافته‌اند. ترانزیستورها دروازه‌های الکتریکی هستند که برای اجرای محاسبات، روشن یا خاموش می‌شوند. ترانزیستور برای این کار به برق نیاز دارد و هر چه ترانزیستور کوچک‌تر باشد، توان کمتری مصرف می‌کند. فناوری 7 نانومتری و یا 10 نانومتری در واقع مقیاسی برای اندازه این ترانزیستورها هستند. نانومتر یک واحد طول بسیار کوچک و در عین حال معیاری مفید برای اندازه‌گیری قدرت محاسباتی یک CPU است. فناوری 10 نانومتری اخیراً در ساخت پردازنده‌های جدید اینتل به خدمت گرفته شده است که احتمالاً در سه ماهه آخر سال 2019 عرضه می‌شوند. فناوری 7 نانومتری نیز از سوی شرکت TSMC استفاده می‌شود که منجر به تولید پردازنده‌های جدید AMD و تراشه جدید A12X اپل شده است. دلیل اهمیت فناوری 7 نانومتری و 10 نانومتری چیست؟ «قانون مور» (Moore’s Law) یک قانون قدیمی در صنعت سخت‌افزار است که بیان می‌کند تعداد ترانزیستورهای روی یک تراشه هر سال دو برابر و هزینه تولید آن نصف می‌شود. مدت مدیدی است که این قانون پابرجا بوده است؛ اما اخیراً روند آن کندتر شده است. در اواخر دهه 1990 و اوایل 2000، ا..

توضیحات بیشتر »

آشنایی با فناوری ۷ نانومتری و ۱۰ نانومتری در CPU — به زبان ساده

CPU-ها از میلیاردها ترانزیستور بسیار کوچک تشکیل یافته‌اند. ترانزیستورها دروازه‌های الکتریکی هستند که برای اجرای محاسبات، روشن یا خاموش می‌شوند. ترانزیستور برای این کار به برق نیاز دارد و هر چه ترانزیستور کوچک‌تر باشد، توان کمتری مصرف می‌کند. فناوری 7 نانومتری و یا 10 نانومتری در واقع مقیاسی برای اندازه این ترانزیستورها هستند. نانومتر یک واحد طول بسیار کوچک و در عین حال معیاری مفید برای اندازه‌گیری قدرت محاسباتی یک CPU است. فناوری 10 نانومتری اخیراً در ساخت پردازنده‌های جدید اینتل به خدمت گرفته شده است که احتمالاً در سه ماهه آخر سال 2019 عرضه می‌شوند. فناوری 7 نانومتری نیز از سوی شرکت TSMC استفاده می‌شود که منجر به تولید پردازنده‌های جدید AMD و تراشه جدید A12X اپل شده است. دلیل اهمیت فناوری 7 نانومتری و 10 نانومتری چیست؟ «قانون مور» (Moore’s Law) یک قانون قدیمی در صنعت سخت‌افزار است که بیان می‌کند تعداد ترانزیستورهای روی یک تراشه هر سال دو برابر و هزینه تولید آن نصف می‌شود. مدت مدیدی است که این قانون پابرجا بوده است؛ اما اخیراً روند آن کندتر شده است. در اواخر دهه 1990 و اوایل 2000، ا..

توضیحات بیشتر »

سوئیچینگ در شبکه های کامپیوتری — به زبان ساده

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

توضیحات بیشتر »

ساختمان هیپ در درخت های دودویی — به زبان ساده

در سال 1964، جی. ویلیامز (J. Williams) یک کانادایی که اصالتاً اهل ولز بود، ساختاری برای یافتن مقدار بیشینه طراحی کرد. این ساختار «هیپ» (heap) نام گرفت. هیپ یک درخت نیمه مرتب است که در آن مقدار بیشینه (یا کمینه) در رأس درخت قرار می‌گیرد. چرا باید از هیپ استفاده کنیم؟ تصور کنید شما مسئول یک بیمارستان هستید و چندین بیمار در اتاق انتظار قرار دارند. از آنجا که هر بیماری منتظر پزشک است، بیماران یک صف را تشکیل داده‌اند. اینک فرض کنید یک بیمار جدید با وضعیتی اورژانسی به داخل بیمارستان منتقل می‌شود. آیا این بیمار باید در انتهای صف قرار گیرد یا باید به این بیمار اولویت جداگانه‌ای بدهیم؟ مفهوم اولویت دادن مانند مثال فوق در بیمارستان ارتباط نزدیکی با طرز کار ساختار هیپ دارد. هیپ نیز مقادیر دارای اولویت بالاتر را در درخت اولویت می‌دهد و مقادیر کوچک‌تر به انتهای درخت می‌روند. ماهیت هیپ چیست؟ هیپ یک درخت دودویی است که دو مشخصه اضافی به صورت زیر دارد: هیپ کامل است. این بدان معنی است که هر شاخه درخت (به جز احتمالاً سطح آخر) هر دو گره را دارد. هیپ نیمه مرتب است. این بدان معنی است که مقدار در سطوح با..

توضیحات بیشتر »

مفهوم مالتی‌ پلکس در شبکه های کامپیوتری — راهنمای جامع

مالتی‌ پلکس (Multiplexing) تکنیکی است که به وسیله آن جریان‌های مختلف آنالوگ و دیجیتال انتقالی می‌توانند به طور همزمان روی یک لینک مشترک پردازش شوند. با استفاده از تکنیک مالتی‌پلکس می‌توان رسانه‌های با ظرفیت بالا را به رسانه‌های منطقی با ظرفیت پایین تقسیم کرد و سپس آن‌ها را میان جریان‌های داده مختلف به اشتراک گذاشت. ارتباط از طریق هوا (فرکانس رادیویی) یا استفاده از یک رسانه فیزیکی (کابل) و نور (فیبر نوری) ممکن است. همه رسانه‌ها ظرفیت مالتی‌پلکس کردن را دارند. زمانی که فرستنده‌ها تلاش می‌کنند چیزی را روی یک رسانه منفرد ارسال کنند، یک دستگاه به نام Multiplexer کانال فیزیکی را تقسیم می‌کند و به هر یک، یک کانال اختصاص می‌دهد. در سوی دیگرِ ارتباط، یک دستگاه De-multiplexer داده‌ها را از رسانه منفرد دریافت می‌کند و با جداسازی هر کدام آن‌ها را به گیرنده‌های مختلف ارسال می‌کند. مالتی‌پلکس به روش تقسیم فرکانس زمانی که حامل جریان داده، فرکانس باشد، FDM مورد استفاده قرار می‌گیرد. FDM یک فناوری آنالوگ است. این فناوری طیف فرکانسی یا پهنای باند حامل را به کانال‌های منطقی تقسیم می‌کند و به هر کاربر ..

توضیحات بیشتر »