본문 바로가기

반응형

전체 글

(159)
네트워크 프로그래밍 - 다중 접속 서버 이론 안녕하세요. WH입니다. 적게 나마 제 글을 누군가는 찾아주시고 누군가는 읽어 주시더라구요. 언젠가는 누군가와 소통하는 날이 오질 않겠나 하며 오늘도 열심히 정리해보겠습니다. 서버 구현 기초에서 구현했던 통신 구조 조금은 오래되어 기억이 안나실라나요? 네트워크 프로그래밍 서버에 대해서 간단히 구현을 했었죠? 기억이 나질 않으시면 간단하게 아래 글을 참조해주세요 2022.02.04 - [임베디드 리눅스] - 네트워크 프로그래밍-소켓 통신 서버 구현 4 네트워크 프로그래밍-소켓 통신 서버 구현 4 안녕하세요. WH입니다. 기본적으로 서버에 연결하면 연결되었음을 확인하도록 보내는 서버를 구현해 보았는데요, 이번에는 파일을 전송하는 서버를 구현해보겠습니다. 시작할까요? 해당 내용을 developer-wh.tis..
네트워크 프로그래밍 - 다중 접속 서버 기초 이론 ( feat. 시그널 핸들링 ) 이제 아마도 이론 2 번 정도? 정리한 후에 코딩을 해볼꺼에요. 이 과정이 조금 지루하긴 하지만 화이팅 합시다 저번 글에서는 좀비 프로세스, fork, waitpid 등에 대해 다뤘어요 기억이 나질 않는다면 아래 글을 참조해 주세요 2022.02.14 - [임베디드 리눅스] - 네트워크 프로그래밍 - 다중 접속 서버 구현을 위한 기초 (feat. 프로세스, fork(), 좀비 프로세스 ) 네트워크 프로그래밍 - 다중 접속 서버 구현을 위한 기초 (feat. 프로세스, fork(), 좀비 프로세스 ) 안녕하세. WH 입니다. 피곤한 월요일이네요. 저만 그럴까요? ㅎㅎ 그건 그거고 여튼 시작해 보겠습니다. 네트워크 프로그래밍이 반응이 좋아서 다중 접속 서버 구현을 한번 해볼까합니다. 대표적 developer..
네트워크 프로그래밍 - 다중 접속 서버 구현을 위한 기초 (feat. 프로세스, fork(), 좀비 프로세스 ) 안녕하세. WH 입니다. 피곤한 월요일이네요. 저만 그럴까요? ㅎㅎ 그건 그거고 여튼 시작해 보겠습니다. 네트워크 프로그래밍이 반응이 좋아서 다중 접속 서버 구현을 한번 해볼까합니다. 대표적으로 3가지 방법이 있는데요. 멀티 프로세스, 멀티 플렉싱, 멀티 쓰레드 방법이 있습니다. 가장 먼저 멀티 프로세스 방법에 대해 알아보겠습니다. 멀티 프로세스 기반 서버 다수의 프로세스를 생성하는 방식으로 서버를 구현하는 방법입니다. 모든 프로세스는 운영체제로부터 ID를 부여 받습니다. 그리고 이 ID 를 프로세스 ID라 부르고 2 이상의 정수를 가진답니다. 1은 어디갔냐구요? 운영체제 실행을 돕는 프로세스에게 할당된답니다. 제가 이제까지 이야기하고 있던 환경은 리눅스 우분투였죠? 실행 중인 프로세스를 확인하는 방법은..
메모리 계층 구조 - cache 메모리 1 안녕하세요! WH입니다. 오늘은 메모리 계층 구조 중에 cache 메모리에 대해 알아볼 겁니다. 메모리 계층 구조 CPU가 원하는 데이터를 저장하고 있는 장소인데요. 예시를 뭘로 들어볼까요. 그래요. 시험 기간의 대학생을 예로 듭시다. 대학생 시절로 돌아가고 싶으니까요. 뭐 여튼, 자 내가 시험 공부를 하려고 해요. 이번 시험에 컴퓨터 구조론에 캐시 메모리에 대해 시험에 나온다고 가정해봅시다. 나는 시험 공부를 해야합니다. 그래서 자료를 찾아봐요. 1. 내 머리 속에 캐시 메모리에 대한 내용이 있는지 체크합니다 ( Register ) - 없네요? 평소에 공부좀 하지 2. 그래서 동기한테 물어봤어요. ( Cahce ) - 없데요. 끼리끼리 어울려다닌다더만, 그래도 친구라고 과방에 가보겠답니다 3. 이번에는..
프로세서 7 - 데이터 해저드 안녕하세요! WH입니다. 컴퓨터 구조론 정리해야지 해야지 하면서 미뤄왔는데, 진작 했으면 안해도 되었겠죠? 그렇지만 지금이라도 하니까요! 얼른 끝내 봅시다. 오늘은 명령어를 먼저 보면서 시작해 볼게요 명령어 1. sub $2, $1, $3 $ # Register $2 written by sub 2. and $12, $2, $5 # 1st operand($2) depends on sub 3. or $13, $6, $2 # 2nd operand($2) depends on sub 4. add $14, $2, $2 # 1st ($2) & 2nd($2) depends on sub 5. sw $15, 100($2) # Base ($2) depends on sub 이 명령어의 의도는 뭘까요? 우선 기본적으로 2-5 ..
프로세서 6 - 파이프라인 데이터 패스 및 제어 안녕하세요. WH 입니다. 한 몇 일동안 컴퓨터 구조론에 대해 올리고 있는 데 얼른 올리고 다른 것도 올리겠습니다. review 저번 글에서 명령어를 5 단계로 나눴죠? 이는 파이프라인이 5 단계라는 것을 의미합니다. 이는 한 클럭 사이클에 최대 5개의 명령어가 실행 중 일수 있다는 것을 의미하죠. 그렇다면 한 클럭 사이클에 최대 5개의 명령어가 실행된다면, 데이터 패스 역시 5 부분으로 나눌 수 있겠네요? 그 5 부분 역시 각각의 이름이 붙습니다. 명령어 실행 단계 이름 1. IF ( Instruction fetch ) : 명령어 인출 2. ID ( Instruction decode / register file read ) : 명령어 해독 및 레지스터 파일 읽기 3. EX (Execution / add..
프로세서 5 - 파이프라이닝 개요 안녕하세요. WH 입니다. 오늘은 파이프 라이닝 입니다. 파이프 라이닝이 뭐냐? 병렬 처리르 통한 성능 개선 방법이라고 생각하시면 됩니다. 이번 글은 배경지식 정도의 느낌으로 정리해주시면 된답니다. 단일 사이클은 앞의 4번에 걸쳐 설명했으니.. 넘어갈게요 기억이 나질 않으시면 아래 글을 참고해주세요 2022.02.09 - [컴퓨터 구조론( MIPS )] - 프로세서 1 - R-type 명령어 데이터 패스, 명령어 인출과정 2022.02.09 - [컴퓨터 구조론( MIPS )] - 프로세스 2- Load or Store 명령어, branch 명령어 2022.02.09 - [컴퓨터 구조론( MIPS )] - 프로세스 3 - ALU 제어와 주 제어 유닛 설계 2022.02.10 - [컴퓨터 구조론( MIPS ..
프로세서 4 - 데이터 패스 동작 안녕하세요. WH입니다. 이번 글은 데이터 패스 동작과 관련된 글입니다. 앞의 내용을 알아야만 이번 글은 이해를 하실 수 있습니다, 앞의 내용이 기억나지 않으시면 반드시 아래 글을 참조하시길 바랍니다. 2022.02.09 - [컴퓨터 구조론( MIPS )] - 프로세서 1 - R-type 명령어 데이터 패스, 명령어 인출과정 프로세서 1 - R-type 명령어 데이터 패스, 명령어 인출과정 안녕하세요! WH입니다. 이번 글부터는 프로세서 입니다. 사실 모든 것을 알 필요는 없지만. 프로세스와 메모리 정도는 알아야 하지 않을까 싶습니다. 그럼 어셈은요? 밑 단에서 일하시는 분이라 developer-wh.tistory.com 2022.02.09 - [컴퓨터 구조론( MIPS )] - 프로세스 2- Load ..