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

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

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

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

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

سلام

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

برای راحتی هر چه بیشتر کارکرد با سایت sci-hub، افزونه برای کروم از طرف خود وبسایت ارائه شده که روند کار رو بسیار آسانتر میکند. با این افزونه، با ورود به صفحه مقاله در سایت ژورنالها مستقیم به پی دی اف مقاله دسترسی پیدا خواهید کرد متاسفانه به دلیل روسی بودن سایت، یافتن این افزونه ساده نیست. به همین منظور این افزونه در این لینک قابل برای دسترسی قراز گرفته است.

برای نصب این افزونه، بعد از دانلود از لینک، فایل رو با استفاده از ابزارهای winzip، winrar یا ویندوز از زیپ خارج کنین.

تو کروم برین منو settings

از صفحه settion و از سمت چپ، منوی Extensions رو انتخاب کنین

sh-1.png

از صفحه جدید، دکمه load unpacked extension رو انتخاب کنین و پوشه که از حالت فشرده خارج کردین رو انتخاب کنین

با انجام این موارد افزونه رو میتونین ببینین

happy researching

دانلود فایل افزونه

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

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

۱. ریز هسته (micro kernel)-مانند unix

۲. بزرگ هسته (monolithic kernel)- مانند linux

۳. هسته ترکیبی (hybrid kernel)- مانند windows

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

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

۰ موافقین ۰ مخالفین ۰ ۱۳ اسفند ۹۵ ، ۱۶:۳۷
حامد شیخلو

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

تو کشور چین هم ظاهرا با تحریم هایی روبرو هستن، برای همین بیشتر محتوای تحریمی رو میتونین از وبسایت های چینی گیر بیارین. برای اندروید هم مخازنی وجود داره. یکی از این مخازن اینجا هست.

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

android SDK manager رو باز کنین

از منو tools، گزینه manage addon sites را انتخاب کنید

از تب اول تمامی گزینه ها را غیر فعال کنید

در تب دوم http://mirrors.neusoft.edu.cn/android/repository/addon.xml را اضافه کنید

پنجره را بسته و دوباره باز کنید.

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

۰ موافقین ۰ مخالفین ۰ ۱۲ آذر ۹۵ ، ۱۶:۲۸
حامد شیخلو

با سلام

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

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

یه راه استفاده از سرویس های وی پی ان هست که بهترینشون openVPN هست. ساید vpnbook یه وبسایت آزاد و رایگان هست که سرویسهای رایگان وی پی ان تو کشورهای زیادی ارائه میده. برای رد کردن تحریم تو لینوکس میتونین از این سرویسها استفاده کنین.

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

برای مثال VPNBook.com-OpenVPN-Euro1.zip

http://bayanbox.ir/info/5264899397723590485/VPNBook.com-OpenVPN-DE1

http://bayanbox.ir/info/6132503210019860653/VPNBook.com-OpenVPN-Euro1

فایلها رو اکسترکت کنین

unzip VPNBook.com-OpenVPN-Euro1.zip

وارد پوشه بشین

cd VPNBook.com-OpenVPN-Euro1

دستور زیر رو بزنین

sudo openvpn --config vpnbook-euro1-tcp443.ovpn    

نام کاربری و پسوورد زیر رو استفاده کنین

user: vpnbook
pass: xETHec5x
۰ موافقین ۰ مخالفین ۰ ۰۸ آذر ۹۵ ، ۱۸:۰۴
حامد شیخلو

متاسفانه به دلیل تحریم های آمریکا، دسترسی به فایل های ایمیج docker هم مثل jdk، android sdk، محصولات jboss و چندین چیز دیگه برای ایران محدوده. و از اون بدتر اینکه مدعیات تکنولوژی که دارن بلاگ مینویسن، فقط به انتقاد میپردازن و کاری انجام ندادن. تو این شرایط برای راه افتادن کار افرادی که ازه میخوان کار رو شروع بکنن، تصمیم گرفتم که کم کم ایمیجهایی رو برای استفاده آپلود کنم.

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

$docker load -i <path to image file>

