일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Error Code: 1055
- BSD소켓
- strcat
- 정글#정글사관학교#3기#내일#기대#설렘#희망#노력
- mysql
- https://coding-factory.tistory.com/641
- SQL
- C언어
- DNS
- TCP
- ip
- web-proxy lab
- group by
- HTTP
- https://firecatlibrary.tistory.com/49?category=874970
- strcpy
- Today
- Total
목록분류 전체보기 (43)
매일을 설렘으로
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/vfosp/btroJ1uUKtl/fTL4FTP9nWPobDGZyNVPUk/img.png)
※ CPU는 메모리랑만 일하는데, 프로그램이 실행되다가 파일을 읽거나 scanf으로 읽어와야 할 일이 있을 때 CPU는 읽어 오라고 DMA controller에게 시킨다. 주변 기기들과의 의사소통을 한다. 운영체제가 timer의 도움을 받아서 프로그램들을 처리해나간다. Time sharing. Mode bit 1 사용자 모드 2 커널 모드 mode bit이란, 제어권이 운영체제가 가지고 있는지, 사용자 프로그램이 가지고 있는지에 대한 표시. mode bit이 0 경우, 운영체제가 CPU를 들고있는 것이고 모든 명령을 할 수 있는 상태 (I/O 접근까지도) 운영체제가 사용자프로그램에 넘겨줄 때, mode bit을 1로 변경해주고 넘겨준다. mode bit이 1 경우, 사용자 프로그램이 제어권을 가지고 있어..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cOe8sT/btroLDz4nL9/9kceX66omo7V5ZDWoj8evK/img.png)
운영 체제는 컴퓨터 하드웨어 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 커널은 운영체제의 핵심 부분으로 메모리에 상주하는 부분 운영 체제의 목적은 본인 프로그램만 컴퓨터를 독차지하는 것처럼 알게 하는 것이다. 운영체제의 분류 다중작업 현재는 다중 작업이 가능하다. 이는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음 사용자 수 처리방식 일괄 처리 (batch processing) : 작업 요청을 일정량 모아서 한꺼번에 처리/ (단점) 완료할 때까지 기다려야함 시분할 (time sharing) : 여러 작업이 수행할 때, 운영체제가 일정한 시간 단위로 분할하여 사용 실시간 운영체제 (Realtime OS) : Deadline이 있어 정해진 시..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/EiGIW/btroyGLUYuO/Mndpls6nnRHT9PgStZuwu1/img.png)
I/O Overview Linux환경에서 모든 device들은 file로 취급한다. (우리가 열고 닫고, 읽고, 쓰는 file) /dev/sda2 (/usr disk partition) /dev/tty2 (terminal) 심지어 커널 (kernel) 조차 파일로서 취급 /boot/vmlinuz-3.13.0-55-generic (kernel image) /proc (kernel data structures) ※ simple interface - open() and close() - read() and write() - lseek() : indicates next offset into file to read or write File Types Regular files : (text files/Binary ..
strcpy/strcat 함수 strcpy(char* dest, const char* src) : dest에 src를 한자한자 덮어쓰기한다. strcat(char* dest, const char* src) : dest 뒤에 src를 붙인다. 코드 확인 #include #include int main(void) { char arr1[100]; char arr2[100]; char arr3[100]; // arr1 선언 strcpy(arr1, "hello, i am array"); printf("%s\n", arr1); // arr2 선언 strcpy(arr2, "This is following text"); printf("%s\n", arr2); // arr1 = arr1 + arr2 strcat(arr1..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Lafb1/btrn15S1P4z/9wLkXaqhg1PwUieqC166rk/img.png)
Week 07 주제 : web-proxy lab ▶ 클라이언트의 request를 받고, reponse를 내어주는 웹서버를 만들어보고 웹서버 기능들을 알아보자 ▶ tiny 웹서버를 완성하기 (컴퓨터시스템 교재 기반) ▶ 숙제 문제 풀기 (11.6c, 7, 9, 10, 11) ▶ 프록시 과제 도전 (proxy.c 완성) 키워드 BSD소켓 TCP/UDP IP HTTP file descriptor DNS 11. 1 클라이언트-서버 프로그래밍 모델 - 서버: 서비스를 제공하는 프로그램 - 클라이언트: 서비스를 요청하는 프로그램 - 서버가 제공하는 서비스 : 웹 서버, FTP 서버, 이메일 서버 - 클라이언트/서버와 호스트와의 관계: 클라이언트와 서버는 종종 별도의 호스트에서 돌아가며, 통신한다. 호스트에겐 단지 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/o56rW/btrn0i5bFPA/iNikUPyp4MIHxc2CXUVAnK/img.png)
목차 가상메모리란 무엇이고, 왜 필요한가 가상메모리 주소 공간 (Virtual Address Space, VAS) Stack Heap Data Code, Text 가상 메모리 (Virtual Memory) 실제 메모리 크기와 상관없이 메모리를 이용할 수 있도록 가상의 메모리 주소를 사용하는 방법이다. 예를 들어, 100MB 메모리 크기에서 200MB 크기의 프로세스를 수행할 수 있도록 하는 것이다. 왜 가상 메모리 필요한가? 한 마디로, 물리적 공간의 제한을 극복하기 위해 만들어진 기술이다. 프로그램을 동작하기 위해서는 실제 프로그램 파일에 메모리에 할당되어 프로세스가 처리된다. 하지만 실제 메모리의 용량은 비싸고 제한적이다. 그래서 보조 기억장치 (HDD, SSD 등)로 메모리 확장을 하여 사용하게 된..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/RxPOt/btrnVxHHgFZ/2qtmmOAuna4s6FYHrEcqP0/img.png)
Week 06 주제 : Malloc 함수 만들기 ▶ 동적 메모리 할당 방법 직접 개발을 하며, 메모리, 포인터 개념 알기 > malloc, realloc, free 함수를 구현하자 ▶ implicit 방법으로 구현하기 (explicit, seglist, buddy system 방법도 여유되면 하기) 키워드 시스템 콜 (system call) 더보기 System call이란, 응용프로그램이 운영체제의 커널이 제공하는 서비스를 사용할 수 있게하는 방법이다. 예를 들어, 응용프로그램이 파일 시스템을 직접적으로 접근하는게 불가능하다. 그래서 응용프로그램은 커널에 접근하여 파일 시스템을 호출하는 방법을 사용한다. (sbrk/mmap 등) 데이터 세그먼트 (data segment) 더보기 메모리 단편화 (Memor..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/coJN1Q/btrnjDo1DBg/cn7lZhMOoOqKzJXhhorAOK/img.png)
Red-Black Tree 개요 Self-balancing binary search tree ( tree의 height를 h = log2(N)으로 유지) 이 외에도 AVL Tree, B-tree 등이 있다. BST (Binary Search Tree)와 동일한 원리 (key 대소 관계로 구성) Red-Black tree의 경우, Node color / BH (black height)로 균형 유지 시간복잡도상 항상 O(logN)을 유지한다. (탐색/삽입/삭제) Tree의 특징 아래의 특징은 그냥 균형을 맞추기 위해 필요한 조건이라고 보면 좋을 듯 하다. (그냥 받아들이면 된다.) Red/Black Property: Every node is colored, either red or black. Root Pr..