Minix - Ich habe was vor

Benutzeravatar
davidvajda.de
Site Admin
Beiträge: 1488
Registriert: Di Jul 18, 2023 8:36 pm
Wohnort: D-72072, Tübingen
Kontaktdaten:

Re: Minix - Ich habe was vor

Beitrag von davidvajda.de »

Code: Alles auswählen

#include <stdio.h>

#define RAM_SIZE 	1024*1024
#define	SEG_SIZE	1024
#define	SEG_N		RAM_SIZE/SEG_SIZE
#define FREE_LIST_FULL	-1

char RAM [RAM_SIZE];
char freelist [SEG_N];

void initfreelist () {
	int i;
	for (i = 0;  i < SEG_N;	 i++)
		freelist [i] = 0;
}

int alloc_mem () {
	int i;
	for (i = 0; i < SEG_N; 	i++) 
		if (freelist [i] == 0) {
			freelist [i] = 1;
			return (i*SEG_SIZE);
		}
	else
		return FREE_LIST_FULL;			
}

void free_mem (int seg) {
	freelist [seg%SEG_N] = 0;
	return;
}

int main (void) {
	initfreelist ();
	/* ... */
return 0;
}
Antworten