목록< Index > (317)
엔지니어가 되고 싶은 공돌이
8. 1 Context Switch - 한 프로세스에서 다른 프로세스로 CPU 사용을 전환하는 행위 - Overhead가 따른다. - Context Switch overhead is dependent on hardware support - 100s or 1000s of switches/s typically 8. 2 State queue - OS는 모든 프로세스 상태를 PCB에 저장하고 이 구조를 큐로 관리한다. - queue의 종류는 매우 다양 - 프로세스가 상태를 변경함에 따라 PCB가 queue를 이동한다. - PCB는 data structures 이다. - Dynamically allocated inside OS memory - Process is created: OS는 PCB를 할당, 초기화, q..
7. 1 fork() - CPU 스케쥴링에 따라서 부모가 먼저 실행될지 자식이 먼저 실행될 지는 달라질 수 있다. - getpid(): 자신의 pid - getppid(): 부모의 pid 7. 2 Process State Transition - 운영체제가 각 프로세스의 상태를 관리 7. 3 PCB(Process Control Block) - 각 프로세스에 대한 정보를 가지고 있다. - PC, Registers. Stack pointer, PID, Memory management, File management...
6. 1 What is Process? - Program: 컴퓨터에 저장되어 있는 순서가 있는 명령어들의 집합. - Process: 현재 컴퓨터에서 실행중인 Program. - Processor: CPU 또는 하드웨어 - Task: 하나의 프로세스 - Job: 프로세스 여러개 가 모여 한 가지 일을 처리할 때 6. 2 Process Creation & Termination - 오른쪽 코드에서 return -1; 이 error exit의 예 - 프로세스를 생성하는 방법은 크게 2가지, 종료하는 방법은 크게 4가지.
5. 1 DMA 0~1번 Device가 Timer Device 이다. 5. 2 Protected Instruction - user application 접근 불가능, 운영체제만 사용 가능한 명령어 - mode bit는 CPU안에 있다. - 모드는 보호 된 프로세서 레지스터의 상태 비트에 의해 설정. - protected는 CPU가 아닌 OS에서 관리한다. - user program은 권한있는 것을 사용하기 위해 OS를 호출해야 한다.(system call을 호출) 5. 3 Memory Protection - OS는 user program간에 메모리를 보호해주어야 한다. - OS는 자기자신을 보호할 수 있어야한다. - 어떤 program이 실행되는지에 따라서 reg값을 계속 load 해온다. (reg의 개..
4. 1 Interrupts - interrupts와 exceptions 가 발생하면 모든 실행권한을 운영체제에게 넘겨준다. - polling: CPU가 계속 check. - Hardware interrupts: 하드웨어가 알려준다. CPU는 그동안 다른 작업 가능. - interrupts handler에 interrupt마다 해결할 각각의 방법의 code가 들어있다. 4. 2 Exceptions - system call ex) Open, Create, Read, Write, Close... - system call table: 운영체제는 약 350 여개의 system call을 정의해 두었다.
3. 1 OS Internals 3. 2 Computer system - bus의 속도는 메인보드의 칩셋의 성능에 의해 결정된다. - 위 그림에서 각 장치를 연결하는 검은 선은 bus를 의미 - I/O: local buffer와 Main memory 사이의 데이터 교환을 의미.
CTSS(Compatible Time Sharing System, 1961, MIT) OS/360 (1964, IBM) MULTICS(MULTiplexed Information and Computing Service,1965, MIT, Bell Labs, GE) Unix(1969, Bell Labs) 2. 1 MULTICS 2. 2 Unix
1. 1 운영체제의 정의 - event-driven software: 대기하고 있다가 이벤트가 발생하면 일을 처리, 처리 이후 다시 대기 상태로 - event: application에서 요청: system call, hardware에서 요청: interrupts - Middleware: 운영 체제에서 제공되지 않는 서비스를 애플리케이션에 제공하는 소프트웨어 각기 분리된 두 개의 프로그램 사이에서, 매개 역할을 하거나 연합시켜주는 프로그램 통신 및 데이터 관리를 가능하게 한다. ex) Database Server 1. 2 운영체제의 발전 - 2세대 -> 3세대: 여러개의 프로그램을 동시에 돌림 하지만 CPU 스케쥴링의 문제가 발생. - 4세대: LSIs & VLSls -> 성능 대폭 향상, GUI - 컴퓨..
1. placeholder placeholder(dtype, shape, name) - 임의의 입력값을 받을 수 있도록 해준다. import tensorflow as tf # 플레이스홀더 노드와 add 노드를 정의합니다. a = tf.placeholder(tf.float32) b = tf.placeholder(tf.float32) adder_node = a + b # 암시적으로 tf.add(a, b) 형태로 정의될 것입니다. # 세션을 열고 그래프를 실행합니다. # 출력값 : # 7.5 # [ 3. 7.] sess = tf.Session() print(sess.run(adder_node, feed_dict={a: 3, b: 4.5})) print(sess.run(adder_node, feed_dict={..
1. 정의 텐서플로우: 텐서를 흘려보내면서 데이터를 처리하는 라이브러리 텐서: 다차원 배열 랭크: 텐서의 차원, 랭크가 0이면 스칼라, 1이면 벡터, 2이면 행렬, 3이상이면 텐서라고 부른다. - 텐서들은 계산 그래프 구조를 통해 노드에서 노드로 이동한다. - 텐서플로우 프로그램 작성 과정: 그래프 생성 -> 그래프 실행 : 생성과 실행을 따로 하는 이유는 실행과정에서 생성한 전체 그래프중 일부만 사용할 수 도 있기 때문. - 노드에 연산, 변수, 상수등을 정의 2. 기초 코딩 import tensorflow as tf # 그래프 노드를 정의하고 출력합니다. # 출력값 : Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), d..