해당 글은 경희대학교 조진성, 허선영 교수님의 강의 자료 및 내용을 정리한 글입니다 개인적으로 공부하며 작성된 글이라 잘못된 부분이 있을 수 있습니다! 오류가 있다면 알려주세요 Basic Concepts Multi-programming이란 동시에 여러 program을 돌리는 것을 의미한다. 이때 CPU Utilization을 최대화하기 위해서 OS는 Kernel-level thread를 scheduled한다. 항상 명령어만이 돌아가며 CPU를 사용하는 것이 아니다! CPU 명령어 수행과 I/O 실행 시간이 반복(Cycle)되며 프로세스는 실행된다. I/O brust 동안은 CPU를 사용하지 못하고, Process는 waiting 상태이다 각 Process마다 유형이 다르며, CPU-bound proces..
OS
해당 글은 경희대학교 조진성, 허선영 교수님의 강의 자료 및 내용을 정리한 글입니다 개인적으로 공부하며 작성된 글이라 잘못된 부분이 있을 수 있습니다! 오류가 있다면 알려주세요 Thread ↓ Process 는? ↓ 더보기 Heavy-weight address space, OS resources, Hardware execution state 등을 포함하기 때문에 새로운 process를 생성하는 것은 costly한 작업이다! 또한 여러 Process가 데이터를 공유하는 경우 massage passing, shared memory를 사용하는데 이는 구현 및 관리가 여럽고, process 사이의 context-switching이 계속해서 발생하면 성능 저하가 일어나는 문제점을 가진다. Thread는 LWP(L..
해당 글은 경희대학교 조진성, 허선영 교수님의 강의 자료 및 내용을 정리한 글입니다 개인적으로 공부하며 작성된 글이라 잘못된 부분이 있을 수 있습니다! 오류가 있다면 알려주세요 Process Program 프로그램이란, Disk에 저장된 파일과 같은 Passive entity Process 실행 중인 프로그램. 메모리에 로드된 프로그램의 인스턴스 program counter와 연관된 리소스의 집합을 가진 Active entity Disk에서 binary file 형태의 프로그램을 실행함 Main memory로 program code가 올라감. 이는 Byte array CPU가 이를 처리하게 됨 이때, CPU-memory 간의 처리는 느리다 따라서 일부를 Cache하여, 복사하여 처리하는 방식임 ▶Proc..
해당 글은 경희대학교 조진성, 허선영 교수님의 강의 자료 및 내용을 정리한 글입니다 개인적으로 공부하며 작성된 글이라 잘못된 부분이 있을 수 있습니다! 오류가 있다면 알려주세요 OS는 User와 Hardware 사이의 중간자 역할! User → OS → Hardware의 구체적인 상호작용이 어떻게 이루어질까? Computer System Organization ▶Device Controller device type에 따라서 device controller는 달라짐 OS는 각 device controller마다 해당하는 device driver를 가짐 Shared memory에 접근하기 위해 연결된 Common bus Interrupts OS-Hardware는 Interrupts를 통해 상호작용함! Dev..