۱۳۸۸ شهریور ۳۰, دوشنبه

حیله ی وصله ی دانلود

چند روز پیش استفاده از VS2010 به ذهنمان خطور کرد. از یکی از دوستان که از پهنای باند و سرعت خوب اینترنت برخوردار بود و منزلش هم بسیار نزدیک بود خواستم تا VS2010 را دانلود کند.

اگر نخواهم سر کسی به درد آید، به طور خلاصه یکی از فایل های دانلود شده مشکل داشت. چیزی در حدود 60MB انتهایی آن دانلود نشده بود. شدیدا علاقه داشتم که با VS2010 کار کنم و دوستی که در بالا اشاره شد نیز در دسترس نبود!

نمی دانم چرا حدس زدم شاید این حیله عملی باشد: با Firefox فایل مورد نظر که حدود 700MB بود را برای دانلود انتخاب کردم و به محض شروع دانلود آنرا Stop کردم، سپس به انتهای فایل ناقصی که از دوستم گرفته بودم پسوند .part اضافه کردم و به جای فایلی که Firefox ایجاد کرده بود Replace کردم و بعد دکمه Resume از Firefox Downloads را زدم! دانلود شروع شد اما از حدود 640MB به بعد. بعد از اتمام دانلود فایل به درستی اجرا شد!

۱۳۸۸ شهریور ۲۵, چهارشنبه

Microsoft Surface

Microsoft Surface یک کامپیوتر Multi-Touch انقلابی است که به حرکات طبیعی دست و اشیاء واقعی جهان پاسخ می دهد و به افرادی که با آن کار می کنند کمک می کند تا با یک ابزار دیجیتال ساده و قابل درک با یک User Interface افقی بزرگ در یک مکان و در یک زمان به همراه چند نفر بتوانند با یکدیگر بر روی یک سری اطلاعات مشخص کار کنند.

Microsoft Surface

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

و حالا تعبیر ما ، به بیان ساده تر یک میز به ابعاد (82.5cm:ارتفاع،124.5cm:طول،86cm:عرض) که صفحه روی این میز یک LCD با قابلیت Multi-Touch و با ابعاد (82.5cm:ارتفاع،124.5cm:طول،86cm:عرض) با بدنه فلزی حدود (82kg) که فقط در آمریکا و کانادا عرضه می شود و با با بدنه Acrylic که وزن آن به (90kg) میرسد.

اما مشخصات فنی این میز هوشمند که عبارت است از :

Network Protocols and Standards
  • Network adapter: Intel Gb LAN
  • Wireless LAN connectivity supported: Yes
  • Networking and Data Protocols: IEEE802.11b,IEEE802.11g, Bluetooth 2.0, Gigabit Ethernet
I/O Connections
  • 2 headphone jacks
  • 6 USB 2.0 ports
  • RGB component video
  • S-VGA video (DB15 external VGA connector)
  • Component audio
  • Ethernet port (Gigabit Ethernet card [10/100/1000])
  • External monitor port
  • Bays for routing cables
  • On/Standby power button
AC Input Ratings
  • AC input: 100-240 VAC, 50/60Hz, 10A, 650W
Display
  • Type: 30-inch XGA DLP® projector
  • ATI X1650 graphics card with 256 MB of memory
  • Maximum resolution: 1024 x 768
  • Lamp mean-life expectancy: 6,000+ hours
  • Maximum pressure on the display: 50 pounds per
    square inch/3.5 kg per cm
  • Maximum load: 200 pounds
Input Devices
  • Camera-based vision system with LED infrared
    direct illumination
Computing System
  • 2.13-GHz Intel® CoreTM 2 Duo processor
  • Memory: 2 GB dual-channel DDR2
  • Storage: Minimum 250 GB SATA hard-disk drive
Audio
  • Output type: Stereo fl at panel built-in speakers
  • Output compliant standards: Stereo
  • Input: None

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

همان گونه که در بالا گفته شد مهمترین نکات این میز Digital قابلیت Multi-Touch بودن و هم کاری همزمان چند کاربر بر روی یکسری اطلاعات است به این گونه که سه یا چهار نفر در یک آن واحد می توانند بر روی یک موضوع واحد بر روی این میز شروع به کار کنند این میز توانایی شناسایی و مشاهده وسیله ای که آن را لمس می کند را داراست و برای این کار از تعدادی دوربین و تکنولوژی Infrared استفاده می کند.

پایه و بنای سیستم عامل این میز قدرتمن دیجیتال همان Windows Vista SP1 است که بسیار ساده و اختصاصی برای مدیریت ، پشتیبانی و توسعه آن ساخته شده و اسم آن را Microsoft Surface 1.0 Service Pack 1 گذاشته اند و علاوه بر آن یک واسط گرافیکی بسیار قدرتمند به مالکان این میز کمک میکند تا به نحو احسنت از این میز استفاده کنند.

