c dasturlash tilida xotira manzillarini boshqarish

PDF 17 sahifa 433,5 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 17
axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti amaliy ish №1 bajardi: 311/23-guruh talabasi narzullayev e. tekshirdi: mirzayeva nilufar toshkent – 2025 1-topshiriq. quyidagi mavzular bo’yicha amaliy va mustaqil ta’lim vazifalarini bajarish. 1. c dasturlash tili asoslari va sintaksisini o‘rganish. oddiy "hello world" dasturini yozish va uni kompilyatsiya qilish 2. c dasturlash tilida xotira manzillarini boshqarish. pointerlar, malloc() va free() funksiyalaridan foydalanish. 3. c tilida foydalanuvchi darajasidagi ko'p oqimli dasturlarni yaratish. pthreads kutubxonasidan foydalanib, bir nechta oqimlarni yaratish va boshqarish. 4. ko‘p oqimli dasturlarning to‘g‘ri ishlashini test qilish. oqimlar orasidagi sinxronizatsiyani va natijalarni to‘g‘ri chiqarish uchun testlarni amalga oshirish. 1. • #include → printf() funksiyasi shu kutubxonada joylashgan. • printf() → ekranga matn chiqarish funksiyasi. • \n → yangi qatordan yozishni bildiradi. • return 0; → dastur to‘g‘ri ishlaganini bildiradi. 2.c dasturlash tilida xotira manzillarini boshqarish. pointerlar, malloc() va free() funksiyalaridan foydalanish. xotira manzillari va …
2 / 17
e int main() { int n; printf("elementlar sonini kiriting: "); scanf("%d", &n); int *arr = (int*)malloc(n * sizeof(int)); if (arr == null) { printf("xotira ajratilmadi!\n"); return 1; } for (int i = 0; i #include int main() { int *arr = (int*)malloc(5 * sizeof(int)); for (int i = 0; i #include int main() { int *arr = (int*)malloc(5 * sizeof(int)); for (int i = 0; i #include int main() { int m = 3, n = 4; int **matrix = (int**)malloc(m * sizeof(int*)); for (int i = 0; i #include int main() { for (int i = 0; i #include #include #define device_size 1000 void write_device(char *device, const char *data, int position) { strcpy(device + position, data); } void read_device(char *device, int position, int length) { char buffer[100]; strncpy(buffer, device + position, length); buffer[length] = '\0'; printf("o'qilgan ma'lumot: %s\n", buffer); } int main() { char *device = (char*)malloc(device_size); memset(device, 0, …
3 / 17
alohida adres maydoniga ega bo‘ladi. pthread_create() esa yangi oqim (thread) yaratadi, oqimlar bitta jarayon ichida ishlaydi va umumiy xotira maydonidan foydalanadi. jarayonlar o‘zaro mustaqil, oqimlar esa bir jarayonda birgalikda ishlaydi. 2-topshiriq. xotira boshqaruvi (heap va stack) #include #include int global_var = 10; int main() { int local_var = 20; int *heap_var = (int*)malloc(sizeof(int)); *heap_var = 30; printf("global (data segment): %p\n", (void*)&global_var); printf("lokal (stack): %p\n", (void*)&local_var); printf("heap (malloc): %p\n", (void*)heap_var); free(heap_var); return 0; } mustaqil ta’lim: operatsion tizim har bir jarayonga o‘z adres maydonini beradi. bu maydon quyidagi segmentlardan iborat: code segment (dastur kodi), data segment (global va static o‘zgaruvchilar), bss segment (nol bilan to‘ldirilgan o‘zgaruvchilar), heap segment (malloc va free orqali boshqariladigan dinamik xotira), stack segment (lokal o‘zgaruvchilar va funksiyalar chaqiruvi uchun). 3-topshiriq. sinxronizatsiya (mutex bilan) #include #include #define loop_count 1000000 long counter = 0; pthread_mutex_t lock; void* increment_no_mutex(void* arg) { for (int i = 0; i #include #include #define …
4 / 17
"oqim 1 ishini tugatdi\n"); pthread_mutex_unlock(&lock2); pthread_mutex_unlock(&lock1); return null; } void* thread_func2(void* arg) { pthread_mutex_lock(&lock2); sleep(1); pthread_mutex_lock(&lock1); printf("oqim 2 ishini tugatdi\n"); pthread_mutex_unlock(&lock1); pthread_mutex_unlock(&lock2); return null; } int main() { pthread_t t1, t2; pthread_mutex_init(&lock1, null); pthread_mutex_init(&lock2, null); pthread_create(&t1, null, thread_func1, null); pthread_create(&t2, null, thread_func2, null); pthread_join(t1, null); pthread_join(t2, null); pthread_mutex_destroy(&lock1); pthread_mutex_destroy(&lock2); return 0; } mustaqil ta’lim: bu misolda deadlock holati yuz beradi: har bir oqim bittadan resursni qulflab, ikkinchi resursni kutadi. hech biri bo‘shamaydi — dastur “osilib” qoladi. os darajasida bunday vaziyatlar deadlock detection/prevention mexanizmlari bilan oldi olinadi. buni bartaraf etish uchun har doim resurslarni bir xil tartibda qulflash kerak. 5-topshiriq. stress-test #include #include #define thread_count 10 #define loop_count 100000 long long counter = 0; pthread_mutex_t lock; void* increment(void* arg) { for (int i = 0; i < loop_count; i++) { pthread_mutex_lock(&lock); counter++; pthread_mutex_unlock(&lock); } return null; } int main() { pthread_t threads[thread_count]; pthread_mutex_init(&lock, null); for (int i = 0; i < …
5 / 17
c dasturlash tilida xotira manzillarini boshqarish - Page 5

Ko'proq o'qimoqchimisiz?

Barcha 17 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"c dasturlash tilida xotira manzillarini boshqarish" haqida

axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti amaliy ish №1 bajardi: 311/23-guruh talabasi narzullayev e. tekshirdi: mirzayeva nilufar toshkent – 2025 1-topshiriq. quyidagi mavzular bo’yicha amaliy va mustaqil ta’lim vazifalarini bajarish. 1. c dasturlash tili asoslari va sintaksisini o‘rganish. oddiy "hello world" dasturini yozish va uni kompilyatsiya qilish 2. c dasturlash tilida xotira manzillarini boshqarish. pointerlar, malloc() va free() funksiyalaridan foydalanish. 3. c tilida foydalanuvchi darajasidagi ko'p oqimli dasturlarni yaratish. pthreads kutubxonasidan foydalanib, bir nechta oqimlarni yaratish va boshqarish. 4. ko‘p oqimli dasturlarning to‘g‘ri ishlashini test qilish. oqiml...

Bu fayl PDF formatida 17 sahifadan iborat (433,5 KB). "c dasturlash tilida xotira manzillarini boshqarish"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: c dasturlash tilida xotira manz… PDF 17 sahifa Bepul yuklash Telegram