반응형 CS 지식/운영체제 (OS)6 [운영체제] OS의 스케쥴링의 방식과 멀티레벨 스케쥴링, 스레드 스케쥴링 (PCS, SCS) - CPU Scheduling CPU SchedulingCPU가 실행할 프로세스를 선택하는 행위를 CPU 스케줄링이라고 한다.Basic ConceptsCPU가 놀지 않고 효율을 극대화하기 위해 스케줄링 알고리즘이 필요하다.레디 큐(ready queue) 에 여러 프로세스가 대기 중일 때(멀티프로그래밍 환경에서) 의미가 있다.Instruction CycleCPU executionI/O wait : 이때 CPU는 사용되지 않음프로세스는 CPU burst → I/O burst → ... 형태로 번갈아가며 수행된다.이때 CPU burst의 분배가 스케줄링의 핵심이다.CPU SchedulerShort-term Scheduler레디 큐에서 실행할 프로세스를 선택하고, CPU 실행 권한을 부여한다.프로세스 상태 변화에 따라 스케줄러가 작동하는 경.. 2025. 4. 15. [운영체제] OS의 스레드 종류(User, Kernel)와 관련 아키텍처 소개 운영체제 스레드 (Threads)Multithreaded Server 아키텍처서버는 accept()라는 블로킹 함수를 실행해서 대기하다가, 요청을 받으면 소켓을 할당을 해서 read()라는 블로킹 함수로 읽을 수 있다. 서버는 클라이언트 연결요청을 기다린다. 클라이언트가 보낸 요청을 읽어서 수행한다.request는 이미 연결이 성공 후 보내는 것이다.서버는 read()함수를 이용해서 서버가 처리를 해준다. → task → 별도의 스레드로 테스크를 할당한다.accept(), read()는 동시에 처리해도(순서가 지켜지지 않아도) 되므로 메인 스레드는 항상 accept()하면서 concurrent하게 진행이 된다.장점Responsiveness: 프로세스의 일부가 block 되더라도 다른 task는 진행된다... 2025. 4. 13. [운영체제] OS의 프로세스(Process)의 개념과 구조, IPC 매커니즘 프로세스같은 프로그램을 실행하는 프로세스는 여러 개 있을 수 있다.프로그램의 종류Batch System: JobsTime Shared System: User Programs, TasksJob = Process프로세스는 실행 중인 프로그램이다.하나의 프로세스 실행은 순차적으로 진행되며, 레디 큐(Ready Queue)에 들어가 선택될 때까지 대기한다.프로세스의 내부 구성프로그램 코드: 텍스트 영역CPU 레지스터: 현재 프로세스의 실행 정보 (PC: 다음 명령 주소)Stack: 임시 데이터를 저장하는 공간 (액티베이션 레코드 포함)함수 파라미터, 반환값, 로컬 변수 포함Data Section: 전역 변수 및 static 변수Heap: 프로세스 종료 시까지 유지, 동적 메모리 할당 (malloc 등 시스템 콜.. 2025. 4. 13. [운영체제] OS의 구조와 서비스 종류 소개, 시스템 프로그램과 시스템 콜 소개 OS의 전체적인 구조 Hardware (하드웨어)컴퓨터의 물리적 자원 (CPU, 메모리, I/O 장치 등Operating System (운영체제)하드웨어와 사용자 프로그램 사이의 중개자 역할 수행Services (운영체제가 제공하는 기능)이 글에서 다루는 운영체제의 서비스(기능)으로 아래에 기술하겠다.System Calls (시스템 콜)사용자 프로그램이 운영체제의 기능을 요청하는 인터페이스예: open(), read(), write(), fork(), exec() 등User Interfaces (사용자 인터페이스)GUI (Graphical User Interface): 그래픽 기반 인터페이스Batch: 명령어 집합을 자동으로 실행Command Line: 텍스트 명령어를 통해 시스템과 상호작용User an.. 2025. 4. 13. [운영체제] OS의 듀얼모드와 작업(Operations)의 종류와 관리 기능 소개 OS의 OperationsInterrupt-driven운영체제는 비동기적인 이벤트를 감지하고 처리하기 위해 interrupt-driven 방식으로 동작한다.하드웨어 인터럽트: I/O 디바이스 작업 완료 시 발생소프트웨어 인터럽트 (trap, exception):오류: 0으로 나누기, 다른 프로세스의 메모리 접근 등 → 강제 종료시스템 콜 함수 호출: 앱이 직접 리소스를 접근하지 않고 OS를 통해 요청Dual-mode Operation운영체제는 모드를 전환하며 동작함으로써 자기 자신을 보호한다.User mode: 사용자 프로세스를 실행하는 모드. 사용자가 접근 가능한 리소스에 한정된 작업 수행Kernel mode: 시스템 콜이나 하드웨어 제어 등 privileged operation 수행Mode bit0:.. 2025. 4. 13. [운영체제] OS의 개념과 구조, 컴퓨터 시스템 아키텍처 소개 운영체제란?운영체제는 실행되는 프로그램이다. OS도 실행되는 프로그램이며, 일반적인 응용프로그램과는 논리적인 위치 관계에서 차이가 있다.OS는 사용자와 하드웨어 사이에 위치하여 다음과 같은 역할을 수행한다.리소스 할당자: 시스템 리소스를 사용자 및 프로세스에게 효율적으로 할당한다.제어 프로그램: 애플리케이션의 실행을 제어하며, 비정상적인 리소스 사용을 방지한다. (예: 프로그램 강제 종료)운영체제가 하고자 하는 바사용자 프로그램을 실행시킨다. 즉, OS 위에서 동작한다.컴퓨터 시스템 리소스를 쉽게 사용할 수 있도록 돕는다.자원(Resource) 관리: 운영체제의 핵심 기능 중 하나이다.리소스를 관리해주는 OS응용프로그램이 직접 리소스에 접근하지 않고, 반드시 OS를 통해 요청하도록 설계된다.만약 OS가.. 2025. 4. 13. 이전 1 다음