I Failed in Every "Can't"

I don’t know where to begin.
Maybe because everything I start… I never seem to finish. Or maybe because whatever I finish doesn’t feel enough.

I’ve failed. As a friend.
The one who trusted me, laughed with me, cried with me — slowly faded away. Try to walked out quietly. Try to slammed the door on their way out. But in the end, I was the common denominator.
Too distracted, too cold, too busy hiding my own mess to notice theirs.
I wanted to be there, truly. But "wanting" was never enough, was it?

You don’t need to call me now. You don’t need to update me. I used to be your go-to for everything, and now I’m just... someone on the outside. Watching you move on. 

I tried asking, tried sharing, tried opening up about the fear — the fear of losing you to new friends, to moments I’m not part of. But even that pushed you away. I irritated you. Said I made things worse. But how could I not speak when every moment of silence felt like a goodbye?

I’ve failed as someone’s love.
I promised them sunsets, but kept giving them stormy nights.
Maybe I was too broken to be loved right. Or maybe I just didn’t know how to hold something so beautiful without ruining it.
They deserved more.
And I was less.

There’s a my love in my life too — someone who stays but misunderstands me. And then there’s my closest friend— someone I understand deeply, yet feel misunderstood by. I stand between two storms in same night: one physically present but emotionally distant, and the other emotionally connected once but now drifting further away.

My eyes are tired of crying. My heart, tired of guessing where I went wrong.
I wasn’t asking for much — just to be seen, heard, held in the same way.

But I was honest.
I tried — again and again.

So if this is failure, then maybe failure means I cared.

And if I cared, then maybe that’s something... even if it hurts.

I’ve failed as a son.
My parents looked at me with hope in their eyes.
Now, they look… tired. Disappointed.
Not because they stopped loving me — but because they don’t know how to reach me anymore.
And truth be told, I don’t know how to reach myself either.

As a student? Let’s not even go there.
All those hours staring at books, pretending to care,
Getting lost in distractions to avoid facing how far behind I’ve fallen.
The grades, the goals, the dreams — slipping through my fingers like sand.

I’ve failed as a human.
Because somewhere along the way, I stopped feeling.
Stopped trying.
Or maybe I tried too hard, in all the wrong ways.
And now I’m tired. Of trying. Of failing. Of pretending I’m okay.

People say, “Just keep going.”
But what if going nowhere feels heavier than standing still?
What if trying again feels like setting yourself up for heartbreak all over again?

Maybe I was too much. Or maybe, I was never enough.

Still…
I wrote this.
So maybe, that’s something.
Or maybe… I just needed to be heard today.




🔹 1. FCFS Scheduling Algorithm

Explanation:
FCFS (First Come First Serve) executes processes in the order they arrive.

#include <stdio.h>

int main() {
int n, i;
printf("Enter number of processes: ");
scanf("%d", &n);

int bt[n], wt[n], tat[n];

for(i = 0; i < n; i++) {
printf("Enter burst time for P%d: ", i+1);
scanf("%d", &bt[i]);
}

wt[0] = 0;
for(i = 1; i < n; i++)
wt[i] = wt[i-1] + bt[i-1];

for(i = 0; i < n; i++)
tat[i] = wt[i] + bt[i];

printf("\nProcess\tBT\tWT\tTAT\n");
for(i = 0; i < n; i++)
printf("P%d\t%d\t%d\t%d\n", i+1, bt[i], wt[i], tat[i]);

return 0;
}

🔹 2. SJF Scheduling Algorithm

Explanation:
SJF (Shortest Job First) executes the process with the smallest burst time first.

#include <stdio.h>

int main() {
int n, i, j;
printf("Enter number of processes: ");
scanf("%d", &n);

int bt[n], wt[n], tat[n];

for(i = 0; i < n; i++) {
printf("Enter burst time: ");
scanf("%d", &bt[i]);
}

for(i = 0; i < n-1; i++) {
for(j = i+1; j < n; j++) {
if(bt[i] > bt[j]) {
int temp = bt[i];
bt[i] = bt[j];
bt[j] = temp;
}
}
}

wt[0] = 0;
for(i = 1; i < n; i++)
wt[i] = wt[i-1] + bt[i-1];

for(i = 0; i < n; i++)
tat[i] = wt[i] + bt[i];

printf("\nBT\tWT\tTAT\n");
for(i = 0; i < n; i++)
printf("%d\t%d\t%d\n", bt[i], wt[i], tat[i]);

return 0;
}

🔹 3. Priority Scheduling

