تلفن همراه
تلفن همراه

تلفن همراه یا گوشی همراه وسیله ایست برای ارسال و دریافت تماس تلفنی از طریق ارتباط رادیویی در پهنای وسیع جغرافیایی. منظور از موبایل یا گوشی همراه یا تلفن سلولی وسیله‌ای است که برای اتصال به شبکهٔ تلفن همراه به کار می‌رود.





این وسیله اولین بار توسط شرکت امریکایی موتورولا در تاریخ ۳ آوریل ۱۹۷۳ با وزنی نزدیک به یک کیلوگرم تولید شد. موبایل نسل‌های گوناگونی دارد و توسط شرکت‌های سازنده گوناگونی تولید می‌شود و به فروش می‌رسد. برخی از شرکت‌های بزرگ تولیدکننده گوشی همراه در دنیا شامل نوکیا، سامسونگ الکترونیکس، ال‌جی الکترونیکس، موتورولا، سونی اریکسون، اپل و اچ‌تی‌سی هستند.

در تلفن‌های همراه به صورت معمول یک مجموعه نرم‌افزار یا سیستم‌عامل برای کنترل سخت‌افزار به کار می‌رود و برنامه‌های جانبی توسط سیستم‌عامل اجرا می‌شوند. از سیستم‌عامل‌های معروف برای تلفن همراه، می‌توان به سیستم‌عامل اندروید (android) و سیمبیان اشاره کرد. حذف شود.






بررسی بلوک‌های داخلی تلفن همراه
بلوک RF

این بلوک متشکل از قطعاتی است که وظیفه آن‌ها ارتباط دادن گوشی به BTS است؛ در حقیقت بلوک RF فرکانس GSM را از BTS دریافت کرده، سپس اطلاعات روی آن را جدا نموده و به واحدهای دیگر موبایل می‌دهد. به زبان دیگر بلوک RF وظیفهٔ تبدیل فرکانس بالای GSM را به فرکانس کمتری به نام IF بر عهده دارد.

امواج موجود در فضا توسط آنتن موبایل دریافت شده و وارد قطعه‌ای به نام آنتن سوییچ می‌شوند. آنتن سوییچ وظیفه تعیین حالت فرستندگی یا گیرندگی آنتن را به عهده دارد. بسته به این که موبایل سازگار با چند باند GSM باشد، تعداد پایه‌های آنتن سوییچ متفاوت خواهد بود. آنتن سوییچ برای هر باند GSM، آنتن را به یک خروجی به نام RX و یک ورودی به نام TX وصل می‌کند. در حقیقت آنتن سوییچ مانند یک کلید است که با فرمان‌هایی آنتن را مرتباً به خط RX یا به TX متصل می‌کند. در بلوکی که مشاهده کردید، موبایل قابلیت کار با دو باند GSM900 و GSM1800 را دارد. بنابراین آنتن سوییچ دو خروجی RX و دو ورودی TX خواهند داشت که در شبکه‌های تلفن ایران از آن جایی که GSM 900 است خط RX و TX باند ۱۸۰۰ بدون استفاده خواهد بود. آنتن سوییچ یکی از قطعات حساس برد موبایل است و خرابی در آن باعث به وجود آمدن عیوبی از قبیل پرش آنتن یا نداشتن دریافت یا ارسال خواهد شد. در مورد سلف و خازن قبل از اتصال آنتن به آنتن سوییچ نیز از آن جایی که امپدانس خروجی آنتن بسیار کم است و از طرفی امپدانس ورودی آنتن زیاد است، باید قبل از اتصال این دو، عمل تطبیق امپدانس توسط قطعه‌ای انجام شود. معمولاً در مدارات، قسمت آنتن موبایل از یک سلف که به صورت موازی بین آنتن و زمین بسته می‌شود استفاده تشکیل می‌شود. این سلف می‌تواند باعث عمل تطبیق امپدانس بین آنتن و آنتن سوییچ شده و مانع از هدایت جریان DC بین این دو واحد گردد تا این دو واحد اثر منفی در عملکرد یکدیگر نداشته باشند. وظیفه فیلتر SAW حذف فرکانس‌های کانال همسایه و فرکانس‌های مزاحم است. خط خروجی RX از آنتن سوئیچ وارد SAW شده و بعد از آن فرکانس‌های مزاحم حذف می‌شود و فقط فرکانس‌های باند GSM در خروجی آن دیده می‌شود. SAW همان‌گونه که فرکانس‌های مزاحم را حذف می‌کند، فرکانس‌های اصلی GSM را هم خیلی ضعیف می‌کند. برای تقویت سیگنال‌های دریافتی GSM بعد از SAW از یک تقویت کننده به نام LNA استفاده می‌شود.

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

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

