You are on page 1of 4

CPE 301

Operating Systems October 19,


2022

1.) Search for relative studies and/or literature regarding the process and thread concepts of the
following operating systems: A. Linux OS B. Android OS
A. Linux OS

 Linux provides a variety of thread management options. All threads run as usual processes. The
scheduling semantics of the Linux kernel do not display threads in a specific manner. A thread is
a process that works cooperatively with other processes to share resources. Each thread has its
own task structure, which makes them feel like separate processes to the kernel as independent
kernel processes that just so happen to share some resources, like an address space, with other
processes. The impact of the Linux scheduler's load-balancing algorithm on a multi-threaded
open source SIP proxy server's performance as well as how to set the scheduler's various
parameters in relation to the number of CPU cores to significantly improve SPS performance.

B. Android OS

 For touch-screen mobile devices like smartphones and tablets, Android is an operating system
built on the Linux platform. Commencing with black and white devices and moving on to
smartphones and minicomputers, the operating system has seen tremendous development over
the past years. As one of the most widely used mobile operating systems, Android has gained in
popularity. An extensive selection of smartphone applications are supported by Android, a
strong operating system. These applications are both trickier to use and more complex. Android
software-running hardware is built on the ARM architecture platform. Being an open-source OS,
Android implies that downloading and using it are both free.

2.) Then, provide or answer the following for each operating system (Linux and Android):

(Linux)
Provide a diagram showing the process and thread construct of the operating system. (5 points)
Briefly explain the diagram that you have provided. (5 points)

 According to the diagram. The process is a specific case of a program being run. Thus, even if
two browser windows are open and executing the same program, you have two processes if you
do so. A state diagram may be used to explain the life cycle of a process. It contains states that
reflect the process's execution status at various points in time and transitions that indicate
changes in execution status. A process control block in the operating system stores management
data about a process (PCB). A process may be partitioned into several threads of execution using
contemporary operating systems, each of which shares all process management data aside from
that specifically relevant to execution. A thread control block contains this data (TCB). The Linux
operating system's processes follow a flow that has numerous different phases. From the time a
process is formed until it is run or terminated by the operating system, it is assumed that the
process will undergo conditional states. The operating system starts a new process whenever we
run a new program.

How does the operating system support or implement multithreading? (5 points)

 The Linux operating system has a process flow with several discrete stages. It assumes that the
process will pass through conditional states from the moment it is created until it is executed or
ended by the operating system. When we run an application, the operating system creates a
new process.

Is it possible to increase the number of threads within processes without affecting the average
response time of this operating system? Why or why not? (5 points)

 The Linux kernel does not distinguish between threads and processes when it comes to
scheduling. Linux handles multithreading technology differently. Because it consumes the same
resources as the other processes, the lightweight process can be performed faster. A thread is a
process' execution unit. A process might be made up of a single thread or several threads.
Threads are frequently referred to as lightweight processes because they have their own stack
but may access shared data. Inter-thread communication is efficient because threads share the
same address space as the process and other threads in the process.

What are the possible effects of multithreading in the central processing unit (CPU) utilization of
this operating system? Rationalize your answers. (5 points)
 Threads are lightweight processes that may be accessed from inside a single process. Because
multithreading allows users to multitask, it can boost the operating system's CPU use by allowing
it to do activities such as executing and processing at the same time. Multithreading allows many
pieces of a program to operate at the same time.

Properly cite all your references (i.e., books, articles, dissertations, websites, etc.). (5 points)
 Processes and threads. (n.d.). Retrieved from https://www.d.umn.edu/~gshute/os/processes-and-
threads.xhtml.
 Benefits of multithreading - javatpoint. www.javatpoint.com. (n.d.). Retrieved from
https://www.javatpoint.com/benefits-of-multithreading.
 Bauer, R., & Bauer, R. (2021, August 9). Threads vs. processes: Retrieved from
https://www.backblaze.com/blog/whats-the-diff-programs-processes-andthreads/.
(Android)
Provide a diagram showing the process and thread construct of the operating system. (5 points)

Briefly explain the diagram that you have provided. (5 points)

 The diagram of the Android OS depicts the processes, which include several threads, RAM, as
well as the CPU. The processes will initially exist in RAM, after which the OS will schedule them
based on particular queue. The operating system employs a scheduler among these processes,
which are executed as an entire operation in the Central processing unit or memory irrespective
of the number of threads.

How does the operating system support or implement multithreading? (5 points)

 Through the processes, Android OS supports multithreading. A process is made up of several


threads that run once in the system. Within an application, these threads are implemented in a
single process. Android may use several CPU cores for multithreading. Internal multithreading
improves the program's overall performance, but its speed is governed by the hardware on
which it operates.

Is it possible to increase the number of threads within processes without affecting the average
response time of this operating system? Why or why not? (5 points)

 Although technically there is no limit, having more threads will eventually be less efficient than
having fewer. The performance of the operating system may alter if multiple threads or small
processes are created. The hardware, such as RAM and the CPU, should operate more to
execute the operation.

What are the possible effects of multithreading in the central processing unit (CPU) utilization of
this operating system? Rationalize your answers. (5 points)

 For multithreading, Android can make use of many CPU cores, but the kernel controls it rather
than the user. Although internal multithreading improves the program's fundamental
functionality, overall performance is dependent on the hardware it operates on

Properly cite all your references (i.e., books, articles, dissertations, websites, etc.). (5 points)
 Process and Thread. Retrieved from
https://sites.google.com/site/puneetverma24android/process-and-thread

 A Basic Overview of Android Threads and Thread handlers. Retrieved from


https://www.techotopia.com/index.php/A_Basic_Overview_of_Android_Threads_and_Thread_
handlers
 Ayusch, J. Android Internals: The Android OS Bootup Process. Retrieved from
https://dzone.com/articles/android-internals-the-android-os-bootup-process

You might also like