본문 바로가기

study

(8)
Operating System | 프로세스의 생성, 삭제, 좀비 & 고아 프로세스, 메시지 패싱 시스템, 파이프 (10월 첫째 주) 프로세스 생성 Process Creation 부모 프로세스가 자식 프로세스를 만든다. (프로세스는 트리 구조로 되어 있음) PCB에 저장된 pid (process identifier) 값으로 프로세스를 식별한다. (운영체제가 정해 준 고유 번호) 자원 공유 옵션 - a. 부모와 자식이 서로 모든 자원을 공유하는 옵션 b. 자식들이 부모 자원의 부분집합을 공유하는 옵션 c. 부모와 자식이 자원을 공유하지 않는 옵션 실행 옵션 - a. 부모와 자식이 동시에 실행하는 옵션 b. 부모가 자식이 terminate 될 때까지 기다리는 옵션 주소 공간 옵션 - a. 자식이 부모의 복사본인 옵션 b. 자식이 로드된 프로그램을 갖고 있는 옵션 UNIX에서의 프로세스 생성 Process Creation in UNIX fo..
Operating System | 운영체제 서비스, 구조, 가상 머신, 프로세스, context switch (9월 셋째 주) Booting Starting a computer by loading the kernel Operating System Services 사용자에게 유용한 기능을 제공하는 OS 서비스의 집합 ① User Interface 사용자와 컴퓨터 시스템이 만나는 지점 Command-Line Interface (CLI), Graphics User Interface (GUI), Batch cf> CLI : 사용자가 텍스트 명령을 통해 명령을 내리는 인터페이스 ② Program Execution (프로그램 실행) 시스템은 메모리에 프로그램을 로드하고, 그 프로그램을 실행시키고, 강제적이든 그렇지 않든 실행을 끝낼 수 있어야 한다. ③ I/O Operations (입출력 명령) 입출력 명령을 수행 효율과 보안을 위해 운영..
JAVA | Constant expression, Arithmetic Operators, Operator Priority (9월 둘째 주) Constant Expressions에 관한 5가지 코드 1 2 3 4 5 6 7 8 class dtChar{ public static void main(String[] args) { char c; c = 'A' + 1; System.out.println(c); } } Constant expression이므로 컴파일 가능한 코드이다. representable in 2 byte. 자바에서는 캐릭터 타입은 2 byte이다. (C는 1 byte) 1 2 3 4 5 6 7 8 class dtChar{ public static void main(String[] args) { char c; c = 'A' + 1000000; System.out.println(c); } } 에러! 숫자가 2 byte에 맞지 않으므로...
Operating System | Storage Structure, DMA, 멀티프로그래밍, 시분할, 타이머, 시스템 호출 (9월 둘째 주) 꿀 같은 추석 연휴가 지났다...! 사실 추석 당일에 친척 집 다녀온 것 말고는 한 게 없다... 운동을 좀 더 열심히 하기 시작했는데 오늘 비 맞으면서 했다... ㅠ 정리하는 데 시간이 좀 오래 걸렸던 운영체제...! 거의 독학 수준으로 공부하는 중이라 복습할 때 시간을 가장 많이 차지하는 것 같다. Storage Structure Main Memory : Random-Access Memory라고도 불린다. 전원이 나가면 모든 데이터가 사라지는 특징을 갖고 있으므로 volatile(휘발성)하다. Secondary Storage(보조기억장치) : Extension of main memory that provides large nonvolatile storage capacity Magnetic Disks ..
JAVA | 오브젝트, Primitive types, Scanner, 난수 (9월 첫째 주 & Exercises) 작년에 자바를 친구한테 잠깐 배우고 나서 처음 듣는 자바 강의...! c에 익숙해져 있어 자바는 아직 조금 버겁다. 그래도 새로운 언어를 배울 때는 나름의 재미가 있는 것 같다. 자바는 모든 것이 오브젝트(object)이다. 오브젝트는 클래스의 인스턴스이다. Animal (class name) cat (object name) = new Animal(); 클래스는 메소드(methods)를 포함한다. main 메소드는 프로그램의 엔트리 포인트(시작하는 포인트)이다. Primitive Types Integer types : byte, short, int, long Char type Boolean type : C와 다르게 1과 0이 아니라 true, false 이다. 타입이 서로 달라도 덧셈이 가능하다. (메모..
Algorithms | 알고리즘의 정의, Binary Search, 복잡도 (9월 첫째 주) 알고리즘설계와구조는 진짜 중요한 과목인데 내가 2학년 때 안 들었다. ; 3학년이 되고 나서야 이 강의를 수강하게 되었다. 짝수반 교수님이 다행히 내 지난 학기 SP를 가르치신 교수님이다. (학점 잘 주시는 교수님) 하~ 공부하기 싫다.... How can we solve a complicated problem efficiently using computers? Data Structure Algorithm Complexity (복잡도) : What is the time/space cost for executing the algorithm using particular data structures? Computability : Can the problem be solved by a computer? 알고리..
Operating System | 운영체제, 인터럽트 (9월 첫째 주) 드디어 2019년 2학기 개강...! 벌써 운영체제를 들을 학기가 되었다. 지난 학기에 들었던 SP보다 악명이 높다는데... 벌벌 떨면서 듣는 중이다. 그런데 강의실이 워낙 대형 강의실이라... 교수님 필기가 잘 안 보이고 교수님 영어 발음도 제대로 잘 못 듣겠다... (영재킴....) 어쨌든! 무시무시한 과목이니 필기를 좀 정리해 보려고 한다. 개강 첫주에는 운영체제에 대한 기본적인 개념과 인터럽트에 관해서 배웠다. 운영체제(Operating System)란? A program that acts as an intermediary between a user of a computer and the computer hardware 컴퓨터 시스템을 편하고 효율적이게 쓰는 것을 목적 운영체제는 사용자 관점과 시..
System Programming | Final-term Notes 정말 힘들었던 5학기의 시스템프로그래밍...! 그 악명 높은 SP를 처치?하고야 말았다... 올해 3월부터 아이패드 프로가 생기면서 필기하기가 수월해졌다. 강의자료를 올릴 수는 없으니 기말고사 전에 간단하게 정리한 필기를 올리게 되었다. 기말고사 범위는 중간고사 때보다 공부하기가 좀 쉬웠다. 중간고사 때는 내 자신이 어셈블러가 되어야 할 정도로 하드코어 한 계산이 필요했는데, 기말고사 때는 파이썬 그리고 머신러닝, 클라우드 컴퓨팅 등 간단한 이론 정리만 하면 되는 시험이었다. 점수는 평균즈음에 머물렀지만... 교수님이 갓갓이셔서 성적 비율을 꽉꽉 채워 주셔서 성적도 나쁘지 않게 받았다.