آی سی P.A: قبل از ارسال اطلاعات، از یک آی‌سی تقویت کننده به نام P.A استفاده می‌شود و سیگنالی که از موبایل خارج می‌شود در نهایت توسط این واحد تقویت خواهد شد.P.A سیگنال‌هایی را که باید تقویت کند از آی سی RF دریافت می‌کند. این آی سی جهت تقویت سیگنال‌های TX به تغذیه نیاز دارد که تغذیه آن به صورت مستقیم از باتری گرفته می‌شود.

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






بلوک AF

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

جابجایی اطلاعات بین موبایل و BTS به صورت دیجیتال است. دیجیتال، یعنی منطق صفر و یک. بنابراین می‌توان نتیجه گرفت که هر گوشی در یک ثانیه فقط مدت زمان کوتاهی را برای دریافت یا ارسال در اختیار دارد. گوشی در لحظهٔ داشتن کانال می‌تواند اطلاعات را جابجا کند، ولی در لحظه‌ای که فرکانس در اختیار گوشی دیگری است، نمی‌تواند به BTS اطلاعات انتقال دهد و این بدین مفهوم است که دائماً ارتباط بین گوشی و BTS قطع و وصل می‌شود که باعث می‌شود که صدا نیز قطع و وصل شود. برای رفع مشکل اگر صدا به صورت دیجیتال باشد، می‌توان آن را روی حافظه نگهداری کرد و زمان کانالدار بودن موبایل، تمامی اطلاعات حافظه را منتقل کرد؛ بدون این که بخشی از صدا در لحظات قطع و وصل از بین برود.






بلوک MCU

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






بلوک UI

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






بلوک منبع تغذیه و شارژینگ

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






COBBA

در بلوک AF از یک آی‌سی به نام COBBA استفاده می‌شود. این آی‌سی مبدل سیگنال‌های آنالوگ به دیجیتال و برعکس است. امواج دریافتی آنتن بعد از این که توسط آی‌سی RF دمودولاسیون شدند با خطوط RX وارد آی‌سی COBBA در واحد AF می‌شوند. این آی‌سی ابتدا سیگنال‌های دریافتی از RF را توسط خطوط ارتباطی PCM به بلوک MCU می‌دهد. در این بلوک اطلاعات از طریق آی‌سی CPU روی حافظه موقت گوشی ریخته می‌شود. سپس آی‌سی COBBA دوباره از طریق همان خطوط ارتباطی، اطلاعات را از روی حافظه موقت خوانده و به سیگنال آنالوگ تبدیل می‌کند که از طریق بلندگو قابل استفاده خواهد شد. به همین طریق برای اطلاعاتی که بایستی از موبایل خارج شود، صدایی که توسط میکروفون دریافت می‌شود، به صورت سیگنال آنالوگ است. این سیگنال بعد از ورود به آی‌سی COBBA، تبدیل به صدای دیجیتال دیجیتال می‌شود. این صدا از طریق خطوط PCM به واحد MCU منتقل می‌شود تا در حافظه موقت نگهداری شود و به محض کانال‌دار شدن موبایل تمامی اطلاعات قسمت میکروفون از طریق واحد RF به BTS ارسال می‌شود.






PCM

PCM یکی از روش‌های انتقال اطلاعات بین دو واحد است. این واحد خطوط ارتباطی بین آی‌سی COBBA و CPU بوده و در نقشه‌ها از آن به عنوان خطوط PCM نام برده می‌شود. این انتقال به صورت کد شده انجام می‌شود که انواع آن RX و TX است.

۱- خطوط PCM TX مربوط به مسیر جابجایی اطلاعات دیجیتال میکروفون به حافظه؛

۲- خطوط PCM RX مربوط به مسیر انتقال اطلاعات دیجیتال دریافتی به حافظه.

خطوط PCM TX و PCM RX در نقشه‌های گوشی‌ها بین آی سی COBBA و آی‌سی CPU مشخص می‌باشد.






آنالوگ و دیجیتال

