[운영체제] 스레드
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 스레드와 동기화프로세스와 스레드의 기본 개념프로세스실행 중인 프로그램의 인스턴스리소스 소유권의 단위이며 스케줄링/실행의 단위메모리, I/O 채널, I/O 장치, 파일 등의 리소스를 소유스레드프로세스 내의 실행 단위동일한 프로세스 내의 다른 스레드와 리소스를 공유경량 프로세스(lightweight process)라고도 불림멀티스레딩의 이점1. 응답성 향상프로그램의 일부가 블록되어도 계속 실행 가능I/O와 연산을 동시에 수행 가능RPC(원격 프로시저 호출) 등에서 동시 응답 처리 가능2. 리소스 공유와 비용 절감새로운 PCB 생성이 불필요프로세스 간 전환보다 스레드 간 전환이 빠름동일 프로세스 내 스레드들은 메모리를 통해 직접 통신 가능3. 병렬 처리멀티코..
[운영체제] 프로세스 스케줄링
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 프로세스 스케줄링1. CPU 버스트와 I/O 버스트CPU 버스트: CPU가 작업을 실행하는 데 걸리는 시간I/O 버스트: CPU가 I/O를 대기하는 데 걸리는 시간CPU - I/O 버스트 주기: 각 프로세스 실행은 CPU 실행 및 I/O 대기 주기로 구성프로세스 유형에 따라 CPU 및 I/O 버스트가 변경될 수 있음.(a) CPU 기반: 긴 CPU 버스트 후 I/O 차단(b) I/O 기반: 짧은 CPU 버스트 후 I/O 차단2. 프로세서 스케줄링의 목적프로세서를 시스템 목표를 충족하는 방식으로 실행할 프로세스를 할당.3. 프로세서 스케줄링의 유형장기 스케줄링: 새로운 프로세스를 시스템에 진입시킬지 결정.중기 스케줄링: 멀티프로그래밍 정도를 제어하고 프로..
[운영체제] 프로세스 관리
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 실행 모드대부분의 프로세서는 두 가지 이상의 실행 모드를 지원모드연산자메모리CPU 레지스터커널(시스템)모든 연산자 실행모든 곳 접근모든 레지스터 접근유저연산자 특권 없음내 메모리 영역만특수 레지스터 없음모드 스위치모드 스위치는 현재 실행 중인 프로세스의 상태를 변경하지 않고 사용자 모드와 커널 모드 간에 프로세서를 전환할 수 있다.이 과정에는 모드 컨텍스트 저장/복원에 따른 오버헤드가 포함됨.인터럽트비동기적인 외부 예외트랩현재 명령어 실행시스템 호출요청에 의해모드 스위치의 주요 원인인터럽트: 비동기적인 외부 예외트랩: 현재 명령어 실행 중 발생시스템 호출: 프로그램의 요청에 의해 발생프로세스 컨텍스트와 인터럽트 컨텍스트프로세스 컨텍스트: 프로그램이 시스..
[운영체제] 프로세스
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.)프로그램과 프로세스프로그램: 디스크에 저장된 수동적인 엔티티(binary sequence)프로세스: 실행 중인 액티브 엔티티(execution sequence)프로세스의 구성 요소프로그램 코드: 실행될 명령어 집합관련 데이터 세트: 프로그램 실행에 필요한 데이터동적 저장공간 할당스택(Stack): 함수 호출 시 리턴 주소와 지역 변수를 저장 (LIFO 구조)힙(Heap): 동적 메모리 할당을 위해 사용실행 순서와 스택 구조스택 구조스택 포인터(Stack Pointer): 스택 최상단 원소의 주소스택 베이스(Stack Base): 스택 최하단 원소의 주소스택 리미트(Stack Limit): 스택 최대 크기 제한함수 호출 시 동작함수 호출 시 리턴 주소를 스..
[운영체제] 오퍼레이팅 시스템 개요
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.)운영 체제 (Operating System)운영 체제는 컴퓨터 하드웨어와 응용 프로그램을 연결하는 프로그램으로,시스템 리소스를 동적으로 관리하고, 메모리 및 프로세스 스케줄링과 같은 작업을 수행합니다.운영 체제의 주요 목표편리성: 사용자가 시스템을 쉽게 사용할 수 있도록 함.효율성: 시스템 자원을 최대한 활용.발전성: 새로운 하드웨어 및 서비스에 적응할 수 있는 능력.운영 체제의 역할사용자와 컴퓨터 간 인터페이스 제공프로그램 생성, 파일 관리, I/O 장치 제어를 지원.프로그래머로부터 하드웨어 세부 정보를 마스킹.자원 관리자로서의 역할데이터 이동, 저장, 처리 등을 위한 자원을 관리.CPU 및 기타 시스템 리소스의 사용 타이밍을 조율.운영 체제의 진화운영..