zadaci za i kolokvijum (4) - resenja

Upload: radivojemilenkovic

Post on 11-Jul-2015

124 views

Category:

Documents


1 download

TRANSCRIPT

Elektronski fakultet Ni Katedra za Raunarstvo OPERATIVNI SISTEMI Zadaci za I kolokvijum Grupa IV-1

09.04.2009.

1. Napisati shell script printw iji je prvi argument ime putanja do direktorijuma a drugi argument ekstenzija. Script treba da odtampa imena svih datoteka koje se nalaze u zadatom direktorijumu i imaju zadatu ekstenziju a korisnik ima pravo pisanja.if [ $# -ne "2" ] then echo "Nema dovoljno argumenata" elif [ ! -d "$1" ] then echo "Uneti argument nije direktorijum" else cd $1 for f in *.$2 do if [ -w $f ] then echo $f fi done fi

2 Korienjem programskog jezika C napisati Linux program koji korienjem procfs interfejsa odreuje i na standardnom izlazu tampa informacije o nazivu i veliini najvee particije koja postoji na sistemu.#include #include #include #define MAX_SIZE 150 int main() { char buf[MAX_SIZE]; char name[MAX_SIZE]; int i, size, maxsize; FILE * f; f = fopen("/proc/partitions", "r"); if (!f) { printf("Doslo je do greske prilikom otvaranja datoteke sa informacijama\n"); return -1; } i = 0; maxsize = 0; while (!feof(f))

{ if (i < 2) fgets(buf, MAX_SIZE, f); else { fscanf(f, "%s", buf); fscanf(f, "%s", buf); fscanf(f, "%s", buf); size = atoi(buf); fscanf(f, "%s", buf); if (size > maxsize) { maxsize = size; strcpy(name, buf); } } i++; } printf("Najveca particija %s ima velicinu %d\n", name, maxsize); fclose(f); return 0; }

Elektronski fakultet Ni Katedra za Raunarstvo OPERATIVNI SISTEMI Zadaci za I kolokvijum Grupa IV-2

09.04.2009.

1. Kreirati shell skript trazi.sh koji ima jedan argument komandne linije. Argument je string koji se trai u svim datotekama sa ekstanzijom .txt u tekuem folderu. Ukoliko skript pronadje traeni string u nekoj datoteci treba da odtampa na ekranu: Datoteka sadrzi string for fname in ./*.txt do cat $fname | grep $1 > /dev/null if (test $? -eq 0);then echo Datoteka $fname sadrzi $1 else

echo Datoteka $fname ne sadrzi $1 fi done

2. Korienjem programskog jezika C napisati Linux program koji korienjem procfs interfejsa odreuje i na standardnom izlazu tampa informaciju o nazivu procesa iji se PID prosleuje kao ulazni argument programa. Korienjem kreiranog programa prikazati informacije za proces iji je PID = 1.#include #include #include #define BUF_SIZE 255 int main(int argc, char * argv[]) { FILE * f; char buf[BUF_SIZE]; char path[BUF_SIZE];

if (argc != 2) { printf("Broj ulaznih argumenata nije odgovarajuci\n"); exit(1); } sprintf(path, "/proc/%s/status", argv[1]); f = fopen(path, "r"); if (f == NULL) { printf("Doslo je do greske prilikom otvaranja datoteke sa informacijama\n"); exit(1); } fgets(buf, BUF_SIZE, f); printf("%s", buf); fclose(f); return 0; }