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

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

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

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

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

۸ مطلب در فروردين ۱۳۹۳ ثبت شده است

مژده که گل  باغ   رسول   آمده است

زهرای بتول،دخت رسول   آمده است

در هر دو جهان شادی و غوغا برپاست

نوری   ز  خدا  بهر  رسول   آمده است


ولادت حضرت زهرا و روز مادر مبارک


برگرفته شده از khademolhosein.blog.ir

۰ موافقین ۰ مخالفین ۰ ۳۱ فروردين ۹۳ ، ۲۲:۱۶
حامد شیخلو

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

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

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

حتما بخوانید، واقعا معرکه هستش

مطلب

۰ موافقین ۰ مخالفین ۰ ۲۴ فروردين ۹۳ ، ۱۳:۵۶
حامد شیخلو

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

درس خوندن باید طوری باشه که تونست تست زد.

این جملات رو در برنامه‌های مشابه "کنکور آسان است" میتونین بارها بشنوین

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

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

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

این جماعت بعد از فارغ التحصیل شدن چی میشن؟

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

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

اونایی که تو دانشگاههای دیگه هستن، که کارشون خیلی سخته، چونکه تو تهران نخوندن و نیستن!!!!! کاش کشور ما تهران نداشت.

البته استثنا هم وجود داره، اما اسمش روشه، استثنا.

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

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

برگردیم به بحث خودمون.

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

برای دکتری خیلی ساده میشه از دانشگاههای خارجی پذیرش گرفت، میدونین چرا؟ یه پروفسور خارجی برای یه پروژه ملی میزانی پول میگیره و از دانشجوهای دیگه استفاده میکنه تا کار تموم بشه. در نهایت یه پروژه برای یه کشور دیگه، یه سرمایه برای دانشگاه خارجی و یه مدرک برای دانشجو. اما برای مملکت ما، یه نفر دکتر که تخصصی تو 10 درصد یه پروژه hi tech داره و چونکه مدریتی نداشته فقط همونجای پروژه رو بلده. یعنی هیچ چی.

۱ موافقین ۰ مخالفین ۰ ۲۱ فروردين ۹۳ ، ۱۸:۴۴
حامد شیخلو
این عنوان یک سخنرانی در سال 1996 در کنفرانس تکنیکال سالانه usenix هستش که توسط آقای John Osterhout از شرکت SUN ارائه شد.
شاید بشه این کنفرانس رو در همین یک عکس خلاصه کرد:
همگام سازی بین نخ های پردازشی بسیار سخت هستش، و بیشتر زمانها خودش یک مشکل اساسی میشه. اما توسعه دهندگان در مدت چاپ این مقاله تا زمان حاضر، بسیاری از این مشکلات رو حل کردن و کار کردن با نخ ها (ساختن و محول کردن کار) بسیار راحت تر شده. اما اگر دیدمون رو شبیه به نویسنده این مقاله بکنیم، میبینیم که وضعیت زیاد هم خوب نشده.
در کارهای سنگین، شما یاسد حساب کلاک ساعت ها رو بکنین، مثلا اینکه یک برنامه محاسباتی سنگین رو با یک زبان سطح پایین با حداکثر بهینه سازی بنویسین تا کمترین کلاک ساعت از بین بره. یا مثلا، تعداد فراخوانی سیستم رو پایین بیارین تا سربار context switch حداقل بشه. ترند تکنولوژی هم به این سمت بوده، اما با انجام بررسی ها مشخص میشه که هنوز یک برنامه نویس خوب، خیلی خیلی بهتر از یه نرم افزار میتونه بهینه سازی انجام بده (البته منظورم کارایی مثل باز کردن حلقه و این جور چیزا که کامپایلرها انجام میدن نستش).
یک برنامه نوبس سیستمی، هیچ وقت کاری که نمیدونه چطوری انجام میشه رو قبول نمیکنه
۱ موافقین ۰ مخالفین ۰ ۱۵ فروردين ۹۳ ، ۲۰:۳۵
حامد شیخلو
در این مقالات قصد دارم درباره SCADA و امنیت اون مطلب بنویسم.
کلمه SCADA مخفف Supervisory Control and Data Acqusition میباشد. شبکه اسکادا وظیفه کنترل و مونیتور کردن کاربردهای حیاتی و پروسه های کنترلی را در کارخانه ها، خطوط تولید و همچنین ژنراتورهای انرژی مانند الکترونیک، گاز طبیعی، نفت، آب و همچنین کنترل خطوط راه آهن و کارهای مشابه را بر عهده دارد.
توسعه اسکادای اولیه مربوط میشود به دهه 19، زمانی که ابزارهای اندازه گیری و کنترل معرفی شدند. با استفاده از این ابزارهای امکان انتقال و مونیتوز کردن داده های بدست آمده از حسگرهای زمان حقیقی بوجود آمد. اسکادا برای کنترل این ابزارهای الکترونیکی موجود، مورد استفاده قرار گرفت.
اجزای اصلی یک شبکه اسکادا شامل موارد زیر است:
  • RTU-Remote terminal unit: یک ابزار مورد استفاده برای تبدیل داده های آنولوگ و اندازه گیریهای دوره ای به اطلاعات دیجیتال، برای مثال دستورات مربوط به با کردن یک سویچ.
  • IED-Intelligent electronic device: یک کنترلر بر پایه ریزپردازنده که توانایی صادر کردن دستورات کنترلی را دارد. برای مثال قابلیت تغییر ولتاژ برای کی دستگاه در صورتی که یک تغییر غیر ناخواسته در ولتای دستگاه احساس شود.
  • PLC-Programmable logic controller: مشابه قسمت RTU در کاری که انجام میدهد. این قسمت میتواند از طریق یک سیستم عمال بلادرنگ مدیریت شود.
  • HMI-Human machine interface: نمایش گرافیکی محیط کنترلی به مدیر را انجام میدهد.

