Legacy
-
2015.01.18 프로세스의 상태 변화Legacy/뇌자극 - WinSysProg 2015. 1. 18. 14:45
프로세스의 상태 변화 1. S(Strart)에서 Ready 상태로의 전이 여기서 S는 프로세스가 생성되었음을 의미한다. 프로세스는 생성과 동시에 Ready 상태로 들어간다. Ready 상태에 있는 프로세스는 CPU에 의해 실행되기를 희망하는 상태이다. 이때 "프로세스가 생성되었으면, 바로 실행(Running)되어야 하는 것 아닌가?" 라는 의문을 품을 수도 있지만, 현재 CPU에 의해서 임의의 프로세스가 실행 중에 있을 것이다. 새로운 프로세스가 생성되었다고 해서 현재 실행중인 프로세스를 무조건 멈추게 할 수는 없는 일이므로, 스케줄러에 의해 선택되기를 바라며, Ready 상태가 된다. 2. Ready 상태에서 Running 상태로의 전이 Ready 상태에 있는 프로세스들은 스케줄러에 의해서 관리되는 프..
-
2015.01.17 프로세스의 생성과 소멸Legacy/뇌자극 - WinSysProg 2015. 1. 17. 17:56
프로세스의 생성과 소멸 프로세스란 무엇인가?프로세스란 실행 중에 있는 프로그램을 의미. 프로세스를 구성하는 요소 위 그림이 프로세스 생성시 만들어지는 메모리 구조를 보여주고 있음. 이 자체를 프로세스라고 표현하기도 함. Register Set프로그램이 실행 중에 있다면, CPU를 구성하는 레지스터들은 그 프로그램을 실행하기 위해 필요한 데이터들로 채워지게 된다. 따라서 레지스터들의 상태까지도 프로세스의 일부로 포함시켜 말할 수 있다. (Context Switching을 이해하는데 있어서 아주 중요한 요소) 프로세스의 스케줄링과 상태변화프로세스의 스케줄링(Scheduling)하나의 CPU가 여러 프로세스를 고속으로 번갈아 가며 실행시켜서 프로그램 사용자로 하여금 동시에 여러개의 프로그램이 실행된다고 느끼게..
-
2015.01.16 LOAD&STORE DIRECT INDIRECT 모드Legacy/뇌자극 - WinSysProg 2015. 1. 16. 23:06
LOAD & STORE 명령어"연산결과를 레지스터에만 저장할 수 있도록 하겠다."라는 제약사항=> 피연산자에는 메인 메모리의 주소값이 올 수 없다는 제약도 둔 것과 마찬가지 why? 피연산자로 올 수 있는 것을 숫자(즉시값, Immediate value) 또는 레지스터로 제한했기 때문 그렇기 때문에 레지스터와 메인 메모리 사이에서 데이터를 전송할 수 있는 명령어가 필요 메모리 => 레지스터 LOAD메모리
-
2015.01.13 프로세스, IPCLegacy/뇌자극 - WinSysProg 2015. 1. 13. 15:12
Part 02. 프로세스와 IPC16비트 짜리 8개의 레지스터로 디자인 1. 레지스터 디자인r0r1r2r3r4r5 ir(instruction registr)r6 sp(stack pointer)r7 lr(link register)r8 pc(program counter) 2. 명령어 (구조 및 종류) 디자인CPU구성형태(레지스터 구성형태)에 따라서 명령어 구조가 달리짐. => CPU가 달라지면 이에 따른 명령어 구조가 달라진다. (즉, 어셈블리 언어로 구현된 프로그램은 구조가 다른 CPU로 이식이 불가능하다.) "레지스터 r1에 있는 값을 숫자 7을 더해서 레지스터 r2에 저장하라."=> 덧셈, r1, r2, 7 1.어셈블리구성2.메모리 로드(Load)3.Fetch4.Decode5.Execution "첫 번..
-
C언어 공부법과 책추천Legacy/C&C++ 2015. 1. 12. 23:10
출처 - http://sunyzero.tistory.com/225 8월 13일 원글 수정되었음. 이 글은 C언어를 공부할 때 헤메지 않고 국제 표준인 정종(正種) C언어를 배우는데 도움을 주고자 쓰여졌다.그러기 위해 알아야 하는 용어나 기반지식들을 살펴보고, 추천 도서인 KNK, K&R에 대해 소개하겠다. 2015년을 기점으로 현대 컴퓨팅 환경에서 C언어의 위치는 거의 바닥에 존재하는 기초 언어이다.C언어 뒤에 등장한 프로그래밍 언어들은 C언어 문법체계를 따라했을 정도로 큰 족적을 남기기도 했다. 또한 운영체제(Operating system)의 설계 및 구현에 사용되었기에 시스템 하부 구조를 배울 때 빠짐없이 등장하는 단골손님이기도 하다. OS, Network, C language 이런 연유로 C언어는 ..
-
무결성, 쓰레드, 뮤텍스, 세마포어에 대한 간단한 정리Legacy/Win API 2015. 1. 12. 21:00
출처 : 잇힝국대통령(sungeuns) http://cafe.naver.com/cmenia/2627, 블링블링 (cabsoft88) http://blog.naver.com/cabsoft88?Redirect=Log&logNo=90115377264, 네이버지식백과 ■ 무결성(integrity) 데이터 및 네트워크 보안에 있어서 정보가 인가된 사람에 의해서 만이 접근 또는 변경 가능하다는 확실성. 무결성 대책은 네트워크 단말기와 서버의 물리적 환경 통제, 데이터 접근 억제 등의 엄격한 인가 관행을 유지하는 것이다. 한편, 데이터 무결성은 열, 먼지, 전기적 서지(surge)와 같은 환경적 해이에 의해 위협받을 수 있는데, 데이터 무결성의 물리적 환경 대책은 네트워크 관리자만의 서버 접근, 케이블 혹은 콘넥터와..
-
2014.12.23 Polymorphic 자료형Legacy/뇌자극 - WinSysProg 2014. 12. 23. 12:54
Polymorphic 자료형12345678910111213#if defined (_WIN64) typedef __int64 LONG_PTR; typedef unsigned __int64 ULONG_PTR; typedef __int64 INT_PTR; typedef unsigned __int64 UINT_PTR;#else typedef long LONG_PTR; typedef unsigned long ULONG_PTR; typedef int INT_PTR; typedef unsigned int UINT_PTR;#endifcsPTR이 붙어있지만 포인터는 아님!포인터값 기반의 산술연산을 위해 정의된 자료형이기 때문에 PTR이 붙음 오류의 확인GetLastError 함수 사용오류가 발생했을 때, 이어서 바로 G..
-
2014.12.21 LPCTSTR LPTSTRLegacy/뇌자극 - WinSysProg 2014. 12. 21. 10:36
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253LPSTR CHAR *LPCSTR CONST CHAR * LPWSTR WCHAR *LPCWSTR CONST WCHAR * #ifdef UNICODE typedef WCHAR TCHAR; typedef LPWSTR LPTSTR; typedef LPCWSTR LPCTSTR;#else typedef CHAR TCHAR; typedef LPSTR LPTSTR; typedef LPCSTR LPCTSTR;#endif #ifdef _UNICODE #define __T(x) L ## x#else #define __T(x) x#endif #defin..