OS Keyword 1

9yur1·2022년 5월 3일
0

🍊 OS

목록 보기
1/1

Keyword Game

키워드만 보면 바로바로 의미가 떠오르는 것이 목표!
OS의 매우 기본적인 키워드만 정리한 것이며, 배운 위치까지의 키워드만 일단 정리함.
최대한 간단한 설명으로 작성할 것이며, 여러번 봐야 의미가 있음.

1. 운영체제란?

  • OS는 HW를 관리해주는 SW

2. 운영체제는 어떻게 HW를 관리하는가?

  • 어플리케이션이 컴퓨터 HW를 잘 몰라도 효율적인 사용이 가능하도록 인터페이스 제공
  • 여러 어플리케이션이 효율적으로 분리해서 CPU 자원을 나눠 쓸수 있도록 해줌. (제한된 컴퓨터 자원을 효율적으로 나눠 쓰게 해줌.)

3. 커널

  • 파일 시스템을 제외하고 컴퓨터가 부팅될 때 메모리로 항상 로드 되어 수행중인 SW

4. Caching

  • 메모리에 바로 접근하기 전에 캐시에 먼저 기록해두는 개념. 한번 메모리에서 읽었던 것이 또 읽혀질 확률이 높기 때문에 그런 내용들을 캐시에 먼저 기록해두고 좀 더 빠르게 읽기 위해서 사용.

5. CPU

  • 레지스터들로 구성되어 있고 저장 되어 있는 instruction을 읽고 바로바로 수행하는 HW

6. Interrupt

  • IO 장치가 CPU한테 이벤트가 발생했다는 것을 알려주는 것. Interrupt를 받은 CPU는 하던 일을 멈추고 그 작업을 수행함.

7. Exception

  • CPU가 자기 자신한테 직접 거는 Interrupt.

8. DMA (Data Transfer Modes in I/O)

  • 바로 메모리에 입력하는 것.

9. Protection

  • I/O Protection : 특정 장치가 I/O 장치를 독점하는 것을 막고, OS가 직접 관리해줌. 즉, 결국 CPU가 Dual-Mode Operation이 가능해야함. (OS와 APP을 나눠준 개념)
  • Memory Protection : 메모리를 쓸만큼만 할당해 주는 것.
  • CPU Protection : Timer 개념이 중요. 주기적으로 CPU에 Interrupt를 걸어줌. 특정 프로그램이 CPU를 독점하고 있으면 안되므로 -> 스케줄링

10. User mode / Monitor mode

  • User 모드는 사용자가 수행하는 모드이고 Monitor 모드는 OS가 수행하는 모드.

11. User mode

  • 응용 프로그램이 CPU를 쓸 때 사용하는 mode

12. Kernel mode

  • OS가 CPU를 쓸 때 사용하는 mode

13. System call

  • OS가 만들어놓은 함수를 호출 (OS와 APP간의 인터페이스라고 생각하면 됨.)

14. MainFrame System(Batch system)

15. Multitasking

  • 하나의 프로세서 상에서 OS의 스케줄링 방식에 따라 조금씩 번갈아가면서 수행되는 것이 멀티태스킹의 개념. 빠른 속도로 번갈아 가며 task들을 처리하는데 유저는 이를 동시 작업 처럼 느낀다. 그래서 사실상의 멀티태스킹은 여러가지 일이 한번에 처리되는 것이 아니라, 빠른 속도로 번갈아 작업중인 과정이다.
  • 예 : 유튜브로 음악을 들으며 워드 문서를 작성중인 경우.

Multitasking의 스케줄링 방식

  • 멀티프로그래밍 방식(Multi-programming)
  • 시분할 방식(Time-sharing)
  • 실시간 시스템 방식(Real-time)

Multitasking의 종류

  • 비선점형(Non-preemptive) 멀티태스킹
  • 선점형(Preemptive) 멀티태스킹

16. Virtual Machine

  • 물리적인 컴퓨터 안에서 새로운 OS나 새로운 플랫폼을 만들어서 가상으로 돌아가게끔 해주는 것. (예 : JVM)

17. Process

  • 프로그램이 실행될 때 생성되는 것. (실행중인 프로그램을 의미)

18. Process state

19. Context Switching

  • 현재 진행하고 있는 Task (Process, Thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽어 적용하는 과정.
  • Context : CPU에 존재하는 레지스터들
  • Context Switching을 하는 이유
    • CPU 낭비를 막기 위해. (작업이 끝나면 OS가 다른 작업을 수행하도록 해주는 것)
    • Time Sharing을 위해서 (독점 방지)
    • 문제가 생기면 그 문제를 해결하기 위해

20. 스케줄링

  • OS가 작업을 효율적으로 할 수 있게끔 해주는 작업. 시스템이 실행할 때 프로세스를 프로그램들에 할당하는 과정.
profile
Best results with extreme efficiency

0개의 댓글