linux/system programming2011. 6. 22. 20:52
리눅스에서의 시스템프로그램 이란?

리눅스에서 시스템 프로그래밍을 한다는 것은  리눅스 시스템 즉 커널이 제공하는 기능을 이용한다는 의미이다

따라서 리눅스에서 시스템 프로그래밍을 잘하려면 커널의 구조를 이해할 필요가 있다

 우선 운영체제에 대해 알아보자
 -운영체제란 
 컴퓨터를 작동시키고 자원을 관리하여 사용자의 응용프로그램이 효율적으로 실행될수 있는 환경을 제공하는 자원관리 프로그램이다 

운영체제가 관리해야하는 자원은  물리적자원과 ,추상적인 자원으로 나누어진다

 이와 같이 운용체제의 자원을 이용하는 응용프로그램을 작성하려면 운용체제의 구조를 잘 이해하고 지원되는 기능을 효율적으로 이용할 줄 알아야한다

- 리눅스 운용체제의 구조

 


리눅스에서 사용자가 명령이나 프로그램 등을 실행하면 리눅스 커널에서 제공되는 시스템 콜이나 라이브러리 함수등
일종의 API 들을 통해 커널의 기능을 수행하도록 설계되어 있다.

따라서 이 시스템 콜과 라이브러리의 이용방법을 잘 숙지하면 어떤 사용자든 리눅스 커널이 제공하는 기능을 이용할수 있다



Posted by babuzzzy
common sense2011. 6. 16. 22:59
API [application programming interface]

정의 : 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식을 말한다.

운영체제나 C, C++ ,Pascal 등과 같은 언어로 응용 프로그램을 만들 때, 윈도우를 만들고 파일을 여는 것과 같은 처리를 할 수 있도록 1000여 개 이상의 함수로 구성되어 있다.
API는 프로그래머를 위한 운영체제나 프로그램의 인터페이스로서 사용자와 직접 대하게 되는 그래픽 사용자 인터페이스나 명령형 인터페이스가 뚜렷한 차이가 있다.





초금 c언어 교재를 가지고 c언어를 배운다고 해도

우리가 만들수 있는 프로그램은 대개 시커먼 창에 hello world를 찍어내는것에서 크게 나아지지

않습니다.

 

뭔가 창도 뜨게 하고 싶고 버튼도 만들고 싶은데 막상 C언어 책이라고 있는것에 보면 그런 이야기들은

없고 맨날 if else while 과 같은 키원드와 몇가지 간단한 함수를 이용해서 오늘도 시커먼 창에서

뭔가 찍어보고 있지요...;;;

 

그런 창이나 버튼은 어떻게 만드는 것일까요? 왜 C언어 책에는 그런 것들이 없을까요?

그런 창이나 버튼은 원래 운영체제에게 "자 내가 창이 하나가 필요하고 그 창에 버튼을 하나만 달아

줬으면 좋겠어"라고 부탁을 해야하는 것입니다.

 

그런데 아무렇게나 부탁할순 없겠죠...

그래서 그 부탁을 (운영체제 안에)C언어의 함수형태로 만들어 놓고 그 함수를 부르는 로직을 우리는 우리의

프로그램안에 집어 넣습니다. 그러면 운영체제가 그 부탁을 들어주죠

그 함수 형태의 부탁을 API(Aplication programming interface)라고 부르는 것입니다.

그러면 API는 또 운영체제마다 틀리겠죠? 윈도우즈에서 부탁을 하는 방법과 리눅스, 혹은 맥os x에서

부탁하는 방법은 틀리겠죠... 그래서 windows에서 쓰는 api를 32비트 윈도우즈 운영체제는 win32 api라고

부르고 64비트 윈도우즈 운영체제는 win64 api라고 부릅니다.

리눅스나 유닉스 계열에서는   운영체제가 제공하는 이러한 api들은 system call 혹은 sys call 이라고 부르고요...

 

뭐 api같은 경우 정확하게 말하면 운영체제만이 가질수 있는건 아니지만 님이 보신 api와 mfc라는

문맥상 저정도 뜻이 될듯하네요...     -nogaryx 님의 네이버지식글

 

