목록CS (45)
bdfgdfg
운영체제 - 운영체제는 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터의 자원을 효율적으로 관리하는 소프트웨어. - 사용자가 직접 컴퓨터 시스템의 자원을 건드리는게 아니라 운영체제가 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공. 시분할 시스템 - 한 번에 하나의 작업만 수행하는것은 낭비라 효율적으로 사용하기 위한 기법인 다중 프로그래밍 기술이 개발이 되었다. - 다중 프로그래밍 시스템에서는 CPU 사용시간을 아주 잘게 쪼개어 여러 작업에 나누어 준다. - 이처럼 여러 작업을 조금씩 처리하여 작업이 동시에 이루어지는 것처럼 보이게 하는 것을 시분할 시스템이라 한다. -> 이 때 잘게 나뉜 시간 한 조각을 타임 슬라이스 또는 타임 퀀텀이라고 한다. -> 오늘날의 컴퓨터는 대부분 시분할 시스템이 사용 ..
블록킹, 논 블록킹, 동기, 비동기(Blocking, Non-Blocking, Synchronous I/O, Asynchronous I/O) 1 2 3 4 // 기본적인 TCP소켓을 만드는 방법 SOCKET socket = ::socket(AF_INET, SOCK_STREAM, 0); // 이렇게 만들어진 소켓은 기본적으로 BLOCKING모드. // WSASocket함수로도 소켓 핸들을 얻을 수 있는데, 기본적으로 기능은 똑같다. cs 기본적으로 소켓을 생성할 때 만들어지는 소켓 핸들은 블록킹(Blocking)모드이다. 블로킹은 디바이스에 처리 요청을 걸어 놓고 응답을 대기하는 함수를 호출할 때 스레드에서 발생하는 대기 현상. - 즉 간단하게 동기 I/O 함수를 호출할 때 해당 스레드에서 발생하는 대기 ..
패딩 비트 struct Test { public: int a; char b; }; int main() { Test t1; std::cout (BYTE& data); Packet& operator >> (char* data); Packet& operator >> (DWORD& data); Packet& operator >> (std::string& data); public: Packet(); ~Packet(); }; 중요한것은 m_writePos와 m_readPos. m_writePos는 Packet에 데이터를 실어 보내기 위해서 Packet의 dataField에 데이터를 쓰기위한 위치 주소를 기억한다. m_readPos는 Packet에 실린 데이터를 가져오기위해 Packet의 dataField의 다음에 ..
프로세스(Process)의 이해 ● 프로세스란? - 메인 메모리로 이동하여 실행중인 프로그램 -> 일반적인 정의 예로들어 우리의 하드디스크에 저장된 벽돌깨기라는 게임을 더블클릭하여 실행하면 이 프로그램을 실행하기 위해 메모리 할당이 이뤄지고 이 메모리 공간으로 바이너리 코드가 올라가게 된다. 이 순간부터 프로그램은 프로세스. 여기까지가 프로세스의 일반적인 정의다. 하지만 누군가가 프로세스를 구성하고 있는것은 무엇인가? 라고 물어본다면 어떻게 답을 해야할까. ● 프로세스를 구성하는 요소 (프로세스의 범위) - 메모리 구조 + 레지스터 Set - 프로세스 별 독립적인 대상은 프로세스의 범주에 포함시킬 수 있다. -> 이 의미는 A와 B프로세스가 레지스터를 공유해서 사용하는 게 아님. 자세한 설명은 밑에서. ..