Skip to main content

Story of a Program

Image result for process state transition diagram

Hi, I'm a program. I have seen two worlds. People call then "Main Memory" and "Secondary Memory". Secondary Memory is my home, this is where I spend most of the time. It is my Home. Main memory(aka Primary Memory) is my work place, this is the place from where I turn into Action using processor.

I enter the Primary Memory aka Main memory. I have to take a toke and wait in the lounge. This is called as ready state. Some times the lounge gets crowded and few programs from here will be sent to another big lounge, it is called "Ready Suspended". So once we get the chance to enter the processor we move from ready state to "Running" state. While we are running inside processor we may need some resources and we get have to wait for those resources to be available. Then we are sent to another state from the "Running" state. This state is similar to "Ready Suspended ", which we went when we were waiting in the lounge, but this buffer state is within the main memory.This is pretty small place. Sometimes when this gets crowded, we enter the "Blocked Suspended" state which is a bigger place in the secondary memory.

Once the resource get available we are back to "Running", to get up and running. Once the running actions defined in the program are completed we end at a state called "Terminated".



Comments

Popular posts from this blog

Event Sourcing with CQRS.

  The way event sourcing works with CQRS is to have  part of the application that models updates as writes to an event log or Kafka topic . This is paired with an event handler that subscribes to the Kafka topic, transforms the event (as required) and writes the materialized view to a read store.

GraphQL microservices (GQLMS)

I'm curios of GraphQL !     -  GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015. It should be solving a problem in querying data !     -GraphQL lets you ask for what you want in a single query, saving bandwidth and reducing waterfall requests. It also enables clients to request their own unique data specifications. A case study ?!    -https://netflixtechblog.com/beyond-rest-1b76f7c20ef6 So, This is just another database technoloy ?  -  No. GraphQL is often confused with being a database technology. This is a misconception, GraphQL is a   query language   for APIs - not databases. In that sense it’s database agnostic and can be used with any kind of database or even no database at all. Source:   howtographql.com