و اما اصل مطلب یعنی چگونه می شود برای این Plat Form نرم افزار تولید کرد ؟

برای این کار احتیاج به Microsoft Surface SDK 1.0 SP1 دارید و البته یه Microsoft Surface برای تست پروژه هاتون.

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

  • Microsoft® Windows Presentation Foundation (WPF)
  • Microsoft® XNA™
  • Microsoft® Visual C#® 2008 Express Edition
  • Microsoft® Visual Studio® 2008 SP1
  • Microsoft® Expression® Studio 2
  • Microsoft® Expression Blend™ 2

    ساخته است.

    فکر کنم تا همین جا کافیست برای بدست آورن بقیه مطالب و بیشتر تحت تاثیر قرار گرفتن میتوانید به لینک زیر مراجعه کنید :

    Microsoft Surface


    پاورقی: این پست با نرم افزار Windows Live Writer ارسال شده.

  • ۱۳۸۸ شهریور ۲۱, شنبه

    Singularity OS

    قبلا در مورد هسته هایی که با #C ساخته شده اند (C# Kernels) یک پست ارسال کرده بودم. از بین چند Kernel توسعه داده شده Singularity از دیگران کاملتر است.

    این روزها بیشتر روی این سیستم عامل تحقیقاتی وقت سرف کردم. مخصوصا وقتی فهمیدم مایکروسافت به توسعه یک سیستم عامل Managed Code به نام Midori مشغول است که تقریبا نسخه تجاری Singularity به حساب می آید و بعضی اعلام می کنند که جایگزین Windows خواهد بود. به همین دلیل صرف وقت روی Singularity شاید شبیه وقت گذاشتن روی Source سیستم عامل Unix در سالهای ابتدایی اختراع آن باشد.

    مهمترین دلیل ساخت این سیستم عامل این است که طراحی سیستم عامل های کنونی ما به 40 سال قبل بر میگردد! از آن زمان تا کنون ما روی چند سیستم عامل اصلی پا فشاری کردیم مانند، Unix، Linux، Mac و Windows. که همگی دارای معماری قدیمی هستند. البته بخشی از این موضوع اجتناب ناپذیر است.

    مهمترین ویژگی Singularity این است که از ابتدا طراحی شده! این سیستم از نوع Language-Based است و سعی شده از خطای انسانی تا حد امکان جلوگیری شود. و برای پیاده سازی آن یک زبان به نام Sing# ساخته شده که از Spec# مشتق شده، و خود Spec# هم از C# .

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

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

    Capture1

    هر پردازه (Process) در قالب یک SIP (Software-Isolated Processe) اجرا می شود که بر خلاف سیستم عامل های کنونی که همیشه پردازه ها به صورت سخت افزاری Isolate می شدند، در اینجا به صورت نرم افزاری Isolate خواهند شد. اندازه فایل های اجرایی با فایل های تولید شده توسط ++C/C قابل مقایسه است.

    image

    کل سیستم عامل Singularity در یک فضای آدرس فیزیکی (Physical Address Space) اجرا می شود و مدیریت حافظه به صورت نرم افزاری صورت می گیرد (بر خلاف سیستم عامل های قبلی). حافظه مورد استفاده برنامه ها نیز قابل مقایسه با دیگر زبانهاست.

    image

    ارتباط بین پردازه ها (Processes) فقط توسط کانال ها (Channels) صورت می گیرد. به این ترتیب که یک پردازه شروع کننده ارتباط خواهد بود و طرف دیگر ارتباط را قبول میکند (مانند ارتباطات شبکه). در صورتی که حجم تبادلی داده زیاد باشد باز هم از حافظه اشتراکی (Shared Memory) استفاده نمی شود اما این انتقال به شکل کپی یا Pipe صورت نمی گیرد و در کمترین زمان ممکن اتفاق می افتد. یعنی سیستم عامل Singularity برای انتقال حجم زیاد داده بین پردازه ها تدابیر خوبی دیده و Performance در نظر گرفته شده. جدول زیر را مطالعه کنید.

    Capture3 
    در Singularity هر فایل اجرایی یک Manifest دارد. هیچ فایل اجرایی بدون Manifest اجرا نخواهد شد. به این برنامه ها Manifest-Based گفته می شود. Manifest برنامه، اطلاعاتی در مورد برنامه، مثلا اینکه به چه منابعی نیاز دارد در اختیار می گذارد.

    برای دیدن مقایسه Performance خواند و نوشتن روی دیسک بین Singularity و دیگر سیستم عامل ها، روی تصویر زیر Click کنید.

    Capture

    من توانستم 2.0 Singularity را روی VirtualPC بالا بیاورم، به سرویس شبکه آن IP بدهم و WebServer داخلی آنرا اجرا کنم و از روی سیستم Host خودم از Singularity سرویس HTTP دریافت کنم.

    اکنون مدتی از ارائه ی ویرایش دوم این سیستم عامل می گذرد و توسعه ی آن همچنان ادامه دارد.