System Programming Chapter 1 What is System Programming
![System Programming Chapter 1. What is System Programming August 30, 2018 Jongmoo Choi Dept. System Programming Chapter 1. What is System Programming August 30, 2018 Jongmoo Choi Dept.](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-1.jpg)
![Chapter Objectives Understand the definition of system program Describe the types of system program Chapter Objectives Understand the definition of system program Describe the types of system program](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-2.jpg)
![Definition of System Program (1/6) Computer organization Computer Software Hardware I/O Devices CPU System Definition of System Program (1/6) Computer organization Computer Software Hardware I/O Devices CPU System](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-3.jpg)
![Definition of System Program (2/6) Hardware components: PC Secondary storage Main memory Output device Definition of System Program (2/6) Hardware components: PC Secondary storage Main memory Output device](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-4.jpg)
![Definition of System Program (3/6) Hardware components: Smart Phone ü ü ü CPU: ARM Definition of System Program (3/6) Hardware components: Smart Phone ü ü ü CPU: ARM](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-5.jpg)
![Definition of System Program (4/6) Software components ü Application program vs. System program #include Definition of System Program (4/6) Software components ü Application program vs. System program #include](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-6.jpg)
![Definition of System Program (5/6) Software components: System program ü How to run a Definition of System Program (5/6) Software components: System program ü How to run a](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-7.jpg)
![Definition of System Program (6/6) Software components: System program ü Supporting computing environments for Definition of System Program (6/6) Software components: System program ü Supporting computing environments for](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-8.jpg)
![Types of System Program (1/19) Classification Compilation system Runtime system compiler assembler linker library Types of System Program (1/19) Classification Compilation system Runtime system compiler assembler linker library](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-9.jpg)
![Types of System Program (2/19) Compilation system: Concept High level Language C = A Types of System Program (2/19) Compilation system: Concept High level Language C = A](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-10.jpg)
![Types of System Program (3/19) Compilation system: Overall Editor Other Object File & library Types of System Program (3/19) Compilation system: Overall Editor Other Object File & library](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-11.jpg)
![Types of System Program (4/19) Compilation system: in Linux 12 Types of System Program (4/19) Compilation system: in Linux 12](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-12.jpg)
![Types of System Program (5/19) Compilation system: details ü Location of collect 2, crt Types of System Program (5/19) Compilation system: details ü Location of collect 2, crt](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-13.jpg)
![Types of System Program (6/19) Operating system: structure process 1 process 2 process 3 Types of System Program (6/19) Operating system: structure process 1 process 2 process 3](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-14.jpg)
![Types of System Program (7/19) Operating system: resource manager OS CPU Disk 15 Memory Types of System Program (7/19) Operating system: resource manager OS CPU Disk 15 Memory](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-15.jpg)
![Types of System Program (8/19) Operating system: file creation (file system) vi test. c Types of System Program (8/19) Operating system: file creation (file system) vi test. c](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-16.jpg)
![Types of System Program (9/19) Operating system: compile vi test. c a. out int Types of System Program (9/19) Operating system: compile vi test. c a. out int](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-17.jpg)
![Types of System Program (10/19) Operating system: running (scheduler) vi test. c a. out Types of System Program (10/19) Operating system: running (scheduler) vi test. c a. out](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-18.jpg)
![Types of System Program (11/19) Operating system: loading (virtual memory) vi test. c a. Types of System Program (11/19) Operating system: loading (virtual memory) vi test. c a.](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-19.jpg)
![Types of System Program (12/19) Operating system: summary ü Task manager: CPU § task Types of System Program (12/19) Operating system: summary ü Task manager: CPU § task](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-20.jpg)
![Types of System Program (13/19) Runtime system ü command § § § ü file Types of System Program (13/19) Runtime system ü command § § § ü file](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-21.jpg)
![Types of System Program (14/19) Runtime system ü library § A collection of functions, Types of System Program (14/19) Runtime system ü library § A collection of functions,](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-22.jpg)
![Types of System Program (15/19) Runtime system ü ü Windows, Database, Graphics, Multimedia, Web, Types of System Program (15/19) Runtime system ü ü Windows, Database, Graphics, Multimedia, Web,](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-23.jpg)
![Types of System Program (16/19) Hardware consideration: organization task (process) program (binary) (Source: computer Types of System Program (16/19) Hardware consideration: organization task (process) program (binary) (Source: computer](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-24.jpg)
![Types of System Program (17/19) Hardware consideration: Memory ü array programming example int a[1000]; Types of System Program (17/19) Hardware consideration: Memory ü array programming example int a[1000];](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-25.jpg)
![Types of System Program (18/19) Hardware consideration: CPU ü assembly language example § a Types of System Program (18/19) Hardware consideration: CPU ü assembly language example § a](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-26.jpg)
![Types of System Program (19/19) Hardware consideration: CPU ü Loop unrolling example void combine Types of System Program (19/19) Hardware consideration: CPU ü Loop unrolling example void combine](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-27.jpg)
![Abstraction (1/9) Key of System Program: Abstraction ü ü Abstraction is the process of Abstraction (1/9) Key of System Program: Abstraction ü ü Abstraction is the process of](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-28.jpg)
![Abstraction (2/9) CPU Human-Friendly High Level Language (ISA: Instruction Set Architecture) Compilation system 29 Abstraction (2/9) CPU Human-Friendly High Level Language (ISA: Instruction Set Architecture) Compilation system 29](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-29.jpg)
![Abstraction (3/9) Multitasking task (logical CPU) Scheduler Physical CPUs 30 task (logical CPU) . Abstraction (3/9) Multitasking task (logical CPU) Scheduler Physical CPUs 30 task (logical CPU) .](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-30.jpg)
![Abstraction (4/9) Memory management Relocatable Unlimited Memory Space virtual memory Fixed Limited Memory Space Abstraction (4/9) Memory management Relocatable Unlimited Memory Space virtual memory Fixed Limited Memory Space](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-31.jpg)
![Abstraction (5/9) File system file system 32 Abstraction (5/9) File system file system 32](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-32.jpg)
![Abstraction (6/9) Device driver Handle and I/O STREAM (open, read, write, close) device driver Abstraction (6/9) Device driver Handle and I/O STREAM (open, read, write, close) device driver](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-33.jpg)
![Abstraction (7/9) Data representation char float integer pointer data manipulation bits 34 . . Abstraction (7/9) Data representation char float integer pointer data manipulation bits 34 . .](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-34.jpg)
![Abstraction (8/9) Security and reliability Secure and Trusted World security and fault-tolerant system Real Abstraction (8/9) Security and reliability Secure and Trusted World security and fault-tolerant system Real](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-35.jpg)
![Abstraction (9/9) Software layers (Layered architecture) application program library system call file system device Abstraction (9/9) Software layers (Layered architecture) application program library system call file system device](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-36.jpg)
![Importance of System Program (1/3) Extending the usage of computing (Ubiquitous computing, BYOD, …) Importance of System Program (1/3) Extending the usage of computing (Ubiquitous computing, BYOD, …)](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-37.jpg)
![Importance of System Program (2/3) New Emerging H/W ü New HCI, Wearable computer, LBS Importance of System Program (2/3) New Emerging H/W ü New HCI, Wearable computer, LBS](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-38.jpg)
![Importance of System Program (3/3) Compact Flash Storage Card Internals HOST PCMCIA-ATA Interface ARM Importance of System Program (3/3) Compact Flash Storage Card Internals HOST PCMCIA-ATA Interface ARM](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-39.jpg)
![Summary Definition of System Program ü ü Supporting computing environments Managing hardware directly 3 Summary Definition of System Program ü ü Supporting computing environments Managing hardware directly 3](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-40.jpg)
- Slides: 40
![System Programming Chapter 1 What is System Programming August 30 2018 Jongmoo Choi Dept System Programming Chapter 1. What is System Programming August 30, 2018 Jongmoo Choi Dept.](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-1.jpg)
System Programming Chapter 1. What is System Programming August 30, 2018 Jongmoo Choi Dept. of Software Dankook University choijm@dankook. ac. kr http: //embedded. dankook. ac. kr/~choijm
![Chapter Objectives Understand the definition of system program Describe the types of system program Chapter Objectives Understand the definition of system program Describe the types of system program](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-2.jpg)
Chapter Objectives Understand the definition of system program Describe the types of system program ü ü Compilation system Operating system Runtime system Hardware consideration Realize the concept of abstraction Refer to Chapter 1 and 7 in the main textbook 2
![Definition of System Program 16 Computer organization Computer Software Hardware IO Devices CPU System Definition of System Program (1/6) Computer organization Computer Software Hardware I/O Devices CPU System](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-3.jpg)
Definition of System Program (1/6) Computer organization Computer Software Hardware I/O Devices CPU System program Memory 3 Application program
![Definition of System Program 26 Hardware components PC Secondary storage Main memory Output device Definition of System Program (2/6) Hardware components: PC Secondary storage Main memory Output device](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-4.jpg)
Definition of System Program (2/6) Hardware components: PC Secondary storage Main memory Output device Input device CPU Communication Device 4
![Definition of System Program 36 Hardware components Smart Phone ü ü ü CPU ARM Definition of System Program (3/6) Hardware components: Smart Phone ü ü ü CPU: ARM](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-5.jpg)
Definition of System Program (3/6) Hardware components: Smart Phone ü ü ü CPU: ARM based Multicore, GPU, DSP, Accelerator, … Memory: DRAM, LPDDR, SRAM Storage: NAND flash Input: Touch Screen, Sensors, Voice, Iris, . . . Output: LCD, LED, Sound, Buzzer, … Communication § § § WLAN LTE, CDMA, GSM Ir. DA, Bluetooth, NFC UART, USB … 5
![Definition of System Program 46 Software components ü Application program vs System program include Definition of System Program (4/6) Software components ü Application program vs. System program #include](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-6.jpg)
Definition of System Program (4/6) Software components ü Application program vs. System program #include <stdio. h> int main() { printf(“hello, worldn”); } How to run this program on CPU? What is the role of printf()? How the string is displayed on Monitor? How this program can be executed with other programs concurrently? What are the differences between local and global variables? What kinds of techniques can be applied to enhance the performance of this program? 6
![Definition of System Program 56 Software components System program ü How to run a Definition of System Program (5/6) Software components: System program ü How to run a](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-7.jpg)
Definition of System Program (5/6) Software components: System program ü How to run a program on CPU? § object, binary, compiler, assembler, loader, . . . ü What is the role of printf()? § library, linker, . . . ü How the string is displayed on Monitor? § device driver, file system, . . . ü How a program can be executed with other programs concurrently? § scheduler, context switch, IPC (Inter process communication), . . . ü What are the differences between local and global memory? § data, stack, heap, virtual memory, buddy system, . . . ü What kind of techniques can be applied to enhance the performance of a program? § compiler optimization (loop unrolling, reordering), CPU optimization (pipeline, superscalar, out-of-order execution), … 7
![Definition of System Program 66 Software components System program ü Supporting computing environments for Definition of System Program (6/6) Software components: System program ü Supporting computing environments for](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-8.jpg)
Definition of System Program (6/6) Software components: System program ü Supporting computing environments for application programs (Support Interfaces such as commands, library functions and system calls) Strongly related to hardware (hardware management) ü Abstraction ü § § § § CPU and Task Physical and Virtual memory Disk and File Device and Driver Machine level language and High level language Untrusted and Trusted Domain. . . 8
![Types of System Program 119 Classification Compilation system Runtime system compiler assembler linker library Types of System Program (1/19) Classification Compilation system Runtime system compiler assembler linker library](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-9.jpg)
Types of System Program (1/19) Classification Compilation system Runtime system compiler assembler linker library debugger editor command shell utility loader file system window system scheduler IPC Operating system driver CPU buddy system Memory protocol stack Devices Hardware Consideration 9
![Types of System Program 219 Compilation system Concept High level Language C A Types of System Program (2/19) Compilation system: Concept High level Language C = A](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-10.jpg)
Types of System Program (2/19) Compilation system: Concept High level Language C = A + B; Assembly Language … movl 0 x 8049388, %eax addl 0 x 8049384, %eax movl %eax, 0 x 804946 c. . . Machine Language (Binary code) … 00 a 1 8893 0408 0305 8493 0408 00 a 3 6 c 94 0408 … 10
![Types of System Program 319 Compilation system Overall Editor Other Object File library Types of System Program (3/19) Compilation system: Overall Editor Other Object File & library](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-11.jpg)
Types of System Program (3/19) Compilation system: Overall Editor Other Object File & library C File Compiler ASM File Linker Error Msg Assembler Object File Input Data Debugger 11 Executable File (binary) Loader Results
![Types of System Program 419 Compilation system in Linux 12 Types of System Program (4/19) Compilation system: in Linux 12](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-12.jpg)
Types of System Program (4/19) Compilation system: in Linux 12
![Types of System Program 519 Compilation system details ü Location of collect 2 crt Types of System Program (5/19) Compilation system: details ü Location of collect 2, crt](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-13.jpg)
Types of System Program (5/19) Compilation system: details ü Location of collect 2, crt 1. o, … depend on gcc version What are the differences btw hello. c and hello. s? What are the differences btw hello. o and a. out? 13
![Types of System Program 619 Operating system structure process 1 process 2 process 3 Types of System Program (6/19) Operating system: structure process 1 process 2 process 3](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-14.jpg)
Types of System Program (6/19) Operating system: structure process 1 process 2 process 3 process n User Space System Call Interface File system Process Manager Ext 4 proc v. FAT LFS NTFS nfs Memory Manager Memory Management Task Management Scheduler Signaling Kernel Space Buffer Cache Device Manager block Network Manager character socket Ir. DA Console KBD SCSI CD-ROM PCI ethernet Ipv 6 Hardware Interface (HAL) dev 1 dev 2 dev 3 dev 4 devn (Source: Linux Kernel Internals) 14
![Types of System Program 719 Operating system resource manager OS CPU Disk 15 Memory Types of System Program (7/19) Operating system: resource manager OS CPU Disk 15 Memory](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-15.jpg)
Types of System Program (7/19) Operating system: resource manager OS CPU Disk 15 Memory
![Types of System Program 819 Operating system file creation file system vi test c Types of System Program (8/19) Operating system: file creation (file system) vi test. c](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-16.jpg)
Types of System Program (8/19) Operating system: file creation (file system) vi test. c int sum = 0; int main() { int i; for (i=0; i<10; i++) sum += i; printf(“%d”, sum); } OS inode CPU Disk 69 6 e 74 20. . . 16 Memory
![Types of System Program 919 Operating system compile vi test c a out int Types of System Program (9/19) Operating system: compile vi test. c a. out int](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-17.jpg)
Types of System Program (9/19) Operating system: compile vi test. c a. out int sum = 0; int main() { int i; for (i=0; i<10; i++) sum += i; compile printf(“%d”, sum); } . data. align 4. type sum, @object. size sum, 4. text. global main. type main, @func main: pushl %ebp … movl -4(%ebp), %eax addl %eax, sum … OS inode CPU Disk 69 6 e 74 20. . . 17 Memory
![Types of System Program 1019 Operating system running scheduler vi test c a out Types of System Program (10/19) Operating system: running (scheduler) vi test. c a. out](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-18.jpg)
Types of System Program (10/19) Operating system: running (scheduler) vi test. c a. out int sum = 0; int main() { int i; for (i=0; i<10; i++) sum += i; compile printf(“%d”, sum); } . data. align 4. type sum, @object. size sum, 4. text. global main. type main, @func main: pushl %ebp … movl -4(%ebp), %eax addl %eax, sum … execute OS inode CPU Disk 69 6 e 74 20. . . 18 Memory a. out converts from passive object to active object prev task CPU new task CPU
![Types of System Program 1119 Operating system loading virtual memory vi test c a Types of System Program (11/19) Operating system: loading (virtual memory) vi test. c a.](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-19.jpg)
Types of System Program (11/19) Operating system: loading (virtual memory) vi test. c a. out int sum = 0; int main() { int i; for (i=0; i<10; i++) sum += i; compile printf(“%d”, sum); } . data. align 4. type sum, @object. size sum, 4. text. global main. type main, @func main: pushl %ebp … movl -4(%ebp), %eax addl %eax, sum … execute a. out converts from passive object to active object prev task OS new task inode Disk 69 6 e 74 20. . . CPU Memory segment/page table To execute a. out, it needs to move from disk to memory Require memory management (When and where to load? ) 19
![Types of System Program 1219 Operating system summary ü Task manager CPU task Types of System Program (12/19) Operating system: summary ü Task manager: CPU § task](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-20.jpg)
Types of System Program (12/19) Operating system: summary ü Task manager: CPU § task manipulation, schedule, IPC, signal, context switch § fork, exec, wait, getpid, (pthread_create) , … ü Virtual Memory: Main memory § page, segment, address translation, buddy, LRU § brk, (malloc, free), … ü File system: Storage § file, directory, disk scheduling, FAT § open, read, write, mknod, pipe, (fopen, fwrite, printf), … ü Device driver: Device § IO port management, interrupt, DMA § open, read, write, ioctl, module, … ü Network protocol: Network § connection, routing, fragmentation § socket, bind, listen, send, receive, … 20
![Types of System Program 1319 Runtime system ü command ü file Types of System Program (13/19) Runtime system ü command § § § ü file](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-21.jpg)
Types of System Program (13/19) Runtime system ü command § § § ü file related: ls, more, cp, mkdir, cd, … task related: ps, kill, jobs, … utility: gcc, as, make, tar, patch, debugger, . . management: adduser, passwd, ifconfig, mount, fsck, shutdown, . . others: man, file, readelf, grep, wc, … shell § command interpreter § pipe, redirection, background processing, . . § shell script programming command user shell command processing 21
![Types of System Program 1419 Runtime system ü library A collection of functions Types of System Program (14/19) Runtime system ü library § A collection of functions,](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-22.jpg)
Types of System Program (14/19) Runtime system ü library § A collection of functions, invoked frequently by a lot of users § Most languages have standard libraries (also programmers can make their own custom libraries using ar, ranlib and libtool. ) § Relocatable objects User program Library functions printf() write() agent write() system call 22 user space kernel space
![Types of System Program 1519 Runtime system ü ü Windows Database Graphics Multimedia Web Types of System Program (15/19) Runtime system ü ü Windows, Database, Graphics, Multimedia, Web,](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-23.jpg)
Types of System Program (15/19) Runtime system ü ü Windows, Database, Graphics, Multimedia, Web, RPC, Protocol, . . . Services on u-kernel (RTOS) 23
![Types of System Program 1619 Hardware consideration organization task process program binary Source computer Types of System Program (16/19) Hardware consideration: organization task (process) program (binary) (Source: computer](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-24.jpg)
Types of System Program (16/19) Hardware consideration: organization task (process) program (binary) (Source: computer systems: a programmer perspective) execute hello program invoke printf() 24
![Types of System Program 1719 Hardware consideration Memory ü array programming example int a1000 Types of System Program (17/19) Hardware consideration: Memory ü array programming example int a[1000];](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-25.jpg)
Types of System Program (17/19) Hardware consideration: Memory ü array programming example int a[1000]; int i, j; . . for (i=0; i<1000; i++) for (j=0; j<1000; j++) a[i][j] ++; VS int a[1000]; int i, j; . . for (i=0; i<1000; i++) for (j=0; j<1000; j++) a[j][i] ++; 25
![Types of System Program 1819 Hardware consideration CPU ü assembly language example a Types of System Program (18/19) Hardware consideration: CPU ü assembly language example § a](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-26.jpg)
Types of System Program (18/19) Hardware consideration: CPU ü assembly language example § a = b + c; load add store b, eax c, eax, a VS add ü b, c, a Instruction execution (Source: W. Stalling, “Operating Systems: Internals and Design Principles”) 26
![Types of System Program 1919 Hardware consideration CPU ü Loop unrolling example void combine Types of System Program (19/19) Hardware consideration: CPU ü Loop unrolling example void combine](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-27.jpg)
Types of System Program (19/19) Hardware consideration: CPU ü Loop unrolling example void combine 4(vec_ptr v, data_t *dest) { int i; int length = vec_length(v); data_t *data = get_vec_start(v); data_t x = 0; } VS void combine 5(vec_ptr v, data_t *dest) { int i; int length = vec_length(v); data_t *data = get_vec_start(v); data_t x = 0; int limit = length – 2; for (i = 0; i < length; i++) { x = x + data[i]; } *dest = x; for (i = 0; i < limit; i += 3) { x = x + data[i] + data[i+1] + data[i+2]; } } for ( ; i < length; i++) { x = x + data[i]; } *dest = x; (Source: computer systems: a programmer perspective) 27
![Abstraction 19 Key of System Program Abstraction ü ü Abstraction is the process of Abstraction (1/9) Key of System Program: Abstraction ü ü Abstraction is the process of](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-28.jpg)
Abstraction (1/9) Key of System Program: Abstraction ü ü Abstraction is the process of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose. In computer science, abstraction tries to reduce and factor out details so that the programmer can focus on a few concepts at a time. A system can have several abstraction layers whereby different meanings and amounts of detail are exposed to the programmer. 28
![Abstraction 29 CPU HumanFriendly High Level Language ISA Instruction Set Architecture Compilation system 29 Abstraction (2/9) CPU Human-Friendly High Level Language (ISA: Instruction Set Architecture) Compilation system 29](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-29.jpg)
Abstraction (2/9) CPU Human-Friendly High Level Language (ISA: Instruction Set Architecture) Compilation system 29
![Abstraction 39 Multitasking task logical CPU Scheduler Physical CPUs 30 task logical CPU Abstraction (3/9) Multitasking task (logical CPU) Scheduler Physical CPUs 30 task (logical CPU) .](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-30.jpg)
Abstraction (3/9) Multitasking task (logical CPU) Scheduler Physical CPUs 30 task (logical CPU) . . .
![Abstraction 49 Memory management Relocatable Unlimited Memory Space virtual memory Fixed Limited Memory Space Abstraction (4/9) Memory management Relocatable Unlimited Memory Space virtual memory Fixed Limited Memory Space](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-31.jpg)
Abstraction (4/9) Memory management Relocatable Unlimited Memory Space virtual memory Fixed Limited Memory Space 31
![Abstraction 59 File system file system 32 Abstraction (5/9) File system file system 32](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-32.jpg)
Abstraction (5/9) File system file system 32
![Abstraction 69 Device driver Handle and IO STREAM open read write close device driver Abstraction (6/9) Device driver Handle and I/O STREAM (open, read, write, close) device driver](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-33.jpg)
Abstraction (6/9) Device driver Handle and I/O STREAM (open, read, write, close) device driver 33
![Abstraction 79 Data representation char float integer pointer data manipulation bits 34 Abstraction (7/9) Data representation char float integer pointer data manipulation bits 34 . .](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-34.jpg)
Abstraction (7/9) Data representation char float integer pointer data manipulation bits 34 . . .
![Abstraction 89 Security and reliability Secure and Trusted World security and faulttolerant system Real Abstraction (8/9) Security and reliability Secure and Trusted World security and fault-tolerant system Real](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-35.jpg)
Abstraction (8/9) Security and reliability Secure and Trusted World security and fault-tolerant system Real World 35
![Abstraction 99 Software layers Layered architecture application program library system call file system device Abstraction (9/9) Software layers (Layered architecture) application program library system call file system device](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-36.jpg)
Abstraction (9/9) Software layers (Layered architecture) application program library system call file system device driver device itself 36
![Importance of System Program 13 Extending the usage of computing Ubiquitous computing BYOD Importance of System Program (1/3) Extending the usage of computing (Ubiquitous computing, BYOD, …)](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-37.jpg)
Importance of System Program (1/3) Extending the usage of computing (Ubiquitous computing, BYOD, …) 37
![Importance of System Program 23 New Emerging HW ü New HCI Wearable computer LBS Importance of System Program (2/3) New Emerging H/W ü New HCI, Wearable computer, LBS](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-38.jpg)
Importance of System Program (2/3) New Emerging H/W ü New HCI, Wearable computer, LBS New Emerging S/W ü Virtual reality, Augmented reality, TUI 38
![Importance of System Program 33 Compact Flash Storage Card Internals HOST PCMCIAATA Interface ARM Importance of System Program (3/3) Compact Flash Storage Card Internals HOST PCMCIA-ATA Interface ARM](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-39.jpg)
Importance of System Program (3/3) Compact Flash Storage Card Internals HOST PCMCIA-ATA Interface ARM SRAM NOR core 16 KB 48 KB DMA 0/1 Flash Controller Data IN/OUT Control NAND Flash Memory (32 Mb-256 Mb) Knowledge about how HW and SW are cooperated becomes indispensable in recent computing industry (HW/SW Co-design) 39
![Summary Definition of System Program ü ü Supporting computing environments Managing hardware directly 3 Summary Definition of System Program ü ü Supporting computing environments Managing hardware directly 3](https://slidetodoc.com/presentation_image_h/8ee1bf1394f672319bb77f98517a4ef5/image-40.jpg)
Summary Definition of System Program ü ü Supporting computing environments Managing hardware directly 3 Types of System Program ü ü Compilation system, operating system, runtime system Hardware consideration Concept of Abstraction ü ü Information hiding Layered architecture Homework 1: Read the chapter 1, “A Tour of Computer Systems”, from the beginning to the Section 1. 4 (1. 1 ~ 1. 4). ü Requirement : Summary (2~5 page), What is the purpose of studying System Programming? (1 page) ü Deadline: The same day in the next week. ü Caution: Do not copy!! ü Bonus: Discuss about “process, thread, virtual memory and file”, after reading carefully the Section 1. 7 (at most 2 pages) 40
System programming definition
Perbedaan linear programming dan integer programming
Greedy vs dynamic
Linear vs integer programming
Definisi integer
Python chapter 5
Cj-zj meaning
Headless horn clause
Chapter 16 programming language
Qm for windows linear programming
Computer programming chapter 1
Chapter 1 introduction to computers and programming
Chapter 1 introduction to computers and programming
Computer programming chapter 1
Chapter 8 linear programming applications solutions
Chapter 2 elementary programming
Chapter 16 programming language
Chapter 1 introduction to computers and programming
What is imperative statement in assembly language
Design of two pass assembler
General loader scheme
Pass structure of assemblers
Programming raster display system in computer graphics
Windows ascii characters
Comp 40
Windows system programming
Write the format of mot in system programming
Imperative statement in assembly language
Sic programming examples
System programming
Mithun subramaniam
System programming
System application programming
Semantic gap in system programming
Debug monitor in system programming
Is the earth a closed system
Respiratory system circulatory system digestive system
The red tent summary
Gatsby chapter 8
Chapter 10 chapter assessment chemical reactions answers
Chapter 11 stoichiometry test answer key