سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

۴ مطلب در بهمن ۱۳۹۳ ثبت شده است

البته اصلی این عنوان رو روزنامه (فکر کنم) واشنگتن پست برای انفجار آریان 5 استفاده شده بود.

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

در شب 25 ماه فوریه سال 1991، یه سیستم پاتریوت تو عربسات سعودی نتونست یه موشک اسکات رو ردیابی بکنه و موشک بعد از اصابت باعث کشته شدن 28 نظامی آمریکایی و زخمی شدن 98 نفر شد.

با بررسی که انجام شد، مشخص شد که مشکل از سیستم رادار پاتریوت بود.

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

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

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

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

مشکل نرم افزاری

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

الگوریتم محاسبه مکان فرود موشک نیازمند سرعت موشک و زمان ها به صورت اعداد حقیقی هست. کامپیوتر سیستم پاتریوت به صورت رجیسترهای 24 بیتی بود. تو این سیستم زمان به صورت یک دهم ثانیه حساب میشه (deci=1/10). تو باینری 1/10 یه عدد اعشاری نامتناهی هست. برای حالت دابل عدد زیر میشه


0x3FB999999999999A = 00111111 10111001 10011001 10011001
10011001 10011001 10011001 10011010

این عدد بالا برای حالت دابل هست، برای 24 بیت تعداد این ارقام اعشار کمتر هم میشه. این میزان خطا با ادامه کار سیستم تو مدت زمان جمع شده و بیشتر میشه. این خطا تاثیر مستقیم تو نتیجه نهایی داره.

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

کشف مشکل

اولین بار نیروهای اسراءیلی مشکل رو پیدا کرن و گزارش دادن. بر اساس گزارش اونها سیستم پاتریوت بعد از 8 ساعت کار، تقریبا 20 درصد خطا تو محاسبه پیدا میکنه (که البته تدریجی اضافه میشه).

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

بروز مشکل

تو 25 فوریه 1991 سیستم پاتریوت موشک اسکاتی که عراق شلیک کرده بود رو ردیابی کرد اما محاسبه کرد که به خارج از نواحی حساس برخورد میکنه و به همین خاطر برای مقابله موشکی رو شلیک نکرد. اما موشک اسکات به داخل شهر ظهران برخورد کرد.

سایت اصلی تو زمان حادثه 100 ساعت بود که کار میکرد و میزان خطای زمانی محاسبه 0.34 ثانیه شده بود. این اختلاف زمانی باعث میشد تا محاسبه سرعت موشک با اشتباه 1.7 کیلومتر بر ثانیه انجام بشه. همین اشتباه محاسباتی باعث میشه نقطه برخورد هم اشتباه محاسبه بشه.


بعدا در مورد مشکلات مشابه و نتیجه که میخوام بگیرم بیشتر صحبت میکنیم

۰ موافقین ۱ مخالفین ۰ ۳۰ بهمن ۹۳ ، ۰۱:۰۳
حامد شیخلو

سلام

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

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

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

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

یه امکان خیلی خوب هم برای فرمول نویسی داره (علاوه بر امکان انتخاب همه علایم ریاضی)، میتونین با ماوس فرمول خودتون رو رسم کنین و نتیجه رو به صورت کد لاتک قرار بدین :).

۱ موافقین ۰ مخالفین ۰ ۲۵ بهمن ۹۳ ، ۱۱:۰۵
حامد شیخلو

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

این هم از پست ایشون:

My calculator battery is discharged after 25 years. Thanks to its producer: TOSHIBA. It was working from 1989 until 2014, i.e. one quarter of a century :)

۲۵ سال، یه فکر بکنین، خیلی هست ا.

http://profs.hsu.ac.ir/mamintoosi/en

۰ موافقین ۰ مخالفین ۰ ۲۵ بهمن ۹۳ ، ۰۱:۰۵
حامد شیخلو

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

یه مشکل که برای خودم همیشه بود، خوندن داده های روی لینوکسم بوده که تو /home ذخیره میکردم. مثلا وقتی با لتک داکیومنت مینوشتم، نیاز میشد تو ویندوز یه فایلی رو ازش بردارم که مثلا برای ایمیل استفاده بکنم. تو این شرایط دو تا راه وجود داره (برادران ردموندی لینوکس رو هنوز نمیشناسن)، یکی ریست کردن و رفتن به لینوکس و راه دوم استفاده از برنامه ای برای خواندن داده های درایو های لینوکس هست.

برنامه رایگان Linux Reader محصول شرکت diskInternals میتونه اکثر فرمت های لینوکسی برای درایو رو شناسایی بکنه و بتونین فایلهای خودتون رو کپی کنین. البته به صورت مستقیم نیمتونین روش کار کنین و باید ابتدا فایل رو سیو کنین.

اینم لینک دانلودش

http://www.diskinternals.com/download/Linux_Reader.exe

۰ موافقین ۰ مخالفین ۰ ۲۳ بهمن ۹۳ ، ۱۳:۵۲
حامد شیخلو