سیگنال آنالوگ به آن دسته از سیگنال‌هایی اطلاق می‌شود که مقدار ولتاژ آن در لحظات مختلف در حال تغییر باشد؛ به این صورت که در یک لحظه ۲ ولت، لحظه‌ای دیگر ۳ ولت و به همین صورت در حال تغییر باشد. این سیگنال می‌تواند توسط یک میکروفون ساخته شود. ماهیت تغییرات سیگنال آنالوگ، به عنوان مثال صدا، به مولد آن، که می‌تواند صدای یک انسان باشد، بستگی دارد. سیگنال‌های آنالوگ را در آی‌سی‌های حافظه نمی‌توان ذخیره کرد. همچنین در انتقال آن نیز امکان نویز پذیری بالا است. در مدارات منطقی و کنترلرها اگر بخواهیم یک سیگنال آنالوگ را وارد کنیم باید آن را به دیجیتال تبدیل کنیم. دیجیتال یعنی صفر و یک، در حقیقت در سیستم دیجیتال تغییرات در لحظات مختلف وجود دارد، ولی همیشه این تغییرات به صورت صفر و یک است. منظور از صفر و یک، دو سطح منطقی است. ما می‌توانیم صفر منطقی را به سطح ولتاژ صفر ولت و یک منطقی را به سطح ولتاژ پنج ولت تعریف کنیم. در این صورت سطوح ولتاژ دیگری به غیر صفر و پنج ولت نخواهیم داشت. مزیت دیجیتال در ذخیره‌سازی آن توسط آی‌سی حافظه و همچنین انتقال راحت آن با کیفیت خوب است. برای تبدیل سیگنال آنالوگ به دیجیتال روش‌های مختلفی وجود دارد. اصول تبدیل آن به این صورت است که ابتدا از آنالوگ در لحظات مشخص نمونه‌برداری می‌کنیم، سپس نمونه‌ها توسط یک مبدل به دیجیتال تبدیل می‌شود. هر چه تعداد نمونه گیری‌ها از سیگنال آنالوگ بیشتر باشد، ما توانسته‌ایم آنالوگ را با کیفیت بهتری به دیجیتال تبدیل کنیم. فقط بایستی این مطلب را در نظر بگیریم که افزایش تعداد نمونه برداری‌ها باعث افزایش حجم تبدیل خواهد شد. طریقه تبدیل آنالوگ به دیجیتال لازم است در تبدیل مجموع ارزش بیت‌هایی که یک هستند، برابر با مقدار ولتاژ آنالوگ شود. بیت‌های به دست آمده را می‌توان توسط سلول‌های حافظهٔ موقت یا دائم ذخیره کرد تا در زمان‌های لازم از آن استفاده کنیم. این عمل در موبایل انجام می‌شود و صدای میکروفون ابتدا به دیجیتال تبدیل شده، سپس در حافظه موقت موبایل قرار می‌گیرد تا در لحظه داشتن کانال ترافیکی یک جا بیت‌ها را ارسال کنیم. این باعث می‌شود که در لحظاتی که BTS کانالی را از موبایل می‌گیرد، صدای مشترک در موبایل ذخیره شده و به صورت منقطع به مخاطبین نرسد. برای صدای دریافتی نیز این عمل انجام می‌شود، فقط در آن حالت باید آی‌سی COBBA مجهز به یک مبدل D to A شود تا بتوانیم اطلاعا دیجیتال دریافتی از BTS را به آنالوگ تبدیل کنیم. به تبدیل آنالوگ به دیجیتال باشد. هر چه فرکانس سیگنال آنالوگ بیشتر باشد، لازم است تعداد نمونه برداری‌ها افزایش یابد تا امکان تبدیل تغییرات سریع آن را داشته باشیم.






بلند گو

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






میکروفن

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






اثرات امواج تلفن همراه بر سلامت انسان

نگرانی‌ها دربارهٔ اثرات امواج تلفن همراه بر سلامت انسان با رشد بیش از حد تلفن‌های بی‌سیم همراه (۲ میلیارد در آگوست ۲۰۰۵) بیشتر شده‌است. این نگرانی‌ها به خاطر این هستند که تلفن همراه از خود امواج الکترومغناطیسی در مقیاس مایکروویو ساطع می‌کند.






اعتیاد به گوشی همراه

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






معروف‌ترین سیستم‌عامل‌های تلفن همراه

iOS
Google Android
لینوکس
Palm OS
RIM Blackberry
Symbian OS
Windows Mobile
بادا bada
Firefox OS







اولین تلفن همراه در ایران

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

شکل و شمایل این تلفن همراه که در سال ۱۲۳۰ تولید شده است، به تلفن‌های همراه امروزی شباهتی ندارد. این تلفن همراه در سفرها همراه ناصرالدین شاه بوده و در زمان نیاز به کابل‌های کشیده شده بین راه وصل و با مخاطب مورد نظر تماس تلفنی برقرار می‌شده است این تلفن دارای راهنمای فارسی بوده و ساخت کارخانه «البیس» شهر زوریخ می‌باشد.







سیم‌کارت
سیم کارت یا شناس‌کارت (ماژول شناسانندهٔ مشترک) کارتی هوشمند برای تلفن‌های همراه است. سیم کارت به طور امن کلیدهای مشترک-سرویس دهنده را برای شناساندن یک تلفن همراه در خود نگه می‌دارد. یک سیم کارت به کاربران اجازه می‌دهد که گوشی تلفن خود را به آسانی فقط با خارج کردن سیم کارت و قراردادن آن در گوشی دیگر تغییر دهند.
استفادهٔ سیم کارت در شبکه‌های GSM است. معادل سیم کارت در شبکه‌های UMTS به نام USIM یا Universal Sim است، در حالیکه ماژول خارج شوندهٔ معرفی کننده کاربر (RUIM) در تلفن‌های CDMA بیشتر کاربرد دارد.
سیم کارت در دو اندازه استاندارد موجود است. اولی اندازه یک کارت اعتباری (۸۵٫۶۰م. م × ۵۳٫۹۸ م. م × ۰٫۷۶م. م) است. جدیدتر که خیلی محبوب تر هم است، اندازه مینیاتوری با ۲۵ م. م در طول، ۱۵ م. م ارتفاع و نازکی به اندازه ۰٫۷۶ م. م دارد.
W-SIM سیم کارتی هست که هسته فناوری سلولی را با کارتی درون خودش کامل می‌کند.
GSM 11.11 معرفی کننده مشخصات سیم کارت است. GSM 11.14 معرفی کننده مشخصات برنامه‌های ابزاری SIM برای سیم کارت است.






