Explain in as much detail as possible how processes communicate, compared to threads.Explain the difference between processes and threads.Please expla
시스템 프로그램이란?컴퓨터 시스템을 동작시키는 프로그램Windows, UNIX 같은 운영체제들Windows 에서 제공하는 라이브러리를 활용하여 프로그램을 개발하면 Windows 시스템 프로그래머시스템 프로그래밍이란?운영체제 기반의 컴퓨터에게 일을 시키기 위한 프로그램을
클럭신호
하드웨어 구성의 재접근
Windows 에서의 유니코드(UNICODE)
MBCS 기반의 문자열배열길이8문자길이7ABC(3)+한글(4)+NULL(1) = 8ABC(3)+한글(4) = 7'한글'의 단어 길이가 4로 인식되고 있다 MBCS의 문제점이다실행결과한글한글입니다문자열길이가 5이지만 fputc는 1바이트만 출력하므로 10번호출해야함MBC
완전한 유니코드 기반으로 : 두 번째
MBCS와 WBCS(유니코드)를 동시 지원하기 위한 매크로
WIN32 VS WIN64CPU는 I/O 버스를 통해서 데이터를 전송, 수신한다. 한번에 전송,수신 데이터의 크기에 따라 32비트 64비트 시스템이 나뉜다.데이터처리 크기로로 32, 64비트를 나뉜다프로그래머 입장에서 64비트 컴퓨터주소값이 넓으면 넓을 수록 좋다.램에
컴퓨터 구조에 대한 두번째 이야기컴퓨터 구조의 접근방법
LOAD & STORE 명령어 디자인
Direct 모드와 Indirect 모드
프로세스의 생성과 소멸
컨텍스트 스위칭(Context Switching)
예제를 통한 CreateProcess 함수의 이해 위에서 만든 프로그램을 바로가기를 통해서 인자를 전달해서 실행하였고 출력된 결과이다. 다음 예제는 위에서 제시한 프로그램을 실행시키기 위한 프로그램이다 실행파일이름: CreateProcess.exe 코드 실행결과
커널이란 컴퓨터를 운영하는데 있어서 중심이 되는 운영체제 핵심 부분을 뜻한다커널에서 관리하는 중요한 정보를 담아둔 데이터 블록을 가리켜 커널 오브젝트라 한다프로세스 상태 정보(Running,Blocked, Ready)와 우선순위 정보를 변경될 때마다 갱신되어야 한다.
커널 오브젝트에 할당되는 숫자! 핸들(Handle)
커널 오브젝트와 핸들의 존재이유를 알게 되었다 이제 이들의 종속관계를 살펴보자"커널 오브젝트는 Windows 운영체제에 종속적이다"커널 오브젝트는 프로세스에 종속적인것이 아니라 운영체제에 종속적인 관계로 커널 오브젝트의 소멸은 운영체제에 의해 결정된다커널 오브젝트는 프
PROCESS_INFORMATION 구조체
Usage Count와 CloseHandle
"바탕화면에 아이콘을 더블클릭해서 프로세스를 생성할결우, 이 프로세스의 UsageCount는 어떻게 될까?"
프로세스간 통신기법, 커널오브젝트의 두가지 상태(Signaled & Non-Signaled)와 핸들 테이블 알아보자IPC 는 Inter-Process Communication 의 약자로서 "프로세스 사이의 통신" 이라는 뜻이다프로세스가 서로 만날 수 있는 여건(공유하는
메일 슬롯 구성을 위해 필요한 요소 Receiver 가 준비해야 할것에 대해서 알아보자
CreateFile 첫째인자는 생성 및 개방하고자 하는 파일이름을 지정하는 용도인데 여기서는 데이터를 전달할 메일슬롯을 지정하는 용도로 사용함OpenMode 는 쓰기모드인 GENERIC_WRITE 생성방식 결정인자는 OPEN_EXISTING 이는 기존에 만들어진 파일
메일슬롯의 고찰과 앞으로의 전개에 대해서
Signaled vs Non-Signaled
커널 오브젝트의 상태 확인이 필요한 상황의 연출
WaitForSingleObject 함수의 유용성
커널오브젝트의 상속과 핸들테이브에 대한 개념을 소개하려 한다파이프 기반 IPC를 이해하기 위해서 필요한 내용이다유능한 Windows 프로그래머는 프로세스 핸들 테이블이 어떻게 관리되는지를 이해하고 있어야 한다Jeffrey Richter"Programming Applic
프로세스 핸들 테이블 도입
핸들의 상속을 위한 전달인자
캐시는 데이터나 값을 미리 복사해 놓는 임시 장소를 의미합니다. 주로 접근 시간이 더 짧은 저장 공간에 데이터를 저장해두고, 빠르게 데이터에 접근할 수 있도록 도와줍니다. 캐시의 목적은 데이터를 원래의 저장 위치에서 직접 가져오는 것보다 더 빠르게 접근하여 시스템의 성
RESTful (Representational State Transfer) API는 웹 서비스에 접근하는 단순하고 직관적인 방법을 제공하는 API 설계 패러다임입니다. REST는 웹의 기본 구성 요소인 HTTP, URL, MIME 타입 등을 이용하여 서비스를 구현하며,
Pseudo 핸들과 핸들의 중복(Duplicate)
파이프 방식의 IPC
단일 스레드 서버동시성 처리: 단일 스레드 서버는 한 번에 하나의 작업만 처리할 수 있습니다.자원 사용: 보통 더 적은 메모리와 CPU를 사용합니다.복잡성: 일반적으로 구현이 더 간단하고 디버깅이 쉽습니다.응답 시간: 하나의 작업이 완료되기 전까지 다른 모든 작업이 대
프로세스정의: 프로세스는 실행 중인 프로그램의 인스턴스입니다. 독립적인 메모리 공간과 자원을 가지며, 운영체제에 의해 스케줄링과 관리됩니다.스레드정의: 스레드는 프로세스 내에서 실행되는 하나의 실행 흐름입니다. 스레드는 프로세스의 메모리와 자원을 공유하면서 동작합니다.
메모리 지역성(Locality of Reference)은 프로그램이 실행되는 동안 데이터나 명령어에 접근할 때, 특정 시간 동안 특정 영역의 메모리에 집중적으로 접근하는 경향을 의미합니다. 이러한 지역성은 CPU 캐시의 효율적인 사용을 가능하게 하며, 프로그램의 성능을
동기(Synchronous)와 비동기(Asynchronous)동기(Synchronous)동기 방식은 작업을 순서대로 하나씩 처리합니다.이전 작업이 완료되어야만 다음 작업을 시작할 수 있습니다.예: 함수 호출에서 반환값을 받아야 다음 작업을 수행하는 경우비동기(Async
주소 버스(address bus)는 컴퓨터의 중앙 처리 장치(CPU)와 메모리 및 다른 입출력(I/O) 장치들 사이에서 주소 정보를 전송하는 통로입니다. CPU가 특정 메모리 위치나 입출력 장치에 데이터를 읽거나 쓸 때 해당 장치나 메모리의 주소를 주소 버스를 통해 지
데드락(Deadlock)은 컴퓨터 과학에서 주로 다루는 멀티 프로세싱 환경에서 발생하는 문제 상황입니다. 간단하게 설명하자면, 데드락은 두 개 이상의 프로세스나 스레드가 서로 필요한 자원을 기다리며 진행을 멈추게 되어, 어느 한 쪽도 그 다음 작업을 진행할 수 없는 상