brk_sbrk.pdf
380.9 KB
این یه داکیومنت بود که نوشتم برای لینکدین ( تازه شروع کردم پست گذاشتن )
و قطعا بدردتون میخوره فهمیدن این مطلب.
اونم استفاده sbrk/brk داخل لینوکس هست برای بازی کردن با heap
یه نمونه کد هم داخل داکیومنت نوشتم تا ببینید چجوری میشه یدونه malloc() ساده نوشت با sbrk ...
@tCafeLinux #systemsprogramming
و قطعا بدردتون میخوره فهمیدن این مطلب.
اونم استفاده sbrk/brk داخل لینوکس هست برای بازی کردن با heap
یه نمونه کد هم داخل داکیومنت نوشتم تا ببینید چجوری میشه یدونه malloc() ساده نوشت با sbrk ...
@tCafeLinux #systemsprogramming
❤4
Cafè Linux
brk_sbrk.pdf
تو این عکس ها هم میشه کاملا واضح دید که چجوری داره کار میکنه.
درواقع brk-pointer رو با brk/sbrk به حرکت در میاریم به همون مقداری که نیاز داریم.
و بعدش اون فضای ایجاد شده مال ماست.
فانکشن های Malloc هم دقیقا همینکار رو انجام میدن
نکته مهم ترش اینه که نمیتونید free() کنید دیگه :) دلیلش رو هم تو داکیومنت نوشتم.
راهل حلتون میتونه این باشه که همونقدر که allocate کردید رو دوباره با خود sbrk بیاید deallocate کنید...🧠
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3
Cafè Linux
تو این عکس ها هم میشه کاملا واضح دید که چجوری داره کار میکنه. درواقع brk-pointer رو با brk/sbrk به حرکت در میاریم به همون مقداری که نیاز داریم. و بعدش اون فضای ایجاد شده مال ماست. فانکشن های Malloc هم دقیقا همینکار رو انجام میدن نکته مهم ترش اینه که…
یه مطلبی که فکر کردم نیازه اضافه کنم اینه که malloc دقیییقا نمیاد همیشه از sbrk استفاده کنه. چون اینطوری خیلی فضاهای خالی ممکنه بمونه داخل حافظه بلااستفاده.
یه الگوریتم خاص برای خودش داره.
پای یه لینک لیست وسطه که ادرس فضای خالیه بعدی و قبلی رو نگه میداره.
و اگر فضای خالی کافی نباشه. اونوقت میره سمت استفاده sbrk برای افزایش سقف heap -.+ ( این داخل داکیومنت نیست )
❤🔥5
Cafè Linux
Buffered I_O - And its differences with Un-Buffered.pdf
اینم یه داکیومنت دیگه، پریروز نوشتمش🐶
اینجا درمورد Buffered IO حرف زدم.
درواقع متوجه میشید که دلیل استفاده از فانکشن های استاندارد لایبرری سی چیه ، مثلا چرا fopen ؟؟ یا چرا fwrite ؟؟
خب مثل آدم write() کال میکنیم دیگه!
اینجا گفتم که دلیلش چیه و درواقع چرا write هزینه برداره و میتونه کلی داستان به بار بیاره.
( فردا یه سری کد مینویسم و میفرستم به عنوان مثال )💣
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5
Forwarded from The Commit (The Mamd)
خب بعد از مدت طولانی کد زدم
حالا چی ساختم؟
یه وب اوردم بالا که کار آپلودر رو انجام میده با این تفاوت شما بهش فایل رو میدید و یوزرتلگرام و دیگه براتون ارسالش میکنه
حالا میتونم در ادامه اینو اضافه کنم که لینک بهش بدید و فایل ورودی از لینک باشه
توی گیت هاب گذاشتمش دوست داشتید نگاهی بهش بندازید میتونه جالب باشه
با زبان Go نوشته شده بک اندش
پ.ن: این پروژه اپدیت میشه و به زودی روی سرورم میزارمش اگر دانشگاه دو دقیقه بزاره*
github.com/MamdMehrabi/Uploader
حالا چی ساختم؟
یه وب اوردم بالا که کار آپلودر رو انجام میده با این تفاوت شما بهش فایل رو میدید و یوزرتلگرام و دیگه براتون ارسالش میکنه
حالا میتونم در ادامه اینو اضافه کنم که لینک بهش بدید و فایل ورودی از لینک باشه
توی گیت هاب گذاشتمش دوست داشتید نگاهی بهش بندازید میتونه جالب باشه
با زبان Go نوشته شده بک اندش
پ.ن: این پروژه اپدیت میشه و به زودی روی سرورم میزارمش اگر دانشگاه دو دقیقه بزاره*
github.com/MamdMehrabi/Uploader
GitHub
GitHub - MamdMehrabi/Uploader
Contribute to MamdMehrabi/Uploader development by creating an account on GitHub.
🔥2
Cafè Linux
https://news.1rj.ru/str/+C_sEvgd803MzODRk
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3