나도 공부한다/운영체제12 05. CPU scheduling cpu scheduling이란? CPU를 더 효율적으로 사용하기 위한 것. 프로세스 스케줄링을 위한 queue에는 job queue, ready queue, wait queue가 있다. 프로세스 스케줄링의 과정 새로운게 들어오면 먼저 레디큐로 간다. 레디큐에서 스케줄러를 통해 CPU로 가고 목적에 따라 I/O(I/O를 요청한 디바이스들의 웨이팅 큐에서 I/O를 기다리다가 I/O 작업을 수행), time slice expired(타이머가 끝났을때), fork a child(일반적인 wating queue에 들어가서 child가 끝날때까지 기다림), wait for an interrupt(특정 interrupt 발생을 기다림) 등의 작업을 수행한다. 수행이 끝나면 다시 레디큐로 들어감 CPU burst(CP.. 2021. 5. 31. 04. CPU 2021. 5. 31. 03. 운영체제의 구조와 설계 3-1. 운영체제의 구조 컴퓨터 시스템은 user, system and application programs, OS, hardware로 이루어져있음. 크게 User mode로 사용되는 User 메모리 공간과 Kernel mode로 사용되는 Kernel 메모리 공간으로 나뉨. User area에는 user, user application(OS를 제외한 모든 것. ex) cloud, 컴파일러)과 system program인 user interfaces(GUI, batch, command line)가 있음. user interfaces가 잘 와닿지 않는다면, 윈도우 하단바를 생각하면 됨. Kenel area에는 system call, services가 있음. 이때 user interface, system ca.. 2021. 3. 29. 02. 컴퓨터 시스템 2-1. 컴퓨터 시스템의 구조 시스템과 프로그램들은 무조건 OS를 통해 하드웨어에 접근할 수 있음. 컴퓨터 시스템은 하드웨어, OS, 어플리케이션 프로그램, 유저로 구성되어있음. 예전에는 단일버스를 사용했지만, 컴퓨터의 발전에 따라 점점 CPU, Memory, I/O의 속도차이가 발생하면서 병목 현상이 나타남. 이를 해결하기 위해 현재는 계층적 이중 버스 구조가 사용됨. -단일버스란?) 메모리에 CPU, disk, USB controller(입출력 장치), graphics adapter을 하나의 선으로 연결하여 정해 진 약속대로 동작을 함. 즉, 한 종류의 시스템 버스에 모듈들이 연결됨. ex) 세번 신호를 보내면 graphics adapter가 동작. 다른 장치들은 10초동안 동작 멈춤. -계층적 이중.. 2021. 3. 18. 02. 컴퓨터의 기원 컴퓨터란? : compute+er 즉, 계산하는 기계라는 뜻. 컴퓨터가 없던 시절에는 사람들을 모아놓고 계산을 시켰음. 1941년) Colossus. 2차 세계대전때 영국군이 독일의 암호문을 해독하기 위해 만듦. 전시 기밀이었기 때문에 늦게 공개되었고 이에 따라 ENIAC이 최초의 컴퓨터라는 오해가 생겼음. 사람이 직접 숫자를 이진수로 바꾸고 opcode도 눌러줘야했음.(현재는 컴파일러가 기계어로 바꿔줌) 즉, 사람이 operator였음. 1942년) ABC. 진공관을 이용해 간단한 이진법, Boolean 논리 연산을 함. 컴퓨터보다는 계산기에 가깝다는 견해가 있음. 1946년) ENIAC. 2차 세계대전때 미사일 탄도 분석을 계산하기 위해 만듦. 매우 무겁고 부피가 컸으나 500 Flop/s 밖에 되지.. 2021. 3. 11. 01. 운영체제의 종류와 기능 현재 많이 쓰이는 운영체제) ios, Linux, Window, Android 등 우리나라에서 만든 개방형 운영체제) 하모니카, Gooroom, TmaxOS 등 (window 독점을 막기 위해) 예전과 요즘의 운영체제 비교 전에는 임베디드 OS(작은 메모리, 느린 cpu가 피쳐폰, 자동차 등에 들어감. 현재는 디바이스가 좋아져서 리눅스 위에 다른 소프트웨어를 충분히 올릴 수 있음. OS가 리눅스로 동일하므로 개발이 쉬워짐. ex) 안드로이드용 넷플릭스 어플이 티비, 냉장고 등 안드로이드 체제가 있는 곳에서 모두 실행 가능 군용 비행기, 원자로 등에는 실시간성(속도, 반응)이 좋은 real time OS / 실시간 OS가 들어감. OS가 없으면? 모든 명령어를 내가 제어해야함. ex)printf("hell.. 2021. 3. 4. 이전 1 2 다음