اسکادا از چه پروتکل هایی استفاده میکند؟

اسکادا از پروتکل های زیادی استفاده میکند که عمومی ترین آنها شامل موارد زیر است:
  • OPC-object linking and Embedding for process control
  • ICCP-Inter-Control Center Protocol
  • Modbus
  • DNP3-Distributed Network Protocol version 3

OPC

پروتکل OLE برای Process Control که به آن OPC گفته میشود، یک استاندارد رابط نرم افزاری که برنامه های ویندوزی را قادر به ارتباط با ابزارهای سخت افزاری تجاری میکند. پروتکل OPC به صورت client/server پیاده سازی میشود. قسمت سرور OPC، یک نرمافزار است که کار تبدیل پروتکل ارتباطی سخت افزاری را به پروتکل OPC را انجام میدهد. قسمت کلاینت، شامل هر برنامه ای است که قصد اتصال به سخت افزار را دارد، مانند HMI. قسمت کلاینت از داده های سرور برای دریافت یا ارسال اطلاعات به سرور استفاده میکند.

ICCP

یک پروتکل لایه کاربرد است.این پروتکل اجازه انتقال اطلاعات به صورت بلادرنگ در یک شبکه گسترده(WAN) بین مراکز کنترل را میدهد. این پروتکل، اجازه انتقال اطلاعات query، اطلاعات monitoring، انتقال داده و زمانبندی بین کلاینت و طرور را میدهد.

Modbus

یک مجموعه خصوصیات پروتکل طراحی شده برای ساخت ابزارهای اتوماسیون استفاده شده با چندین ابزار دیگر و مرتبط با یکدیگر بر اساس رابط سریال RS485 و TCP/IP است. این پروتکل امروزه گسترده ترین استفاده را دارد و چندین پیاده سازی از آن وجود دارد.
  • Modbus RTU: در ارتباطات سریالی استفاده میشود. از یک CRC برای حفظ یکپارچکی پیغام استفاده میکند. عمومی ترین پروتکل پیاده سازی شده modbus است.
  • Modbus ASCII: در ارتباطات سریالی استفاده میشود و از کاراکترهای ASCII برای به منظور ارتباط پروتکلی استفاده میکند. دستورات این پروتکل با کولن (:) و یک (CR/LF) بعد از آن جدا میشود.
  • Modbus TCP/IP or Modbus TCP: از پروتکل TCP/IP برای ارتباط استفاده میکند و نیاز به checksum ندارد و این عمل توسط لایه پایین انجام میشود.
  • Modbus over TCP/IP or Modbus over TCP: مشابه Modbus TCP است، اما باید Checksum درون داده نیز قرار داده شود.
  • Modbus Plus: یک نسخه توسعه داده شده که نسخه هاس قبلی را نیز پشتیبانی میکند. این پروتکل نیازمند یک پردازنده کمکی برای پردازش سریع HDLC است. از یک زوج سیم با سرعت 1Mbps استفاده میکند.
