Programming(36)
-
[OS] 프로세스의 생성과 종료
프로세스 생성과 종료 프로세스 생성 프로세스는 프로세스에 의해 만들어진다. 컴퓨터에서 실제 프로세스 생성과정을 보자. BOOTING : OS가 RAM 에 resident OS가 가장 먼저 첫 process를 만든다. (ex. Linux: init) 그 init 프로세스가 여러개의 프로세스들을 만든다. 그 만들어진 프로세스들은 또 자식프로세스들을 생성... 이렇게 process Tree 를 만들고, parent process, child process, sibling process(부모같음)의 개념을 똑같이 사용한다. PID(Process Identifier) : 프로세스의 각 id가 존재한다. 절대 중복되지 않음! (PPID(부모의 PID)개념도 존재) 프로세스 생성(system call) fork():..
2020.04.19 -
[OS] CPU Scheduling 알고리즘, 평가 척도
CPU 스케쥴링 알고리즘 mem 내에서는 어느 시점이 지나서 p1 -> p2 ... 이렇게 돌아가는데 그렇게 메인 메모리 내에서 process 의 switching이 일어나는 것을 context switching이라고 한다. CPU 스케쥴링 용어 Ready Queue 에서 어떤 프로세스를 선택해서 cpu에게 보내줄지를 계산하여 결정하는 것. 순서대로 하는 것이 가장 쉽기야 하겠지만, 그보다 더 효율적인 경우가 있을지를 계산하여 순서를 결정한다. 그 업무를 담당하는 프로그램을 OS 내 cpu 스케쥴러 라고 한다. 시나리오를 보자. context switching가 일어나야함 : p1 -> p2로 작업이 변경되어야한다. context switching : CPU에서 작업할 프로세스가 교환되는것 p1이 현재상..
2020.04.11 -
[OS] 프로세스 관리
프로세스 관리 프로세스 : cpu 자원을 효율적으로 나누어 주는 것. program vs process program : HDD 안에있는, 아직 메인메모리로 call 되지 못한 데이터. process : HDD 안에서 메인메모리로 적재되어 처리되는 데이터. cpu는 program이 아니라 process 와 커뮤니케이션함. 정리하면 하드디스크 속 프로그램, 메인메모리에서 살아 움직이는 프로세스. 프로세스의 상태 new : 메인 메모리로 올라온 상태 메모리 할당 PCB 생성 ready : 초기화를 끝내고 실행할 준비가 모두 된 상태 Queue에서! dispatch(PID): 준비 -> 실행 running : 실제 cpu 가 실행중인 서비스 timeout(PID): 실행 -> 준비 exit(PID): 실행 -..
2020.04.10 -
[OS] Dual Mode(이중모드), 하드웨어 보호
이중모드, 하드웨어 보호 듀얼모드 한 컴퓨터를 여러사람이 동시에 사용하는 환경이거나 (ex. 서버컴퓨터) 한 사람이 여러개의 프로그램을 동시에 사용하는 환경일 때 (ex. 스마트폰, PC) 일반 사용자가 STOP명령등을 실행시켜 cpu를 중단시키는 일이 발생하면 안된다. 그래서 사용자 프로그램은 치명적인 명령을 사용할 수 없게 모드를 나눈 것이다. User 모드 (사용자 모드) Supervisor 모드(관리자 모드, monitor, priviliged, system 모드) = OS privileged instruction 중에는 STOP, HALT, RESET, SET_TIMER, SET_HW .. 등이 대표적이다. dual mode 의 시나리오를 보자. register에 모드를 나타내는 (이중모드를 나..
2020.04.08 -
[OS] OS의 서론, 역사, 인터럽트 기반 시스템
운영체제란? 운영체제는 User와 H/W간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, OS는 file, 즉 HDD에 저장되어있는 instruction들의 집합체인 program을 RAM(메인메모리)로 올리는 역할을 하는 여러 프로그램의 모임이다. 그래서 OS가 없다면 저 프로그램(실행파일로 구성됨)을 실행 할 수 없다. 운영체제가 없다면, 프로그램이 없을테니 메모리에는 쓰레기값만 가득할 것이다. 운영체제의 목적 가장 큰 목적은 컴퓨터 하드웨어(프로세서, mem, disk, network...)들을 잘 관리하여 성능향상을 하는 것에 있다. 또한 운영체제가 존재하기 떄문에 사용자가 마음대로 H/W를 관리하고, 편리하게 사용할 수 있다. 성능 향상 User에게 편의성 제공 H/W를 관리하는 프로그..
2020.04.07 -
[OS] 폰노이만구조, CPU와 성능개선
폰노이만 구조 오늘날의 대부분의 컴퓨터는 대부분 폰노이만 구조를 따르며, 이는 cpu, mem, i/o, 저장장치가 버스로 연결되어있는 구조를 말한다. 가장 중요한 특징은 모든 프로그램은 메모리에 올라와야 실행할 수 있다는 것이다. 그래서 컴퓨터구조 시간에 우리는 폰노이만 구조로 하는 MIPS 에 대해 배웠고, mem 과 cpu 간의 계산과 원리에 대하여 배웠다. 그때는 cpu에서 처리하는 과정을 위주로 배웠다. 하드웨어 사양과 관련된 단어 clock CPU속도와 관련된 단어. 클록이 일정 간격으로 clock tick(pulse)를 만들면, 거기에 맞추어 cpu 부품들이 작업을 한다. Hz 초당 클록 틱이 발생하는 속도를 나타내는 단위이다. CPU : ex. 인텔코어 i7(4코어, 3.4GHz, 캐시 4..
2020.04.04