Explanation:
Processes are executed based on priority (lower number = higher priority).

#include <stdio.h>

int main() {
int n, i, j;
printf("Enter number of processes: ");
scanf("%d", &n);

int bt[n], pr[n];

for(i = 0; i < n; i++) {
printf("Enter burst time and priority: ");
scanf("%d%d", &bt[i], &pr[i]);
}

for(i = 0; i < n-1; i++) {
for(j = i+1; j < n; j++) {
if(pr[i] > pr[j]) {
int t = bt[i]; bt[i] = bt[j]; bt[j] = t;
t = pr[i]; pr[i] = pr[j]; pr[j] = t;
}
}
}

printf("\nProcess\tBT\tPriority\n");
for(i = 0; i < n; i++)
printf("P%d\t%d\t%d\n", i+1, bt[i], pr[i]);

return 0;
}

🔹 4. Round Robin Scheduling

Explanation:
Each process gets fixed time (time quantum) in cyclic order.

#include <stdio.h>

int main() {
int n, tq, i, total = 0;
printf("Enter number of processes: ");
scanf("%d", &n);

int bt[n], rem[n];

for(i = 0; i < n; i++) {
printf("Enter burst time: ");
scanf("%d", &bt[i]);
rem[i] = bt[i];
}

printf("Enter time quantum: ");
scanf("%d", &tq);

while(1) {
int done = 1;
for(i = 0; i < n; i++) {
if(rem[i] > 0) {
done = 0;
if(rem[i] > tq) {
total += tq;
rem[i] -= tq;
} else {
total += rem[i];
printf("Process %d finished at %d\n", i+1, total);
rem[i] = 0;
}
}
}
if(done == 1) break;
}

return 0;
}

🔹 Memory Allocation Algorithms (5–8)

🔹 5. First Fit

Explanation: First available block is allocated.

#include <stdio.h>

int main() {
int b[5]={100,500,200,300,600};
int p[3]={212,417,112};

for(int i=0;i<3;i++) {
for(int j=0;j<5;j++) {
if(b[j] >= p[i]) {
printf("Process %d allocated to block %d\n", i+1, j+1);
b[j] -= p[i];
break;
}
}
}
}

🔹 6. Best Fit

Explanation: Smallest suitable block is selected.

#include <stdio.h>

int main() {
int b[5]={100,500,200,300,600};
int p[3]={212,417,112};

for(int i=0;i<3;i++) {
int best=-1;
for(int j=0;j<5;j++) {
if(b[j]>=p[i] && (best==-1 || b[j]<b[best]))
best=j;
}
if(best!=-1) {
printf("Process %d -> Block %d\n", i+1, best+1);
b[best]-=p[i];
}
}
}

🔹 7. Next Fit

Explanation: Allocation starts from last allocated block.

#include <stdio.h>

int main() {
int b[5]={100,500,200,300,600};
int p[3]={212,417,112};
int last=0;

for(int i=0;i<3;i++) {
int j=last, count=0;
while(count<5) {
if(b[j]>=p[i]) {
printf("Process %d -> Block %d\n", i+1, j+1);
b[j]-=p[i];
last=j;
break;
}
j=(j+1)%5;
count++;
}
}
}

🔹 8. Worst Fit

Explanation: Largest block is selected.

#include <stdio.h>

int main() {
int b[5]={100,500,200,300,600};
int p[3]={212,417,112};

for(int i=0;i<3;i++) {
int worst=-1;
for(int j=0;j<5;j++) {
if(b[j]>=p[i] && (worst==-1 || b[j]>b[worst]))
worst=j;
}
if(worst!=-1) {
printf("Process %d -> Block %d\n", i+1, worst+1);
b[worst]-=p[i];
}
}
}

🔹 9. Basic Linux Commands (Any 10)

Explanation: Basic commands used in Linux OS.

CommandDescription
lsList files
pwdShow current directory
cdChange directory
mkdirCreate directory
rmdirRemove directory
touchCreate file
rmDelete file
cpCopy file
mvMove file
catDisplay file content





$ pwd

/home/user


$ ls

file1.txt  file2.txt


$ mkdir test

$ ls

file1.txt  file2.txt  test


$ cd test

$ pwd

/home/user/test


$ touch a.txt

$ ls

a.txt


$ cat a.txt

(Empty file)


$ cp a.txt b.txt

$ ls

a.txt  b.txt


$ mv b.txt c.txt

$ ls

a.txt  c.txt


$ rm a.txt

$ ls

c.txt


$ cd ..

$ rmdir test

Post a Comment

0 Comments