2024/12/20 2

[운영체제] 프로세스 - 메모리 공간/상태(state)/문맥 교환(context-switching)/pcb/프로세스 vs 스레드

1. 운영체제운영체제는 여러 프로그램이 동시에 실행될 때, 하드웨어 자원(cpu, memory, disk, i/o devices)을 각 프로그램에게 최대한 효율적으로 분배해주는 역할을 한다. 프로세스가 연산을 하기 위해서는 cpu와 memory를 사용해야 하는데, 자원은 한정적이므로 모든 프로세스가 동시에 사용할 수 없다. 따라서 운영체제가 일정 시간마다 자원을 사용할 프로세스를 지정해준다. -오늘날 cpu는 보통 시분할 방식(time sharing)을 따른다.운영체제는 사용자가 하드웨어 자원에 접근하기 위한 인터페이스를 제공해주기도 한다. 사용자는 GUI 또는 CLI를 통해서 os에게 명령을 내릴 수 있다. 운영체제는 하드웨어의 device driver를 사용해서 프로세스가 하드웨어 장치를 사용할 수 ..

CS 2024.12.20

[운영체제] 하드웨어 - 불 논리/불 연산/가산기(adder)

1부 하드웨어이 책을 앞에서부터 읽으면 컴퓨터 시스템을 bottom-up으로 설명한다. 그러나 각 장을 순서대로 읽지 않아도 된다. 컴퓨터 시스템을 구현할 때 가장 기본적인 원리는 '추상화, 모듈화'이다. 컴퓨터를 설계하는 사람은 ram 내부의 칩 하나하나에 있는 레지스터들이 '어떻게' 동작하는지 몰라도 된다. 그저 ram이라는 모듈이 '무엇을' 하는지 설명되어 있는 인터페이스를 보고 사용하면 된다. 사용해서 컴퓨터를 설계하면 된다. 하드웨어, 소프트웨어 개발자는 이 추상화-구현 패러다임을 통해 매우 크고 복잡한 컴퓨터 시스템을 모듈 단위로 잘 설계해서 구현과 오류 해결이 쉽고 복잡도가 낮은 시스템을 만들 수 있다.  고수준 프로그래밍 언어가 컴파일러에 의해 저수준 기계어로 번역되고, 기계어가 어셈블러에..

CS 2024.12.20