توابع اصلی modbus را میتوان در جدول زیر مشاهده کرد:
01 Read coil status
02 Read input status
03 Read holding registers
04 Read input registers
05 Force single coil
06 Preset single register
07 Read exception status
15 Force multiple coils
16 Preset multiple registers
17 Report slave ID

DNP3

این پروتکل یک سیستم کنترلی Master/Slave است و برای نیازمندیهای صنایع الکترونیک و آب طراحی شده است. این پروتکل برای سهولت ارتباط بین چندین نوع داده دریافتی و ابزار کنترلی استفاده میشود.
در مطلب بعدی به بررسی حمله SCADA fuzzing میپردازیم.


۱ موافقین ۰ مخالفین ۰ ۱۴ فروردين ۹۳ ، ۱۷:۲۶
حامد شیخلو
برای نصب ویندوز یا هر سیستم عامل دیگه بر روی سیستمی که سی دی رام نداشته باشه، اولین راه که به ذهن آدم میرسه، استفاده از فلش هستش. اما اگر مشکل شما هم مثل مال من باشه که هم سی دی رام یکی از لبتاپ هام از کار افتاده و هم از فلش بوت نمیکنه(البته فلش هم ندارم:)) باید دنبال یه راه حل دیه باشین. حتما تو بوت سیستم دیدین که اگر سیستم عامل نباشه که بوت بشه، سعی میکنه که به DHCP سرور کانکت بشه. این برای استفاده از پروتکل PXE هستش. محیط Preboot Execution Environment  یک محیط برای بوت کردن سیستم از طریق شبکه و جدا از فضای ذخیره سازی هستش. مثلا برای سیستم های TC که نمیخوان براش هارد بزارن.
محیط ما مشابه عکس زیر خواهد بود:
۱۷ موافقین ۰ مخالفین ۰ ۱۱ فروردين ۹۳ ، ۱۶:۴۶
حامد شیخلو


این عنوان یک مقاله هستش که یکی از فولکولور علم کامپیوتر محسوب میشود. این مطلب در سال ۱۹۸۲ چاپ شد و نوشته از پست هستش.

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

یه جا در مورد سیستم عامل محبوب یک برنامه نویس واقعی صحبت میکنه، به نظر نویسنده بهترین سیستم عامل برای برنامه نویس os/379 هستش. حتی unix هم به نظرش خیلی خوب نیست و برنامه نویس از تمام جنبه سیستم باخبر نمیشه.

ساختار داده غیر از ارایه، یک تغییر مدیریتی بر روی ارایه هستش. مثلا رشته، یک ارایه از کاراکتر هستش. به نظر نویسنده نیازی به این ساختارهای جدید نیست.

اما جالب ترین جای مقاله به نظر من، مقایسه دانشگاه با کار واقعی هستش. نویسنده میگه بعد از دانشگاه فکر میکردم بهترین برنامه نویس دنیا هستم و یه برنامه خیلی پیچیده رو به ۵ زبان میتونستم بنویسم. ۱۰۰۰ خط کد رو بدون خطا مینوشتم. اولین کار واقعی که بهم دادن، فهم یه برنامه ۲۰۰،۰۰۰ خطی فرترن بود و بهینه سازی اون برای سرعت دو برابر.

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

خوانده شود: نفخ نرم افزار

((شرمنده، چونکه با موبایل نوشته بودم یکم غلط املایی داشت))

۰ موافقین ۰ مخالفین ۰ ۰۸ فروردين ۹۳ ، ۰۰:۴۳
حامد شیخلو