전체 글27 프로세스와 스레드 중 스레드의 구현에 대하여 스레드는 운영체제에 따라 다양하게 재현할 수 있는데, 대다수 다음 세 가지 형태로 재현한다. 사용자 수준 스레드는 스레드 라이브러리를 사용하여 동작하는 형태이다. 커널 수준 스레드는 운영체제에서 지원하는 상황이다. 또 이 둘을 혼합한 형태가 혼합형 스레드이다.사용자 수준 스레드사용자 수준 스레드에서는 스레드 교환에 커널이 끼어들지 않아 커널에서 사용자 영역으로 바꿀 필요가 없다. 또 커널은 스레드가 아닌 프로세스를 한 단위로 인지하고 프로세서를 할당한다. 곧, 다수의 사용자 수준 스레드가 커널 수준 스레드 한 개에 매핑되므로 다대일 스레드 매핑이라고 한다. 사용자 영역에서 스레드를 재현하면 커널에서 스레드를 보조할 필요가 없어 다음 장점이 있다. - 이식성이 높다. 커널에 독립적으로 스케줄링으로 할 수 .. 2024. 10. 22. 프로세스와 스레드 중 프로세스의 관리에 대하여 - 2 이번 글은 저번 글에 이어서 프로세스의 관리에 관한 것을 계속 알아볼 것이다. 프로세스의 제거와 프로세스의 중단과 재시작 등을 살펴볼 것이며 이 글이 프로세스의 관리에 관한 글의 마무리를 지을 것이다.프로세스 제거프로세스 제거는 프로세스를 소멸 혹은 파괴하는 것이다. 자식 프로세스는 부모 프로세스를 제거하면 자동으로 삭제된다. 프로세스를 제거하면 이용하던 자원을 시스템에 돌려주고, 해당 프로세스는 시스템 리스트나 테이블에서 없어져 프로세스 컨트롤 블록을 회수한다. 그러나 프로그램을 여전히 디스크에 지니게 한다.프로세스의 중단과 재시작시스템의 유휴시간 문제는 프로세스 중지 상태를 사용하여 해결할 수 있다. 운영체제는 새로운 프로세스를 만들어 수행하거나 실행 중인 프로세스를 중지했다가 다시 수행하여 이용할 .. 2024. 10. 22. 운영체제의 발전 과정과 유형 중 유형에 대하여 컴퓨터 시스템의 발전 과정과 응답시간, 용도나 데이터 입력 수단에 따라 운영체제를 구별할 수 있다. 이 중 일괄 처리 시스템은 앞서 일괄 처리의 개념과 함께 이미 설명했으므로 여기서는 다른 운영체제 유형을 살펴보자. 다중 프로그래밍 시스템일괄 처리 시스템의 매우 큰 문제는 프로세스가 다른 일을 하고 있을 때는 입출력 작업이 불가능하여 프로세서와 메인 메모리의 활용성이 떨어진다는 것이다. 이는 다중 프로그래밍을 도입하여 해결했다. 다중 프로그래밍은 프로세서가 유휴 상태일 때 수행 중인 둘 이상의 작업이 프로세서를 전환하여 이용할 수 있도록 작동한다. 곧 여러 프로그램을 메모리에 적재한 후 하나의 프로그램이 프로세서를 이용하다가 입출력 동작 등을 하여 프로세서를 이용하지 않는 유휴 시간 동안 다른 프로그램이.. 2024. 10. 22. 운영체제의 다양한 기능 운영체제는 다양하고 많은 역할을 실행한다. 그리고 이에 따라 주는 기능도 무척 다양한데, 메인 기능을 크게 자원 관리와 시스템 관리로 분류하여 살펴보자.자원관리컴퓨터 시스템의 메모리, 프로세스, 장치, 파일 등 이러한 구성하는 요소들을 자원이라고 하는데, 운영체제는 이 자원들을 관리한다.메모리 관리운영체제의 메모리 관리하는 기능은 메인 메모리와 보조기억장치로 구분하여 설명할 수 있다. 메인 메모리는 대개 프로세서가 직접 주소로 지정할 수 있는 유일무이한 메모리이다. 각 프로세스가 수행할 수 있도록 메인 메모리 공간을 층분히 확보하고, 더불어 각 프로세스가 효과적으로 수행할 수 있도록 메모리를 적당하게 사용해야. 명령어가 메인 메모리에 있어야 프로세서가 명령어를 실행할 수 있으므로, 프로그램을 절대적으로 .. 2024. 10. 22. 프로세스와 스레드 중 스레드의 개념과 상태 변화에 관해 프로세스는 두 가지 특성인 제어와 자원으로 구별할 수 있다. 이 중 제어만 분리한 실행 단위를 스레드라고 하는데, 프로세스는 하나는 스레드 한 개 이상으로 나눌 수 있다. 우리는 이러한 스레드의 개념과 상태 변화에 대해 살펴볼 것이다.스레드의 개념스레드들은 프로세스의 직접 수행 정보를 제외한 나머지 프로세스 관리 정보를 공유한다. 프로그램 카운터와 스팩 포인터 등을 비롯한 스레드 수행 환경 정보, 지역 데이터, 스택을 독립적으로 가지면서 코드, 전역 데이터, 힙을 달 다른 스레드와 함께 나눈다. 프로세스 하나에 포함된 스레드들은 공통의 목적을 완수하려고 병렬로 실행한다. 곧, 프로세스가 하나인 서로 다른 프로세서에서 프로그램의 다른 부분을 같은 순간에 수행할 수 있는데, 스레드를 사용하면 다음 이점이 있.. 2024. 10. 22. 프로세스와 스레드 중 프로세스의 관리에 대하여 - 1 운영체제는 프로세스에서 생성, 종료, 삭제, 중단, 재시작, 대기, 문맥 교환, 우선순위 변경 등 다양한 작업을 수행할 수 있다. 이것들을 실행하려면 먼저 프로세스의 구조를 이해해야 할 수 있다.프로세스의 구조프로세스는 수행 중에 프로세스 생성 시스템 호출을 이용하여 새로운 프로세스를 만들 수 있다. 부모 프로세스는 자식 프로세스를 생성하는 과정을 반복하면서 계층 구조를 만든다. 프로세스 생성 순번을 저장하고 부모-자식 관계를 유지하여 계층적으로 만든다. 프로세스를 새로 만드는 프로세스는 부모 프로세스이고, 생성되는 프로세스는 자식 프로세스 혹은 서브 프로세스이다.프로세스의 생성일괄 처리 환경에서는 준비 큐에 작업 도달할 때 프로세스를 만들고, 대화형 환경에서는 새로운 로그온 때 프로세스를 생성한다. 운.. 2024. 10. 22. 이전 1 2 3 4 5 다음