SW/System Programming 4

System Call

3/37(시스템콜)프로세스부터 시작해서 시스템콜까지.운영체제(OSTEP 4,5 복습)작업관리자 열면 →프로세스가 다 뜬다.컴퓨터가 한번에 하나만 실행하지만 이렇게 멀티태스킹이 된다. WHY?CORE가 1개여도 TIME DIVISION을 사용해서 멀티태스킹을 구현한다.(time sharing)virtualizing(pc가 1개여도 환상을 보여준다)멀티태스킹을 구현하기 위하여 mechanisms, policies를 고려해야함.mechanisms : 어떻게 멀티태스킹을 구현?policies : ready, run 상태 알고리즘을 어떻게?프로세스 : 실행되고있는 프로그램time sharing : core가 하나여도 프로세스를 여러개 사용할 수 있는것.프로그램은 1개인데 프로세스는 여러개 만들 수 있는 one t..

ls 명령어

3/20 (ls명령어)메타데이터를 가져오는게 목적.ls -al : 다양한 정보들 나오는데 이거를 구현해보자.인자별로 기능이 다르다.인자를 모를경우?구글링을 한다.man 메뉴얼을 본다.help 명령어를 친다. // ls —help저번시간에 파일을 열었으니 이번시간에는 이것들을 진행디렉토리를 열기파일의 메타데이터 가져오기디렉토리를 열면 엔트리가 있고 이거를 싹다 읽으면 끝나게 된다. 마지막에 디렉토리 닫는다.open dirread dirclose dir디렉토리 엔트리inode : 디렉토리의 id번호가 부여되는데 그것.일단은 이름만 출력되게 만들었다.(1번버전)읽어온 다음에 readdir이 되면 계속 쓴다.ls -al리눅스에서 심볼릭링크, 하드링크라는 개념이 있는데 그것도 존재.그룹파일 사이즈마지막으로 수행된..

who command

who command목적 : 현재 로그인 되어 있는 유저 정보를 모두 출력하기output : user name, terminal, time, from wherewhoami를 사용하여 볼 수 있다.who command를 어떻게 사용할까?→manual을 참조해라!man who여기서 알수있는 사실 : who는 /var/run/utmp에서 파일을 불러온다man 명령어는 여러가지 specific sections이 있고, 이걸 사용해야 작동한다.1 general commands2system calls3C library functions4Special files5File formats and conventions6games7miscellaneous8sys admin commands and daemons(1) 사용자 ..

Linux 커널

리눅스 커널은 운영체제의 핵심 부분으로, 하드웨어와 사용자 프로그램 사이에서 자원을 관리하고 시스템을 운영하는 역할을 한다. 주요 기능은 다음과 같다.프로세스 관리: CPU 스케줄링, 멀티태스킹, 프로세스 생성/종료 등을 담당한다.메모리 관리: 가상 메모리, 페이지 테이블, 캐시 관리 등을 수행한다.파일 시스템: 다양한 파일 시스템(ext4, XFS, Btrfs 등)을 지원하고 입출력을 처리한다.디바이스 드라이버: 하드웨어와 소프트웨어 간 인터페이스를 제공하며, 드라이버 모듈을 통해 확장 가능하다.네트워킹: TCP/IP 프로토콜 스택을 포함하여 네트워크 통신을 지원한다.이 커널에서 지원하는 low level의 시스템 관리 함수를 활용하여 저수준 프로그래밍을 하는 것이 시스템 프로그래밍이다. 커널은 시스템..