نامنویسی انجمن درست شده و اکنون دوباره کار میکند! 🥳 کاربرانی که پیشتر نامنویسی کرده بودند نیز دسترسی‌اشان باز شده است 🌺

رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

سیستم عامل موبایل؟
#1

از نگر شما کدام از سیستم عامل ها برای موبایل بهتر است؟
می توان مانند پی سی سیستم عامل موبایل را تغییر داد؟
پاسخ
#2

بهمنیار نوشته: می توان مانند پی سی سیستم عامل موبایل را تغییر داد؟
خیر نمیشود ، هر پردازنده فقط برنامه هایی که برایش نوشته شده را میتواند اجرا کند .
حتا سیستم عامل ویندوز هم از این قاعده مستثنی نیست - یعنی چه ؟ یعنی سیستم عامل ویندوز برای پردازنده های اینتل و AMD (۶۴ بیتی و 32 بیتی) کامپایل شده و فقط روی این پردازنده ها کار میکند (البته سیستم عامل های ۳۲ بیتی ویندوز روی پردازنده های ۶۴ بیتی کار میکنند چون پردازنده های ۶۴ بیتی توانایی شبیه سازی عملکرد پردازنده های 32 بیتی را دارند ولی عکس این داستان صادق نیست ، یعنی شما نمیتوانید یک سیستم عامل ۶۴ بیتی را روی یک پردازنده ۳۲ بیتی اجرا کنید ) و شما نمیتوانید این سیستم عامل را مثلن روی پردازنده ی Play Station 3 اجرا کنید و برای اینکه بتوانید این کار را بکنید نیازمند یک کامپایلر مناسب برای آن پردازنده و همچنین کد منبع سیستم عامل ویندوز دارید .
به همین دلیل شما نمیتوانید روی یک موبایل سیستم عامل موبایل دیگری را نصب کنید ، در عین حال گوشی های موبایل و کنسولهای بازی و حتی مایکروویو ها از یک حافظه ی داخلی به نام NAND بهره میگیرند و سیستم عامل این دستگاه ها روی آن نصب میشود . در موبایل ها و کنسول های بازی ی پیشرفته تر مانند Iphone و Play Station 3 شما این قابلیت را دارید تا آنچه روی NAND نوشته شده را پاک کنید و از نو رویش بنویسید ، یعنی میتوانید سیستم عاملش را Upgrade کنید و حتی اگر آن وسیله Exploit داشته باشد میشود رویش یک سیستم عامل دستنویس و یا دستکاری شده معروف به CFW نصب کرد ولی در گوشی ها و کنسول های قدیمی تر مانند ۱۱۰۰ نوکیا یا Play Station 2 شما نمیتوانید چنین کاری را بکنید چرا که NAND در آنها فقط خواندنی است .

بهمنیار نوشته: از نگر شما کدام از سیستم عامل ها برای موبایل بهتر است؟
IOS

خدای ار به حکمت ببندد دری - به کرمک زند قفل محکم تری  
پاسخ
#3

sonixax نوشته: خیر نمیشود ، هر پردازنده فقط برنامه هایی که برایش نوشته شده را میتواند اجرا کند .
حتا سیستم عامل ویندوز هم از این قاعده مستثنی نیست - یعنی چه ؟ یعنی سیستم عامل ویندوز برای پردازنده های اینتل و AMD (۶۴ بیتی و 32 بیتی) کامپایل شده و فقط روی این پردازنده ها کار میکند (البته سیستم عامل های ۳۲ بیتی ویندوز روی پردازنده های ۶۴ بیتی کار میکنند چون پردازنده های ۶۴ بیتی توانایی شبیه سازی عملکرد پردازنده های 32 بیتی را دارند ولی عکس این داستان صادق نیست ، یعنی شما نمیتوانید یک سیستم عامل ۶۴ بیتی را روی یک پردازنده ۳۲ بیتی اجرا کنید ) و شما نمیتوانید این سیستم عامل را مثلن روی پردازنده ی Play Station 3 اجرا کنید و برای اینکه بتوانید این کار را بکنید نیازمند یک کامپایلر مناسب برای آن پردازنده و همچنین کد منبع سیستم عامل ویندوز دارید .
به همین دلیل شما نمیتوانید روی یک موبایل سیستم عامل موبایل دیگری را نصب کنید ، در عین حال گوشی های موبایل و کنسولهای بازی و حتی مایکروویو ها از یک حافظه ی داخلی به نام NAND بهره میگیرند و سیستم عامل این دستگاه ها روی آن نصب میشود . در موبایل ها و کنسول های بازی ی پیشرفته تر مانند Iphone و Play Station 3 شما این قابلیت را دارید تا آنچه روی NAND نوشته شده را پاک کنید و از نو رویش بنویسید ، یعنی میتوانید سیستم عاملش را Upgrade کنید و حتی اگر آن وسیله Exploit داشته باشد میشود رویش یک سیستم عامل دستنویس و یا دستکاری شده معروف به CFW نصب کرد ولی در گوشی ها و کنسول های قدیمی تر مانند ۱۱۰۰ نوکیا یا Play Station 2 شما نمیتوانید چنین کاری را بکنید چرا که NAND در آنها فقط خواندنی است .

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

