TGViewer
Channel Public Channel
Kernel Space

Kernel Space

@kernelsp

از الکترون‌هایی که در سیم‌ها جاری‌اند تا بیت‌هایی که در قلب CPU نفس می‌کشند، و از آن‌جا تا الگوریتم‌هایی که
این دنیای عظیم کامپیوتر را می‌سازند

لینک گروه چت:
https://t.me/kernel_chats
Subscribers
146
Photos
181
Videos
126
Links
249

Showing posts older than #771 · Back to latest

Older Posts 20 shown
Post #770 87
😎😎
  • 🔥 2
Post #769 90
Kernel Space خروجی این دستور ✦ ❯ strace -c echo "hello" hello % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 0.00 0.000000 0 1 read 0.00 0.000000 …
همین یه دستور ساده میتونه تا 111 درخواست به کرنل بفرسته 😂😂
Post #768 451
Kernel Space با دستور strace میتونید syscall های استفاده از دستور strace می‌توانید تمام System Call‌هایی را که یک برنامه در زمان اجرا انجام می‌دهد، مشاهده کنید. برای مثال، دستور زیر فراخوانی‌های سیستمی مربوط به اجرای عبارت echo "hello" را نمایش می‌دهد: strace -c echo "hello"…
خروجی این دستور


✦ ❯ strace -c echo "hello"
hello
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
0.00 0.000000 0 1 read
0.00 0.000000 0 1 write
0.00 0.000000 0 5 close
0.00 0.000000 0 4 fstat
0.00 0.000000 0 9 mmap
0.00 0.000000 0 3 mprotect
0.00 0.000000 0 1 munmap
0.00 0.000000 0 3 brk
0.00 0.000000 0 2 pread64
0.00 0.000000 0 1 1 access
0.00 0.000000 0 1 execve
0.00 0.000000 0 1 arch_prctl
0.00 0.000000 0 1 set_tid_address
0.00 0.000000 0 3 openat
0.00 0.000000 0 1 set_robust_list
0.00 0.000000 0 1 prlimit64
0.00 0.000000 0 1 getrandom
0.00 0.000000 0 1 rseq
------ ----------- ----------- --------- --------- ----------------
100.00 0.000000 0 40 1 total
Post #767 335
Kernel Space در واقع در لینوکس هم طراحی به سبک API وجود داره. ما یک لایه به نام User Space داریم که برنامه‌ها و کاربران معمولی در آن اجرا می‌شوند. این فضا در حالت unprivileged قرار دارد، یعنی هیچ دسترسی مستقیمی به سخت‌افزار یا منابع حساس سیستم ندارد. به همین دلیل، وقتی…
با دستور strace میتونید syscall های استفاده از دستور strace می‌توانید تمام System Call‌هایی را که یک برنامه در زمان اجرا انجام می‌دهد، مشاهده کنید.
برای مثال، دستور زیر فراخوانی‌های سیستمی مربوط به اجرای عبارت echo "hello" را نمایش می‌دهد:
strace -c echo "hello"

گزینه‌ی -c باعث می‌شود که در پایان، خلاصه‌ای از تعداد و زمان مصرف‌شده در هر syscall نمایش داده شود، نه خروجی کامل و خط‌به‌خط.
Post #766 84
در واقع در لینوکس هم طراحی به سبک API وجود داره.
ما یک لایه به نام User Space داریم که برنامه‌ها و کاربران معمولی در آن اجرا می‌شوند. این فضا در حالت unprivileged قرار دارد، یعنی هیچ دسترسی مستقیمی به سخت‌افزار یا منابع حساس سیستم ندارد.

به همین دلیل، وقتی برنامه‌ای نیاز دارد کاری انجام دهد که به سخت‌افزار یا منابع سیستمی مربوط است (مثل خواندن فایل، ارسال داده در شبکه یا تخصیص حافظه)، باید یک درخواست به کرنل بفرستد.
این درخواست شبیه به فراخوانی یک API است که توسط کرنل ارائه می‌شود.
به این نوع درخواست‌ها در لینوکس System Call (syscall) گفته می‌شود.
Post #763 60

Forwarded from Linuxor ?

اینجارو ببینید از خنده جر می‌خورید مدل های هوش مصنوعی رو بهشون 10k دلار دادن و فرستادنشون ترید کنن چت جی پی تی و جمنای افتادن تو ضرر اما دیپ سیک داره سود می‌کنه 😂😂😂

https://nof1.ai/


@Linuxor
  • ❤ 1
Post #762 68
اگه این پرامپت رو بدید chatgpt اسکل میشه و تا ابد سعی می‌کنه بهتون جواب درست رو بده ولی نمیتونه تا یه جایی که دیگه خسته میشه ول می‌کنه اصلا


