전체 글

-공부하고 기록합니다
#include #include pid_t fork(void); 현재 실행중인 프로세스와 동일한 기능을 하는 새로운 프로세스를 생성한다. 기존의 프로세스== 부모 프로세스 새로운 프로세스==자식 프로세스 부모 프로세스와 자식 프로세스의 차이는 다음과 같다. - 프로세스ID - 자식 프로세스 생성시 자식 프로세스의 리소스 통계는 0으로 초기화 - 시그널 설정은 상속되지 않는다. - open된 파일은 유지되지만 file lock은 자식 프로세스에서는 해제된다.
처음에 vector 헤더써서 풀었는데 런타임에러의 지옥에 빠졌다. 도저히 원인을 모르겠어서 그냥 배열로 하니 바로 정답이다. 대체 뭐가 문제였던거지. #include //#include #include using namespace std; int nine_dwarfs[9]; int result[7]; int sum = 0; bool compare(int a, int b) { return a > b; } int find(const int n, const int candidate) { //sum이 100을 넘거나 7명 이상의 난쟁이 선택 했거나 후보가 남아있지 않을 시 아무것도 하지 않고 종료 if (sum > 100 || n == 7 || candidate == 9) return sum; else if (..
· 기타
졸업 프로젝트에서 채팅 쪽을 내가 담당하게 되면서 관련 자료들을 찾아보고 있다. 2021.10.29 추가 블로그 정리하다가 예전에 써둔 글을 발견해서 업데이트한다. 올해 6월에 채팅 앱으로 졸업 전시회를 출품했고, 당시 여러가지 사유로 인해 프로젝트를 spring으로 진행했었다. 채팅 서버 구현은 스프링 부트 + STOMP 프로토콜 + WebSocket + No SQL db로 진행을 했는데, 결론적으로 말하면 소켓 공부를 하려는게 아니면 소켓 통신으로 채팅을 구현하는건 지양하라고 말해두고 싶다. 상당히 낡은 방식일 뿐더러, 생각보다 어렵다. (이걸 졸프가 끝나서고 안 내 자신이 안타까울 따름..) Firebase의 Realtime Database를 사용해서 채팅을 구현하면 별도로 서버를 생성하지 않고 매..
· 네트워크
Process 실행 중인 프로그램 운영체제에 의해 각 프로세스 마다 독립적인 주소공간(virtual adress)이 할당된다. 프로그램은 일련의 명령어들로 구성된 파일이다. 유닉스의 모든 프로세스는 init 프로그램을 기반으로 하여 fork() 및 exec()이 발생한다. fork() : 프로세스는 다른 프로세스(parent process)에 의해 생성된다 (예외: init 프로세스, systemd 프로세스는 다른 프로세스에 의해 생성되지 않음) exec() : 커널은 해당 프로그램을 메인메모리에 장착한다. exec()을 하게 되면 기존의 a.out 프로그램은 새롭게 부른 /bin/ls에 의해서 덮어지게 된다. ip(instr. Pointer)를 특정 프로그램의 시작 주소로 세팅하여 해당 프로세스를 시작..
가을맛
DevDev