일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 섭페
- bg 명령어
- substance painter
- Redirection
- 3Ds max 기초
- 개체 외곽 하이라이트 기준선 없애는 법
- foreground process
- msync
- pane & desktop
- houdini
- ps 명령어
- 후디니
- Standard Stream
- 뷰포트
- exit()
- mmap
- 섭페에서 텍스처 추출
- 생활코딩 복습
- exec 시스템 콜
- bash shell 변수
- Symmetry
- copy-on-write
- bash shell 조건문
- bash shell 반복문
- 3D 배경 그래픽
- 추가 업로딩 중
- wait 시스템 콜
- fork 시스템 콜
- atexit()
- background process
- Today
- Total
목록코딩 (34)
Researcher to Developer
#실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기가 한계가 있음 리눅스는 하나의 프로세스가 4GB 인데 통상적으로 우리의 PC의 메모리는 8GB나 16GB 이기 때문에 하나, 두 개의 프로세스만 사용해도 많은 부분을 차지하게 된다. 게다가 폰노이만 구조에 의해 코드는 무조건 메모리에 반드시 있어야한다는 사실 그렇다면 여러 프로세스를 실행하기 위해서는 어떤 메모리 구조를 가져야할까?? 이 질문에 대한 답이 바로 가상 메모리 이다. #가상 메모리(virtual memory system) 개념 프로세스 내에서 실제 어느 시점에 CPU가 쓰는 공간은 제한적이다. 한 번에 4GB가 사용되지 않는다. 한 번에 4GB를 읽지 않는다. 특정 시간 동안 사용하는 특정 메모리는 제한적이다. 실제 사용하는 메..
#Thread - Light Weight Process 라고도 함 - 소규모 프로세스, 구조가 작다. #Thread vs Process 프로세스 각각 독립적인 자원을 가짐 자신만의 주소 영역을 가짐 프로세스 간에는 데이터 접근이 불가 → IPC 기법을 필요로 했었음 스레드 프로세스의 서브셋, 프로세스 자원 공유 주소영역 공유 하나의 프로세스에 여러 개의 스레드 생성 가능, 개별적으로 동작 가능 IPC 기법 필요 X #Thread 특징 - 스레드들은 동시에 실행 가능 - 프로세스 안에 있으므로, 프로세스의 데이터를 모두 접근 가능 (가장 큰 장점) → IPC가 필요하지 않다. - 하나의 프로세스안에서 생성된 스레드끼리만 공유가 가능하다! 다른 프로세스의 스레드끼리는 X - 각기 실행은 가능한 존재(운영 체..
#컨텍스트 스위칭 개념 정리(문맥 교환) CPU안에서 A라는 Process에서 B라는 Process로 바꿔줄 때 컨텍스트 스위칭이라고 함. 보통 어셈블리어로 작성됨! CPU에 실행할 프로세스를 교체하는 기술이며, 컨텍스트 스위칭에 대한 코드가 존재함. 프로세스 상태 정보를 PCB로부터 CPU에 로드하고, 실행 1. 실행 중지할 프로세스 A PCB 정보를 해당 프로세스의 PCB에 업데이트해서, 메인 메모리에 저장 2. 다음 실행할 프로세스 B PCB 정보를 메인 메모리에서 로드하여 해당 PCB(PC/SP)정보를 CPU PC/SP 레지스터에 넣고, 실행 #PCB(Process Control Block) PC(Program Counter) + SP(Stack Pointer) PC,SP는 어디에 저장하나? PC..
#프로세스와 컨텍스트 스위칭 - 컨텍스트 스위칭 A라는 프로세스가 CPU에서 실행되다가 어느 순간 스케줄러가 B라는 프로세스로 바꿔줄때 바꿔는 메커니즘을 말함 컨텍스트 스위칭을 알려면 프로세스 구조를 상세히 알 필요가 있다. #프로세스 구성 Code가 Compile된다는 것은 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어로 변환된다는 것 바이너리 라고도 함 프로세스 Memory의 몇 가지 영역 1. CODE(TEXT) 프로그램을 실행시키는 실행 파일 내의 명령어인 Code가 Compile되면 Compile된 소스코드가 저장되는 영역 2. DATA(변수/초기화된 데이터가 저장되는 공간) 변수 선언 - 변수를 선언한다는 것은 메모리에 특정 공간을 만들어서 변수가 그 주소를 가리키게 하고 데이터를 넣기도..
#스케쥴러 알고리즘 #선점형 스케쥴러 하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 차지할 수 있음 - 시 분할 시스템 중단이라는 과정에 고려해야 할 것이 많앗기 때문에 후반에 등장하게 됨 #비선점형 스케쥴러 하나의 프로세스가 끝나지 않으면 다른 프로세스는(CPU)를 사용할 수 없음 blocking(wait)되거나 end해야 가능 스케쥴러가 제어할 수 없어! 초반에 등장했음. #선점형과 비선점형 스케쥴러 차이 비선점형 : 프로세스가 자발적으로 blocking 상태로 들어가거나, 실행이 끝났을 때만, 다른 프로세스를 running! 교체 가능 응답시간이 길어질 수 있음 선점형 : 프로세스 running 중에 스케줄러가 이를 중단시키고, 다른 프로세스로 교체가능! 응답시간이 빠르고 OS가 사용자..
#스케쥴링 알고리즘 #프로세스(process) - 작업, task, job 이라는 용어와 혼용 메모리 위에서 실행 중인 프로그램을 말함 #알고리즘 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것 유한성을 가지며, 언젠가는 끝나야 하는 속성을 가지고 있다. #알고리즘의 조건 알고리즘은 다음의 조건을 만족해야 한다. 입력 : 외부에서 제공되는 자료가 0개 이상 존재한다. 출력 : 적어도 2개 이상의 서로 다른 결과를 내어야 한다. (즉 모든 입력에 하나의 출력이 나오면 안됨) 명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성되어야 한다. 유한성(종결성) : 유한번의 명령어를 수행 후(유한 시간 내)에 종료한다. 효율성 : 모든 과정은 명백하게 실행 가능(검증 가..