일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- BSD소켓
- HTTP
- strcat
- https://coding-factory.tistory.com/641
- Error Code: 1055
- web-proxy lab
- group by
- SQL
- TCP
- 정글#정글사관학교#3기#내일#기대#설렘#희망#노력
- DNS
- mysql
- C언어
- strcpy
- ip
- https://firecatlibrary.tistory.com/49?category=874970
- Today
- Total
목록CS (10)
매일을 설렘으로
2021.12.24 - [컴퓨터시스템] - [컴퓨터시스템] 프로세스 (반효경 수업) [컴퓨터시스템] 프로세스 (반효경 수업) Process is a program in excution 프로세스의 문맥(context)이란, 프로세스의 이력과 같은 것이다. 예를 들면, 내가 어떻게 살아왔는지에 대해서 이력을 명시해놓은 것이다. 문맥(context)가 필요한 이유는 CPU beeehappy.tistory.com 이전 수업과 이어서 진행한다. 프로세스와 관련한 시스템 콜 fork( ) : create a chile (copy) exec( ) : overlay new image wait( ) : sleep until child is done exit( ) : frees all the the resoures, no..
Process is a program in excution 프로세스의 문맥(context)이란, 프로세스의 이력과 같은 것이다. 예를 들면, 내가 어떻게 살아왔는지에 대해서 이력을 명시해놓은 것이다. 문맥(context)가 필요한 이유는 CPU수행 상태를 나타내기 때문에 멀티프로세서로 구동하는 요즘 컴퓨터는 중요하다. 문맥은 Program counter/각종 register에 저장을 하고, 보통 프로세스의 주소 공간 code, data, stack 프로세스 관련 커널 자료구조 PCB (Process Control Block) Kernel stack 프로세스의 상태 (Process state) Running : CPU를 잡고 Instruction 수행중인 상태 Ready : CPU를 기다리는 상태 (메모리..
※ 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 경우, 사용자 프로그램이 제어권을 가지고 있어..
운영 체제는 컴퓨터 하드웨어 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 커널은 운영체제의 핵심 부분으로 메모리에 상주하는 부분 운영 체제의 목적은 본인 프로그램만 컴퓨터를 독차지하는 것처럼 알게 하는 것이다. 운영체제의 분류 다중작업 현재는 다중 작업이 가능하다. 이는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음 사용자 수 처리방식 일괄 처리 (batch processing) : 작업 요청을 일정량 모아서 한꺼번에 처리/ (단점) 완료할 때까지 기다려야함 시분할 (time sharing) : 여러 작업이 수행할 때, 운영체제가 일정한 시간 단위로 분할하여 사용 실시간 운영체제 (Realtime OS) : Deadline이 있어 정해진 시..
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..
목차 가상메모리란 무엇이고, 왜 필요한가 가상메모리 주소 공간 (Virtual Address Space, VAS) Stack Heap Data Code, Text 가상 메모리 (Virtual Memory) 실제 메모리 크기와 상관없이 메모리를 이용할 수 있도록 가상의 메모리 주소를 사용하는 방법이다. 예를 들어, 100MB 메모리 크기에서 200MB 크기의 프로세스를 수행할 수 있도록 하는 것이다. 왜 가상 메모리 필요한가? 한 마디로, 물리적 공간의 제한을 극복하기 위해 만들어진 기술이다. 프로그램을 동작하기 위해서는 실제 프로그램 파일에 메모리에 할당되어 프로세스가 처리된다. 하지만 실제 메모리의 용량은 비싸고 제한적이다. 그래서 보조 기억장치 (HDD, SSD 등)로 메모리 확장을 하여 사용하게 된..
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..
typedef 함수 (형 재정의) 특정 element에 대해 미리 type (int, long, double, pointer 등) 지정해서 사용하는 함수이다. 문법은 다음과 같다. typedef type element 장점 : 이식성과 수정 효율성이 좋다. 예를 들어, 프로그래밍 컨셉이 바껴 특정 element의 type을 int형 -> double형으로 변경할때 // typedef 사용 예시 typedef int key_t; // 포인터형도 typedef를 사용해서 *없이 선언할 수 있다. typedef int* intPtr; intPtr p, q; 열거형(enum) 변수가 갖는 값에 의미를 부여해 프로그램 가독성을 높임 컴파일러는 열거형 멤버들을 정수형 상수로 인식 (문자도 indexing으로 사용 ..