소켓프로그래밍과 리눅스 시스템 프로그래밍의 상관관계가 궁금합니다..

둘 다 공부하고있는데 리눅스 시스템 프로그래밍 에 소켓프로그래밍이 포함되는건가요?

아님 별개인가요?

Berkeley Socket을 기반으로 Winsock이 만들어졌죠.

Open Source 중에서도 Berkeley Software Distribution이라는 단체가 라이센스를 가지고 있습니다.

스트림이란 개념에서 본다면 리눅스와 소켓은 별개라고 볼 수 없지요.

그리고 시스템 프로그래밍과 소켓 프로그래밍을 별개로 생각하신다니 java쪽을 공부하시는가보군요…

unix나 c 프로그래밍을 조금 하다 보면 바로 알 수 있는 내용입니다.

뭐, 공부야 누구나 하는거고… 자기가 공부한다고 자랑할 필요는 없습니다만 열심히는 해야 하겠죠…

소켓 프로그래밍은 리눅스 시스템 프로그래밍에 포함된다고 할 수 있습니다.
소켓은 네트웍 뿐만 아니라 다양한 목적으로 리눅스 시스템에서 사용되고 있고, 또한 실제 시스템 프로그래밍에 영역에 속하는 많은 API를 목적은 다르지만 사용하고 있기 때문에 개념을 이해하는데 도움이 된다고 생각합니다.

위키에 찾아보니 시스템 프로그래밍과 응용 프로그램을 분류하는 내용에 대해서 짧은 글이 있습니다.

분류하는 방법이 여러가지 있을 것 같지만 아래 나와 있는 것처럼 소프트웨어의 목적에 따라서 분류한다면

"소켓 프로그래밍이 시스템 프로그래밍이냐 아니냐?" 라는 질문은 조금 잘 못된 질문 같습니다.

소켓 프로그래밍으로 작성한 소프트웨어의 목적에 따라서 분류해야할 것 같습니다.

(전 전문가가 아니니 이글은 참고 글 정도로만 봐주시기 바랍니다.)

[quote:1ww5we7t]

http://en.wikipedia.org/wiki/System_programming

System programming (or systems programming) is the activity of programming system software. The primary distinguishing characteristic of systems programming when compared to application programming is that application programming aims to produce software which provides services to the user (e.g. word processor), whereas systems programming aims to produce software which provides services to the computer hardware (e.g. disk defragmenter). It requires a greater degree of hardware awareness.
[/quote:1ww5we7t]