You are on page 1of 3

Name: Marnin Samuel Audu

Matric No: U20CS1013

Course: Operating Systems

Title: Assignment 4

Translators
These are special software that processes programming languages or translate them from
source code to machine code hence their name, and also finds errors while translating.
Types of translator
1. Compiler: the functions of a compiler are to convert high level high level code to low
level, and report errors after the code has been converted. Once it compiles to machine
language the instructions are then saved in memory.
Compilers are processor and platform dependent, but this problem has been addressed
by cross-compilers and source-to-source compilers.
2. Interpreter: it also converts high level programming languages to a low level
programming language. The difference is that an interpreter translates the code line by
line and detects errors while converting the code. An interpreter is also more portable
and isn’t CPU or hardware architecture dependent.

3. Assembler: these translate assembly language to machine language, it simply acts as a


compiler from assembly language to machine language but is also interactive like an
interpreter.

Machine Language Instructions


These are a codes or instructions written in binary that the CPU can understand without and
need for translation. It is also referred to as binary code.
Compiler
As stated earlier the functions of a compiler are to convert high level high level code to low
level, and report errors after the code has been converted. Once it compiles to machine
language the instructions are then saved in memory.
Integrated Development Environment (IDE)
This is a software that programmers use to create computer programs. It’s referred to as
integrated because it has multiple development tools combined into one, and provide a project
interface to keep track of files in use.
Most popular IDE’s have a runtime environment. The runtime environment allows the
developer to be able to track the program as it runs, and makes it easier to debug.
Course Summary (Weeks 1 & 2)
Week 1
Operating system: this controls the use of the system resources such as the CPU, RAM, and
other PC resources to meet computational requirements of the users.
Components of the OS
1. Computer Hardware
2. Computer Applications
3. Computer System
4. Computer Users
5. Computer Utility
Important terms

 Control Registers: these are found in the CPU , and their content governs the
functioning of the system.
 Program Status Ward: this a collection of control Registers of the CPU.
 Kernel: this is the foundational layer of the OS.
 Shell: a command line interface between the user and the computer.
OS classes
1. Batch Processing Systems
2. Time Sharing Systems
3. Multiprocessing 3
4. Real Time Systems
5. Desktop Systems
6. Distributed Systems
7. Hand-held Systems
8. Clustered Systems
Process Management
Process: this is a program in execution, the execution of a process must progress in a Sequential
manner.
A process in memory is divided into:
1. Stack
2. Heap
3. Text
4. Data
Process State
a. New: the process is being created
b. Ready: the process has all the resources it needs to run.
c. Running: the CPU is working on the process instructions .
d. Waiting: the process can not run at the moment due to an Interruption.
e. Terminated: the process has ended
Process block
This consists of the following:
1. Process state
2. Process ID
3. CPU registers
4. CPU-scheduling
5. Memory management Information
6. Accounting Information
7. I/O status information
Thread: this is a single sequential flow of execution or a task or process.
Process Scheduling
Types
1. First Come First Serve Scheduling: here processes are organised on the thread based on
when they arrived
2. Priority scheduling : here processes are ranked based on importance.
3. Round-Robin scheduling: this uses an algorithm to determine which task goes first by
allocating time slices.

You might also like