본문 바로가기
728x90
반응형

공부/OS9

[OS] 운영체제 system call 운영체제란 하드웨어를 제어하고 다양한 하드웨어, 소프트웨어 리소스들을 효율적으로 관리한다. 즉 사용자는 운영체제를 통해 시스템을 편리하게 이용할 수 있다. 사용자가 실행 시킨 응용 프로그램은 운영 체제를 통해 하드웨어에 간접적으로 접근할 수 있다. 많이 사용하는 운영체제의 종류에는 Windows, MacOS, ubuntu 등이 있다. 운영체제는 정말 다양한 역할을 하지만 사용자 인터페이스를 통해 사용자와 상호작용 하는 방식과 하드웨어와 상호작용 하는 방식을 알아보자. 사용자 인터페이스인터페이스란 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉 사용자 인터페이스란 사용자와 컴퓨터를 연결해주는 역할을 한다고 볼 수 있다. 그렇다면 사용자가 운영체제에 접근하기.. 2024. 8. 25.
[OS] 페이징(paging)과 세그먼테이션(segmentation) 프로그램은 실행 전 변수와 같은 기호 주소를 실제 주소로 바인딩 해야한다. 바인딩은 컴파일, 메모리 적재, 실행 시간 등에 바인딩 될 수 있다. 현재는 대부분 실행 시간에 기호 주소를 실제 주소로 바인딩한다. 컴파일, 적재 시간 바인딩과 달리 실행 시간 바인딩은 논리적 주소와 물리적 주소가 다르다. 논리적 주소와 물리적 주소는 서로 매핑되는데 이러한 매핑은 MMU(Memory Managerment Unit)에 의해 이루어진다. 동적 적재 초창기에는 모든 프로그램을 주기억장치에 적재하는 정적 적재(static loading)를 사용했다. 그런데 정적 적재는 메모리의 용량이 부족해질 수 있는 문제가 있다. 이러한 문제는 루틴이 호출될 때 해당 루틴을 주기억장치에 적재하는 동적 적재(dynamic loadin.. 2023. 6. 20.
[OS] 교착 상태 (deadlock) 시스템에는 유한 개의 자원이 존재하고 프로세스는 이 자원을 사용한다. 자원을 사용하기 위해 프로세스는 자원을 요청하고 사용하고 해제한다. 만약 사용하려는 자원이 이미 다른 프로세스에 의해 사용 중이라면 대기 상태에 들어간다. 그런데 어떤 집합의 모든 프로세스가 자원을 할당받기를 기다리고 있고 각 프로세스가 이 집합의 어떤 프로세스가 소유 중인 자원을 할당받기를 기다리고 있다면 이를 교착 상태(deadlock)에 있다고 한다. 교착 상태는 다음과 같은 4가지 조건을 만족해야 교착 상태라고 한다. 상호배제 : 한 번에 하나의 프로세스만 자원을 사용할 수 있다. 점유와 대기 : 프로세스는 최소한 하나의 자원을 점유하고 있고 다른 프로세스가 점유 중인 자원을 대기 중이다. 비선점 : 점유된 자원은 점유 중인 프.. 2023. 6. 19.
[OS] CPU scheduling 알고리즘 1. FCFS(First Come First Served) 스케줄링 요청한 순서대로 프로세스에게 cpu를 할당해준다. 비선점 방식이다. 다음과 같이 프로세스들이 요청을 했다고 하자. 다음과 같은 순서대로 실행될 것이다. 이 방식은 수행 시간이 큰 프로세스가 모두 수행되는 동안 다른 프로세스가 기다려야 한다는 단점이 존재한다. 2. SJF(Shortest Job First) 스케줄링 SJF 알고리즘은 cpu 수행 시간이 짧은 프로세스부터 cpu를 할당해주는 방식이다. (수행 시간이 같으면 요청한 순서대로) 비선점 방식이다. 다음과 같이 프로세스의 요청이 동시에 들어왔다고 하자. 수행 시간이 짧은 프로세스부터 실행하기 때문에 아래와 같이 실행될 것이다. 평균 대기 시간이 짧다는 장점이 있다. 3. SRTF(.. 2023. 6. 11.
728x90
반응형