BKJang / do-you-know-backend

๐Ÿ–ฅ This repository contains contents about overall knowledge of backend
https://bkjang.github.io/do-you-know-backend
2 stars 0 forks source link

Introduction #1

Open BKJang opened 4 years ago

BKJang commented 4 years ago

๐Ÿ™ Reference

BKJang commented 4 years ago

Introduction

Computer System์€ ์„ธ ๊ฐ€์ง€ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

System์ด๋‚˜ Application์ด๋‚˜ ๋‘˜ ๋‹ค Software์ง€๋งŒ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” ๋ญ˜๊นŒ?

Application vs System vs Hardware

System์ด ํ•„์š”ํ•œ ์ด์œ ?


Hardware

Processor

ControlUnit: Head๋ฅผ ์›€์ง์ด๋Š” ์—ญํ• 

ALU: Turing Machine์˜ Head๊ฐ€ ์–ด๋””๋กœ ์›€์งˆ์ผ์ง€๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ์—ญํ• 

Main Memory(RAM, Random Access Memory) - Primary Storage

Processor์™€ Main Memory

I/O => Storage - Secondary Storage

Storage Device Hierarchy

Primary

Secondary

Tertiary

Processor์™€ I/O

Interrupts

Life of Interrupts

System Bus


How can we print out "Hello World" with single line?

  1. CPU moves program from storage to main memory.
  2. CPU commands a serial device to print out a chracter.
  3. Serial Device๋Š” ๋ฌธ์ž๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ทธ ๋‹ค์Œ ๋ฌธ์ž๋ฅผ CPU์—๊ฒŒ ์š”์ฒญ.

DMA(Dynamic Memory Access)


Single-Processor System

Multi-Processor System

Multi-Core System

NUMA(Non-Uniform Memory Access)

Clustered System

Today's Computer System


System

Life of Operating System (Boot Sequence)

  1. Initialize primary CPU and other components in processor
  2. Set up system components to operates computer
  3. Wake secondary CPUs and initialize devices (ex. DMA ์ดˆ๊ธฐํ™”)
  4. Execute system programs(daemon) and become idle
  5. OS Waiting for any events to occur

Execution of Application Software

  1. Program initially is stored in storage device
  2. Load progream into main memory
  3. Execute code of program line by line

Process

  1. Active instance of program in execution
  2. Use computer resources to perform its tasks
  3. What if process becomes idle?

Multiprogramming

Multitasking

Multimode Operation

Scenario of Multimode Operation

Today's Operating System(POSIX Standard๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ)