운영체제(Operating System) : HW의 관리와 사용자 인터페이스를 제공하는 프로그램. 성능 향상, 편의성 제공, 하드웨어 관리의 역할을 한다.
예전부터 우리가 알았던 컴퓨터의 모습이 지속되어왔던 것은 아니다. 컴퓨터는 1940년대 말부터 등장하여 점차 발전해 나갔는데, 지금부터 그 양상을 살펴볼 것이다.현재의 컴퓨터는 hdd에 프로그램이 있고, os가 hdd의 프로그램을 메모리에 적재하는 역할을 한다.
현재의 운영체제는 인터럽트 기반 시스템이다. 운영체제가 부팅되어 메모리에 상주한 후, 운영체제는 대기 상태로 유지되는데 이때 인터럽트가 발생하면 os내부에서 다른 동작을 하게 된다.interrupt(인터럽트) : 프로그램을 실행하던 도중 예기치 못한 상황이 발생하면 현
현대에는 시공유 시스템 등 하나의 컴퓨터를 여러 유저가 동시에 사용하는 환경이 많다. 그러나 하나의 컴퓨터를 여러 유저가 사용하게 되면 한 사람이 컴퓨터를 독점하거나 하나의 실수로 인해 모든 유저가 피해를 보는 상황이 발생할 수 있다. 이를 막기 위한 방법 중 하나가
운영체제 서비스 운영체제는 실행되는 응용 소프트웨어가 메모리와 cpu, hdd등의 자원들을 효율적으로 사용할 수 있는 역할을 한다. 이러한 hw 자원들을 운영체제 내부에서 적절히 분배해 자원을 최대한 효율적으로 사용해야 한다. 이를 위해 운영체제는 다음과 같은 기능들
프로세스 관리 운영체제는 자원을 효율적으로 할당해 주는 역할을 한다. 이를 위해서는 각 프로그램이 메모리의 어디에 적재되는지, 어떤 프로세스가 먼저 실행되어야 하는지의 관리가 필요하다. 오늘은 이 프로세스 관리에 대해 알아보자. 프로세스 vs 프로그램 프로세스 관리에
CPU 스케불링 : ready queue안에, 즉 메모리 안 여러 프로세스가 대기하고 있을 때 어떤 프로세스를 먼저 CPU 서비스 받게 할 것인지 스케줄링함. 즉 CPU에게 다음에 어떤 일을 하게 할 것인지 스케줄링하기 때문에 CPU 스케줄링이라고 불린다.CPU 스케줄
이전 시간에 우리는 CPU를 스케줄링하는 알고리즘인 FCFS(first come first served)를 배웠다. 오늘은 CPU 스케줄링 알고리즘인 shortest job first와 priority scheduling, round-robin 알고리즘을 배울 것이다.
프로세스는 프로세스에 의해 성성됨.부모 프로세스자식 프로세스sibling processes : 부모가 같은 프로세스프로세스 트리위 트리에서, 가장 먼저 os에 의해 생성되는 프로세스는 init 프로세스. 이 때 init 프로세스의 pid는 0이다. sshd와 docke
쓰레드(thread) : 프로그램 내부의 흐름 또는 맥보통 하나의 프로그램은 하나의 맥이 있다.Multithread : 한 프로그램에 2개 이상의 쓰레드가 존재하는 것.
임계구역 : multi thread 시스템에서 쓰레드가 공통의 변수를 바꾸거나, table을 업데이트하거나 파일에 써서 생기는 코드의 한 부분. 즉 공유 자원에 접근하는 코드의 영역을 말한다.이전의 bank account 문제. child와 parent가 공통의 변수인