نمایش نتایج 1 تا 23 از 23

نام تاپیک: آرچ یا فدورا؟

  1. #1

    Question آرچ یا فدورا؟

    با سلام به همگی

    من تابحال دیستروهای مختلفی رو نصب و تست کردم.حالا میخوام یه سیستم عامل ثابت انتخاب کنم.
    دیگه کاربر ویندوز نیستم و نمیخوام به ویندوز برگردم.از FreeBSD به خاطر سادگی و سرعت اون خیلی خوشم میاد ولی به خاطر سازگاری و نبود برخی درایورهای سخت افزاری از BSD صرفنظر کردم.بیشتر نرم افزارها برای ویندوز و لینوکس و مک پورت شدند.کامپایل از source هم همیشه بی دردسر نیست.
    سادگی sysvinit نسبت به پیچیدگی سیستمهای مبتنی بر systemd برام جالبه.کلا سادگی برام مهمتره و دوست دارم بدونم چی میگذره(در حد فهمم البته) من سالهایی که کاربر ویندوز بودم تا دلتون بخواد وقتمو تو Dos از داس 6 تا freedos و 4dos و ایجاد big floppy ها و محیطهای بوت صرف میکردم.ویندوز 95 رو رو هارد(و نه محیط مجازی) در کنار ویندوزها نصب کردم.

    دبیان و بیشتر انشعبات اون مثل parsix و mint و ubuntu و kali که من تست کردم خیلی خوش ساخت و سریع و پایدار و استاندارد و دارای وسیعترین مخازن هست اما برای من به روز بودن نرم افزارها یه فاکتور ضروری تو انتخاب توزیعه و دبیان حتی تو مخازن unstable ش راضی کننده نیست.ubuntu هم که خوندم بدافزاره و اصولا راجع به هرچی زیاد تبلیغ میشه یه کاسه ای زیر نیم کاسس.البته من از رسانه زنده ubuntustudio استفاده میکنم.

    فدورا تا حالا سیستم عامل اصلی بوده که استفاده میکردم ولی یه مدتیه که از آرچ استفاده میکنم.مخازن فدورا گسترده‌تر از آرچه.البته آرچ با کمک AUR سعی کرده این نقیصه رو جبران کنه.
    شاید به خاطر عادت من به فدوراست که حس میکنم yum بهتر و جامعتر از pacman عمل میکنه.البته pacman هم خیلی عالیه.من مجبور شدم برای نصب صحیح درایور اختصاصی nvidia از مخازن AUR چند بسته رو نصب کنم مثل kmod-nvidia و nvidia-hook و yaourt رو نصب کردم تا مخزن AUR رو هم داشته باشم ولی عملا کاری بیش از pacman برام نمکینه و در موقع query هنگ میکنه.
    کامپایل از سورس تو arch سریعتره و کلا arch سریعتر از فدوراست.توی آرچ حتی سرویس cron باید دستی فعال بشه و به صورت پیشفرض فعال نیست.
    تو فدورا نصب و پیکربندی پکیج ها و به خصوص دمون ها اتوماتیکه.در حالیکه فلسفه آرچ ایجاب میکنه همه چی باید برای کاربر شفاف باشه و حتی اگر قراره پیکربندی اتوماتیکی صورت بگیره جزییاتش به اطلاع کاربر برسه و با تایید و اطلاع کاربر انجام بشه(همین منو شیفته آرچ کرده آرچ قرار نیست کاربرشو یه احمق فرض کنه)
    مثلا من از ntpdate (و نه دمون ntp) توی اسکریپت bash برای به روزرسانی زمان استفاده میکنم.تو فدورا هیچ کاری لازم نیست.اما تو آرچ باید پورت ورودی و خروجی رو تو iptable باز کنیم.

    من همیشه توی هر دیسترویی که نصب میکردم برای حل مشکلاتم بیشتر از ویکی آرچ استفاده میکردم.بهترین ویکی بین کل دیستروها به arch تعلق داره.اصلا همین ویکی بود که منو واردار کرد آرچ رو نصب کنم. و با فلسفه اون آشنا بشم.

    فدروا به صورت پیشفرض با پشتیبانی از selinux کامپایل شده و selinux رو نصب میکنه.اما هسته آرچ به صورت پیشفرض بدون پشتیبانی از selinux کامپایل شده.من نمیدونم برای یه پیکربندی دسکتاپ standalone تک کاربره وجود selinux لازمه یا نه.چرا فدورا داره اما آرچ حتی هسته شو بدون ساپورت selinux عرضه میکنه.

    فدروا سیستم درست و درمانی برای upgrade نداره و نصاب اون فوق العاده مزخرفه.من نتونستم با استفاده از fedup اونو آپگرید کنم با استفاده از yum چند صد تا ارور dependency داد آخرش فدورا 19 را fresh install کردم.
    در مقابل آرچ یه انتشار غلتانه و فقط یک بار اون نصب میکنید.با وجود اینکه نصبش از خط فرمانه اما محیط live ش واقعا حر فه ایه.chroot تر و تمییز و ....

    فدروا و آرچ هر دو از به روزترین مخازن استفاده میکنند ولی فدورا به روزتر از آرچه.من از دسکتاپ kde و نرم افزارهای یکسانی تو هر دو استفاده میکنم.

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

    امنیت دیسترو بعد از به روز بودن دومین فاکتوریه که برام مهمه.حس میکنم آرچ امنتره اما دانش خاصی برای آنالیز این مولفه ندارم.آیا دارا بودن selinux در فدورا امنیت بیشتری به اون میده؟(نگید خوب selinux رو توی arch نصب کن حوصله کانفیگ و کامپایل کرنل بعد از هر آپدیت رو ندارم)ممکنه redhat مثل مایکروسافت کاربراشو مانیتور کنه؟؟؟

    توی آرچ نصب نرم افزارهای جدید دردسر داره.من تا حدودی با اسکریپت نویسی bash راحتم.من به مباحث تکنیکی وارد نیستم.منتظر نقطه نظرات دوستانی هستم که از این دو توزیع استفاده میکنند.

  2. #2

    نقل قول: آرچ یا فدورا؟

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

  3. #3
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

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

  4. #4

    نقل قول: آرچ یا فدورا؟

    برا منم سوال شده که چه کاسه ای زیر نیم کاسست؟

    لطفا یکی جواب بده.

  5. #5
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

    کاسه ای به کار نیست عزیزم.
    آقای stallman بابت این عصبانی بود که چرا به صورت پیشفرض جست و جوی آمازون توی ubuntu dash فعاله.

  6. #6

    نقل قول: آرچ یا فدورا؟

    با گذشت حدود 3 ماه از ارسال پست اولیه حالا که اونو میخونم میبینم که چقدر پیشرفت کردم و خیلی از خامی و سادگی سوالاتم حیرت میکنم.
    حالا یه آرچر هستم.همزمان از ۲ کرنل استفاده میکنم.بیشتر اوقات از هسته linux-grsec که یه هسته patch شده با وصله امنیتی grsecurity/PAX هست استفاده میکنم با خط مشی امنیتی فعال RBAC و گاهی از هسته رسمی آرچ linux repo که البته هر دو هسته رو کمی سفارشی و خودم کامپایل کردم.فرآیند کامپایل از source تو آرچ بااستفاده از سیستمهای ABS و AUR و اسکریپتهای ساده PKGBUILD خیلی راحته.
    به هر حال من که از پردازنده اینتل 4 هسته ای استفاده میکنم نباید از کرنل generic باینری موجود در مخازن استفاده کنم و باید برای سخت افزار و نیازهای خودم کرنل رو از source کامپایل کنم.

    خوبی آرچ خام بودن این لینوکسه.آرچ به صورت پیشفرض اصلا امن نیست.(مگر امنیت حداقلی که در کرنل لینوکس و سیستم فایل یونیکس موجوده).
    خوبی بزرگ دیگه آرچ کمی تعداد کاربران این لینوکس به نسبت سایر توزیعها به خصوص در ایرانه !!! خوب این آرچر رو مجبور میکنه خودش مشکلاتشو حل کنه و این یعنی اجبار به یادگیری و پیشرفت
    مثلا من نمیتونستم هسته patch شده با grsecurity رو روی سیستمم بوت کنم.بوت قبل از راه اندازی X مشکلی نداشت اما محیط X لود نمیشد.هر چی تو فروم grsecurity گشتم چیزی پیدا نکردم.تا اینکه متوجه یه مطلب مهم شدم.اینکه کاربران دستکاپ کمی از grsecurity استفاده میکنند و بیشتر سرورها از این وصله امنیتی استفاده میکنند.سرورها هم معمولا از محیط گرافیکی استفاده نمیکنند.
    دقیقا مشکل من مربوط میشد به درایور اختصاصی nvidia که بعد از کلی کنکاش متوجه شدم باید یکی ۲ تا از source فایلهاشو patch کنم.حالا نمیتونستم ماژول nvidia رو کامپایل کنم! در نهایت با برسی لاگ فایلها خودم یه فایل رو patch کردم و با اضافه کردن یه ماکرو مشکل حل شد :

    diff -ur a/kernel/nv-linux.h b/kernel/nv-linux.h
    --- a/kernel/nv-linux.h 2013-08-01 05:19:26.000000000 +0430
    +++ b/kernel/nv-linux.h 2013-09-26 12:12:06.001020585 +0330
    @@ -12,6 +12,15 @@
    #define _NV_LINUX_H_

    #include "nv.h"
    +
    +#ifndef SLAB_USERCOPY
    +#ifdef CONFIG_PAX_USERCOPY_SLABS
    +#define SLAB_USERCOPY 0x00000200UL
    +#else
    +#define SLAB_USERCOPY 0x00000000UL
    +#endif
    +#endif
    +
    #include "conftest.h"

    #if !defined(NV_VMWARE)


    با این مصوبه دولت قراره لینوکس تو ایران فراگیر بشه(البته ۲-۳ هزار سال دیگه).
    روزی که بدافزارنویسها روی لینوکس دسکتاپ متمرکز بشند میرن سراغ دیستروهای متداول و یه کاربر آرچ میتونه تو حاشیه امنیت قرار داشته باشه.

    ضمنا FastCode عزیز من حدود 40-50 سایت تو فید ریدر خودم دارم و اخبار it رو هفتگی دنبال میکنم.شاید شما هم اخبار رو دنبال کنید و از جاسوس بازار این روزها به خصوص در دنیای it چیزهای زیادی شنیده باشد.نمومنش قرار دادن backdoor در firmware روترهای dlink یا جاسوس بودن skype و ...

    به نظر شما بنا رو باید بر اعتماد گذاشت یا عدم اعتماد ؟؟؟
    اینکه اوبونتو سعی داره با تبلیغات فراوان و ساده کردن و جذاب کردن محیط کاربری در حد مک و ویندوز عموم کاربران را جذب کنه امیدوارم فقط به خاطر مسایل تجاری باشه اما من نمیتونم به اوبونتوی انگلیسی اعتماد کنم.

    همین الان که این مطلب رو مینویسم از مرورگر فایرفکس ۲۵ استفاده میکنم و یه کانکشن بلاک شده :

    Nov 11 15:06:53 Forozan kernel: grsec: (ahmad:U:/usr/lib/firefox/firefox) denied connect() to 88.150.245.210 port 182 sock type stream protocol tcp by /usr/lib/fi...id:1000/1000

    سرور : http://en.utrace.de/ip-address/88.150.245.210
    پورت 182 : http://www.auditmypc.com/tcp-port-182.asp

    Port Number: 182 (Windows 7/Windows Vista/ Windows XP/Windows Server family)
    Unisys Audit SITP--
    Protocol Used : tcp/udp
    Service Type : audit
    Known Port 182 exploits: Yes
    Known Port 182 Security Risks: Yes

    در آینده هم که لینوکس ملی تحت حمایت دولت منتشر بشه من نمیتونم به اون اعتماد کنم.(که البته نیازی هم به استفاده از اون نیست)
    آرچی که من الان ازش استفاده میکن مثل اوبونتو یا سوزه یا فدوراست منتهی خودم اون رو تبدیل کردم به اوبونتو نه یه تیم توسعه دهنده ناشناس که معلوم نیست کی گندش در بیاد حقوق بگیره MI6 هستن.

  7. #7

    نقل قول: آرچ یا فدورا؟

    به هر حال من که از پردازنده اینتل 4 هسته ای استفاده میکنم نباید از کرنل generic باینری موجود در مخازن استفاده کنم و باید برای سخت افزار و نیازهای خودم کرنل رو از source کامپایل کنم.
    چه فرقی میکنه. در هر حالت سیستم عامل هر هسته رو به عنوان یک پردازنده میشناسه و مدیریتش میکنه.


    با این مصوبه دولت قراره لینوکس تو ایران فراگیر بشه(البته ۲-۳ هزار سال دیگه).
    میتونه یکی از بدترین اتفاقات تاریخ لینوکس باشه :D

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

    به نظر شما بنا رو باید بر اعتماد گذاشت یا عدم اعتماد ؟؟؟
    من فکر کنم عدم اعتماد خوبه.

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

    آرچی که من الان ازش استفاده میکن مثل اوبونتو یا سوزه یا فدوراست منتهی خودم اون رو تبدیل کردم به اوبونتو نه یه تیم توسعه دهنده ناشناس که معلوم نیست کی گندش در بیاد حقوق بگیره MI6 هستن.
    خیلی خوب میشه مراحل نصبی رو که دنبال کردید به صورت قدم به قدم بذارید تا ماهم استفاده کنیم.


    فقط یه مطلب مونده که باید اون رو یگم. یه جا یکسری دیده بودم میگفن مک مثل سگ میمونه وفادار و ذاتا رام شده هست. اما لینوکس شبیه گرگ هست. اگر بتونی رامش کنی و درست کنترلش کنی هم از سگ وفادارتر و هم از اون قوی تر میشه. شما از هر توزیع لینوکسی که استفاده میکنید باید ۱۰۰٪ اون رو دستکاری کنید تا به درستی و بصورت بی نقص کار کنه. اون موقع هست که میتونید کارایی لینوکس رو تجربه کنید.

  8. #8

    نقل قول: آرچ یا فدورا؟

    چه فرقی میکنه. در هر حالت سیستم عامل هر هسته رو به عنوان یک پردازنده میشناسه و مدیریتش میکنه.
    به نظر شما فرقی نمیکنه از کرنل باینری موجود در مخازن که به صورت generic کامپایل شده استفاده کنیم یا خودمون با انتخاب نوع cpu مناسب ( و سایر پیکربندیهای مقتضی) با سخت افزار سیستم کرنل رو کامپایل کنیم ؟؟ شما بهتر از من میدونید هر نوع پردازنده از یکسری instruction set بخصوص پشتیبانی میکنه.
    کرنل generic یه پشتیبانی حداقلی و فراگیر داره تا سازگاری کامل رو با تمام ریزپردازنده های یک معماری خاص(در اینجا x86_64) داشته باشه.(یه جایی دیدم دستورات sse2 و sse3 رو پشتیبانی نمیکنه البته اطمینان ندارم)
    گزینه پیکربندی پیشفرض پردازنده که کرنل generic باهاش کامپایل میشه :

    # CONFIG_MK8 is not set
    # CONFIG_MPSC is not set
    # CONFIG_MCORE2 is not set
    # CONFIG_MATOM is not set
    CONFIG_GENERIC_CPU=y
    ...

    موقع کامپایل هسته ژنریک gcc این ۲ آپشن رو میگیره :

    mtune=generic march=x86-64

    من که پردازنده core 2 quad دارم پس از اعمال تغییرات فایل پیکربندی به اینصورت میشه :

    # CONFIG_MK8 is not set
    # CONFIG_MPSC is not set
    CONFIG_MCORE2=y
    # CONFIG_MATOM is not set
    # CONFIG_GENERIC_CPU is not set
    CONFIG_X86_INTEL_USERCOPY=y
    CONFIG_X86_USE_PPRO_CHECKSUM=y
    CONFIG_X86_P6_NOP=y
    ...

    و فایل باینری کامپایل شده از (تمام) مجموعه دستورات پشتیبانی شده توسط پردازنده سیستم من پشتیبانی میکنه و طبیعیه که کارآیی بالا بره .
    نوشته زیر هم که در http://www.linuxtopia.org/online_boo...n/ch09s03.html و تحت عنوان Kernel Configuration Recipes بیان شده موید همین مطلبه :

    If you wish to have the Linux kernel run as fast as possible for your specific processor and hardware type, there are a few options that you can set to get the last bit of performance out of the hardware

    من که یه پردازنده به نسبت قدیمی دارم نیاز به این patch ندارم اما در گیت هاب مربوط به این patch به نشانی https://github.com/graysky2/kernel_gcc_patch یه بنچ مارک جالب آورده که خالی از لطف نیست یه نگاهی بندازید :

    Corei7-avx vs. Generic
    Core-avx-i vs. Generic
    Core2 vs. Generic

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

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

    [ "${pkgname}" == "linux-grsec" ] && sed -i 's/CONFIG_GRKERNSEC_TIME=y/# CONFIG_GRKERNSEC_TIME is not set/g' ./.config
    sed -i 's/#define DEFAULT_CONSOLE_LOGLEVEL 7/#define DEFAULT_CONSOLE_LOGLEVEL 4/' ./kernel/printk/printk.c
    sed -i 's/CONFIG_KERNEL_GZIP=y/# CONFIG_KERNEL_GZIP is not set/g' ./.config
    sed -ri 's/#[ ]*CONFIG_KERNEL_XZ is not set/CONFIG_KERNEL_XZ=y/g' ./.config
    sed -ri 's/CONFIG_LOG_BUF_SHIFT=[0-9]+/CONFIG_LOG_BUF_SHIFT=20/g' ./.config
    sed -ri 's/#[ ]*CONFIG_MCORE2 is not set/CONFIG_MCORE2=y/g' ./.config
    sed -ri 's/CONFIG_GENERIC_CPU=y/# CONFIG_GENERIC_CPU is not set\nCONFIG_X86_INTEL_USERCOPY=y\nCONFIG_X86_USE_P PRO_CHECKSUM=y\nCONFIG_X86_P6_NOP=y/g' ./.config
    sed -ri 's/^(CONFIG_HZ_[0-9][0-9][0-9][0-9]?)=y/# \1 is not set/g' ./.config
    sed -ri 's/^#[ ]*CONFIG_HZ_1000 is not set.*/CONFIG_HZ_1000=y/g' ./.config
    sed -ri 's/^CONFIG_HZ=.*/CONFIG_HZ=1000/g' ./.config
    sed -ri 's/CONFIG_FAT_DEFAULT_CODEPAGE=[0-9]+/CONFIG_FAT_DEFAULT_CODEPAGE=864/g' ./.config
    sed -ri 's/CONFIG_FAT_DEFAULT_IOCHARSET=.*/CONFIG_FAT_DEFAULT_IOCHARSET="utf8"/g' ./.config


    خیلی خوب میشه مراحل نصبی رو که دنبال کردید به صورت قدم به قدم بذارید تا ماهم استفاده کنیم.
    شما به من بگو دیشب شام چی خوردی؟ آرچی که من دارم یه پازل چند صد قطعه ای که هر تکشو از یه طرف جمع کردم.لاگ فایلها رو بررسی میکردم برای حل یه مشکل یا نصب یه نرم افزار جدید فرومهای آرچ و جنتو و دبیان رو زیر و رو میکردم.در حین همین سرچ و گشت و گذار هر اسم جدید یا لینک مرتبط که میدیدم تحقیق میکردم نصب میکردم پیکربندی و ... حالا اگر توی همین فایل پیکربندی یا پیغامهای نصب یه کلمه جدید میدیدم دوباره به همین ترتیب ..(البته حالا دیگه از این روند خسته شدم چون مثل fork bomb انتها نداره) یکی از این اصطلاحات hardening بود که تبدیل شد به هسته linux-grsec که روی سیستمم نصبه و موقع وبگردی حتما با این هسته سیستم رو بوت میکنم.
    ویکی آرچ چیزیه که برای یه آرچر کافیه و تلاش خودش.آرچ چون انتشار غلطانه فقط یکبار باید نصب و پیکربندی بشه و مشکلات آپگرید به ورژن جدید رو نداره.

    در مورد سیستم های متن باز مثل اوبونتو و .. باید بگم که همچین اتفاقی نمی افته. چون سورس در دسترس هست. و همه می تونن اون رو ببینن.
    کاربرای معمولی مثل من معمولا خودشون برنامه ها رو کامپایل نمیکنن و از فایلهای باینری آماده موجود در مخازن استفاده میکنند.من فقط کرنل و iptable رو از source کامپایل میکنم.خوب قرار شد بنا رو بر عدم اعتماد بزاریم چه کسی تضمین داده این فایل باینری دقیقا کامپایل شده همون سورسی هست که در دسترس عموم قرار دادن ؟؟؟ ضمن اینکه فرضا شما به عنوان یه برنامه نویس C++‎‎‎‎‎ اگر سورس mozilla firefox رو بهتون بدن بگن 6 ماه روش مطالعه کن میتونی بعد از 6 ماه با اطمینان بگی هیچ مشکل امنیتی(مغرضانه) نداره و شما تمام کد رو درک کردید؟؟(من یه برنامه نویس نیستم و فقط یه مطالعات ناقصی داشتم اونم در گذشته ممکنه کاملا اشتباه فکر کنم و خوشحال میشم اشتباهات منو برطرف کنید من از سازوکارهای آنالیز کد سر در نمیارم)

  9. #9

    نقل قول: آرچ یا فدورا؟

    کرنل generic یه پشتیبانی حداقلی و فراگیر داره تا سازگاری کامل رو با تمام ریزپردازنده های یک معماری خاص(در اینجا x86_64) داشته باشه.(یه جایی دیدم دستورات sse2 و sse3 رو پشتیبانی نمیکنه البته اطمینان ندارم)
    از نطر تعداد هسته فرق نمیکنه. اما بحث مجموعه دستورات یه چیز دیگه هست. توی پردازنده های جدید دستوران جدیدتری ارائه میشن که شاید کارایی رو مقدار خیلی کمی بالاتر ببرن ( نه اونقدر که به چشم بیاد ) شاید فقط در بنچ مارکها خودش رو نشون بده.

    در مورد SSE هم یه مجموعه دستور العمل برای پردازش مواری به شکل SIMD هست. این دستورها داخل پردازندهای خیلی قذیمی پشتیبانی نمیشن مثلا تمام پردازندهای پنتیوم چهار یعنی از 12 سال پیش یه این ور همگی از SSE 4 پشتیبانی میکنن. برای اینکه ببینید پردازنده پشتیبانی میکنه یا نه می تونید از دستور زیر استفاده کنید.

    cat /proc/cpuinfo | grep sse


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

    و فایل باینری کامپایل شده از (تمام) مجموعه دستورات پشتیبانی شده توسط پردازنده سیستم من پشتیبانی میکنه و طبیعیه که کارآیی بالا بره .
    اینکه برای کامپایل هسته از چه مجموعه دستور العملی استفاده کنید بر روی کارایی خود هسته و نه الزاما برنامه های دیگه تاثیر مستقیم میذاره. پس اگر هسته ای با مجموعه دستور العمل مثلا i386 داشته باشید موردی ندراه که برنامه ای با مجموعه دستورالعمل i586 داشته باشید. و یا بر عکس. بازهم میگم که این کاری که می کنید خوبه اما تاثیرش خیلی خیلی کم هست.

    من که یه پردازنده به نسبت قدیمی دارم نیاز به این patch ندارم اما در گیت هاب مربوط به این patch به نشانی https://github.com/graysky2/kernel_gcc_patch یه بنچ مارک جالب آورده که خالی از لطف نیست یه نگاهی بندازید
    در مورد سری Corei یک مقدار قضیه متفاوت هست. این پردازنده ها دارای ویژگی های جدیدی مثل vme هستند که مثلا اجازه میده که ماشین های مجازی با سرعت خیلی بیشتری اجرا شن و امثال اون که با فعال کردن کانفیگهای مزبوط به اونها شما به کارایی بهتری می تونید برسید اما باز هم iset زیاد تاثیر نمیذاره. این پچها احتمال چیزی بیشتر از این قضایا هستند.


    کاربرای معمولی مثل من معمولا خودشون برنامه ها رو کامپایل نمیکنن و از فایلهای باینری آماده موجود در مخازن استفاده میکنند.من فقط کرنل و iptable رو از source کامپایل میکنم.خوب قرار شد بنا رو بر عدم اعتماد بزاریم چه کسی تضمین داده این فایل باینری دقیقا کامپایل شده همون سورسی هست که در دسترس عموم قرار دادن ؟؟؟ ضمن اینکه فرضا شما به عنوان یه برنامه نویس C++‎‎‎‎‎‎ اگر سورس mozilla firefox رو بهتون بدن بگن 6 ماه روش مطالعه کن میتونی بعد از 6 ماه با اطمینان بگی هیچ مشکل امنیتی(مغرضانه) نداره و شما تمام کد رو درک کردید؟؟(من یه برنامه نویس نیستم و فقط یه مطالعات ناقصی داشتم اونم در گذشته ممکنه کاملا اشتباه فکر کنم و خوشحال میشم اشتباهات منو برطرف کنید من از سازوکارهای آنالیز کد سر در نمیارم)
    با توزیع ها کاری ندارم. چون الان هرکسی داره یه توزیع بیرون میده و از روی باینری نمیشه چیزی سر در آورد اما در مورد شرکتهای بزرگ مثل اوبنتو و یا موزیلا قضیه اینطور نست. اونها در حقیقت محصولشون آبروشونه و آینده کاریشون هست. بعید می دونم چنین کاری کنن. و اگر هم میکردن خیلی وقت بود که توسط برنامه نویسهای خبره سراسر دنیا شناسایی میشدن. ضمننا ابزارهای دیگه ای هم برای تحیلل هست که لازم نیست حتما کد منبع در دسترس باشه.


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

  10. #10
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

    • IS هایی که در سرعت تاثیر دارند در همه ی حالتها کامپایل میشوند و در زمان اجرا در مورد استفاده قرار میگیرند.شامل تمام قسمت Algorithm های کرنل که معمولا از چند حالت Generic و SSE و AVX استفاده میکنند.
    • باینری های کرنل کاملا قابل آزمایش هستند.برای نمونه در سیستمها دبیان میتونید با دستور apt-get source فایلهای مربوط به سورس رو بگیرید و با config ی که در زمان اجرا توسط کرنل در /proc/config.gz ارائه میشود کامپایل کنید و ببینید که با کرنل در حال اجرا کاملا یکسان است.
    • تعداد هسته ها تاثیری در کانفیگ کرنل نداره.(مگر اینکه تعداد هسته ها رو عمدا محدود کرده باشید.)تنها چیزی که در مورد تعداد پردازنده در کانفیگ موثر است SMP ه.که در کرنل های بیشتر توزیع ها به صورت پیشفرض فعاله

  11. #11

    نقل قول: آرچ یا فدورا؟

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

  12. #12
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

    معمولا لینوکس برای به روز رسانی نیاز به نصب دوباره ندارند.
    netbeans روی بیشتر لینوکس ها راحت کار میکنه.
    ولی اگر مشکل آپدیت داری بین این دوتایی که گفتی debian رو انتخاب کن.

  13. #13

    نقل قول: آرچ یا فدورا؟

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

  14. #14
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

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

  15. #15

    نقل قول: آرچ یا فدورا؟

    خب یعنی وقتی یک بار نصب میکنین چند سال پشتیبانی میکنن؟
    مثلا اوبونتو 18 ماه پشتیبانی میکنه

  16. #16
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

    18 ماه پشتیبانی اگر update نکنید.در صورتی که update کنید همیشه پشتیبانی میشه.
    EDIT:
    این لینک رو ببینید: http://www.debian.org/releases/stabl...upgrading.html
    آخرین ویرایش به وسیله FastCode : جمعه 24 آبان 1392 در 01:39 صبح

  17. #17

    نقل قول: آرچ یا فدورا؟

    IS هایی که در سرعت تاثیر دارند در همه ی حالتها کامپایل میشوند و در زمان اجرا در مورد استفاده قرار میگیرند.شامل تمام قسمت Algorithm های کرنل که معمولا از چند حالت Generic و SSE و AVX استفاده میکنند.
    بازم میگم SSE و ... که افزونه (extension) پردازنده هستن به IS که برای کامپایل استفاده می کنید ربطی ندارن. بعدش دستورهایی که کارایی رو بالا میبرن خیلی محدود هستند و استفاده از اونها محدودتر. چون این دستورها خیلی کم هستن میزان CPI رو افزایش ( یا حداقل در سطح چشم گیر و محسوس) افزایش نمی دن. بنابراین تاثیر عملکرد خیلی پایینه. این دستورها معمولا از هر نسل به نسل جدید معرفی میشن و معمولا پردازندهای زیادی داخل یک نسل جا میگیرند.

    100% کارایی شما با تنظیمات دقیق و ریز افزایش پیدا میکنه اما IS شاید حتی 0.1 درصد هم نشه. ضمننا خود اینتل هم الان داره سعی میکنه که ISA رو گسترش نده ( تا حد ممکن) و این دلایل خیلی جدی داره. ( دقیقا همون مواردی که باعث شده سرعت پردازنده ها در چند سال اخیر پیشرفت 50% خودش رو نداشته باشه - البته بازهم تاکید میکنم سرعت و نه ظرفیت گذردهی).

    مواردی که میتونن روی سرعت سیستم شما به شدت تاثیر بذارن عبارتند از:

    SMP: به هسته های سازگار با چند هسته ای بودن پردازنده های گفته میشه ( البته این مورد ظرفیت گذردهی رو افزایش میده )
    PAE: یک الحاقی برای حافظه در مود 32 بیتی هست که اجازه میده اندازه صفحات از 4 کیلو به 6 مگ برسه و در نتیجه در مود 32 بیتی سیستم عامل بتونه 2 ^48 بیت رو آدرس دهی کنه. البته اگر اشتباه نکنم هر برنامه بازهم محدود به همون 4 گیگ هست. منتها کل سیستم این محدودیت رو نداره.
    VME: اگر سیستم تون سرور هست و یا ماشین مجازی مخصوصا xen رو استفاده میکند این گزینه کارایی رو افزایش میده.
    SSE: در سیستم های گرافیکی و یا محاسباتی در صورت algnment بودن حافظه ( در برنامه نویسی) سرعت رو میتونه تا 5 برابر و در غیر اینصورت حدود 1.5 تا 2 برابر افزایش بده این مورد بیشتر توی ضرب ماتریسی استفاده میشه و به معماری SIMD معروفه و باید اضافه کنم که ساختار پرازندههای گرافیکی (GPU) و فیزیکی (PPU) از ترکیب این معماری با ترکیب معماری MIMD استفاده میکنه. که بیشتر به درد دادهای برداری و یا بلوکی میخورن و در سزح سیستمی کاربرد زیادی ندارن. در این سطح معمولا معماری SISD غالب هست و میتونه کارایی بیشتر رو عرضه کنه.

    و البته موارد دیگه هم هستن.

    مهمتر از همه اینها ماژولهای هسته و ... هستن که با حذف ماژولهای اضافی و کانفیگ درست اونها میتونید کارایی رو مخصوصا در بوت هسته بشدت افزایش بدین. من یکی از دوستانم با کانفیگ درست هسته تونسته بود توی 10 ثانیه سیستم رو کاملا بوت کنه. البته این دوستم حدود یکی دوسال وقت صرف اینکار کرد

  18. #18

    نقل قول: آرچ یا فدورا؟

    پس پیش به سوی دبیان

  19. #19
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

    root@bz:~# openssl speed aes-256-cbc 
    Doing aes-256 cbc for 3s on 16 size blocks: 15727439 aes-256 cbc's in 3.00s
    Doing aes-256 cbc for 3s on 64 size blocks: 4202849 aes-256 cbc's in 2.99s
    Doing aes-256 cbc for 3s on 256 size blocks: 1070177 aes-256 cbc's in 3.00s
    Doing aes-256 cbc for 3s on 1024 size blocks: 268140 aes-256 cbc's in 2.99s
    Doing aes-256 cbc for 3s on 8192 size blocks: 33798 aes-256 cbc's in 3.00s
    OpenSSL 1.0.1e 11 Feb 2013
    built on: Mon Jul 15 12:44:45 UTC 2013
    options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
    compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
    The 'numbers' are in 1000s of bytes per second processed.
    type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
    aes-256 cbc 83879.67k 89960.65k 91321.77k 91831.22k 92291.07k
    root@bz:~# openssl speed -evp AES256
    Doing aes-256-cbc for 3s on 16 size blocks: 77820834 aes-256-cbc's in 3.00s
    Doing aes-256-cbc for 3s on 64 size blocks: 20606638 aes-256-cbc's in 2.99s
    Doing aes-256-cbc for 3s on 256 size blocks: 5224615 aes-256-cbc's in 3.00s
    Doing aes-256-cbc for 3s on 1024 size blocks: 1325600 aes-256-cbc's in 2.99s
    Doing aes-256-cbc for 3s on 8192 size blocks: 163920 aes-256-cbc's in 2.99s
    OpenSSL 1.0.1e 11 Feb 2013
    built on: Mon Jul 15 12:44:45 UTC 2013
    options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
    compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
    The 'numbers' are in 1000s of bytes per second processed.
    type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
    aes-256-cbc 415044.45k 441078.54k 445833.81k 453984.75k 449107.91k

    گفتید چند درصد؟۵۰۰؟

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

  20. #20

    نقل قول: آرچ یا فدورا؟

    گفتید چند درصد؟۵۰۰؟
    معنی کلمه تا رو می دونی؟ من گفتم تا 5 برابر در صورت alignment بودن. یعنی میتونه حتی سرعت کمتر از 500% هم باشه. ث


    دوست عزیزم FasTCode گرامی:

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


    نکته دوم در مورد بنچ مارک:
    معیار بنچ مارک البته زمان هست اما نه به این شکل که زمان اجرایی یک برنامه رو نگاه کنید. یادتون باشه که برنامه های دیگه هم به موازت یک برمامه اجرا میشن و برای اندازه گیری درست باید از ابزارهای درست و یا حداقل از API سیستم عامل بهره گرفت.

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

    در مورد 5 برابر بودن هم من تجربه شخصی خودم رو میگم که سرعت ضرب ماتریسی 4 در 4 رو حدود 5 برابر نسبت به روش ساده افزایش دادم . حدود 1.1 برابر نسبت به DX9 در مود ریلیز. الیته دلیل هم کاملا واضحه من توی معماری SIMD در هر دفعه یک سطر ماتریس رو محاسبه می کردم ( به جای یک عنصر).

  21. #21
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

    این ۵ برابر افزایش سرعت که بهش اشاره کردم و توی تست من اومده نسبت AES-NI به SSE هست.
    تست روی یک هسته انجام شده.
    warm-up قبل از تست انجام شده.
    زمان هر دو تست ثابته.
    اطلاعات رمزنگای شده یکسانه.

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

  22. #22

    نقل قول: آرچ یا فدورا؟

    سلام

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

    گروه یک:
    1. اعشاری
    2. صحیح

    گروه دو:
    1. داده تک
    2. داده بلوکی
    3. داده جریانی

    و ...

    یا اینکه مثلا پردازنده حدف چه شکلی با انتقال مثلا داده ثابت به ثبات عمل میکنه. به عنوان مثال یه پردازنده مثل MIPS که اندازه دستورالعملهاش ثابته عمل زیر رو با یک دستور انجام میده:

    a  = 1


    اما عمل زیر رو با دو تا دستور

    a = 100000000


    دلیل اینه که این پردازنده با هر انتقال ثابت ( دستورهای i-mode) میتونه 2^16 بیت رو انتقال بده. اما در مقابل x86 طول دستورهاش متغییره پس میتونه با یک دستور همین کار رو انجام بده.

    طبق تعریف بالا x86 باید سریعتر از MIPS باشه اما همین که تعداد دستورهاش متغییره باعث میشه که پردازنده پیچیده تر بشه و پیچیده شدن مدارها یعنی:

    1. وقفه زیاد
    2. انرژی مصرفی زیاد
    3. گرمای بیشتر حاصل از نشست خازنی و ....

    پس در عمل x86 کارایی کمتری نسبت به MIPS داره.

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

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

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

    1. کامپیوترهای کوانتومی
    2. شبکه بر روی تراشه
    3. مدارات برگشت پذیر
    4. ترازیستورهای نوری و ... (فتونیک)
    5. خنک کنندهای مایع ای درون پردازنده ای ( که پروژه IBM در حال حاضر است)

    و ...

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

    همه اینها منجر میشه که آینده برنامه نویسی پیچیده تر و سیستمی تر باشه ( مثل دوران اولیه کامپیوترها ) و البته به احتمال زیاد تکنولوژیهای امروری مثل C#‎ و جاوا و ... که مبتنی بر CLI هستن در مقابل نیازهای جدید بازار یا از دور خارج بشن و یا اینکه تغییرات جدی بکنند. حتی امکان داره در آینده نزدیک پردازندهای x86 که همین الانش هم از نظر معماری مرحوم به شمار میان به سرعت از رده خارج شده و پردازندهای ساده تر مثل MIPS، SPARC و یا ARM جایگزین اونها بشن که همین خودش خیلی از معادلات حال حاضر رو بهم میریزه

  23. #23
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آرچ یا فدورا؟

    من دیگه حرفی ندارم.
    AES و بنچمارکهاش هیچ ربطی به چیزهایی که شما گفتید نداره.
    برای شروع پیشنهاد میکنم به سورس OpenSSL یک نگاه بندازید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •