IT 공부 (66) 썸네일형 리스트형 [코딩 애플] input 1: 사용자가 입력한 글 다루기 보호되어 있는 글입니다. [코딩 애플]props를 이용한 상세페이지 만들기 보호되어 있는 글입니다. 3-1. 프로세스 개요 프로세스 개요 프로그램(program) 하드디스크 등의 저장 매체에 저장. 실행 파일의 형태 프로세스(process) 프로그램이 메모리에 적재되어 실행중인 상태 필요한 모든 자원 할당 받음 자원 : 코드 공간, 데이터 공간, 스택 공간, 힙 공간 프로세스의 특징 운영체제는 프로그램을 메모리에 적재하고 프로세스로 다룸 운영체제는 프로세스에게 실행에 필요한 메모리 할당, 이곳에 코드와 데이터 등 적재 프로세스들은 서로 독립적인 메모리 위치와 크기 정보를 관리한다. 프로세스들은 서로 독립적인 메모리 공간을 가짐. 다른 프로세스의 영역에 접근 불허 운영체제는 각 프로세스의 메모리 위치와 크기 정보를 관리한다. 운영체제는 프로세스마다 고유한 번호(프로세스 ID) 할당 프로세스의 관한 모든 정보는 커널에 의해 관리.. [코딩 애플] 자식이 부모의 state를 가져다쓰고 싶을 때는 props 보호되어 있는 글입니다. [코딩 애플] map: 많은 div들을 반복문으로 줄이고 싶은 충동이 들 때 보호되어 있는 글입니다. 5-6. 멀티 스레드에 관한 이슈 프로세스와 스레드 정리 프로세스는 스레드들의 공유 공간 - 모든 스레드의 주소 공간이 프로세스 주소 공간 내에 형성되고 공유 프로세스는 운영체제가 응용프로그램을 적재하는 단위이고, 스레드는 실행 단위 PCB에 저장된 정보는 환경 컨텍스트, TCB에 저장된 정보는 실행 컨텍스트 - PCB : 모든 스레드가 공유하는 프로세스의 정보 저장 - TCB : 현재 실행 중인 실행 단위 정보 저장 다른 프로세스에 속한 스레드로의 스위칭보다 동일한 프로세스에 속한 스레드 스위칭 속도가 빠름 프로세스에 속한 모든 스레드가 종료될 때 프로세스 종료 멀티스레딩으로 응용프로그램 작성할 때 장점 높은 실행 성능 - 병렬 실행 사용자에 대한 우수한 응답성 - 한 스레드가 블록되어도 다른 스레드를 통해 사용자 인터페이스 가능 서버.. 5-5. 멀티 스레드 구현 멀티스레드 구현 멀티구현이란? 응용프로그램에서 작성한 스레드가 시스템에서 실행되도록 구현하는 방법 사용자가 만든 스레드가 시스템에서 스케줄되고 실행되도록 구현하는 방법 스레드 라이브러리와 커널의 시스템 호출의 상호 협력 필요 3가지 방법 N:1 매핑(N개의 사용자 레벨 스레드를 1개의 커널 레벨 스레드로 매핑) N:1매핑(1개의 사용자 레벨 스레드를 1개의 커널 레벨 스레드로 매핑) N:M매핑(N개의 사용자 레벨 스레드를 M개의 커널 레벨 스레드로 매핑) N:1 매핑 N:1 매핑 개념 운영체제는 모든 프로세스를 단일 스레드 프로세스로 다룸 프로세스 당 1개의 커널 레벨 스레드(TCB) 생성 스케줄 가능한 엔터티(entity)라고 부름 프로세스의 모든 사용자 레벨 스레드가 1개의 커널 레벨 스레드에 매핑 .. 5-4. 커널 레벨 스레드와 사용자 레벨 스레드 4-1. 커널 레벨 스레드와 사용자 레벨 스레드 스레드 스케줄링 주체에 따라 2 종류의 스레드로 구분 - 커널 레벨 스레드(kernel-level thread) : 커널에 의해 스케줄링되는 스레드 - 사용자 레벨 스레드(user-level thread) : 스레드 라이브러리에 의해 스케줄링되는 스레드 커널 레벨 스레드 - 응용 프로그램이 시스템 호출을 통해 커널 레벨 스레드 생성 - 스레드에 대한 정보(TCB)는 커널 공간에 생성되며 커널에 의해 소유됨 - 커널에 의해 스케줄 - 스레드 주소 공간(스레드 코드와 데이터) : 사용자 공간에 존재 - main 스레드는 커널 스레드 응용 프로그램을 적재하고 프로세스를 생성할 때 커널은 자동으로 main 스레드 생성 사용자 레벨 스레드 - 응용프로그램이 라이브러.. 이전 1 ··· 3 4 5 6 7 8 9 다음