실행할 프로그램에 필요한 자원(장치)을 할당하고프로그램이 올바르게 실행되도록 돕는 프로그램이다.컴퓨터를 부팅하면 메모리 내 커널영역 이라는 공간에 운영체제가 적재된다.운영체제는 나머지 영역(사용자 영역)에 프로그램들을 적재하고 삭제한다. 또 CPU와 입출력장치 같은 자
보조기억장치에 있는 프로그램 데이터를 메모리에 적재하고 실행하면 프로세스가 된다프로세스와 관련된 정보를 저장하는 자료 구조커널 영역에 저장된다.번갈아 수행되는 프로세스의 실행순서를 관리하고 자원을 배부하기 위해 이용한다.프로세스 생성 시 만들어지고 실행이 끝나면 폐기된
프로세스는 여러 상태를 거치면서 실행된다.프로세스는 실행 중 시스템 호출을 통해 자식 프로세스를 생성할 수 있다.
multiprocessing 모듈을 사용해 파이썬으로 멀티 프로세싱을 사용해볼 수 있다.먼저 실행할 함수와 파라미터를 지정해주고 Process 객체의 인스턴스를 생성한다.start() 메서드를 사용하면 해당 프로세스를 실행할 수 있다.프로세스가 동시에 실행돼서 섞여서
프로세스를 구성하는 실행 흐름 단위하나의 프로세스는 여러 개의 스레드를 가질 수 있다.각 스레드는 최소한의 정보만 유지한 채, 프로세스 영역을 공유하며 실행된다.멀티 프로세스 : 여러 프로세스를 동시에 실행멀티 스레드 : 여러 스레드로 한 프로세스를 동시에 실행멀티 프
프로세스들에게 합리적으로 CPU 자원을 분배하는 작업운영체제는 프로세스마다 중요도에 맞는 우선순위를 부여한다.대부분의 프로세스는 CPU와 입출력장치를 모두 사용한다.프로세스마다 CPU / 입출력장치 사용 비중이 다르다. 입출력 집중 프로세스는 입출력 대기 상태에 더 많
큐에 삽입된 순서대로 처리호위 효과 : CPU를 오래 사용하는 프로세스 때문에 뒤에 프로세스들이 계속 기다려야 함사용시간이 짧은 순서대로 처리 (비선점형)선입선출 스케줄링에 타임 슬라이스 적용삽입된 순서대로 CPU를 이용하다가 정해진 시간이 지나면 맨뒤로 (2와 3을
동시다발적으로 실행되는 프로세스들은 서로 데이터를 주고받고 영향을 주면서 협력하게 된다.이 프로세스들은 아무렇게나 실행되면 문제가 생길 수 있으므로, 프로세스끼리 실행 시기를 조율해야한다.이 과정을 동기화 라고 하는데, 주로 조율하는 것은 실행 순서와, 상호 배제다.실
프로세스가 임계구역에 들어가면 임계구역 진입을 잠근다.다른 프로세스가 임계구역에 들어가고 싶으면 공유 자원이 잠겨있는지 안잠겨있는지 확인하고 기다린다.이 과정을 구현하기 위해서는 세 가지가 필요하다.전역변수 lock 임계구역을 잠그는 함수 acquire 프로세스가 임
교착 상태란 ?일어나지 않을 일을 무한정 기다리느라 진행이 멈춘 상태철학자들이 모두 왼쪽 포크를 집어들고 생각을 하고 있다면, 오른쪽 포크가 사용 가능할 때까지 영원히 기다려야 해서 식사를 할 수 없다.프로그래밍에서 프로세스는 철학자, 공유 자원은 포크에 빗대어 볼 수
교착상태는 예방하거나, 회피하거나, 검출 후 회복해서 해결할 수 있다.교착 상태 발생 조건 4가지에 해당하는 상호 배제, 점유와 대기, 비선점, 원형 대기 중 하나의 조건이라도 없애면 교착 상태는 발생하지 않는다.상호 배제 모든 자원을 공유 가능하게 만든다 단점 :
연속 메모리 할당메모리 내에 프로세스가 연속적으로 배치되는 상황스와핑 이란?메모리에 있는 프로세스 중 현재 실행되지 않는 프로세스는 임시로 보조 기억 장치로 쫓아낸다. 이렇게 해서 생긴 빈 공간에 또 다른 프로세스를 적재하는 방식이다.스왑 영역 : 프로세스가 쫓겨나는
실행하고자 하는 프로그램의 일부만 메모리에 적재한다면, 실제 메모리 크기보다 더 큰 프로그램을 실행할 수 있다. 이 기술을 가상 메모리 라고 하는데, 페이징 기법은 가상 메모리 관리 기법 중 가장 대표적인 방법이다. 또 페이징 기법으로 외부 단편화 문제를 해결할 수 있
페이지를 보조 기억 장치로 보내버리는 기준은?실행에 필요한 페이지만 메모리에 적재하는 기법CPU가 페이지에 접근하는 명령어를 실행한다해당 페이지가 메모리에 있으면 (유효비트면) CPU는 프레임에 접근한다.없으면 페이지 폴트가 발생한다.페이지 폴트 처리 루틴으로 해당 페
파일 시스템보조 기억 장치에 파일과 디렉터리를 할당하는 시스템보조 기억 장치를 처음 사용하기 위해서는 파티션을 나누고, 포맷 작업을 해야 한다.파티셔닝 : 저장 장치를 여러개의 파티션으로 나누는 과정포맷팅 : 파일 시스템 종류를 설정하고, 새로운 데이터를 쓸 준비를 하