سفارش تبلیغ
صبا ویژن
 
فرهنگی
درباره وبلاگ


پیوندها
لوگو

آمار وبلاگ
  • بازدید امروز: 7
  • بازدید دیروز: 14
  • کل بازدیدها: 163783



اندروید مجموعه ای از نرم افزارهای (software stack) موبایل است که شامل سیستم عامل، middleware ها و برنامه های کلیدی (key applications) است. اندروید SDK، ابزارها و APIهای لازم برای شروع برنامه نویسی بر روی پلتفرم اندروید با زبان برنامه نویسی جاوا را مهیا کرده است.

 

خصوصیات:

  1. چارچوب برنامه (Application framework): امکان استفاده مجدد و جایگزینی کامپوننت ها را فراهم میکند.
  2. ماشین مجازی دالویک (Dalvik virtual machine): وظیفه بهینه سازی کدها برای اجرا بر روی موبایل را دارد.
  3. مرورگر داخلی (Integrated browser):  منطبق بر موتور WebKit منبع باز
  4. گرافیک بهینه شده (Optimized graphics): قدرت گرفته از کتابخانه 2D، گرافیک 3D منطبق بر OpenGL ES 1.0 (شتاب دهنده سخت افزاری)
  5. SQLite: برای ذخیره اطلاعات
  6. پشتیبانی از رسانه (Media support): با پشتیبانی از فرمتهای رایج صوتی، ویدئویی و عکس (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  7. مکالمات تلفنی (GSM Telephony): (وابسته به نوع سخت افزار)
  8. Bluetooth, EDGE, 3G, and WiFi: (وابسته به نوع سخت افزار)
  9. دوربین، GPS، قطب نما و شتاب سنج: (وابسته به نوع سخت افزار)
  10. محیط توسعه غنی (Rich development environment): شامل ایمولاتور، ابزارهای دیباگ کردن، پروفایل کردن حافظه و پلاگین برای محیط توسعه اکلیپس

معماری اندروید:

تصویر زیر لایه ها و کامپوننت های اصلی سیستم عامل اندروید را نشان میدهد.

برنامه های کاربردی (Applications):

اندروید به همراه بسته های مختلفی از جمله email client, SMS program, calendar, maps, browser, contacts, and others ارایه میشود. تمام این برنامه ها با استفاده از زبان برنامه نویسی جاوا نوشته شده اند.

چارچوب برنامه (Application Framework):

با فراهم آوردن پلتفرم توسعه باز (open development platform)، اندروید برنامه سازان را قادر کرده است تا برنامه های کاربردی خلاقانه و غنی برای این پلت فرم فراهم سازند. توسعه دهندگان آزادی کامل دارند تا از ویژگیهایی مانند دسترسی به سخت افزار، دسترسی به اطلاعات محلی (موقیت جغرافیایی)، اجرای سرویس های پس زمینه (background services)، تنظیم زنگ ساعت، اضافه کردن اطلاعیه ها (notifications) به نوار وضعیت و بسیاری بسیاری دیگر در برنامه هایی که میسازند، استفاده کنند.

توسعه دهندگان دسترسی کامل به همان چارچوب APIهایی دارند که برنامه های هسته (the core applications) دارند. معماری برنامه های کاربردی (The application architecture) بمنظور ساده سازی استفاده مجدد از کامپوننت ها طراحی شده است. هر برنامه ای می تواند قابلیت های خود را در اختیار دیگر برنامه ها قرار دهد و همچنین از قابلیت های دیگر برنامه ها استفاده کند (البته به محدودیت های امنیتی چارچوب هم بستگی دارد). این طرزکار مشابه به کاربر اختیار تعویض و جایگزینی کامپوننت ها را می دهد.

برنامه های زیربنایی، مجموعه ای از سرویس ها و سیستم های زیرند:

  • مجموعه قابل گسترشی از View ها که برای ساخت برنامه های کاربردی استفاده می شوند، مانند lists, grids, text boxes, buttons, and even an embeddable web browser
  • Content Providers، که برنامه ها را قادر میسازد تا به اطلاعات برنامه های دیگر مانند لیست تماس، دسترسی پیدا کنند یا حتی اجازه دسترسی به اطلاعات خود را به برنامه های دیگر دهند.
  • یک مدیر منابع (Resource Manager) اجازه دسترسی به منابعی که کد-برنامه نیستند را فراهم میکند مانند دسترسی به رشته های محلی (localized strings)، تصاویر و فایل های مربوط به طرح برنامه (layout files).
  • یک مدیر اطاعیه (Notification Manager)، که از این طریق برنامه ها را قادر میکند تا هشدارهای خود را در نوار وضعیت نشان دهند.
  • یک مدیر فعالیت (Activity Manager)، که مدریت چرخه زندگی (lifecycle) برنامه ها را در دست دارد و به نحوه اجرای برنامه ها نظارت میکند.

 

زمان اجرای اندروید (Android Runtime):

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

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

هسته لینوکس (Linux Kernel):

اندروید متکی بر لینوکس نسخه 2?6 برای انجام سرویس های اصلی مانند security, memory management, process management, network stack و driver model است. این هسته همچنین مانند یک لایه انتزاعی (abstraction layer) مابین سخت افزار و سایر نرم افزارها عمل میکند.

منبع : www.kamalan.com




موضوع مطلب :

       نظر
چهارشنبه 92 خرداد 29 :: 6:27 عصر
مهسا

تاریخچه ی اینترنت و جستجو در آن

"شبکه جهانی اینترنت در اواخر دهه 1960 پا به عرصه ی ظهور گذاشت. اما تا سال 1990 ابزاری برای کاوش اطلاعات موجود در اینترنت وجود نداشت. با مروری اجمالی بر تاریخچه ی ابزارهای کاوش اینترنت می توان دریافت که تقریباً کلیه ی پیشرفتها در این زمینه توسط دانشجویان و طرحهای پژوهشی آنها صورت گرفته است. در سال 1990 اولین ابزار کاوش اینترنت توسط آلان امتیچ در دانشگاه مک گیل تحت عنوان Archie توسعه یافت. آرکی از طریق نمایه سازی فایل های موجود در سایت های FTP امکان جستجو و بازیابی فایل ها در محیط اینترنت را برای کاربران فراهم ساخت. در سال 1993 برای بازیابی اسناد و متون در سرورهای گوفر نظامی مشابه آرکی طراحی شد که Veronica نام داشت. در واقع می توان گفت آرکی و ورونیکا پدر و مادر همه ابزارهای کاوش امروزی به شمار می آیند. پس از گذشت یک سال از ظهور شبکه ی جهانی وب، دو ابزار کاوش برای جستجوی اطلاعات در محیط وب توسعه یافتند که عبارت بودند از:World Wide Web Wanderer و ALIWEB World Wide Web"" که توسط ماتئوگری در دانشگاه MIT توسعه یافت، از روبات ها یا به تعبیر دیگر برنامه های کامپیوتری برای جستجو و نمایه سازی صفحات وب استفاده می کرد. به این ترتیب، اولین موتور کاوش وب مبتنی بر نمایه سازی خودکار و ماشینی پا به عرصه ی ظهور گذاشت و اولین پایگاه یا نمایه ی موتور کاوش تحت عنوان وندکس شکل گرفت." "در اوایل سال 1994 دو دانشجوی دوره دکتری مهندسی برق فهرستی از سایت های وب مورد علاقه خود را تهیه و در محیط وب ارائه کردند. سپس به منظور جستجو در پایگاه اطلاعاتی گرد آوری شده از سایت ها، نرم افزار کاوشی به آن افزودند و آن را Yahoo نام نهادند. در سال 1994 موتورهای کاوش دیگری ابداع شدند که هم از نظر بازیابی اطلاعات و هم از نظر پوشش منابع در شبکه جهانی وب قابلیت ها و امکانات بهتری داشتند. مانند: Lycos، Infoseek،open text. در دسامبر 1995 AltaVista به عنوان یکی از شناخته شده ترین موتورهای کاوش ظهور پیدا کرد.AltaVista اولین موتورکاوشی بود که از زبان طبیعی و عملگرهای بول برای بازیابی اطلاعات در محیط وب استفاده کرد.در اواخر سال 1997 یکی از بزرگترین و مهم ترین ابزارهای کاوش امروزی یعنی موتور کاوش Google ظهور یافت.Google تلاش کرد که در نظام رتبه بندی نتایج کاوش خود مبتنی بر میزان ارتباط آن با کلیدواژه های جستجو تحول اساسی به وجود آورد که از طریق استفاده از معیار میزان استناد به یک صفحه یا سایت مشخص توسط سایتهای دیگر صورت می گیرد. همراه با رشد روز افزون اطلاعات در محیط اینترنت، تعداد ابزارهای کاوش نیز به طور فزاینده ای افزایش یافت. به طوری که تا ژوئن 2001، یکی از راهنماهای ابزارهای کاوش اینترنت به نام Search Engine Guide مدعی است 2500 موتورکاوش و راهنمای موضوعی در زمینه های موضوعی مختلف را در پایگاه خود نمایه کرده است.

" 2-1موتورهای جستجو گر موتور جستجو:

موتورهای جستجو ابزارهائی هستند که از برنامه‌های رایانه‌ای که روبوت و اسپایدر نامیده می‌شوند و برای جمع آوری خودکار اطلاعات از اینترنت استفاده می‌کنند،‌ پس از نمایه سازی، آن را در پایگاه اطلاعاتی خود قرار می‌دهند. موتورهای جستجو در خود تقسیماتی دارند و به دو دسته موتورهای نسل اول و نسل دوم تقسیم می‌شوند، منظور از نسل اول آن دسته از موتورهای است که به مدت نسبتاً کوتاهی از پیدایش شبکه جهانی بوجود آمدند، عمده‌ترین این موتورها عبارتند از: Lycos، InfoSeek، Fastsearch ، Excite، ‌Vista، Alta و HotBot و موتورهای نسل دوم، آنهایی هستند که به فاصله نسبتاً دوری از پیدایش شبکه جهانی به وجود آمدند و معروفترین آنها عبارتند از: DirectHit،‌ Ask Jeeves، Google و NorthernLight عمل کاوش در این موتورها از طریق کلید واژه و عبارت انجام می‌شود. نتایج بازیابی شده برای یک جستجو به دلایلی نظیر اندازه پایگاه اطلاعاتی، زمان روزآمدی، و ویژگیهای جستجو از موتوری به موتور دیگر فرق می‌کند.

3-1موتور جستجو چگونه کار می کند؟

وقتی جستجویی در یک موتور جستجوگر انجام و نتایج جستجو ارایه می شود، کاربران در واقع نتیجه کار بخش های متفاوت موتور جستجوگر را می بینند. بسیاری از خود می پرسند که چگونه ممکن است گوگل در کمتر از یک ثانیه تمام سایت های وب را بگردد و میلیون ها صفحه را در نتایج جستجوی خود ارایه کند؟ گوگل و هیچ موتور جستجوگر دیگری توانایی انجام این کار را ندارند. همه آنها در زمان پاسخ گویی به جستجوهای کاربران، تنها در پایگاه داده ای که در اختیار دارند به جستجو می پردازند و نه در وب! موتور جستجوگر به کمک بخش های متفاوت خود، اطلاعات مورد نیاز را قبلا" جمع آوری، تجزیه و تحلیل می کند، آنرا در پایگاه داده اش ذخیره می نماید و به هنگام جستجوی کاربر تنها در همین پایگاه داده می گردد. بخش های مجزای یک موتور جستجوگر عبارتند از:

• Spider یا عنکبوت

• Crawler یا خزنده

• Indexer یا بایگانی کننده

• Database یا پایگاه داده

• Ranker یا سیستم رتبه بندی

Spider1-3-1- (عنکبوت)

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

Crawler2-3-1(خزنده)

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

Indexer3-3-1(بایگانی کننده)

تمام اطلاعات جمع آوری شده توسط اسپایدر در اختیار ایندکسر قرار می گیرد. در این بخش اطلاعات ارسالی مورد تجزیه و تحلیل قرار می گیرند و به بخش های متفاوتی تقسیم می شوند. تجزیه و تحلیل بدین معنی است که مشخص می شود اطلاعات از کدام صفحه ارسال شده است، چه حجمی دارد، کلمات موجود در آن کدامند، کلمات چندبار تکرار شده اند، کلمات در کجای صفحه قرار دارند و ... . در حقیقت ایندکسر، صفحه را به پارامترهای آن خرد می کند و تمام این پارامترها را به یک مقیاس عددی تبدیل می کند تا سیستم رتبه بندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. در زمان تجزیه و تحلیل اطلاعات، ایندکسر برای کاهش حجم داده ها از بعضی کلمات که بسیار رایج هستند صرفنظر می کند. کلماتی نظیر a ، an ، the ، www ، is و ... . از این گونه کلمات هستند.

DataBase4-3-1 (پایگاه داده)

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

Ranker5-4-1 (سیستم رتبه بندی)

بعد از آنکه تمام مراحل قبل انجام شد، موتور جستجوگر آماده پاسخ گویی به سوالات کاربران است. کاربران چند کلمه را در جعبه جستجوی (Search Box) آن وارد می کنند و سپس با فشردن Enter منتظر پــاسخ می مانند. برای پاسخگویی به درخواست کاربر، ابتدا تمام صفحات موجود در پایگاه داده که به موضوع جستجو شده، مرتبط هستند، مشخص می شوند. پس از آن سیستم رتبه بندی وارد عمل شده، آنها را از بیشترین ارتباط تا کمترین ارتباط مرتب می کند و به عنوان نتایج جستجو به کاربر نمایش می دهد.




موضوع مطلب :

       نظر
دوشنبه 92 خرداد 20 :: 9:1 صبح
مهسا