본문 바로가기
728x90
반응형

전체 글 보기164

05. 프로세스 상태와 스케쥴러 예시를 먼저 살펴보자 1. 선점형과 비선점형 스케쥴러 1 ) 선점형 스케쥴러 ( Preemptive Scheduling ) : 하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 차지할 수 있음 2 ) 비선점형 스케쥴러 ( Non-preemptive Scheduling ) : 하나의 프로세스가 끝나지 않으면 다른 프로세스는 CPU를 사용할 수 없음 선점형 VS 비선점형 Process 상태, 정적 우선순위, 선점형 스케쥴러, 시분할 시스템이 적용되었을 때 다음과 같이 동작한다. 2021. 7. 26.
04. 스케줄링 알고리즘 스케줄링 알고리즘은 프로세스를 어떻게 실행시킬지 결정하는 방법이다. 시분할 시스템은 프로세스 응답 시간을 짧게, 멀티 프로그래밍은 CPU 활용도를 최대로 높혀서 프로세스를 빨리 실행하는 것이 목표이다. 각 알고리즘은 이와 같은 목표를 갖고 있다. 1. FIFO 스케쥴러 : 프로세스가 저장매체를 읽거나 프린팅을 할 때 쭉 CPU를 끝까지 사용한다. 가장 간단한 스케쥴러로 FCFS라고도 불린다. 다음과 같은 우선순위를 갖는 process가 있을 때 스케쥴링 알고리즘에 따라 작업 실행 순서는 다르다. 2. SJF 최단 작업 우선 스케쥴러 : 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘이다. 3. 우선순위 기반 스케쥴러 - 정적 우선순위 : 프로세스마다 우선순위를 미리 지정 - 동적 .. 2021. 7. 19.
03. 프로세스 스케쥴링 1. 배치 처리 시스템 컴퓨터 프로그램 실행 요청 순서에 따라 순차적으로 프로그램을 실행하는 방식으로 자료 구조형 중에 queue와 같다. 하지만, 먼저 실행하고 있는 프로그램의 실행 시간이 너무 긴 경우 뒤의 프로그램은 이전 프로그램 실행이 종료 될 때까지 기다려야 한다. 그리고, 노래를 들으며 문서를 작성하는 등의 동시 작업을 처리할 수 없고, 여러 사용자가 한 프로그램을 사용할 때 동시 처리가 안되는 점을 반영하기위해 시분할 시스템, 멀티 프로그래밍이 등장하게 된다. 2. 시분할 시스템 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화한다. 3. 멀티 태스킹 단일 CPU에서 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템이다. 4. 멀티 프로세싱 여러 cpu에서 하나의 프로그램을.. 2021. 7. 18.
02. 운영체제 구조 1. 운영체제의 역할 1 ) 응용 프로그램이 요청하는 메모리를 허가하고, 분배한다. 2 ) 응용 프로그램이 요청하는 CPU 시간을 제공한다. 3 ) 응용 프로그램이 요청하는 IO Devices 사용을 허가/제어한다. 운영체제는 사용자 인터페이스를 제공한다. * 쉘(shell) : 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램(CLI, GUI) 운영체제는 응용 프로그램을 위해서도 인터페이스를 제공한다. * API (Application Programming Interface) : 요청서의 집합이라고 보면 좋음 * 보통은 라이브러리 형태로 제공한다. 2. 시스템콜 : 운영체제는 커널모드와 사용자모드로 나뉘어 구동되는데, 이 때 파일 읽기/쓰기/메세지 출력 등의 대부분을 커.. 2021. 7. 15.
VisualStudioCode/VisualStudio - Blazor 새로운 razor 생성 Visual Studio Code에서 razor를 새롭게 생성하자.(Visual Studio에서도 razor 생성 방법은 동일하다.) 1 ) visual studio code 터미널에 dotnet new blazor -o UItest 라고 입력 폴더 목록에서 Pages 폴더 안에 UItest.razor가 생겼음을 확인해줄 수 있다. 2 ) 이제 서버와 이 razor를 연동해주자. 폴더 중 Shared 폴더 안에 NavMenu.razor 파일 안에서 li부분을 추가한 뒤, href 부분에 내가 연결할 곳의 razor이름을 작성한다. ( 꼭 이렇게 안해도됨 ) 3 ) UItest.razor 파일의 최상단에 서버와 연결됨을 의미하는 @page를 작성한다 4 ) 다시 터미널에 dotnet watch run 을 .. 2021. 6. 22.
01. 운영체제 역할과 응용 프로그램 1. 운영체제의 역할 1 ) 시스템 자원 관리자 (Operating System, OS) - 시스템 자원 = 컴퓨터 하드웨어이며 스스로 할 수 있는 것이 없다. - CPU(중앙처리장치), Memory - In/Out Devices(입출력장치) : monitor, mouse, keyboard, network - 저장매체 : SSD, HDD - 대표적 운영체제 : Windows OS, Mac OS, UNIX OS 2 ) 사용자와 컴퓨터간의 커뮤니케이션 지원 3 ) 컴퓨터 하드웨어와 프로그램 제어 운영체제는 저장매체(SSD/HDD)에 저장이 된다. 2. 응용 프로그램 - 프로그램 = 소프트웨어 = 운영체제, 응용 프로그램 = Application, App 3. 운영체제와 응용 프로그램의 관계 - 운영체제는 응.. 2021. 6. 21.
[Git] 04. cherry-pick cherry-pick은 현재 내가 HEAD로 있는 branch에 특정 commit을 선택하여 추가할 수 있게 해준다. 예를 들어 master branch에서 기능 A에 버그가 있는 경우, 급하게 A 버그 패치를 수정 후 commit하게 된다. 이 commit만 콕 집어서 master brach에 바로 반영하여 버그를 수정할 수 있다. master branch로 check-out한 뒤, 수없이 commit했던 message들 중 하나만 cherry-pick을 해서 선택해온다. conflict발생시 적절하게 merge 후에 다시 commit을 해준다. master가 업데이트 됨을 알 수 있다. 만약 commit 두개를 선택하고 싶다면? 우선 모들 log를 확인하기 위해 가장 최근에 commit된 branch.. 2021. 6. 10.
[Git] 03. branch 생성, merge, rebase 1. branch를 생성해보자 branch1을 생성하면서 자동으로 checkout(해당 branch로 이동) 되었다. 임의로 commit을 많이 해보았다. origin/master와 master branch는 git check 에 머무르고 있고, 지금은 version1 branch 에 위치하고 있다. 다시 git check로 돌아가서(checkout) version2를 만들어보자. 여기에서 또 임의로 commit을 몇 개 해준다. master은 git check에, version1 은 add5에, version2는 add8에 머무르고 있다. 그리고 현재는 version2 에 위치해있다. 2. merge 해보기 현재 version2 branch에 위치한 상태에서 Merge into Current를 클릭하면.. 2021. 6. 10.
[Git] 02. add, commit, push 취소하기 1. git add 취소 1 ) 내용 일부 수정 후 2 ) add 3 ) add를 취소하고 싶을 때? git status를 확인해보면 위와 같이 보인다. 이 때, git reset HEAD [file]로 git add를 취소할 수 있다. 2. git commit 취소 1 ) 내용 수정 후 2 ) add 후 3 ) commit을 했다 4 - 1 ) commit 취소 우선 git log로 확인해본다. commit이 잘 들어가있음을 알 수 있다. 취소 방법에는 3가지가 있다. ㄱ. commit 취소, staged 상태로 working directory에 보존 ㄴ. commit 취소, unstaged 상태로 working directory에 보존 git reset HEAD~2 는 commit을 2개 취소함을 의.. 2021. 6. 10.
[Git] 01. add, commit, push IDE : Pycharm Remote : web에서 확인 가능 Local : 내 local PC에서 확인 가능 현재 Initial Commit 을 해둔 상태이다. 1. 간단한 add, commit, push 1 ) 내용 수정 def print_hi(name): print(f'Hi, {name}') if __name__ == '__main__': print_hi('PyCharm') 2 ) add 및 commit 3 ) push Remote/origin/master로 checkout하면 Local/master와 같은 파일임을 확인할 수 있다. 2. commit을 여러개 생성하고 push하자 1 ) 내용 수정 _ 1 * print_bye 추가 def print_hi(name): print(f'Hi, {name.. 2021. 6. 10.
728x90
반응형