Byteforge / بایــت فورج 🛸 – Telegram
Byteforge / بایــت فورج 🛸
1.71K subscribers
375 photos
119 videos
81 files
354 links
DevOps & DevSecOps
Clouds

🐧🔥 Unique content

Admin: @heman_sadeghii
Download Telegram
زیر پوستی با لینوکس 🐧 (linux) سیستم کال(systemcall) اصلا چی هست؟

سیستم‌کال در لینوکس چیست؟
گذرگاهی میان کاربر و کرنل

درلینوکس هر وقتی که یه برنامه معمولی بخواد کاری خارج از فضای خودش انجام بده مثل خوندن یا نوشتن فایل، برقراری ارتباط شبکه‌ای، یا بخواد منابع رو به یه پروسه اختصاص بده نمیتونه مستقیماً با سخت‌افزار یا منابع سیستم تعامل کنه این تعامل باید از طریق «سیستم‌کال» (System Call) صورت بگیره .


به زبون ساده، سیستم‌کال واسطی رسمی بین فضای کاربر (user space) و هستهٔ سیستم‌عامل (kernel space) .
از طریق این واسط، برنامه‌ها درخواست‌هایی برای استفاده از منابع سیستم به کرنل میفرستن .

چرا سیستم‌کال وجود دارد؟

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


چند نمونه از سیستم‌کال‌های متداول
read()  خوندن داده از فایل یا ورودی
write() نوشتن داده روی فایل یا خروجی
open() / close() باز کردن یا بستن فایل‌ها
fork() ایجاد یک پروسه جدید
execve() اجرای یک برنامه جدید
wait() منتظر میمونه برای پایان پروسه فرزند
socket() ایجاد ارتباط شبکه‌ای
kill() ارسال سیگنال به پروسه ها
clone() ساخت ترد یا پروسه با ویژگی‌های دلخواه (اساس کانتینرها)


سیستم‌کال ساز و کارش چجوریه اصلا ؟

وقتی برنامه‌ای مثلاً تابع ()open رو صدا میزنه این تابع در حقیقت یک پوشش ساده (wrapper) بر یک دستور خاص در CPU که کرنل رو فرا میخونه . در پردازنده‌های x86_64، این کار معمولاً با دستور syscall انجام میشه .
در این لحظه، کنترل از فضای کاربر به کرنل منتقل میشه . شمارهٔ سیستم‌کال به‌همراه پارامترهای لازم در رجیسترهای CPU قرار میگره . حالا کرنل بررسی میکنه که درخواست مجازه یا نه ، پروسه رو انجام میده و نتیجه رو برمیگردونه .

میشه یه سیستم کال رو دید و خروجیش رو بررسی کرد؟
با استفاده از strace، میتونیم عملکرد داخلی هر برنامه رو وقتی با کرنل برای اجرای یه فرانید ارتباط میگیره ببینیم :

strace ls


تفاوت سیستم‌کال با توابع کتابخانه‌ای ؟
خیلی از تابع های کتابخونه ایی که استفاده میکنیم ، مثل () printf یا () fopen، در اصل اینا سیستم کال نیستند اینا صرفا یه سری تایع های کتابخونه ای هستند که تعدادی سیستم کال رو داخل خودشون قرار دادن برای اینکه کاربرد بهتری داشته باشند .

به عنوان مثال، () printf در نهایت از () write برای نوشتن روی خروجی استفاده میکنه .

امنیت سیستم‌کال‌ها
سیستم‌کال‌ها به‌صورت مستقیم تحت کنترل کرنلن . ابزارهایی مانند Seccomp در کانتینرها استفاده میشن تا لیستی از سیستم‌کال‌های مجاز تعیین کنند . همچنین سیستم‌های امنیتی مانند SELinux یا AppArmor برای محدود کردن رفتار سیستم‌کال‌ها استفاده میشن .

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




#os
#linux
#systemcall
#byteforge
@byteforge_chan 🛸
🔥3🏆3👍1
Neon
محصول جدید اُپرا