اندازه ذخیره‌سازی حافظه

نوعی ارزان قیمت سیم کارت (فقط GSM 11.11) حافظه کمی دارد، چیزی در حدود ۲-۳ کیلوبایت که در GSM 11.11 تعریف شده است (برای دفترچه تلفن و شبیه آن). همان نوع حافظه داده مستقیماً توسط گوشی مهیا می‌شود. بخش بازاری سیم کارت‌های ارزان قیمت، پایداری آن‌ها است.
سیم کارتهایی با کاربردهای اضافی (GSM 11.14) در اندازهٔ حافظه‌های زیادی موجود است، بیشترین آن‌های یک گیگابایت است. کوچک‌ترین آن‌ها از همان نوع ۳۲ کیلوبایت و ۱۶ کیلوبایت است که در جاهایی که شبکه‌های GSM کمتر گسترش یافته استفاده می‌شوند. اندازه‌های بزرگ‌تری برای حافظه سیم کارت هم وجود دارد که بین ۱۲۸ تا ۱۰۲۴ مگابایت است.
حافظه سیم کارت بیشتر به ارائه دهنده خدمات مربوط می‌شود.
در پایان ۲۰۰۶ بیشترین نوع سیم کارت GSM ای که در آمریکا مورد استفاده قرار گرفت از نوع ۶۴ کیلوبایتی بود.






تغذیه

سه نوع ولتاژ کار برای سیم کارت‌ها وجود دارد: ۵ ولت، ۳ ولت و ۱٫۸ ولت. سیم‌کارت‌های قبل از سال ۱۹۹۸ اکثراً ۵ ولت بودند. سیم‌کارت‌های بعدی با ۵ ولت و ۳ ولت سازگارند. سیم‌کارت‌های مدرن همگی هر سه ولتاژ کار را پشتبیانی می‌کنند.






سیستم‌عامل‌ها

سیستم‌عامل‌های سیم کارت به طور معمول بر دو نوع هستند: سیستم‌عامل‌های محلی و کارت‌های جاوا. سیم کارت‌های محلی نرم‌افزارهای اختصاصی ارائه دهنده سرویس را در خود دارند همانطور که کارت‌های جاوا بر پایه استانداردهایی هستند، کارت‌های جاوا نوع خاصی از زیر مجموعهٔ زبان برنامه نویسی جاوا هستند که برای اجرا برروی دستگاه‌های کوچک هدف گذاری شده‌اند.






داده

سیم کارت‌ها اطلاعات مشخص شده توسط شبکه را برای تصدیق هویت و معرفی مشترک به شبکه را در خود دارند، مهم‌ترین این اطلاعات عبارت اند سیم‌کارت و IMSI و Ki و LAI. یک سیم کارت همچنین اطلاعات دیگری نظیر شماره SMSC (مرکز سرویس پیغام کوتاه)، نام ارائه دهنده خدمات (SPN)، شماره‌های تماس خدمات (SDN) و برنامه‌های سرویس ارزش افزوده (VAS). (رجوع کنید به GSM 11.11)






ICCID

هر سیم کارت به طور بین‌المللی با ICC-ID (شماره کارت مداری بین‌المللی) شناخته می‌شود. ICCID در درون سیم کارت ذخیره می‌شود و همچنین برروی بدنه سیم کارت در طی فرایندی به نام شخصی سازی چاپ یا حک می‌شوند.






IMSI

هر سیم کارت برروی شبکه خودش توسط نگه داری یکتایی مشخص کننده بین‌المللی تلفن مشترک شناسایی می‌شود. اپراتورهای تلفن همراه با استفاده از IMSI تماس‌های تلفن همراه مشترک و ارتباط آن را با دیگر سیم کارت‌ها برقرار می‌کنند.






کلید تصدیق هویت (Ki)

Ki یک مقدار ۱۶ بایتی است که برای تصدیق هویت سیم کارت برروی شبکه تلفن همراه استفاده می‌شود. هر سیم کارت یک Ki به صورت یکتا دارند که توسط اپراتور تلفن همراه طی فرایند شخصی سازی به آن نسبت داده می‌شود. همچنین Ki در پایگاه داده شبکه (شناخته شده به عنوان HLR) ثبت می‌شود.






پروسه تصدیق هویت

