Programming for Problem Solving PDF
Document Details
Uploaded by BalancedAlgebra
NFSU Guwahati
2024
CTBT
Dr. Dhrubajyoti Pathak
Tags
Summary
Programming for problem solving notes for CTBT-ESC-102. The notes cover topics like computer hardware and software, operating systems, and introduce different types of operating systems. Presented by Dr. Dhrubajyoti Pathak, presumably for NFSU GUWAHATI students.
Full Transcript
CTBT-ESC-102: Programming for problem solving CTBT-ESC-102L: Programming for problem solving laboratory INSTRUCTOR: DR. DHRUBAJYOTI PATHAK Introduction: Computer A device basically meant to do computations. A machine that can follow a sequence of instructions. Parts which physically doe...
CTBT-ESC-102: Programming for problem solving CTBT-ESC-102L: Programming for problem solving laboratory INSTRUCTOR: DR. DHRUBAJYOTI PATHAK Introduction: Computer A device basically meant to do computations. A machine that can follow a sequence of instructions. Parts which physically does the execution are called Hardware. The sequence of steps (instructions) can be called as Software. Wednesday, August 28, 2024 NFSU GUWAHATI 2 Hardware and Software ❑Hardware: Keyboard, Mouse, Monitor, Printer, CPU, Memory, etc. ❑ Software: Set of programs, like – OS: Interface between hardware & user e.g Windows, Ubuntu, MacOS Compiler: Translates from high level language to machine language. Tools: Browsers, Apps, MS office, Video, Games, etc. Wednesday, August 28, 2024 NFSU GUWAHATI 3 Computer (Conceptually) Wednesday, August 28, 2024 NFSU GUWAHATI 4 Early Computers ❑ Fixed-program computer: Can do specific task(s) which is wired(fixed) into the hardware. E.g.:A Calculator. Drawback: No flexibility ❑ Stored-program computer: By creating an instruction set architecture and detailing the computation as a series of instructions (the program), the machine becomes much more flexible. Wednesday, August 28, 2024 NFSU GUWAHATI 5 Stored-Program Computers ❑ Program is also seen as data. ❑ Program is also stored in memory as data. ❑ The ability to treat instructions as data is what makes assemblers, compilers and other automated programming tools possible. One can “write programs which write programs” Wednesday, August 28, 2024 NFSU GUWAHATI 6 ❑ A modern computer consists of: One or more processors Main memory What is an Disks Printers Operating Various input/output devices. System (1) ❑ Managing all these varied components requires a layer of software – the Operating System (OS). Wednesday, August 28, 2024 NFSU GUWAHATI 7 An Operating System is a program that acts as an intermediary/interface between a user of a computer and the computer hardware. What is an Operating System (2)? OS goals: Make the Use the Control/execute computer system Ease the solving computer user/application convenient to of user problems. hardware in an programs. use. efficient manner. Wednesday, August 28, 2024 NFSU GUWAHATI 8 Services provided by an OS Facilities for Program Access to I/O and System access program creation execution files editors, loading in deals with the resolves compilers, memory, I/O specifics of I/O conflicts for linkers, and file and file formats. resource debuggers, etc. initialization. contention. protection in access to resources and data. Wednesday, August 28, 2024 NFSU GUWAHATI 9 Static View of System Components Wednesday, August 28, 2024 NFSU GUWAHATI 10 Dynamic View of System Components Wednesday, August 28, 2024 NFSU GUWAHATI 11 Users want convenience, ease of use, and good Depends on the point of performance view. Don’t care about resource utilization. What But a shared computer Users of dedicated systems such as workstations have Operating such as a mainframe or minicomputer must keep dedicated resources but frequently use shared Systems Do all users happy. resources from servers. Handheld computers are Some computers have little resource-poor, optimized or no user interface, such for usability and battery as embedded computers in life. devices and automobiles. Wednesday, August 28, 2024 NFSU GUWAHATI 12 There are three classical views (in literature): Resource Manager – manages and allocates Views of an resources. Operating Control program – controls the execution of user programs and operations of I/O devices. System Command Executer – Provides an environment for running user commands. But one more modern view: the Operating System as a Virtual Machine. Wednesday, August 28, 2024 NFSU GUWAHATI 13 Types of Operating System Wednesday, August 28, 2024 NFSU GUWAHATI 14 Wednesday, August 28, 2024 NFSU GUWAHATI 15 Types of Operating System Wednesday, NFSU GUWAHATI August 28, 2024 16