یه مرورگر هوشمنده که با کمک هوش مصنوعی میتونه هر کاری انجام بده.
این «نئون» می‌تونه اطلاعات جمع کنه، خرید انجام بده، هتل رزرو کنه، کد بنویسه و کلی کار دیگه انجام بده.


https://www.operaneon.com/


فعلا نسخه beta هستش اگر میخواید استفاده بکنید باید ثبت نام بکنید .

#tools
#neon
#byteforge
@byteforge_chan 🛸
👍31🥰1
رفقایی که کانال های هم راستا با موضوعات چنل من دارن برای تبادل میتونن پیام بدن 🙋‍♂🤝

@Heman_sadeghii
🤷‍♂2👍1🤝1
و همانا Gradle بزرگترین باگ خلقت 🤦‍♂😐


#gradle


#byteforge
@byteforge_chan 🛸
😁4👍1👎1
cmake
هم جدیدا اضافه شده
تا یادم نرفته
🤨4👍1
دوستانی که علاقه مند به حوزه امنیت هستن این چنل رو از دست ندین
Vlad_Khononov_Learning_Domain_Driven_Design_Aligning_Software_Architecture.pdf
19.4 MB
📘Learning Domain-Driven Design

✏️ Vlad Khononov

📝 340 page

توضیحات:
اگه توی یه پروژه بزرگ غرق شدی و حس کردی کدت داره داد میزنه "من مفهوم ندارم!" 😵‍💫 این کتاب همون چیزیه که باید بخونی!




#book
#DDD
#byteforge
@byteforge_chan 🛸
👍21
مدیرعامل مخابرات : امیدواریم قیمت اینترنت افزایش یابد

#byteforge
@byteforge_chan 🛸
👎4
Freedns


همراه اول

185.212.50.212
94.207.51.214

ایرانسل و وای فای
185.212.50.212
94.207.61.166


Ipv6


2a02:2ae8:8541:a095:158f:1644:2730:43a3
2a02:2ae8:8ab1:da3e:fbad:ae96:3109:273d




#byteforge
@byteforge_chan 🛸
🔥41
🦀 اوبونتو و Rust: آینده‌ای امن‌تر برای دستورات سیستمی

اوبونتو در نسخه 24.04 یک قدم بزرگ به‌سمت امنیت و پایداری برداشته جایگزینی ابزارهای حیاتی sudo و su با نسخه‌های بازنویسی‌شده در زبان Rust، یعنی sudo-rs و su-rs.
‏Rust جلوی باگ‌های خطرناک حافظه رو میگیره memoryleak.

‏Rust داره جای خودش رو توی کرنل لینوکس، systemd و حالا ابزارهای سیستمی باز میکنه .


#linux
#rust
#byteforge
@byteforge_chan 🛸
🔥2👏2
من اکثرا کوکی‌های سایت‌های مختلف رو قبول میکنم درحالیکه نزدیکان بهم میگفتن از غریبه‌ها خوراکی‌نگیرم.


#fun
#byteforge
@byteforge_chan 🛸
🤣9😱1
Forwarded from LpicFarsi
Shell_Programming_in_Unix,_Linux_and_OS_X_The_Fourth_Edition_of.pdf
3.7 MB
کتاب
Shell_Programming_in_Unix,_Linux_and_OS_X_The_Fourth_Edition_of

@lpicfarsii
👌3
Byteforge / بایــت فورج 🛸
https://github.com/hemansadeghi
رفقا گیتهاب رو گذاشتم حال کردین کانکشن بدین 🤝❤️
5
Byteforge / بایــت فورج 🛸
https://www.youtube.com/watch?v=2f9RAkpQGj4&list=PLJ9zDGwhhsByAI0AbbJ4oUTziNsaffKnq
حتمااا یه سر به چنل همن عزیز بزنید محتوای اموزشیش عالیه 🤝❤️
👍3❤‍🔥2