PDA

View Full Version : یک کار سیستم عامل



alireza_s
پنج شنبه 07 مهر 1384, 09:17 صبح
سلام
کسی یک Sample داره که یک کاره سیستم عامل مثل Copy یا ساختن folder یا ... رو انجام بده .
با تشکر .

armin390
جمعه 08 مهر 1384, 10:15 صبح
سلام
اگه منظورت مثلا اجرای یک فرمان سیستم عامله:
x system("mkdir test");//#include<stdlib.h> x

alireza_s
جمعه 08 مهر 1384, 12:02 عصر
آقا آرمین سلام
منظور من اجرا نیست منظورم اینه که یک برنامه کار مثلا ساختن DIR رو خودش انجام بده نه به کمک سیستم عامل .

Reza_K
شنبه 09 مهر 1384, 12:46 عصر
عملی چون ساختن یک دارکتوری، هر چند ساده به نظر میرسد ولی در واقع ملزم به دانستن ساختار File system هایی چون FAT و NTFS است. درضمن اعطای حق دسترسی توسط سیستم عامل به سخت افزار نیز ملاک میباشد.

در ضمن برنامه هایی که تحت سیستم عامل ویندوز(هر یک از subsystem های win32،posix و OS/2 ) اجرا می شوند، امکان دسترسی مستقیم به سخت افزار را ندارند.

بطور خلاصه، انجام عمل مورد نظر شما چندان آسان نمی باشد.

alireza_s
شنبه 09 مهر 1384, 19:30 عصر
آقا رضا شما درست میگین از سخت بودن این کار مطلع هستم من میخوام ببینم کسی نمونه اینجور برنامه ها رو داره .
اگر نمونه این کار رو دارین یا سایتی رو میشناسین که میتونم توش همچین چیزی رو پیدا کنم ممنون میشم که کمک کنید .

PalizeSoftware
شنبه 09 مهر 1384, 20:17 عصر
عملی چون ساختن یک دارکتوری، هر چند ساده به نظر میرسد ولی در واقع ملزم به دانستن ساختار File system هایی چون FAT و NTFS است. درضمن اعطای حق دسترسی توسط سیستم عامل به سخت افزار نیز ملاک میباشد.

در ضمن برنامه هایی که تحت سیستم عامل ویندوز(هر یک از subsystem های win32،posix و OS/2 ) اجرا می شوند، امکان دسترسی مستقیم به سخت افزار را ندارند.

بطور خلاصه، انجام عمل مورد نظر شما چندان آسان نمی باشد.

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

Developer Programmer
شنبه 16 مهر 1384, 18:15 عصر
سلام
امروز این متن رو دیدم


از طریق فراخوانی توابع اینتراپت 21 به اکثر وظایف سیستم عامل دسترسی دارید

در ویندوز وقفه مفهومی ندارد ؛ به جای آن باید از API استفاده کرد
اگه بخواهید به سخت افزار دسترسی پیدا کنید باید به Ring0 وارد شوید و برای این منظور به درایور نیاز دارید!

alireza_s
شنبه 16 مهر 1384, 22:54 عصر
آقای palizesoftware اگر این لطف رو بکنید ممنون میشم .

PalizeSoftware
یک شنبه 17 مهر 1384, 00:10 صبح
در ویندوز وقفه مفهومی ندارد ؛ به جای آن باید از API استفاده کرد
اگه بخواهید به سخت افزار دسترسی پیدا کنید باید به Ring0 وارد شوید و برای این منظور به درایور نیاز دارید!

از این بابت که حرفی نیست، اما اگه اشتباه نکنم دوستمون تحت داس (یا MS-DOS Prompt) می‌خواستند.
به نظر شما dir در محیط ویندوز معنا داره؟


آقای palizesoftware اگر این لطف رو بکنید ممنون میشم .
چشم می‌گردم اگر بود حتما می‌ذارم. اما یادآور شوم که از اینتراپت استفاده کرده نه بصورت روتین‌های lowlevel که بخواد به FAT دسترسی داشته باشه. هر چند که بازنویسی در FAT هم کار ساده‌ای هست (صحبت من در محیط داس است، نه ویندوز). می‌تونید به کتابهای PC-Intern مراجعه کنید.

aakh1361
دوشنبه 18 مهر 1384, 00:15 صبح
سلام

اگر شما می خواهید در محیط داس این کار رو بکنید می تونید از وقفه 21 داس استفاده کنید
و اگر می خواهید در ویندوز این کار رو بکنید می تونید از API های ویندوز استفاده کنید

که در دو حالت خود سیستم عامل کار ساخت دایرکتوری یا لیست گرفتن را انجام میدهد

اگر از دستورات ساخت دایرکتوری در ویندوز یا داس استفاده کنید این دستورات هم در نهایت API ها و وقفه ها را فراخوانی میکند

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


Example 1 (http://www.osdever.net/downloads/images/grubimage.zip)

Example 2 (http://www.osdever.net/downloads/images/02_image.zip)

hamhik
سه شنبه 26 مهر 1384, 18:54 عصر
آره من دارم.
ببین ولی این برنامه رو خودم نوشتم با استفاده از vb البته توش یک سری اشکالات هست ولی من کسی رو متاسفانه پیدا نکردم که از نظر علمی مشکلات این برنا ممو حل کنه ولی این برنامه برات می تونه پوشه و فایل و اینا درست کنه.به ایمیلت می فرستم

hamhik
سه شنبه 26 مهر 1384, 18:55 عصر
البته یادم رفت شبیه سازی داس است.اگه بنظرت جالب اوم حتما بهم خبر بده.

hamhik
سه شنبه 26 مهر 1384, 19:03 عصر
نمی دونم چرا میخوام واست ایمیل بفرستم خطا میده
ببین من نمی دونم ایمیاتون چیه اما ایمیل من اینه
hamhik@yahoo.com

hamhik
دوشنبه 02 آبان 1384, 21:13 عصر
سلام
من یه همچین برنامه ی رو که تو می خوای نوشتم
شبیه سازی داس.
اگه مایلی این برنامه رو برات بفرستم ایمیلتو بگو تا برات بفرستم.

va_amanzadeh
شنبه 08 مهر 1385, 10:30 صبح
MkDir(Edit1.Text);