MFC(Microsoft Foundation Classes 혹은 명동 프라이드 치킨...;;)는 윈도우즈 api를 가지고 프로그램하기에는 좀 빡세다 라고 느끼는 사람들을 위해(windows api의 함수 목록은  대략 2000개 정도 된다고 하더군요...) 상속과 같은 C++의 객체지향적 속성을 이용할수 있도록 만들어 놓은 microsoft visual c++ 전용의 클래스 라이브러리의 이름입니다 



C언어는 하급언어로,
C언어는 평균적으로 글씨나 도스모드로 프로그램을 만든다
그리고 C언어를 배운후 조금더 C언어에서 진화한 C++을 배운다.
이도 마찬가지로 도스모드나 글씨로만들어진 프로그램을 만든다. 

자 그럼 여기까지배웠으면 API라고해서 윈도우즈 어플리케이션 함수를 빌려온
간단히 게임과 같이 아이콘도있고 창도있고 그림도있고 이런 프로그램을 만드는데 쓴다

 이 API는 C언어만 배워도 익힐수 있는 프로그램이다
그리고 이다음 MFC라는것 역시 API처럼 창도있고 여러가지 아이콘도있고 그런프로그램이다
하지만 API보다는 더 다루기 쉽습니다. 만들기도쉽다
허나 이것은 C++을 배워야한다

 

요약하면
C, C++ <--텍스트로 이루어진 프로그램
API/MFC <--윈도우즈 기반 아이콘도 있고 머머
API는 C를배워야가능
MFC는 C++도 알아야 가능

'common sense' 카테고리의 다른 글

clustering 이란?  (0) 2011.07.08
웹로직이란  (0) 2011.07.03
php란  (0) 2011.04.07
컴퓨터 상식용어  (0) 2011.04.07
OSI 7계층  (0) 2011.04.06
Posted by babuzzzy
linux2011. 6. 12. 19:10
ssh란
:secure shell 의 약자로 보안로그인 쉘을 말한다.
원격서버로 로그인하는 대표적이고 전통적이다 
data 암호화하지 않아 취약한 telnet 에 비해 보안철저한 ssh

리눅스 클라이언트 접속하기
ssh 접속하고자하는서버IP              : 서버에게 root 계정으로 접속을 요청하기
ssh test@접속하고자하는 서버IP     : test라는 계정으로 접속을 요청하기

ssh접속상태에서 자제해야할것
 -LAN 카드 DOWN
 -컴퓨터 전원 끄기
 
scp 사용하기
내가 서버(localhost)의 파일을 나의 컴퓨터로 가져올때

ex) scp localhost:/home ./

나의 파일을 서버로 복사할때

scp ./ localhost:/home 








 

'linux' 카테고리의 다른 글

우분투 한글 사용하기  (0) 2011.09.03
리눅스 명령어 - chkconfig  (0) 2011.07.09
리눅스의 커널이란  (0) 2011.06.22
find atime  (0) 2011.04.27
운영체제보다 먼저 실행되는 부트로더  (0) 2011.03.27
Posted by babuzzzy
network2011. 6. 12. 17:10

Telnet은 원격 터미널 접속 서비스 입니다. 
주로 inetd 모드에서 운용이 되며 tcp 23번(변경하여 서비스가능함)으로 세션이 형성되어 서비스됩니다 . 
telnet접속을 이용할수 있는 telnet client프로그램으로는 Netterm 과 새롬데이타맨 이 있습니다. 
하지만 Telnet은 아시다시피 정보전달시 패킷이 그대로 전송되어서 packet scanning 프로그램으로 쉽게 데이타를 capturing할수 있으므로 보안에 취약한 점이 있습니다. 
 
 
telnet이 보안에 취약한 점을 보완하기 위해서 개발된 것이 SSH(Secure Shell)입니다. 
telnet이 tcp 23번을 사용하지만 ssh에서 사용하는 기본 포트는 22번입니다. 
SSH는 텔넷 응용프로그램으로 보안버전의 프로그램입니다. 
Telnet과 달리 주고받는 패킷(데이터)들이 모두 암호화 되어서 전송되기 때문에 보안에 취약한 점을 보완할수 있습니다. 
SSH를 사용하면 텔넷세션이 받아지지 않고 전해지며 사용하실려면 
자신의 프로그램에 SSH 클라이언트 프로그램을 설치하셔야 합니다. 
telnet으로 접속하기 위해서 netterm이나 CRT등과 같은 telnet client프로그램이 필요한 것과 마찬가지로 ssh로 서버에 접속하기 위해서는 ssh client가 필요합니다. 
윈도우용 SSH client는 WinSSH로  www.ssh.com에서 다운로드 받으실수 있습니다. 
 
접속이 이루어지고 난 후에는 telnet과 ssh의 사용방법이 모두 동일합니다. 
 
참고로 SSH로 서버에 원격접속하여 작업을 하시려면 ssh client뿐아니라 서버에 sshd라는 데몬이 실행되어 있어야만 합니다. 
 
telnet으로 원격접속하는 방법과 ssh로 원격접속하는 방법을 간단히 설명드리면 다음과 같습니다 . 
 
telnet접속 : # telnet ip-address 
ssh 접속   : # ssh ip-address 또는 
             # ssh -l ID ip-address 

이자료는 http://blog.naver.com/ddor77?Redirect=Log&logNo=60001274895 블로그에서 읽은후 수정 기재 합니다
 
Posted by babuzzzy
great man2011. 5. 12. 22:25

'great man' 카테고리의 다른 글

미나모토 요시츠네  (0) 2011.05.12
체 게바라  (1) 2011.05.12
Posted by babuzzzy
great man2011. 5. 12. 22:25

미나모토노 요시쓰네

위키백과, 우리 모두의 백과사전.
Question book-4.svg 이 문서의 내용출처가 분명하지 않습니다.
지금 바로 이 문서를 편집하여, 참고하신 문헌이나 신뢰할 수 있는 출처를 주석 등으로 표기해 주세요. 검증되지 않은 내용은 삭제될 수도 있습니다. 내용에 대한 의견은 토론 문서에서 나누어 주세요.
미나모토노 요시쓰네

미나모토노 요시쓰네(일본어: 源義経 (みなもとのよしつね), 1159년 ~ 1189년)는 일본 헤이안 시대 말기, 가마쿠라 시대 초기의 무장으로 일본인들에게 비교적 인기있는 비극적 영웅이다. 미나모토노 요시토모(源義朝)의 9남이며, 가마쿠라 막부의 초대 쇼군인 미나모토노 요리토모(源頼朝)의 이복동생이다. 아명은 우시와카마루(牛若丸)이다.

[편집] 생애

요시쓰네는 헤이지의 난(平治の乱)이 한창이던 1159년에 태어났다. 아버지인 요시토모는 장남인 요시히라(義平), 차남인 도모나가(朝長)와 함께 헤이지의 난 중에 죽었다. 이에 요시쓰네의 생모인 도키와고젠(常盤御前)은 어린 세 자녀를 데리고 야마토노쿠니(大和国)의 산으로 몸을 숨겼다. 하지만 자신의 어머니가 다이라노 기요모리(平清盛)에게 붙잡힌 것을 알자 자식들과 함께 기요모리 앞에 출두한다.

훗날 고젠은 이치조 나가나리(一条長成)와 혼인하였다. 7살인 요시쓰네는 이후 교토 근교의 구라마 사(鞍馬寺)에 맡겨졌고 자신의 이름을 샤나오(遮那王)라 하였다. 11세(또는 15세)에 자신의 출생의 비밀을 알고 스님이 되는 것을 거부하고 무예를 갈고 닦는다. 헤이케(平家) 토벌의 뜻을 품고 16세가 되던 해에 구라마 사를 나서 오슈(奥州)의 후지와라노 히데히라(藤原秀衡)를 찾아간다.

1180년(지쇼 4년)에 이복형인 미나모토노 요리토모이즈(伊豆)에서 군사를 일으키자 그 휘하에 참여하였다. 요리토모는 그 자신은 동쪽을 다스리는 데 전념하고, 동생인 미나모토노 노리요리(源範頼)와 요시쓰네에게 군권을 맡겨 헤이케 토벌에 나서게 한다. 1181년다이라노 기요모리가 죽은 후 전세는 급격히 기울었고, 겐지는 헤이케의 세력을 교토에서 몰아내었다. 교토를 점령하고 있던 미나모토노 요시나카(源義仲)와 요리토모의 사이에 갈등이 생기자, 1183년 요시쓰네는 오미노쿠니(近江国)로 진격하였고 1184년에 마침내 요시나카의 군대를 무찌르고 교토에 입성한다.

그 사이 헤이케는 힘을 회복하였고 요시쓰네는 군사를 이끌고 이를 토벌하기 위해 나섰다. 이치노타니 전투(一ノ谷の戦い), 야시마 전투(屋島の戦い)를 거쳐 1185년 음력 3월 24일에 벌어진 단노우라 전투(壇ノ浦の戦い)에서 다이라 씨를 멸망시킨다.

이후 미나모토노 요리토모와의 사이가 벌어져 쫓기는 신세가 되었고 가신들과 함께 오슈의 후지와라노 히데히라에게 몸을 의탁한다. 하지만 히데히라가 죽은 후 그의 아들인 후지와라노 야스히라(藤原泰衡)에게 배신당해 1189년 처자를 죽인 후 자결한다.

'great man' 카테고리의 다른 글

아돌프 히틀러  (0) 2011.05.12
체 게바라  (1) 2011.05.12
Posted by babuzzzy
great man2011. 5. 12. 22:12


내가 좋아하는 위인

'great man' 카테고리의 다른 글

아돌프 히틀러  (0) 2011.05.12
미나모토 요시츠네  (0) 2011.05.12
Posted by babuzzzy
tips about computer2011. 5. 11. 16:07

1. 컴퓨터 부팅시 "DEL" 또는 "F2"를 눌러 CMOS로 들어갑니다

2. 메뉴에서 "power management setup" 항복을 선택한후 "wake up"관련 메뉴들을 찾아봅니다

3. "power on by alarm" 항목을 "enable"로 설정합니다

4. data (of month) 최대 한달간 설정할수 있습니다.

예를 들어 0으로 설정하면 매일 정해진 시간에 자동 부팅됩니다

5. resume time 정해진 시간에 부팅을 하도록 시간을 설정합니다

6. f10 키를 눌러 저장하고 빠져나옵니다


※ 윈도우가 나오기전에 로그인창이 나오는 건 개인유저 에게는 아주 귀찮은 일이 아닐수 없습니다
이것을 해결하는 방법은
시작 실행에서 시작 > 검색부분에 [netplwiz] 를 입력합니다.
그리고 나서  "사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할수 있음" 이부분에 체크 해제를 합니다
그러면 다음부터 로그인 창이 뜨지 않고 바로 윈도우로 넘어갑니다.
 시작 시스템 구성 조작할때는 시작 실행후 - msconfig 입니다

윈도우 부팅시 자동으로 어떠한 프로그램이 실행되도록하려면
시작 에서 시작프로그램에 그 파일을 넣으면 됩니다











'tips about computer' 카테고리의 다른 글

CD 굽는 유틸 InfraRecorder  (0) 2013.02.03
NAT 의 정의와 NAT확인  (0) 2012.08.05
무료 호스팅 업체 사이트 펌  (0) 2012.08.03
Posted by babuzzzy
asp2011. 5. 10. 14:51

IIS 7.0에서 ASP를 하면 오류메세지가 정확히 나오지 않습니다

따로 설정을 해줘야 하는데요

하는 방법은 아주 간단합니다




컴퓨터 관리-IIS에서 ASP를 더블클릭후
디버깅속성에 브라우저 오류전송을 FALSE로 되있는 설정을 TRUE로 바꿔주면 됩니다


Posted by babuzzzy
linux2011. 4. 27. 14:38

'linux' 카테고리의 다른 글

우분투 한글 사용하기  (0) 2011.09.03
리눅스 명령어 - chkconfig  (0) 2011.07.09
리눅스의 커널이란  (0) 2011.06.22
[linux] ssh,scp 사용하기  (0) 2011.06.12
운영체제보다 먼저 실행되는 부트로더  (0) 2011.03.27
Posted by babuzzzy