해당 글은
경희대학교 조진성, 허선영 교수님의 강의 자료 및 내용을 정리한 글입니다
개인적으로 공부하며 작성된 글이라 잘못된 부분이 있을 수 있습니다!
오류가 있다면 알려주세요
운영체제란?
- 제한된 하드웨어 자원을 효율적으로 관리하며 프로그램을 돌릴 수 있도록 해주는 소프트웨어
- User와 Computer Hardaware 간의 중간지점
- Convenience
- Efficiency
Computer System Orgranization
▶Central Processing Unit(CPU)
- Program Counter(PC)에 있는 명령어를 읽어서 Instruction Register(IR)에 넣고 해당 명령어를 수행하는 기계!
- 해당 동작을 매우 빠르게 수행함
Von Neumann architecture
- [CPU]-[Memory]로, Memory내에 Data와 Instruction(code)를 함께 저장함
- 메모리로부터 Instruction을 읽어와, Instruction Register(IR)에서 실행하게 됨
↓ PC, IR이 뭔가요? ↓
더보기

컴퓨터 하드웨어의 구조

CPU 구조
‣ ALU(Arithmetic Logic Unit): 산술 연산, 논리 연산자 수행
- PC(Program Counter): 수행해야 할 명령어가 있는 주소값을 저장함
- IR(Instruction Register): 저장된 주소값에서 명령어를 가져옴
‣ CU(Control Unit): return, goto 처리
- SP(Stack Pointer): 메모리 프로세스의 동작 중, stack 정보를 저장함
- PSW(Process Status Word): 프로세스의 상태 값(wait, ready, running…) 저장
‣ MMU(Memeory Management Unit): 메모리의 효율적 관리를 위한 하드웨어적 처리
- General purpose register: 범용으로 사용 가능. I/O device를 control하며 임시로 데이터를 저장함
▶Storage Hierarchy
- 하위로 갈수록 Cost가 싸고, 용량이 커짐
- Speed, Cost, Volatility
운영제체의 역할
User와 Computer Hardaware 간의 Intermediary!
- Process management: 하나의 CPU로 여러가지 프로그램 수행하기
- Process synchronization: 프로세서의 Crirical Section 관리하기
- Memory management:
- Stroage managerment
- File system: HDD, SDD에 존재하는 파일을 관리
- System call: 사용자 프로그램이 하드웨어의 동작을 구체적으로 알지 못해도 OK. 인터페이스 제공
▶Process Management
- Process: 일의 단위
- 각 프로세스의 Lifetime을 관리함
↓ Thread는 무엇인가요? ↓
더보기

CPU단에서 효율적으로 관리하기 위한 데이터 구조

CPU단에서 효율적으로 관리하기 위한 데이터 구조
- Process Scheduling: 프로세서에 프로세스들을 어떻게 할당할까요?
- First-Come, First Served Scheduling
- Round-Robin Scheduling
- Shortest-Job-First Scheduling
- Priority Scheduling
- Multi-level Queue Scheduling
▶Process Synchronization
- 각 프로세서는 Critical section이라는 코드 섹션을 가짐
- 이는 다른 프로세서와 공유되어, 접근 가능하고 변경될 수 있는 data를 의미함
▶Memory Management
- argc, argv Parameter→ OS의 명령 프롬프트를 이용해 인자를 전달, 작동하도록 함
- Variable→ Stack단에 저장
- Dynamic allocation→ Heap단에 저장
- Code→ text단에 저장
▶Storage Management
- 서로 다른 물리적 특성을 가진 Storage device
- I/O operation을 어떻게 Schedule할까?
- OS는 storage device의 물리적 특성을 추상화함
- OS는 CPU 명령어를 통해서 I/O를 I/O Controller에게 요청함
- File이란, 논리적인 storage unit
따라서 요약하자면,
- 운영체제는 논리적인 구조를 제공함
- Process/Thread
- File/Directory
- 운영체제는 하드웨어를 fully하게 활용할 수 있게 노력함
- Process scheduling
- I/O scheduling
- 편리(convenience)와 효율(efficiency)를 위함!
'STUDY > 운영체제' 카테고리의 다른 글
[OS] Chap06. Synchronization Tools (0) | 2023.10.16 |
---|---|
[OS] Chap05. CPU Scheduling (0) | 2023.10.10 |
[OS] Chap04. Thread & Concurrency (0) | 2023.10.10 |
[OS] Chap03. Processes (0) | 2023.10.05 |
[OS] Chap02. Operating System Structures (0) | 2023.10.05 |