گمان کنم این دعوا میان اپل و پی سی بود یک زمانی . ولی بعد دیگر نمی دانم سخت افزار پیشرفت کرد که مثل لینوکس را می شود روی هر دو سیستم پیاده کرد یا این که سخت افزاری ها یعنی اپل و آی بی ام و. . . کوتاه آمدند. یا یکی پیدا شد که سیست عاملی نوشت تا روی هر دو کار کند ؟ 39
پاسخ
#4

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

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



بهمنیار نوشته: گمان کنم این دعوا میان اپل و پی سی بود یک زمانی . ولی بعد دیگر نمی دانم سخت افزار پیشرفت کرد که مثل لینوکس را می شود روی هر دو سیستم پیاده کرد یا این که سخت افزاری ها یعنی اپل و آی بی ام و. . . کوتاه آمدند. یا یکی پیدا شد که سیست عاملی نوشت تا روی هر دو کار کند ؟ 39

نوشتن نرم‌افزار برای هر سیستم کنشگری (OS) نیازمند پیروی از یک دستورکاری آرشیتکتی CPU ویژه به خود است. CPUهای ساخت AMD و Intel
و دیگر شرکت‌های گمنام امروزین، از دو ساختار مهادین سود می‌برند که x86 و x64 هستند: http://en.wikipedia.org/wiki/Instruction...chitecture

کُد ریشه (source code) سیستم کنشگر سپس بکمک یک Compiler (هَمگردان) روی یکی از این آرشیتکت‌ها همگردانی می‌شود، برای نمونه کُد C زیر:
کد:
#include <stdio.h>

int main(void) {
    printf("Hello, world!\n");
    return 0;
}

روی آرشیتکت x86 به کُد زیر همگردانی می‌شود:
کد:
.text
LC0:
        .ascii "Hello, world!\12\0"
.globl _main
_main:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        andl    $-16, %esp
        movl    $0, %eax
        movl    %eax, -4(%ebp)
        movl    -4(%ebp), %eax
        call    __alloca
        call    ___main
        movl    $LC0, (%esp)
        call    _printf
        movl    $0, %eax
        leave
        ret
در اینجا دستورهای:
  • pushl
  • call
  • movl
  • ...

همگی بخشی از دستورهای زیرگردآیه از x86 instructions set هستند که برای یک CPU X86 فهمیدنی و انجام پذیر خواهند بود.

برونرفت برنامه چیزی بیشتر از نوشتن Hello World روی مونیتور البته نیست! 4


[*] http://en.wikibooks.org/wiki/X86_Assembl...ne-by-line



در نهایت، امروز همه سیستم‌های کنشگر مهادین روی یکی از این دو آرشیتکت همگردانی می‌شوند که شامل حال همه نگارش‌های *nix و windows می‌باشد.
Apple اما از آنجاییکه سخت‌افزار خود را دارد، با داشتن آرشیتکت CPU ویژه به خود نیز، نرم‌افزارهایش را وابسته به اجرا روی سخت‌افزارهای ساخت خود می‌کند.

از Mac OS X Snow Leopard (v10.6) به بالا البته، Apple هم برای سیستم‌کنشگر Mac روی به X86-64 آورده است،
ولی سیستم کنشگر iOS برای نمونه، همچنان روی آرشیتک ویژه apple کار می‌کند.

.Unexpected places give you unexpected returns
پاسخ
#5

مهربد نوشته: روی آرشیتکت x86 به کُد زیر همگردانی می‌شود:
البته به زبان اسمبلی و روی سینتکس gas 53

خدای ار به حکمت ببندد دری - به کرمک زند قفل محکم تری  
پاسخ


موضوعات مشابه ...
موضوع / نویسنده پاسخ بازدید آخرین ارسال

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان