informationsteknologi friday, september 14, 2007computer systems/operating systems - class 51...
Post on 19-Dec-2015
216 views
TRANSCRIPT
![Page 1: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/1.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 1
Today’s class
Finish operating system overview Review of more C
![Page 2: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/2.jpg)
Finish operating system overview
![Page 3: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/3.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 3
Major Achievements
Processes Memory Management Information protection and security Scheduling and resource management System structure
![Page 4: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/4.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 4
Processes A program in execution An instance of a program running on a
computer The entity that can be assigned to and
executed on a processor A unit of activity characterized by a single
sequential thread of execution, a current state, and an associated set of system resources
![Page 5: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/5.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 5
Difficulties with Designing System Software
Improper synchronization Ensure a process waiting for an I/O device
receives the signal Failed mutual exclusion Nondeterminate program operation
Program should only depend on input to it, not on the activities of other programs
Deadlocks
![Page 6: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/6.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 6
Process
Consists of three components An executable program Associated data needed by the program Execution context of the program
All information the operating system needs to manage the process
![Page 7: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/7.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 7
Process
Figure 2.8 Typical Process Implementation
Context
Data
Program(code)
Context
Data
i
Process index
PC
BaseLimit
Otherregisters
i
bh
j
b
hProcess
B
ProcessA
MainMemory
ProcessorRegisters
Processlist
Program(code)
![Page 8: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/8.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 8
Memory Management
Process isolation Automatic allocation and management Support of modular programming Protection and access control Long-term storage
![Page 9: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/9.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 9
Virtual Memory
Allows programmers to address memory from a logical point of view
No hiatus between the execution of successive processes while one process was written out to secondary store and the successor process was read in
![Page 10: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/10.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 10
Virtual Memory and File System
Implements long-term store Information stored in named objects
called files
![Page 11: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/11.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 11
Paging Allows process to be comprised of a
number of fixed-size blocks, called pages Virtual address is a page number and an
offset within the page Each page may be located anywhere in
main memory Real address or physical address in main
memory
![Page 12: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/12.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 12
Virtual Memory Addressing
![Page 13: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/13.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 13
Information Protection and Security
Availability Concerned with protecting the system
against interruption Confidentiality
Assuring that users cannot read data for which access is unauthorized
![Page 14: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/14.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 14
Information Protection and Security
Data integrity Protection of data from unauthorized
modification Authenticity
Concerned with the proper verification of the identity of users and the validity of messages or data
![Page 15: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/15.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 15
Scheduling and Resource Management
Fairness Give equal and fair access to resources
Differential responsiveness Discriminate among different classes of jobs
Efficiency Maximize throughput, minimize response
time, and accommodate as many uses as possible
![Page 16: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/16.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 16
Key Elements of an Operating System
![Page 17: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/17.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 17
System Structure
View the system as a series of levels Each level performs a related subset of
functions Each level relies on the next lower level to
perform more primitive functions This decomposes a problem into a
number of more manageable subproblems
![Page 18: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/18.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 18
Process Hardware Levels Level 1
Electronic circuits Objects are registers, memory cells, and logic gates Operations are clearing a register or reading a
memory location
Level 2 Processor’s instruction set Operations such as add, subtract, load, and store
![Page 19: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/19.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 19
Process Hardware Levels
Level 3 Adds the concept of a procedure or
subroutine, plus call/return operations Level 4
Interrupts
![Page 20: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/20.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 20
Concepts with Multiprogramming
Level 5 Process as a program in execution Suspend and resume processes
Level 6 Secondary storage devices Transfer of blocks of data
Level 7 Creates logical address space for processes Organizes virtual address space into blocks
![Page 21: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/21.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 21
Deal with External Objects
Level 8 Communication of information and messages
between processes Level 9
Supports long-term storage of named files Level 10
Provides access to external devices using standardized interfaces
![Page 22: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/22.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 22
Deal with External Objects Level 11
Responsible for maintaining the association between the external and internal identifiers
Level 12 Provides full-featured facility for the support of
processes Level 13
Provides an interface to the operating system for the user
![Page 23: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/23.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 23
Modern Operating Systems
Microkernel architecture Assigns only a few essential functions to the
kernel Address spaces Interprocess communication (IPC) Basic scheduling
![Page 24: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/24.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 24
Modern Operating Systems
Multithreading Process is divided into threads that can run
concurrently Thread
• Dispatchable unit of work• executes sequentially and is interruptable
Process is a collection of one or more threads
![Page 25: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/25.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 25
Modern Operating Systems
Symmetric multiprocessing (SMP) There are multiple processors These processors share same main memory
and I/O facilities All processors can perform the same
functions
![Page 26: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/26.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 26
Modern Operating Systems
Distributed operating systems Provides the illusion of a single main memory
space and single secondary memory space
![Page 27: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/27.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 27
Modern Operating Systems
Object-oriented design Used for adding modular extensions to a
small kernel Enables programmers to customize an
operating system without disrupting system integrity
![Page 28: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/28.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 28
Windows Architecture
Modular structure for flexibility Executes on a variety of hardware
platforms Supports applications written for other
operating systems
![Page 29: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/29.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 29
![Page 30: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/30.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 30
Operating System Organization
Modified microkernel architecture Not a pure microkernel Many system functions outside of the
microkernel run in kernel mode Any module can be removed, upgraded,
or replaced without rewriting the entire system
![Page 31: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/31.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 31
Kernel-Mode Components
Executive Contains base operating system services
Memory management Process and thread management Security I/O Interprocess communication
Kernel Consists of the most used components
![Page 32: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/32.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 32
Kernel-Mode Components Hardware abstraction layer (HAL)
Isolates the operating system from platform-specific hardware differences
Device drivers Translate user I/O function calls into specific
hardware device I/O requests Windowing and graphics systems
Implements the graphical user interface (GUI)
![Page 33: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/33.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 33
Windows Executive I/O manager Cache manager Object manager Plug and play manager Power manager Security reference monitor Virtual memory manager Process/thread manager Configuration manager Local procedure call (LPC) facility
![Page 34: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/34.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 34
User-Mode Processes
Special system support processes Ex: logon process and the session manager
Service processes Environment subsystems User applications
![Page 35: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/35.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 35
Client/Server Model Simplifies the Executive
Possible to construct a variety of APIs Improves reliability
Each service runs on a separate process with its own partition of memory
Clients cannot not directly access hardware Provides a uniform means for applications
to communicate via LPC Provides base for distributed computing
![Page 36: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/36.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 36
Threads and SMP Operating system routines can run on any
available processor Different routines can execute simultaneously
on different processors Multiple threads of execution within a single
process may execute on different processors simultaneously
Server processes may use multiple threads Share data and resources between process
![Page 37: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/37.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 37
Windows Objects
Encapsulation Object consists of one or more data items
and one or more procedures Object class or instance
Create specified instances of an object Inheritance
Support to some extent in the Executive Polymorphism
![Page 38: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/38.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 38
UNIX
Hardware is surrounded by the operating system software
Operating system is called the system kernel
Comes with a number of user services and interfaces Shell Components of the C compiler
![Page 39: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/39.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 39
UNIX
![Page 40: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/40.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 40
UNIX Kernel
![Page 41: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/41.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 41
Modern UNIX Kernel
![Page 42: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/42.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 42
Modern UNIX Systems
System V Release 4 (SVR4) Solaris 9 4.4BSD Linux
![Page 43: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/43.jpg)
Review of more C
![Page 44: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/44.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 44
Dynamic memory allocation Explicit allocation and de-allocationExample 11#include <stdio.h>
intmain(int argc, char *argv[]){ int *ptr; /* allocate space to hold an int */
ptr = (int*)malloc(4 * sizeof(int));
/* do stuff with the space */ *ptr=4; //ptr[0] = 4;
free(ptr); /* free up the allocated space */ return 0;}
![Page 45: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/45.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 45
int *ptr;
ptr = (int*)malloc(4 * sizeof(int));
*ptr=4;
??? ?
6012600860046000
4 ? 6000
ptr
4000
free (ptr);
![Page 46: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/46.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 46
Dynamic array
int *ptr, i, size;
printf(“Enter the size of the array”);scanf(“%d”,&size)
ptr = (int*)malloc( size x sizeof(int) );for(i=0; i<size; i++){
ptr[i] = i;}
![Page 47: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/47.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 47
Array of pointers
Variable length stringschar *card[4]; //card[4] => array of 4 elements
//char* => element is a pointer to //a character. //*card[4] => array of 4 pointers
card[3]
4012
card[2]
4008
card[1]
4004
card[0]
4000 NULL
NULL
NULL
NULL
![Page 48: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/48.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 48
card[0] = (char*)malloc(6*sizeof(char));
card[1] = (char*)malloc(3*sizeof(char)); and so on
Static allocation of a 2D array:char card[4][10]; //waste of space
![Page 49: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/49.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 49
Common errors – memory leakint *ptr, x; ptr = (int*)malloc(10*sizeof(int)); //ptr gets space starting at address 3000ptr = &x;
The space allocated through malloc is no longer available for use by the program.
Released only when program quits. Becomes a problem in large programs where a large
number of variables are created and destroyed during the execution of the program.
![Page 50: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/50.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 50
Common errors – dangling pointersint *i, *x;
i = (int*)malloc( 5 x sizeof(int));x = i; // both point to the same address.
free(x); /* both i and x are dangling pointers and trying to access either of them can cause logical errors */
x = NULL; /* One way to prevent incorrect access */i = NULL;
![Page 51: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/51.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 51
Functions – pointers as arguments#include <stdio.h>int sumAndInc(int *pa, int *pb, int* pc);
intmain(int argc, char *argv[]){ int a=4, b=5, c=6; int *ptr = &b; int total = sumAndInc(&a,ptr,&c);
/* call to the function */ printf(“The sum of 4 and 5 is %d and c is %p\n”, total, c);}int sumAndInc(int *pa, int *pb, int *pc ){
/* pointers as arguments */ *pc = *pc+1; /* return a pointer value */
/* NOT *(pc+1) */ return (*pa+*pb); /* return by value */}
![Page 52: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/52.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 52
a
4
4000
b
5
4004
c
6
4008
ptr
4004
4012
In main()
pa
4000
6000
pb
4004
6004
pc
4008
6008
In function
![Page 53: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/53.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 53
a
4
4000
b
5
4004
c
7
4008
ptr
4004
4012
In main() after the function call
![Page 54: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/54.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 54
What’s wrong with this?#include <stdio.h>
void DoSomething(int *ptr);
intmain(int argc, char *argv[]) {
int *p;DoSomething(p);printf(“%d”, *p); /* will this work ? */return 0;
}
void DoSomething(int *ptr){ /* passed and returned by reference */
int temp= 5+3; ptr = &(temp);}
/* compiles correctly, but gives incorrect output */
![Page 55: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/55.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 55
p
?
4000
ptr
6000
?temp
6004
86004
In main()
In the function
![Page 56: Informationsteknologi Friday, September 14, 2007Computer Systems/Operating Systems - Class 51 Today’s class Finish operating system overview Review of](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2b5503460f949ffe27/html5/thumbnails/56.jpg)
Info
rmat
ions
tekn
olog
i
Friday, September 14, 2007 Computer Systems/Operating Systems - Class 5 56
p
?
4000
In main() after the function call