Os 11

 #include <stdio.h>

#include <sys/stat.h>


int main(int argc, char *argv[]) {

    struct stat fileStat;


    if (argc != 2 || stat(argv[1], &fileStat) == -1) {

        perror("Error");

        return 1;

    }


    printf("File: %s\n", argv[1]);

    printf("Size: %ld bytes\n", fileStat.st_size);

    printf("Permissions: %o\n", fileStat.st_mode & 0777);

    printf("Links: %ld\n", fileStat.st_nlink);


    return 0;

}


#include <stdio.h>


int main() {

    int page_table[20], page_number, offset;

    int logical_addr, physical_addr;

    int page_size, n, i;


    printf("Enter number of pages: ");

    scanf("%d", &n);


    printf("Enter page size: ");

    scanf("%d", &page_size);


    printf("Enter frame number for each page:\n");

    for(i = 0; i < n; i++) {

        printf("Page %d: ", i);

        scanf("%d", &page_table[i]);

    }


    printf("Enter logical address: ");

    scanf("%d", &logical_addr);


    page_number = logical_addr / page_size;

    offset = logical_addr % page_size;


    physical_addr = page_table[page_number] * page_size + offset;


    printf("Physical address: %d\n", physical_addr);


    return 0;

}


Comments

Popular Posts