일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이진탐색
- union find
- Brute Force
- Dijkstra
- Stored Procedure
- 다익스트라
- 그래프
- DP
- two pointer
- Two Points
- String
- Hash
- MYSQL
- 스토어드 프로시저
- binary search
- Trie
- SQL
- Today
- Total
목록Windows/윈도우즈 시스템 프로그래밍 (7)
codingfarm
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dBarNR/btq4ZRqqmFx/f3z0PUpZAmjXkvwjxWVqBK/img.png)
1. 기본적인 파일 처리 함수들 Windows의 파일 입$\cdot$출력 함수는 ANI에서 정의하는것보다 방대한 내용을 담고 있다. 이 포스팅에서 모든 내용을 담는것은 불가능하다. 보다 자세한 내용은 MSDN을 참조할것 CreateFile 1 2 3 4 5 6 7 8 9 HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); Colored by Color Scripter cs 인자 기능 LPCTS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DzFCR/btq4VLTmwJn/IPEtvvqC0q2jegtvGKKPK1/img.png)
학습 목표 IPC 기법에 대해 이해한다. 커널 오브젝트의 두가지 상태(signaled & Non-Signaled)와 핸들 테이블에 대해 이해한다. 1. 프로세스간 통신(IPC; Inter Process Communication) 프로세스는 각각 독립된 메모리 공간을 소유하므로 IPC가 어렵다. 프로세스는 자신에게 할당된 메모리 공간 이외에는 접근이 불가능하다. 그러므로 IPC를 위한 별도의 통신수단이 필요하다 2. 메일슬롯 방식의 IPC 메일 슬롯(Mail Slot)의 원리 대표적인 IPC 기법중 하나 프로세스 간에 데이터를 주고 받기 위해 접선 장소를 마련한다. 단방향 통신만 가능 mailslot의 생성과 연결은 CreateMailSlot과 CreateFile 함수를 통해 이루어지며 데이터 수신 및 송..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Njm37/btqEPV1FVpd/NCHGvcCv6U36krH7wfJct1/img.png)
1. 커널 오브젝트에 대한 이해 $\bullet$ 커널 : 컴퓨터를 운영하는데 있어서 중심이되는 운영체제의 핵심 프로그램 $\bullet$ 커널을 운영체제와 똑같이 취급하는 서적도 있다. 커널오브젝트에 대한 이해 $\bullet$ 커널오브젝트 : 커널에서 관리하는 리소스의 정보를 관리하는 데이터 블록 $\bullet$ 커널오브젝트가 프로세스 관리(생성,소멸,변화,상태정보,우선순위 정보...)의 주체이다. 커널 오브젝트(Kernel Object) $\bullet$ 프로세스의 정보, 상태 등을 저장하고 관리하기 위해 정의된 구조체 $\bullet$ 프로세스의 상태정보(running, blockd, ready...)와 우선순위정보는 OS내부에 저장되어야 하며 정보가 변경될때마다 갱신되어야 한다. $\bulle..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/byj4AK/btqEQ59rlTM/iSyOKXlIzeHnAIOg7e0Juk/img.png)
1. 프로세스(Process)의 이해 프로세스란 무엇인가? $\bullet$ 정의 : 실행중에 있는 프로그램 $\bullet$ 프로세스의 범위 : 메모리 구조 + 레지스터 set 프로그램 프로세스 하드디스크에 저장된 실행될 수 있는 파일 메모리에 올라가서 실행되고 있는 프로그램 프로세스를 구성하는 요소 1) 프로그램 실행시 메모리 구조 프로세스 하나마다 위와같은 분리된 메모리 공간이 형성된다. 각 프로세스는 서로의 메모리 영역에 접근이 불가능하다. Register Set $\bullet$ CPU가 특정 프로그램을 실행중이라면 CPU내부 레지스테들은 프로그램 실행을 위한 데이터들로 채워지게 된다. $\bullet$ 레지스터의 상태도 프로세스의 일부로 포함시켜야 한다. -이는 Context Switching..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/7ngSr/btqEw10vBhr/8JLExdlZzdFqSydj7YkZdk/img.png)
1. 컴퓨터 구조의 접근방법 컴퓨터 디자인 $\bullet$ CPU의 Register 만을 디자인 대상으로 삼는다. (ALU와 Control Unit은 이미 있다고 가정한다.) $\bullet$ 시스템 프로그래머 입장에서 CPU를 보는 관점은 Register에 집중된다. 여기서 시스템 프로그래머란 CPU에 종속적인 어셈블리 프로그래밍을 하는 개발자이다. 레지스터 디자인 ARM 코어를 참조하여 레지스터를 디자인 해보자. r0 r1 r2 r3 r4 ir r5 sp r6 lr r7 pc ir(instruction register), sp(stack pointer), lr(link register), pc(program counter) 명령어 구조 및 명령어 디자인 $\bullet$ 레지스터의 디자인을 바탕으로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czHnE2/btqEvv9b38F/4SWhlirgmMDXoUYkyCIGVk/img.png)
Windows 프로그래밍에서 GUI 프로그래밍을 하건, 시스템 프로그래밍을 하건 유니코드에 대한 이해는 필수적이다. 1. Windows 에서의 유니코드(UNICODE) 문자셋(Character Sets)의 종류와 특성 대표적인 문자셋으로 아스키코드(ASCII CODE)와 유니코드(UNICODE)가 있다. 아스키코드(ASCII CODE) 유니코드(UNI CODE) $\bullet$ 미국에서 정의하는 표준이다. $\bullet$ 크기 : 1byte (영어 + 특수문자가 256개 이하) $\bullet$ 전세계 문자를 표현하기 위한 표준 $\bullet$ 크기 : 2byte 문자셋(character set) $\bullet$ 문자들의 집합, 문자의 표현방법에 대한 약속 $\bullet$ 종류에 따라 아래와 같..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wQ7KW/btqEu7mAh3H/DYyAiQ5BFQfqAEDpgOPgrK/img.png)
시스템 프로그램 $\bullet$ 컴퓨터 시스템을 동작(파일 복사, 이동, 삭제...) 시키는 프로그램 ex)windows나 unix 등의 운영체제들 $\bullet$ 하드웨어를 사용할 수 있도록 도와주는 프로그램 컴퓨터 시스템의 구성 요소 컴퓨터 하드웨어의 구성 CPU(Central Processing Unit) $\bullet$ 중앙 처리 장치 $\bullet$ 연산을 담당 $\bullet$ 컴퓨터 프로그램 실행에서 핵심적인 역할을 담당한다. 메인 메모리(main memory) $\bullet$ 램(RAM) 이라는 저장장치로 구성됨 $\bullet$ 컴파일이 완료된 프로그램 코드 binary code 형태로 올라가서 실행되는 영역 하드디스크 메인메모리 자료저장 프로그램의 실행이 주목적 입$\cdot$..