[OS]우선순위
·
CS/운영체제
프로세스 우선순위커널 프로세스는 일반 프로세스보다 우선순위가 높다.우선순위가 높을수록 더 빠르게, 더 자주 실행된다.우선순위가 높은 프로세스는 CPU를 먼저, 더 오래 점유한다.시스템에 따라 숫자가 클수록 우선순위가 높거나, 반대로 작을수록 높은 우선순위를 나타내는 경우도 있다.사용자는 프로세스의 우선순위를 조절할 수 있지만, 일반 사용자는 낮추는 것만 가능하고, 우선순위를 높이는 것은 관리자 권한이 있어야 가능하다.하나의 프로세스 우선순위를 높이면, 다른 프로세스의 작업에 지장이 생길 수 있다.CPU 집중 프로세스(CPU Intensive)CPU burst 시간이 긴 프로세스를 말한다. CPU Burst는 CPU가 집중적으로 명령어를 처리하는 시간 구간이다.이들은 실행 중 CPU 사용률이 매우 높으며 ..
[OS]스케줄링
·
CS/운영체제
CPU 스케줄링이란개념CPU 스케줄링은 프로세스에게 CPU를 할당하는 일정을 결정하고 실행하는 과정을 의미한다.운영체제는 동시에 여러 프로세스를 처리해야 하므로, CPU 스케줄러는 마치 레스토랑의 관리자처럼 다양한 상황을 고려하여 CPU 및 기타 시스템 자원을 적절히 배정하는 역할을 수행한다.스케줄링 정책정해진 시간 단위(time slice, time slot)마다 CPU를 점유할 프로세스를 결정한다.다양한 요소를 고려하여 다음에 실행할 프로세스를 선택한다.고려해야 할 요소들최대의 처리량(Throughput): CPU 활용도를 극대화한다.최소 지연 시간(Latency): 프로세스가 빠르게 응답하도록 한다.무기한 연기 방지(Starvation Prevention): 특정 프로세스가 계속 기다리는 현상을 해..
[Linux]chmod
·
CS/운영체제
chmod 명령어란chmod(change mode)는 파일이나 디렉토리의 권한을 변경하는 리눅스 명령어다. 이 명령어를 사용하여 파일과 디렉토리의 접근 권한을 설정하고, 누가 파일을 읽거나 쓸 수 있는지 또는 실행할 수 있는지를 결정할 수 있다.권한 숫자의 계산 방법리눅스에서는 파일의 권한을 3자리 숫자로 표현하며, 각 자리는 3개의 권한(읽기, 쓰기, 실행)을 더한 값이다. 각 권한의 값은 다음과 같다.권한기호숫자읽기r4쓰기w2실행x1chmod 777의 의미chmod 777은 파일이나 디렉토리에 모든 사용자(소유자, 그룹, 기타 사용자)가 읽기(r), 쓰기(w), 실행(x) 권한을 가지도록 설정하는 명령어다.소유자(owner) 권한: 4(읽기) + 2(쓰기) + 1(실행) = 7(rwx)그룹(group..
[OS]멀티 스레드 모델
·
CS/운영체제
사용자 스레드(User Thread)정의사용자가 만든 스레드로, 운영 체제의 커널이 직접 관리하지 않는다. 여러 개의 스레드가 하나의 프로세스에 연결된다. 이때 1 to N 모델을 따른다.특징스레드가 문맥 교환 없이 직접 실행된다.커널이 관여하지 않아서 빠르지만, 입출력 대기(예: 파일 읽기/쓰기) 중에는 다른 스레드가 실행되지 않는다.멀티코어 환경에서는 CPU 자원을 효율적으로 활용할 수 없다.단점입출력 대기 중 다른 작업을 할 수 없어서 성능 저하가 있을 수 있다.멀티코어 시스템에서는 CPU 활용도가 낮다.커널 스레드(Kernel Thread)정의커널이 직접 관리하는 스레드로, 하나의 사용자 스레드가 하나의 커널 스레드와 연결된다. 1 to 1 모델을 따른다.특징각 스레드가 독립적으로 스케줄링 되어,..
[OS]멀티 태스크, 멀티 스레드, 멀티 프로세싱
·
CS/운영체제
멀티 태스크(Multi-tasking)/멀티 프로세스(Multi-Process)정의: 여러 개의 프로세스를 사용해 하나의 업무를 처리하는 방식이다.필요 기술: 프로세스 간 통신(IPC, Inter-Process Communication) 기술이 필요하다.특징: 각 프로세스는 독립적으로 실행되며, 운영체제가 프로세스에 CPU 시간을 나누어 배분한다.멀티 스레드(Multi-threading)정의: 하나의 프로세스 내에서 여러 개의 스레드가 작업을 분할하여 실행하는 방식이다.공유 자원: 스레드들이 전역 메모리와 자원을 공유하기 때문에 빠른 작업 처리가 가능하다.특징: 프로세스 내 여러 작업을 동시에 처리하며, 멀티 태스크에 비해 자원 사용이 효율적이다.멀티 프로세싱(Multi-processing)정의: 여러 ..
[OS]스레드(thread)
·
CS/운영체제
스레드의 정의CPU 스케줄러가 CPU에 전달하는 가장 작은 작업 단위이다.CPU가 처리하는 최소 단위로, 하나의 프로세스 내부에서 여러 스레드가 실행될 수 있다.프로세스의 최소 단위로, 여러 스레드는 동일한 프로세스 내에서 메모리 자원 등을 공유한다.프로세스와 스레드의 차이프로세스: 작업 단위로 운영체제에서 관리되는 실행 단위, 여러 프로세스가 동시에 실행될 수 있다.스레드: 프로세스 내에서 실제로 작업을 수행하는 실행 단위, 하나의 프로세스는 여러 스레드를 포함할 수 있다.예시로 보는 차이요리사 모형으로 예로 들어보면 프로세스는 각각의 요리(task)로 생각할 수 있다. 예를 들어, 스프, 스테이크, 디저트 등 각기 다른 요리가 독립적으로 준비된다.스레드는 각 요리를 준비하는 과정에서 발생하는 세부 작..