لیست ایمیج ها (اگر به ایمیج خاصی نیاز داشتین، کامنت بزارین)

ubuntu 16.04
۱ موافقین ۰ مخالفین ۰ ۲۸ ارديبهشت ۹۵ ، ۱۴:۵۷
حامد شیخلو

سلام

بعضی وقتا نیازه که از ساختار خام یه ذخیره ساز یه پشتیبان داشته باشیم. تو سیستم عامل لینوکس این کار رو با برنامه dd میشه انجام داد. با استفاده از این نوع ایمیج گرفتن، ساختار پارتیشن ذخیره ساز هم حفظ میشه. فرض کنین بخوایم از یه فلش ایمیج بگیریم. اول باید ببینیم که تو شاخه /dev، فلش ما به چه اسمی شناخته شده. فرض کنین شده /dev/sdc. با دستور زیر میشه ایمیج از یه فلش ذخیره کرد.

sudo dd if=/dev/sdc of=<image file name>

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

sudo dd if=<image file name> of=/dev/sdc

حالا یه مساله

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

ااصالتا یه ایمیج خام، ساختار کل فضا رو ذخیره میکنه. مثلا وقتی یه دیسک ۱۶ گیگ، ۱ گیگ داشته باشه، بازم فایل ایمیش میشه ۱۶ گیگ. و یه مساله دیگه، پارتیشن ها هم تو دیست جای جداگانه میگیرن.
پس وقتی بخواین یه ایمیج رو مانت کنین، باید بگین کدوم پارتیشن داخل ایمیج. برای دیدن پارتیشن های داخل یه ایمیج از دستور fdisk استفاده کنین:

fdisk <image file name>

بعد کلید p رو بزنین تا ساختار پارتیشن رو نشون بده:

Command (m for help): p

Disk image_8_11_94.img: 15.7 GB, 15720251392 bytes
255 heads, 63 sectors/track, 1911 cylinders, total 30703616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f2868

Device Boot Start End Blocks Id System
image_8_11_94.img1 * 2048 133119 65536 c W95 FAT32 (LBA)
image_8_11_94.img2 133120 21233663 10550272 83 Linux

Command (m for help):

میبینین که تو ایمیج مثال، دو تا پارتیشن وجود داره. من میخوام دومی رو مانت کنم. عدد مهم تو این اطلاعات، عدد زیر start هست. این عدد مشخص کننده بلاک شروع پارتیشن هست. هر بلاک هم بر اساس خروجی دستور ۵۱۲ بایت هست. خب پس باید تو فایل به اندازه start * block size جلو بریم تا به محل پارتیشن مورد نظر برسیم. پس برای مانت کردن دستور زیر رو مینویسیم (از fdisk با زدن کلید q خارج میشیم)

sudo mount image_8_11_94.img /media/test/ -o offset=68157440

اگر تو مانت کردن به نوع پارتیشن خطا داد، با سویچ -t نوع پارتیشن رو مشخص کنین

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

یه مشکلی که معمولا تو لینوکس های اوبونتو و تقریبا تمامی توزیع هایی که از مدیریت بسته apt-get استفاده میکنن به وجود میاد، عدم نصب برنامه ها و خطای ۴۰۴ هست. مشخصا این خطا به دلیل عدم امکان دانلود برنامه یا نیازمندیهای اون از سرورهاست. حالا بعضی وقتها به دلیل تحریم اون طرف آب که نمیزارن دانلود کنیم و بعضی وقتها به دلیل تحریم از داخل کشور :).

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

تو لینوکس اوبونتو روند زیر رو انجام بدین:

۱. ابتدا برنامه Software & Updates رو باز کنین

۲. گزینه other رو از download from  انتخاب کنین

۳. گزینه select best server رو انتخاب کنین و بزارین خودش مورد مناسب رو پیدا بکنه

۴. گزینه choose server رو انتخاب کنین.

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

اخیرا سایت دیجی کالا اومده و رابط کاربری خودش رو تغییر داده.

یک رابط کاربری که از لحاظ ترکیب رنگ و زیبایی خیلی خوب و مجلسی هست و شاید بشه گفت کاملترین تو ایران.

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

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

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

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

به لینک زیر هم یه نگاهی بندازین:

https://uxmag.com/articles/why-web-design-is-dead

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

تمرین شماره ۳: شناخت ساختار فایل لینوکس

هدف این تمرین آشنایی با ساختار فایلی سیستم عامل لینوکس و همچنین ساختار آدرس دهی این سیست عامل هست

شرح تمرین:

  1. تو این تمرین شاخه های اصلی لینوکس رو تا ۱ سطح به صورت درختی کشیده و توضیح بدین هر شاخه برای چه منظوری هست. مثلا شاخه /boot به چه دردی میخوره. تو اینترنت منابع خیلی زیادی برای این کار وجود داره
  2. تعداد فایل های هر شاخه رو بنویسین (روش بدست اوردن تعداد فایل ها رو بفرمایین)
  3. یک کاربر عادی (خود کاربری که باهاش کار میکنین) تو کدوم شاخه ها قابلیت نوشتن و تغییر محتویات رو داره؟
  4. نمره اضافی: سعی کنین لینوکس رو خراب کنین. جوری که بوت نشه. بهترین روش، بیشتری نمره رو میگیره.


تمرین شماره ۲: نوشتن یک برنامه شل ساده در لینوکس

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

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

یه مستند خیلی خوب برای این کار.

http://nicku.org/ossi/lab/processes/processes-lg.pdf

توضیح اضافی:

برنامه رو تو یه ویرایشگر متن لینوکسی ویرایش کنین (مثل gedit) و اون رو یه جایی ذخیره کنین (مثلا /home/user/oslab)

برنامه رو با دستور زیر کامپایل کنین:

(اول به مسیری که برنامه رو نوشتین برین، مثلا)

cd /home/user/oslab
gcc program.c -o shell

اگر خطایی روی صفحه ننوشت، با دستور زیر اجراش کنین:

./shell
۰ موافقین ۰ مخالفین ۰ ۱۷ مهر ۹۴ ، ۱۲:۵۵
حامد شیخلو

سلام

مطمئنا خیلی از شماها بعد از مدتی به فکر ارتقا لبتاپ یا دسکتاپ خودتون میافتین و جیب خودتون (یا پدر) رو خالی میکنین. برای دسکتاپ با تعویض قطعات اصلی میتونین یه حالی به فریم ریت بازی مورد علاقتون بدین :). اما یه مساله مهم اینه که چی رو باید عوض کنین. معمولا اولین چیزی که به ذهن خطور میکنه، تعویض قطعات fast path هست (مثل cpu و ram) برای بازی هم اولین قطعه کارت گرافیک هست.

اما اگر یه نگاهی به تسک منیجر سیستم خودتون بندازین متوجه میشین که در بیشتر مواقع disk usage روی 100 درصد هست. روی لبتاپ وضعیت بدتر هم هست. چون معمولا به سرعت هارد توجه نمیشه، برای همین هارد روی لبتاپ سرعت پایینتری از نوع دسکتاپ داره.

در نهایت، هارد سیستم رو تعویض کردم با هارد SSD و یه بررسی سرعت با هارد قبلی انجام دادم. البته در مورد هزینه هم عرض کنم که، با استفاده از یه قطعه جالب به اسم HDD Caddy میتونین هارد قبلی رو جایگزین CDRom کنین و هارد SSD رو به جای هارد اصلی بزارین. تو این حالت ویندوز رو درایو SSD نصب کنین و فایل های دیگه رو تو درایو قبلیتون. بریم سر بررسی تفاوت کارایی

خب، تفاوت خیلی زیاده :). تو هارد SSD زمان seek و Rotate ندارین و در نتیجه برای فایل های با اندازه کوچیک بهترین انتخاب هست. با تفاوت سرعت تقریبا 300 برابری. برای فایل های بزرگ مثل مالتیمدیا اگر هاردتون از نوع معمولی با 15 هزار دور باشه، تفاوت زیادی با نوع SSD نمیبینین. اما هارد با این سرعت گردش، خیلی پرمصرف و پرسروصدا میشه.


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