운영체제

운영체제

커널, 사용자 레벨 스레드와 맵핑

커널 레벨 스레드와 사용자 레벨 스레드 스레드의 스케줄링 주체에 따라 커널 레벨과 사용자 레벨로 나뉜다. 커널 레벨 스레드 커널이 직접 스케줄링하는 스레드로 스레드에 관한 정보를 커널이 가지고 있다. 프로세스는 시스템 호출을 이용해 커널 레벨 스레드 생성 가능하다. 사용자 레벨 스레드 스레드 라이브러리가 스케줄링하는 스레드로 사용자 공간에서 스레드 라이브러리가 스레드에 관한 정보를 관리한다. 커널은 사용자 레벨 스레드의 정보를 가지고 있지 않다. 스레드 라이브러리를 이용해 사용자 레벨 스레드 생성한다. 사용자 레벨 스레드가 실행되기 위해서는 커널 스레드의 도움을 받아야 한다. 커널 스레드 스레드의 주소 공간이 커널 공간에 형성된 스레드이다. 모든 특권 명령을 실행하고 커널모드에서 작동한다.(사용자 모드에..

운영체제

스레드

스레드란? 프로세스의 주소 공간에서 독립적으로 실행되는 작은 단위의 코드를 의미하며 스케줄러에 의해 스케줄되는 단위 이기도 하다. 스레드는 프로세스의 오버헤드와 통신의 어려움을 해결하기 위해 만들어 졌다. 프로세스는 컨텍스트 스위칭이 느리고 생성, 소멸과정이 어려우며 프로세스간 통신할 때 메모리 맵 파일, 공유메모리, 소켓등으로 해야하기 때문에 많은 오버헤드가 발생한다. 프로세스 ㅅ,레드 생성 프로세스를 위한 메모리 할당 페이지 테이블 생성 PCB 생성 TCB 생성 컨텍스트 스위칭 PCB PCB 페이지 테이블 교체(MMU,TLB) 캐시 플러시와 교체 TCB TCB 캐시 플러스와 교체 통신 프로세스 간의 메모리 굥유 없음 통신 시간과 메모리 오버헤드 큼 많은 프로그래밍 스레드 내의 공유 변수 사용 (프로세..

운영체제

프로세스

프로세스란 CPU에 의해 실행 가능하거나 실행되는 프로그램들을 통칭 프로세스라고 한다. 워드나 파워포인트 같이 프로그램 하나를 실행하기 위해 할당된 시스템 자원이며 커널에 의해 정의된다. 프로그램 vs 프로세스 프로그램 : 하드디스크와 같은 메모리에 저장된 실행파일 프로세스 : cpu에 실제로 실행되어 구동하고 있는 프로그램 즉, 워드가 프로그램이고 우리가 실행시켜 작성을 하는 것이 프로세스이다. 이를 통해 프로그램 하나로 여러개의 프로세스를 생성이 가능하다는 것을 알 수 있다. 프로세스들은 각각 독립적인 프로세스이며 독립적인 메모리 공간을 가지고 있다. 프로세스 제어 블록과 프로세스 테이블 프로세스 제어 블록(PCB) 프로세스 하나에 관한 정보를 저장하는 구조체이다. 프로세스가 종료시 같이 사라지며 커..

운영체제

컴퓨터 시스템과 운영체제

컴퓨터 시스템은 사용자 + 응용소프트웨어 + 운영체제 커널 + 디바이스 드라이버 + 하드웨어라고 할 수 있다. 사용자는 실행파일을 작동을 시키고 이 작업은 운영체제가 관리를 하고 입출력과 실질적으로 구동이 되는 하드웨어와 이를 제어하는 디바이스 드라이버의 총 과저을 담은 것이 컴퓨터 시스템이다. 만약 운영체제가 없다면? 운영체제란 한정된 컴퓨터 자원을 여러 사용자가 효율적으로 사용하기 위해 만들어진 것이다. 총제적인 컴퓨터 시스템을 구동 순서대로 크게 나누어 보자면 아래 처럼 나눌 수 있다. 사용자 ▼ 어플리케이션 ▼ 운영체제 ▼ 하드웨어 따라서 운영체제가 없다면 여러 사용자가 하드웨어를 사용하는데 있어서 충동을 겪고 시간이 많이 지체되거나 오류로 인해 작업이 정상적으로 이루어 질 수 없게 된다. 운영체..

운영체제

운영체제의 정의와 역사

운영체제란? 컴퓨터 자원들을 관리하고 편리하게 사용할 수 있도록 하는 시스템 소프트웨어이다. 자원의 관리라 함은 사용과 접근에 대한 권한 설정을 통해 허용 혹은 금지하는 것이라 할 수 있고, 프로그램 자원이 다른 프로세스에 의해 필요로 할 때 효율적으로 배분하는 역할을 말한다. 컴퓨터 자원을 관리함으로서 자원의 사용 시간과 지연 시간을 줄여 제어를 효율적으로 하는데 목적을 둔다. 컴퓨터 자원에는 크게 하드웨어 자원과 소프트웨어 자원으로 나눌 수 있다. 하드웨어 자원 : CPU, 메모리, 그래픽카드, 마우스 등의 장치들을 말한다. 소프트 웨어 자원 : 컴퓨터 내에 작성되어 있는 각종 파일들과 프로그램을 말한다. 운영체제의 시초 처음으로 도입 1940년대에 운영체제의 방식은 고정 프로그래밍 방식으로 직접 배..

codes-convergence
'운영체제' 카테고리의 글 목록