در هنگام راه اندازی تلفن همراه، سیم کارت، IMSI خود را به اپراتور تلفن همراه با درخواست دسترسی و تصدیق هویت می‌فرستد.
اپراتور تلفن همراه در پایگاه داده خود به دنبال IMSI درخواست شده با Ki مشخص شده می‌گردد.
سپس اپراتور تلفن همراه یک عدد تصادفی ایجاد می‌کند و آن را با تلفیق در Ki یک شماره به نام درخواست واردشده (SRES_1) ایجاد می‌کند.
سپس اپراتور شبکه عدد تصادفی را به سیم کارت می‌فرستد و سیم کارت هم آن عدد تصادفی را Ki در خودش تلفیق می‌کند و SRES_2 را ایجاد می‌کند و آن را به اپراتور می‌فرستد.
سپس اپراتور شبکه SRES_1 محاسبه شده خودش را با SRES_2 محاسبه شده توسط سیم کارت مقایسه می‌کند. اگر دو شماره با هم یکی شدند سیم کارت تصدیق شده و اجازه دسترسی به شبکه را پیدا می‌کند.







معرفی‌کننده موقعیت محلی

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






اندازه سیم کارت

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

اولین سایز سیم کارت به صورت سایز کامل بود(1FF): این سایز تقریباً اندازه کارتهای اعتباری بانکی بود.(۸۵٫۶۰ میلیمتر در ۵۳٫۹۸ میلیمتر به ضحامت ۰٫۷۶ میلیمتر) پس از آن سیم کارت مینی وارد بازار شد(2FF) که بخش کوچکتری از همان سیم کارت بود.(با ضخامت قبلی و ۲۵ میلیمتر در ۱۵ میلیمتر) نسخه بعدی سیم کارت که با نام سیم کارت میکرو(3FF) وارد شد بازهم طول و عرض کمتری نسبت به قبل داشت.(۱۵ میلیمتر در ۱۲ میلیمتر) با کوچکتر شدن سایز سیم کارت، سازگاری آنها با نسخ قبلی همچنان رعایت شد، به همین علت با دستگاههای برش خاص و یا قاب مخصوص می‌توان سه نوع ابتدایی سیم کارتها را به یکدیگر تبدیل کرد بدون آنکه مدار سیم کارت صدمه‌ای ببیند.

سرانجام نیز در سال ۲۰۱۲ نانو سیم کارت (4FF) تولید شد. این سیم کارت بازهم کوچکتر شد. البته برعکس تکامل نمونه‌های قبلی علاوه بر کاهش طول و عرض، ضخامتش نیز کاهش یافت.(۱۲میلیمتر در ۸٫۸ میلیمتر با ضخامت ۰٫۷ میلیمتر) در سیم کارت نانو ضخامت پردازشگر به همراه بدنه ضخامتی معادل ۰٫۷ دارد که حدوداً ۱۵ درصد نسبت به نسخ قبلی کاهش ذخامت داشته است.

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








کارت هوشمند

کارت هوشمند (که با نام‌های «کارت چیپ‌ دار» یا «کارت با مدار مجتمع» هم شناخته می‌شود) کارتی است که بر روی آن مدار مجتمع نصب شده‌است. از این نوع کارت می‌توان به‌جای کارت اعتباری و کارت پول یا در سیستم‌های امنیتی کامپیوتری، سیستم‌های تشخیص هویت و بسیاری موارد دیگر استفاده کرد.

کارت‌های هوشمند از نظر اندازه و شکل ظاهری، شبیه به کارتهای اعتباری معمولی هستند.






تاریخچه کارت هوشمند

گسترش کارت‌های پلاستیکی در اوایل دهه ۵۰ میلادی آغاز شد. هزینه پایین این کارت‌ها که از جنس پلی وینیل کلراید پی وی سی بودند باعث شد تا به سرعت جای کارت‌های کاغذی که تحمل تنش‌های فیزیکی و تغییرات آب و هوا را ندارند، را بگیرند. اولین کارت پرداخت در سال ۱۹۵۰ توسط Diners Club به صورت محدود برای اعضای ویژه ساخته شد، تا به جای پول نقد از آن استفاده نمایند. در ادامه رستوران‌ها و هتل‌ها اقدام به استفاده از این نوع کارت‌ها کردند به خاطر همین در آن دوره از آنها به عنوان کارت سفر و سرگرمی یاد می‌شد.

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

اولین ارتقاء در این کارتها با اضافه نمودن نوار مغناطیسی به آنها که امکان ذخیره سازی اطلاعات را می‌داد، پدید آمد. در ادامه در سال ۱۹۷۰ و با پیشرفت چشمگیر در ریز پردازنده‌ها و ترکیب آنها با حافظه‌های غیر فعال این امکام به وجود آمد تا از انها در کارت‌های هوشمند استفاده شود.

سرانجام در سال ۱۹۸۴ شرکت مخابراتی French PTT با موفقیت اولین کارت تلفن را عرضه کرد تا در عمل نیز این نوع کارت کارایی خود را به اثبات برساند.






کارت‌های هوشمند بدون تماس

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

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