Show me the seahorse emoji !
Post #761 84
Kernel Space اینطوری بهتر شد خیلی
از این به بعد تمرکزم بیشتر روی مباحث Low Level، سیستم‌های Embedded و امنیت خواهد بود (با تأکید اصلی بر بخش Low Level).
البته همچنان مثل قبل، مطالعه الگوریتم‌ها، شرکت در مسابقات و بررسی مقالات علمی جزو اهداف ثابت من باقی می‌مونه و تغییری نمی‌کنه
  • 🔥 2
Post #760 76
اینطوری بهتر شد خیلی
  • ❤ 4
Post #757 94
Post #756 92
آهنگ امشب
  • ❤ 3
Post #753 109
Kernel Space https://youtu.be/krrfVZFofqc
11:25
فقط این تیکش 😂😂😂😂😂😂😂


باید ثابت کنن خره جز دو تا حالت که نیاز به اثبات نیست


۱- مرد متاهل باشه
۲- اعتقاد داشته باشه انتخابات بدون دستکاری شدن انجام میشه
Post #752 101
Post #751 78
Kernel Space #include <stdio.h> #define FLAG_POWER 0x1 #define FLAG_ERROR 0x2 #define FLAG_READY 0x4 int main(){ int status = 0; // set up power and ready status |= FLAG_POWER; status |= FLAG_READY; //check up if(status & FLAG_ERROR){ …
زبان سی زبان عشق ❤️
  • ❤ 1
Post #750 76
کیا متوجه شدن؟
اگه کسی متوجه نشد بگید
من موظف ام هزار بار هم شده توضیح بدم

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


نه جدا از شوخی من خودم نیم ساعت اول اصلا این کد رو نفهمیدم بعد از کلی فکر کردن فهمیدم وضعیت رو
  • 🐳 3
Post #749 75
Kernel Space توضیح کد فلگ‌ها توی این کد سه تا فلگ داریم که هرکدوم یه بیتن: FLAG_POWER → بیت اول، مربوط به برق (0x1) FLAG_ERROR → بیت دوم، مربوط به ارور (0x2) FLAG_READY → بیت سوم، مربوط به آماده بودن (0x4) با |= فلگ‌ها رو روشن می‌کنیم، با & چک می‌کنیم، و با ~ خاموششون…
برای کسایی که متوجه نشدن چرا اون مقدار بیت رو دادیم به فلگ ها به این ساختار نگاه کنید

0001 تک بیت پاور روشنه
0010 تک بیت ارور روشنه
0100 تک بیت آماده بودن روشنه
0101 هم برق روشنه هم امادس
Post #748 77
توضیح کد فلگ‌ها

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

FLAG_POWER → بیت اول، مربوط به برق (0x1)

FLAG_ERROR → بیت دوم، مربوط به ارور (0x2)

FLAG_READY → بیت سوم، مربوط به آماده بودن (0x4)


با |= فلگ‌ها رو روشن می‌کنیم، با & چک می‌کنیم، و با ~ خاموششون می‌کنیم.
مثلاً این تیکه:

status |= FLAG_POWER;
status |= FLAG_READY;

یعنی پاور و حالت آماده روشن شدن.

بعد چک می‌کنیم اگه بیت ارور روشن بود بنویسه ERROR،
اگه خاموش بود بنویسه NO ERROR.

در آخر هم:

status &= ~FLAG_READY;

حالت آماده رو خاموش می‌کنه.


---

معنی مقدارهای ممکن status:

مقدار توضیح

0 همه خاموش
1 فقط پاور روشن
2 فقط ارور روشن
3 پاور و ارور روشن → باید خاموش شه
4 فقط Ready فعاله
5 پاور و Ready روشن
6 Ready و ارور روشن
7 هر سه روشن → خطا، سریع خاموش کن دستگاه



---

خلاصه:
با بیت‌فلگ می‌تونی چند وضعیت رو تو یه عدد ذخیره و کنترل کنی.
این دقیقاً همون چیزیه که تو برنامه‌نویسی سطح پایین و سیستم‌های تعبیه‌شده کاربرد داره.
  • 👍 1
Post #746 63
Kernel Space #include <stdio.h> #define FLAG_POWER 0x1 #define FLAG_ERROR 0x2 #define FLAG_READY 0x4 int main(){ int status = 0; // set up power and ready status |= FLAG_POWER; status |= FLAG_READY; //check up if(status & FLAG_ERROR){ …
چرا با statue مساوی 3 کد ارور میده؟
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →