سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل فارسی کوثر

نویسندگان

۱۸ مطلب در تیر ۱۳۹۳ ثبت شده است

پیشرفت در MultiTasking

ع. رضوانی | سه شنبه, ۲۴ تیر ۱۳۹۳، ۰۲:۵۰ ب.ظ

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


  • ع. رضوانی

هسته جدید و پیشرفت در Multitasking

ع. رضوانی | شنبه, ۲۱ تیر ۱۳۹۳، ۱۰:۳۹ ب.ظ

سلام. بلاخره شروع به نوشتن هسته جدید کردیم. تصویر اول نمایانگر بازنویسی هسته جدید با نسخه 2.0.0(به دلیل اینکه نسخه ۱ ادامه نسخه قبل خواهد بود-نسخه قبل عملکرد یکپارچه داشت-اگر چه این نسخه مقدار کمی تفاوت دارد)  هست. تصویر دوم نمایانگر Multitasking هست. حتما به مقادیر EIP دقت کنید(ویرایش: مقادیر EIP نباید بصورت منفی باشد - مشکل در قسمت نمایش مقدار در تابع itoa بود که حل شده):


  • ع. رضوانی

Multitasking و شروع دوباره

ع. رضوانی | جمعه, ۲۰ تیر ۱۳۹۳، ۰۲:۵۰ ب.ظ

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

احتمالا دیگه بروزرسانی هسته فعلی رو نداشته باشیم. هسته فعلی بصورت یکپارچه طراحی شده بود.تصویر زیر برگرفته از ویکی هست که تفاوت چند نوع هسته رو نشون میده:



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

التماس دعا.


  • ع. رضوانی

آخرین تغییرات Dialog , مدیر حافظه

ع. رضوانی | پنجشنبه, ۱۹ تیر ۱۳۹۳، ۱۱:۱۷ ق.ظ

با سلام. مدیر حافظه تا حدودی آماده کار هست. البته الگوریتم های مدیر حافظه بصورت پایه نوشته شده است و باید به مرور زمان بازنویسی شود. در حال حاضر تابع malloc پیاده سازی شده است که البته پیش نیاز اون paging و VirtualMemory بوده که نوشتیم.

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



  • ع. رضوانی

اتمام بخش اولیه Dialog به همراه دیسک سیستم عامل

ع. رضوانی | سه شنبه, ۱۷ تیر ۱۳۹۳، ۱۲:۵۸ ق.ظ

با سلام.

بلاخره بخش اصلی مربوط به Dialog تموم شد و حالا به راحتی میتونیم شروع به نوشتن بخش مدیر حافظه کنیم.

تصاویر زیر گویای همه چیز هست. من فایل هارد سیستم عامل رو برای WMVare و دیگر مجازی ساز های برای دانلود گذاشتم.

دانلود دیسک مربوط به بخش Dialog

آموزش نصب و راه اندازی


>

  • ع. رضوانی

معرفی افراد جدید تیم و عملکرد دو ماهه

ع. رضوانی | چهارشنبه, ۱۱ تیر ۱۳۹۳، ۰۶:۵۵ ب.ظ

با سلام. 

خوشحالیم که در کمتر از 2 ماه توانستیم مبانی طرح و طراحی یک سیستم عامل رو از ابتدا پایه ریزی کنیم. توی این مدت افراد زیادی به ایمیل بنده حقیر پیام دادند و ما رو نقد کردند و برخی هم با پیشنهادات و راهنماییهایشون ما رو دل گرم به این کار می کردند. به هر حال تغریبا ۲ ماه گذشت.  تصاویر زیر روند پیشرفت ۲ماهه ما رو به نمایش گذاشته است!

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

آقای مازیار نظریان

آقای سید امیر محمد حسن لی

دوستان دیگر هم که معرف دوستان هست:

آقای بنی طبا

آقای سانیان

و...

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

بارگذاری کرنل

تصویر جدید از نسخه 0.1.0

تصویر جدید از نسخه 0.1.0


 و ....

  • ع. رضوانی

زیر ویرایش ۲۹ و ۳۰ سیستم عامل آراکس

ع. رضوانی | دوشنبه, ۹ تیر ۱۳۹۳، ۰۴:۰۸ ب.ظ

برگرفته از وبلاگ اطلاع رسانی:


در این زیر ویرایش ها موتکس (mutex)  و لیست پیوندی(link list) برای استفاده در فایل سیستم اضافه شد.

یه باگ در کانتینر صف گرفته شد و همینطور یه پارامتر به تابع strcpy اضافه شد تا عملیات کپی رشته  با امنیت بیشتری انجام شه.

 

به احتمال زیاد زیر ویرایش بعدی برای VFS خواهد بود. که از ساختار لینوکس با اعمال یکسری تغییرات جزئی استفاده خواهد شد. مثل لینوکس برای نگهداری ساختار از ساختمان داده های inode و dentry و superblock استفاده می کنم. با این تفاوت که مجوزها رو از شی inode به dentry انتفال دادم. این قضیه باعث میشه که هر لینک سخت بتونه مجوزهای جداگانه داشته باشه. به این شکل گروه های کاربری مختلف می تونن لینک های سخت خودشون با دسترسی های مختلف رو داشته باشن.

البته یه ساختار mask هم در inode نگهداری میشه تا سیستم امنیت رو بتونه حفظ کنه و مجوزهای فایل به راحتی تغییر نکنه. یعنی اگر مالک تمامی مجوزهای ماسک رو بده شما امکان تغییر بقیه مجوزها رو در لینک خودتون دارید اما در غیر این صورت امکان صدور مجوزها در لینک های خودتون نیست. به عنوان مثال فرض کنید مالک مجوز ماسک ۷۷۷ رو داده و شما یه لینک سخت با مجوز ۱۱۱ برای یه گروه خواص در دایرکتوری خودش ایجاد میکنید. حالا این گروه در دایرکتوری خودش فقط امکان خوندن اون فایل رو داره.

یه آیتم دیگه که در نظر دارم اما فعلا اضافه نمیکنم union directory سیستم عامل plan9 است. که باعث میشه هر فایل چند اسم داشته باشه که اگر مثلا در سیستم بصورت لوکال وجود نداشته باشه اتوماتیک از مسیرهای داده شده بهش از روی شبکه و … فچ شه. (این قضیه بیشتر به سیستم های توزیع شده مربوط هست که فعلا در برنامه توسعه قرار نداره. اما در آینده حتما روش سوئیچ میشه.)

  • ع. رضوانی

مدل توسعه سیستم عامل کوثر و ادامه توسعه Dialog

ع. رضوانی | دوشنبه, ۹ تیر ۱۳۹۳، ۱۱:۲۱ ق.ظ

سلام. دوستان ایمیل داده بودند که چرا به جای وقت گذاشتن روی مباحث ریشه ای سیستم عامل ما روی مباحث حاشیه ای هم وقت می گذاریم ؟!!‌؟ واقعا چرا؟!

مدل توسعه سیستم عامل کوثر

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

مشکل پیاده سازی تمام دانش های سیستم عامل نیاز به صرف وقت بالا و بالا بردن سطح دانش و مسلط بودن بر تمامی بخش های مرتبط با اون می باشد. روشی که ما پیش رو گرفتیم سیستم پیشرفت بر اساس "وجود استثنا" می باشد. یعنی ما توسعه این سیستم عامل رو از پایه ترین مباحث شروع می کنیم. زمانی که یک کمبود احساس کنیم به توسعه اون می پردازیم. اون کمبود یک استثنا می باشد. البته مشکلات این طرح زمانبر بودن آن هست. ولی مزیتی که دارد این هست که ما مشکل را لمس می کنیم و برای آن مشکل یک راه حل ارائه می دهیم.(البته با تحقیق و ..). پس اگر به روند کار تا به اینجای کار دقت کنید حتما به این موضوع پی خواهید برد. مثلا یکی از مشکلات فارسی ساز بود و اون تا حدی حل شد. مشکل بعدی فایل سیستم و اون هم تا حد رفع مشکل حل شد. مشکل بعدی نمایش پیغام خطا و دیالوگ بود که این هم تا حدودی حل شده) و حالا یک استثنا رخ داده است و اون این هست که ما باید به سمت graphic mode برویم. یعنی ما به مشکل صفحه نمایش کارکتری خوردیم و باید راه حلی برای اون پیدا کنیم. و یا مشکل اجرا نرم افزار و یا چند برنامه گی و یا مدیریت حافظه و ...

نکته بعدی این هست که ما به سمت کاربردی بودن این سیستم پیش میرویم. اگر به روند توسعه دقت کرده باشید اکثر کارها در مسیر کاربردی کردن این سیستم عامل پیشروی کرده است.

 

موضوع بعدی در مورد ادامه روند توسعه Dialog می باشد. کلیپ زیر گویای رند توسعه هست و توصیه می کنم حتما دوستان تماشا کنند و نظرات خودشونو برای ما ارسال کنند:



  • ع. رضوانی

فارسی سازی آراکس - آماده سازی

ع. رضوانی | يكشنبه, ۸ تیر ۱۳۹۳، ۱۲:۳۵ ق.ظ

سلام.

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

مشکلی وجود داره اینه که ما هنوز encoding به سیستم عامل آراکس اضافه نکردیم و انشاا.. بعد از صحبت با مسئول پروژه این سیستم عامل تغییرات اعمال میشه.


>
  • ع. رضوانی

دیالوگ باکس !!

ع. رضوانی | شنبه, ۷ تیر ۱۳۹۳، ۰۶:۳۷ ب.ظ

سلام.

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

 

  • ع. رضوانی