گونه‌ها
کارت هوشمند باتماس (Smart Cards)

کارت‌های هوشمند از نظر اندازه و شکل ظاهری، شبیه به کارت‌های مغناطیسی معمولی هستند. ولی درون این کارت‌ها کاملاً با کارت‌های معمولی متفاوت است. کارت‌های مغناطیسی معمولی یک تکه پلاستیک ساده هستند با یک نوار مغناطیسی؛ در حالی که کارت‌های هوشمند درون خود یک ریز پردازنده دارند این ریز پردازنده چون بیش از اندازه کوچک است با تکنولوژی خاصی کشت می‌شود (تبدیل یک ترانزیستور اندازه یک نخود به سایزی معادل کوچک‌تر از نوک سوزن). ریزپردازنده معمولاً در زیر یک اتصال طلایی در یک طرف کارت قرار دارد. این ریز پردازنده در کارت‌های هوشمند در حقیقت جایگزین نوار مغناطیسی در کارت‌های معمولی شده‌است. اطلاعاتی را که روی نوار مغناطیسی کارت‌های معمولی وجود دارد می‌توان به راحتی خواند، روی آن نوشت، آن را حذف کرد و یا تغییر داد. به علت وجود همین مشکل نوار مغناطیسی محل خوبی برای نگهداری اطلاعات نیست. به همین دلیل هم برای استفاده از چنین کارت‌هایی و تایید صحت و دریافت و پردازش اطلاعات، به طراحی شبکه‌های کامپیوتری گسترده، نیاز هست. کارت هوشمند بدون نیاز به چنین امکاناتی به دلیل امنیت خود می‌تواند اطلاعات را در خود ذخیره کرده و در صورت لزوم در محل‌های مختلف از این اطلاعات بدون نیاز به اتصال به شبکه استفاده کند. ریز پردازنده در کارت هوشمند برای امنیت مورد استفاده قرار می‌گیرد. در واقع کارت هوشمند یک کامپیوتر کوچک است که با کامپیوتری که به دستگاه کارت خوان متصل است ارتباط برقرار می‌کند. تا ریزپردازنده کارت، از معتبر بودن دسترسی به کارت مطمئن نشود، به کارت خوان اجازه دسترسی نمی‌دهد. پس از صدور مجوز دسترسی، کارت خوان می‌تواند همانند یک دیسک با کارت که دارای حافظه (Ram)است کار کند؛ اطلاعات را خوانده، پردازش و تغییر دهید. کارت‌های هوشمند می‌توانند تا ۸ کلیو بایت Ram (حافظه با دسترسی تصادفی برای خواندن و نوشتن اطلاعات)، ۳۶۴ کیلو بایت ROM (حافظه فقط خواندنی)، ۲۵۶ کیلوبایت PROM (حافظه فقط خواندنی قابل برنامه ریزی) و یک ریزپردازنده ۱۶ بیتی داشته باشند. کارت هوشمند همچنین از یک واسط سریال برای نقل و انتقال اطلاعات استفاده کرده، انرژی خود را هم از یک منبع بیرونی (مثلاً دستگاه کارت خوان) تامین می‌کند. ریز پردازنده هم برای انجام یک مجموعه عملیات محدود همانند رمزنگاری مورد استفاده قرار می‌گیرد. کارت‌های هوشمند می‌توانند برای کارت‌های اعتباری، کارت پول‌ها، سیستم‌های امنیتی کامپیوتری، سیستم‌های تشخیص هویت دولتی و بسیاری موارد دیگر مورد استفاده قرار گیرند.






کارت هوشمند بی‌تماس (Contactless)

