1
$\begingroup$

PCB structure exists inside kernel area. And in ready queue, which is Linked List, each Node of the queue is PCB. And this mean PCB Node has the next address of PCB in the queue, right?? Then My question is this..

  1. Does PCB structure has pointer field that has address of next PCB structure??

  2. According to Wikipedia, Job Queue consists of process waiting to be allocated to Memory. But, in terms of 'process', process means the program loaded on the Memory waiting to be executed or being executed. And how can Job Queue consists of process, that is not loaded onto the memory(I think we can't say it is process because it is not on the Memory)

$\endgroup$
1
  • $\begingroup$ Welcome to COMPUTER SCIENCE @SE. Please cite and/or hyperlink the exact wording you are referring to. (I didn't readily find it at en.wikipedia.) $\endgroup$
    – greybeard
    Feb 13, 2021 at 20:20

1 Answer 1

0
$\begingroup$

PCB structure exists inside kernel area. And in ready queue, which is Linked List, each Node of the queue is PCB.

This is correct, however in most operating systems, ready tasks are sorted by priority to ensure that the most important task will run next. So the design of the ready queue may be more sophisticated than this in practice.

Does PCB structure has pointer field that has address of next PCB structure??

This is the way that it's usually done. Of course, if it is implemented as a doubly-linked list, it will have a "previous" pointer too.

According to Wikipedia, Job Queue [...]

I can see why this may be confusing. The Wikipedia page that you're talking about is about batch processing systems. This is a related idea, and there are batch processing systems without user interaction, but it's not relevant to what you're trying to understand.

$\endgroup$
2
  • $\begingroup$ Hi, I'm the asker of this question. So then.... Is it Okay to understand job queue like this?? For example, when user click the icons of exe file, the newly created process is passed to job queue, and long term scheduler decides when to allocate memory to this newly created process, depend on CPU limit or RAM limit, and if it is okay to allocate memory to newly created process, job scheduler takes that memory and put it to ready queue after memory allocating. Isit right??? $\endgroup$ Feb 13, 2021 at 14:29
  • $\begingroup$ Forget the Wikipedia page about job queues. It's not relevant to what you're trying to understand. Also bear in mind that "memory allocating" isn't that simple in an operating system like Windows. When a process is created, the kernel sets up the virtual address space of the process, and then it's ready to add to the run queue. When it comes time to actually execute the process, the program text probably isn't in RAM yet, but the virtual memory system takes care of that using demand paging. $\endgroup$
    – Pseudonym
    Feb 14, 2021 at 1:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.