کارت هوشمند که شبیه به یک کامپیوتر ساده و کوچک است که می‌تواند از طریق دستگاه کارت خوان و اتصال طلایی خود ارتباط برقرار کند، تا بتوان به اطلاعاتی که درون حافظه این کارت قرار دارد دسترسی پیدا کرد. از آنجایی که این کارت‌ها دارای یک ریز پردازنده هستند و این ریز پردازنده به دسترسی به حافظه کارت نظارت می‌کند، می‌توان به امنیت اطلاعات درون کارت اطمینان داشت و اطلاعات مهم را در آن ذخیره کرد. این کارت‌ها که در سال ۱۹۷۰ عرضه شدند مشکل امنیت را که در دسترسی به کارت‌های معمولی مغناطیسی وجود داشت، برطرف کردند. ولی این نوع کارت‌های هوشمند هم همانند کارت‌های معمولی مغناطیسی نیاز به قرار گرفتن در دستگاه برای خوانده شدن اطلاعات دارند. نسل جدید کارت‌های هوشمند، کارت‌های هوشمند بدون تماس هستند. این کارت‌ها بدون تماس و با تکنولوژی القاء Radio Frequency Identification با دستگاه کارت خوان ارتباط برقرار می‌کنند. فقط کافی است این کارت در نزدیکی دستگاه قرار گیرد. این نوع کارت در مواقعی که نیاز به برقراری ارتباط سریع و حتی بدون دخالت دست وجود دارد، کاربرد بسیاری دارد. برای مثال برای ورود یک به اتاق، کارت مکن است در جیب یا کیف شخص باشد و از همان محل و بدون نیاز به خارج کردن با دستگاه کارت خوان ارتباط برقرار کرده و مجاز بودن ورود بررسی شده و در باز شود. همچنین در بسیاری از سیستم‌های حمل و نقل عمومی در دنیا به دلیل حجم زیاد مسافران و به خاطر سریع تر شدن چک کردن بلیط از این نوع کارت‌ها استفاده می‌شود. هم اکنون کارت‌های اعتباری متروی تهران و همچنین من کارت مورد استفاده برای( اتوبوس های خط واحد مشهد، موبایل پارک ها، تاکسی ها و متروی مشهد)از نوع کارت هوشمند بدون تماس هستند. استفاده از این کارتها روز به روز بیشتر می‌شود مثلاً در شهرهای تبریز نیز جهت استفاده از اتوبوس به عنوان کارت بلیط اتوبوس پیاده سازی شده‌است. از نظر فاصله مجاز برای برقراری ارتباط چند نوع کارت هوشمند وجود دارد. در دو نوع از آن‌ها (نوع A و B)که استاندارد هم شده‌اند، حداکثر فاصله مجاز برای برقراری ارتباط ۱۰ سانتی متر است. این فاصله که به این دلیل است که سیستم (برای مثال کم کردن پول از کارت مترو) به صورت ناخواسته (مثلاً گذشتن از کنار ورودی مترو) عمل نکند. همچنین در یک نوع دیگر حداکثر فاصله مجاز برای برقراری ارتباط ۵۰ سانتی متر در نظر گرفته شده‌است

تکنولوژی کارت هوشمند (Smart Card) به عنوان یکی از دستاوردهای نوین بشری، تحولی شگرف در حوزه سیستم‌های کاربردهای روزمره انسانها ایجاد کرده‌است. دو مقوله مهم امنیت(Security) و همراه بودن(Mobility) از ویژگی‌های منحصربه‌فرد این تکنولوژی است. امروزه کاربردهای این تکنولوژی در سطح دنیا در اکثر زمینه‌ها قابل مشاهده بوده و حتی این روند، رو به رشد می‌باشد. بانکها، مراکز مخابراتی، سازمانهای دولتی، مراکز بهداشتی، مراکز ارائه خدمات، مراکز آموزشی، مراکز تفریحی و... از این دستاوردهای کاربردی این تکنولوژی بهره می‌گیرند.







انواع کارت هوشمند:

کارت‌های حافظه تماسی (Contact Memory Card)

کارت‌های دارای پردازشگر (Contact CPU Card)

کارت‌های حافظه بدون تماس (Contact-less Memory Card)

کارت‌های دارای پردازشگر با رابط دوگانه (Dual Interface CPU Card)

انواع کارت‌های هوشمند از دیدگاه تکنولوژی ساخت :

کارت‌های تماسی (‍Contact)

کارت‌های بدون تماس (Contact-less)

کارت‌های با رابط دوگانه (Dual Interface) کارت های هوشمند در ایران تولید نمیشوند. شرکت های مانند شرکت داتکو وارد کننده کارت خام هوشمند هستند.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 4:39 pm
تعاریف

ویژگی‌هایی که غالباً برای تشکیل یک زبان برنامه نویسی مهم شمرده می‌شوند:

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





هدف: زبان‌های برنامه نویسی با زبان‌های طبیعی تفاوت دارند و آن اینکه زبان‌های طبیعی فقط برای فعل و انفعالات بین مردم به کار می‌روند، در حالیکه زبان‌های برنامه نویسی همچنین به انسانها اجازه می‌دهد که از طریق دستورات با ماشین‌ها ارتباط برقرار کنند. برخی زبان‌های برنامه نویسی بوسیله یک دستگاه استفاده می‌شوند تا دستگاه دیگری را کنترل کند. برای مثال برنامه‌های پست اسکریپت(post script) غالباً توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد می‌شوند.
ساختارها: زبان‌های برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
توان بیانگر: نظریه محاسبات، زبان‌ها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی می‌کند. تمام زبان‌های "کامل تورینگ" می‌توانند مجموعه یکسانی از الگوریتم‌ها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثال‌هایی هستند از زبان‌هایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه نویسی نامیده می‌شوند.

برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی می‌کنند که می‌توانند تمام الگوریتم‌های ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبان‌های برنامه نویسی محدودتر به کار می‌رود. زبان‌های غیر محاسباتی، مانند زبان‌های مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمی‌شوند. یک زبان برنامه نویسی(که می‌تواند کامل تورینگ نباشد) ممکن است در این زبان‌های غیر محاسباتی (میزبان) تعبیه شوند.


کاربرد

زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف داده‌ها، و عملیات یا تبدیل‌هایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم می‌کند. یک برنامه نویس از انتزاعات آماده در زبان استفاده می‌کند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از ساده‌ترین عناصر موجود بیان می‌شوند(مفاهیم ابتدایی نامیده می‌شوند). زبان‌های برنامه نویسی با غالب زبان‌های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان‌های طبیعی برای ارتباط با دیگر انسان‌ها، نویسندگان و گویندگان می‌توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانه‌ها "دقیقاً آنچه که به آنها گفته شده را انجام می‌دهند." و نمی‌توانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بوده‌است] البته امروزه برنامه‌هایی برای انجام این کار تولید شده‌اند و تلاش‌های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می‌کند. برنامه‌های یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامه‌ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامه‌ای استفاده می‌شود، زبان اسکریپت می‌گویند. بسیاری از زبان‌ها کنار گذاشته شده‌اند، برای رفع نیازهای جدید جایگزین شده‌اند، با برنامه‌های دیگر ترکیب شده‌اند و در نهایت استعمال آنها متوقف شده‌است. با وجود اینکه تلاش‌هایی برای طراحی یک زبان رایانه" کامل" شده‌است که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبان‌های رایانه‌ای گسترده از گستردگی زمینه‌هایی که زبان‌ها استفاده می‌شوند، ناشی می‌شود:

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

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.



المان‌ها
تمام زبان‌های بزنامه نویسی تعدادی بلوک‌های ابتدایی برای توضیح داده و پردازش یا تبدیل آنها(مانند جمع کردن دو عدد با انتخاب یک عضو از یک مجموعه)دارند. این " عناصرابتدایی" بوسیله قوانین معناشناسی و دستوری تعریف می‌شوند که ساختار و معنای مربوطه را توضیح می‌دهند.
دستور(
syntax)

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

دستور زبان برنامه نویسی معمولاً بوسیله ترکیب عبارات معین(برای ساختار لغوی) و فرم توضیح اعمال(برای ساختار گرامری) تعریف می‌شوند. متن زیر یک گرامر ساده، به زبان lisp است: expression ::= atom | list atom ::= number | symbol number ::= [+-]?['۰'-'۹']+ symbol ::= ['A'-'Za'-'z'].* list ::= '(' expression* ')' این گرامر موارد ذیل را مشخص می‌کند:

یک عبارت یا atom است و یا یک لیست
یک atom یا یک عدد است و یا یک سمبل
یک عدد دنباله ناشکسته‌ای از یک یا تعداد بیشتری اعداد دهدهی است، که یک علامت مثبت و یا منفی می‌تواند پیش از آن بیاید.
یک سمبل حرفی است که بعد از هیچ یا تعدادی کاراکتر (جز فاصله) می‌آید.
یک لیست تعدادی پرانتز است که می‌تواند صفر یا چند عبارت در خود داشته باشد.

"۱۲۳۴۵"، "()"، "(a b c۲۳۲ (۱))" مثال‌هایی هستند از دنباله‌های خوش فرم در این گرامر.

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

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

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

این قسمت از زبان C از نظر دستوری درست است، اما دستوری را انجام می‌دهد که از نظرمعنایی تعریف نشده است(چون p یک اشاره گر خالی است، عمل p->real,p->im معنای خاصی ندارد.) complex *p = NULL; complex abs_p = sqrt (p->real * p->real + p->im * p->im);

گرامر مورد نیاز برای مشخص کردن یک زبان برنامه نویسی می‌تواند با جایگاهش در "سلسله مراتب چامسکی" طبقه بندی شود. دستور اغلب زبان‌های برنامه نویسی می‌تواند بوسیله یک گرامر نوع ۲ مشخص گردد، برای مثال، گرامرهای مستقل از متن.




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


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

یک زبان نوع گذاری شده‌است اگر مشخصات هر عملیات، نوع داده‌های قابل اجرا توسط آن را با نشان دادن نوع‌هایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشته‌است. در غالب زبان‌های برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبان‌های برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامه‌ها رد کنند. در برخی زبان‌ها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامه‌ها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبان‌های نوع دار زبان‌های تک نوعند. این زبان‌ها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشته‌های کاراکتری که هم برای داده‌های عددی و هم برای داده‌های سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبان‌های اسمبلی، این امکان را می‌دهد که هر عملیاتی روی هر داده‌ای انجام شود، که معمولاً دنباله‌ای از بیت‌ها با طول‌های متفاوت در نظر گرفته می‌شوند. زبان‌های سطح بالا که بی نوع هستند شامل زبان‌های ساده رایانه‌ای و برخی از انواع زبان‌های نسل چهارم.

در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی می‌شوند(چک کردن یا رد کردن تمام عملیات‌ها)، غالب زبان‌های امروزی درجه‌ای از نوع گذاری را فراهم می‌کنند. بسیاری از زبان‌های تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم می‌کنند.
ساعت : 4:39 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
بهینه سازهای وب | next page | next page